.cp-wrap{display:inline-flex;align-items:center;vertical-align:middle}.binding-color-dot .cp-wrap,.binding-color-dot .cp-trigger{display:block;width:100%;height:100%;padding:0;border:none;border-radius:50%;background:transparent}.binding-color-dot .cp-swatch{border-radius:50%}.cp-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:2px;border:1.5px solid var(--border);border-radius:50%;overflow:hidden;background:var(--panel);cursor:pointer;transition:border-color .15s}.cp-trigger:hover:not(:disabled){border-color:var(--accent-2)}.cp-trigger:disabled{opacity:.5;cursor:not-allowed}.cp-swatch{display:block;width:100%;height:100%;border-radius:50%;background-image:linear-gradient(45deg,#aaa 25%,transparent 25%),linear-gradient(-45deg,#aaa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#aaa 75%),linear-gradient(-45deg,transparent 75%,#aaa 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0;background-color:#fff}.cp-panel{position:fixed;z-index:9999;width:272px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 40px #00000080,0 0 0 1px var(--border);padding:12px;-webkit-user-select:none;user-select:none;max-height:90vh;overflow-y:auto}.cp-mode-tabs{display:flex;gap:3px;margin-bottom:10px}.cp-mode-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 4px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;transition:all .15s;white-space:nowrap}.cp-mode-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cp-mode-tabs button:hover:not(.active){border-color:var(--accent-2);color:var(--text)}.cp-tab-icon{display:inline-block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.cp-tab-icon-solid{background:var(--swatch, currentColor);border-radius:50%}.cp-tab-icon-gradient{background:linear-gradient(to right,#ef4444,#3b82f6);border-radius:2px}.cp-tab-icon-image{border:1.5px solid currentColor;border-radius:2px;position:relative;overflow:hidden}.cp-tab-icon-image:after{content:"";position:absolute;bottom:1px;left:0;right:0;height:5px;background:currentColor;opacity:.4;clip-path:polygon(0 100%,35% 20%,65% 60%,80% 30%,100% 100%)}.cp-solid{display:flex;flex-direction:column;gap:10px}.cp-area{position:relative;width:100%;height:180px;border-radius:6px;cursor:crosshair;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,var(--hue-color, red));flex-shrink:0;touch-action:none}.cp-area-cursor{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006,0 2px 6px #0006;transform:translate(-50%,-50%);pointer-events:none}.cp-sliders{display:flex;align-items:center;gap:8px}.cp-preview-wrap{flex-shrink:0}.cp-preview{display:block;width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background-image:linear-gradient(45deg,#aaa 25%,transparent 25%),linear-gradient(-45deg,#aaa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#aaa 75%),linear-gradient(-45deg,transparent 75%,#aaa 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#fff;position:relative;overflow:hidden}.cp-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--chk-over, transparent)}.cp-sliders-col{flex:1;display:flex;flex-direction:column;gap:7px}.cp-slider{position:relative;height:12px;border-radius:6px;cursor:pointer;touch-action:none}.cp-hue{background:linear-gradient(to right,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#7f00ff,#f0f,#ff0080,red)}.cp-alpha{background-image:linear-gradient(to right,transparent,var(--solid, #000)),linear-gradient(45deg,#aaa 25%,transparent 25%),linear-gradient(-45deg,#aaa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#aaa 75%),linear-gradient(-45deg,transparent 75%,#aaa 75%);background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-color:#fff}.cp-thumb{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000059,0 2px 5px #0000004d;transform:translate(-50%,-50%);top:50%;pointer-events:none}.cp-inputs{display:flex;flex-direction:column;gap:6px}.cp-hex-row{display:flex;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:4px 8px}.cp-hex-row:focus-within{border-color:var(--accent-2)}.cp-hash{color:var(--text-muted);font-size:13px;font-family:monospace}.cp-hex-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-family:monospace;text-transform:uppercase;min-width:0}.cp-rgba-row{display:flex;gap:4px}.cp-rgba-label{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.cp-rgba-label input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;text-align:center;padding:4px 2px;min-width:0;outline:none}.cp-rgba-label input:focus{border-color:var(--accent-2)}.cp-rgba-label span{color:var(--text-muted);font-size:10px;font-weight:500}.cp-recent{border-top:1px solid var(--border);padding-top:8px}.cp-recent-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.cp-recent-swatches{display:flex;flex-wrap:wrap;gap:4px}.cp-swatch-wrap{position:relative;width:20px;height:20px;flex-shrink:0}.cp-recent-swatch{width:100%;height:100%;border-radius:4px;border:1px solid var(--border);cursor:pointer;padding:0;display:block;transition:transform .1s}.cp-swatch-wrap:hover .cp-recent-swatch{transform:scale(1.18)}.cp-pin-btn{position:absolute;top:-5px;right:-5px;width:11px;height:11px;border-radius:50%;border:none;background:#000000b8;color:#ccc;font-size:7px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s,background .15s;z-index:2}.cp-swatch-wrap:hover .cp-pin-btn{opacity:1}.cp-pin-btn.pinned{opacity:1;background:#f59e0b;color:#fff}.cp-pin-btn:hover{background:#f59e0b!important;color:#fff!important}.cp-pinned{border-top:none;padding-top:0;margin-bottom:4px}.cp-pinned+.cp-recent{padding-top:8px}.cp-gradient{display:flex;flex-direction:column;gap:10px}.cp-grad-controls{display:flex;align-items:center;gap:8px}.cp-grad-right{margin-left:auto;display:flex;align-items:center;gap:6px}.cp-grad-type-btns{display:flex;gap:4px}.cp-grad-type-btns button{padding:0;width:36px;height:26px;border:2px solid var(--border);border-radius:5px;overflow:hidden;background:transparent;cursor:pointer;transition:border-color .15s}.cp-grad-type-btns button.active{border-color:var(--accent)}.cp-type-thumb{display:block;width:100%;height:100%}.cp-type-thumb-canvas{display:block;pointer-events:none}.cp-grad-invert{background:none;border:none;padding:2px;line-height:0;color:var(--text-muted);cursor:pointer}.cp-grad-angle{display:flex;align-items:center;gap:4px}.cp-angle-wheel{cursor:crosshair;flex-shrink:0;-webkit-user-select:none;user-select:none}.cp-angle-track{fill:var(--panel-2);stroke:var(--border);stroke-width:1}.cp-angle-line{stroke:#eab308;stroke-width:1.5;stroke-linecap:round}.cp-angle-dot{fill:#eab308}.cp-angle-input-wrap{position:relative;display:inline-flex;align-items:center}.cp-angle-input-wrap input{width:44px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;text-align:right;padding:4px 14px 4px 4px;outline:none;-moz-appearance:textfield}.cp-angle-input-wrap input::-webkit-inner-spin-button,.cp-angle-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none}.cp-angle-input-wrap input:focus{border-color:var(--accent-2)}.cp-angle-input-wrap>span{position:absolute;right:5px;color:var(--text-muted);font-size:11px;pointer-events:none}.cp-grad-bar-wrap{display:flex;flex-direction:column;gap:4px}.cp-grad-bar{position:relative;height:28px;border-radius:6px;border:1px solid var(--border);cursor:crosshair;overflow:visible;background-image:linear-gradient(45deg,#aaa 25%,transparent 25%),linear-gradient(-45deg,#aaa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#aaa 75%),linear-gradient(-45deg,transparent 75%,#aaa 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#fff;margin-bottom:14px}.cp-grad-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;pointer-events:none}.cp-stop{position:absolute;bottom:-14px;width:14px;height:14px;border-radius:3px;border:2px solid #fff;box-shadow:0 0 0 1px #0006;transform:translate(-50%);cursor:ew-resize;touch-action:none;transition:box-shadow .1s}.cp-stop:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:currentColor;width:0;height:0;color:#0000004d}.cp-stop.selected{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2);z-index:1}.cp-grad-hint{font-size:10px;color:var(--text-muted);text-align:center;margin:0}.cp-stop-editor{border-top:1px solid var(--border);padding-top:10px}.cp-stop-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.cp-stop-remove{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:2px 7px;font-size:11px;transition:all .15s}.cp-stop-remove:hover:not(:disabled){color:#f87171;border-color:#f87171}.cp-stop-remove:disabled{opacity:.35;cursor:not-allowed}.cp-image{display:flex;flex-direction:column;gap:10px}.cp-img-file-input{display:none}.cp-img-upload{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px 12px;border:2px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .15s,background .15s}.cp-img-upload:hover{border-color:var(--accent-2);background:#3b82f60a}.cp-img-icon{width:28px;height:28px;opacity:.45}.cp-img-hint{font-size:12px;font-weight:500}.cp-img-types{font-size:10px;opacity:.55}.cp-img-preview-wrap{position:relative;width:100%;height:82px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.cp-img-preview{width:100%;height:100%;object-fit:cover;display:block}.cp-img-remove{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s}.cp-img-remove:hover{background:#ef4444}.cp-img-change{position:absolute;bottom:5px;right:5px;padding:3px 8px;border-radius:4px;border:none;background:#0009;color:#fff;font-size:10px;cursor:pointer;transition:background .12s}.cp-img-change:hover{background:var(--accent)}.cp-img-section{display:flex;flex-direction:column;gap:5px}.cp-img-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.cp-img-options{display:flex;gap:3px}.cp-img-options button{flex:1;padding:4px;font-size:11px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.cp-img-options button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cp-img-options button:hover:not(.active){border-color:var(--accent-2);color:var(--text)}.cp-img-custom-input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;padding:5px 8px;outline:none;box-sizing:border-box;font-family:monospace}.cp-img-custom-input:focus{border-color:var(--accent-2)}.cp-img-custom-input::placeholder{color:var(--text-muted);opacity:.55}.cp-img-pos-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cp-img-pos-text{font-size:11px;color:var(--text-muted);flex:1}.cp-img-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:66px;flex-shrink:0}.cp-img-pos-btn{width:20px;height:20px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;padding:0;transition:all .12s}.cp-img-pos-btn:hover:not(.active){border-color:var(--accent-2);background:var(--panel)}.cp-img-pos-btn.active{background:var(--accent);border-color:var(--accent)}:root{--bg: #0b1220;--panel: #111827;--panel-2: #1f2937;--border: #2b3a52;--text: #f1f5f9;--muted: #94a3b8;--accent: #2563eb;--accent-2: #3b82f6;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.4);--bg-canvas: #0a0f1c;--bg-toolbar-top: #16213a;--border-row: #1b2740;--dot-color: rgba(148,163,184,.12);--text-strong: #ffffff;--btn-hover-bg: #374151;--btn-hover-border: #475569}.theme-light{--bg: #f1f5f9;--panel: #ffffff;--panel-2: #f8fafc;--border: #cbd5e1;--text: #1e293b;--muted: #64748b;--accent: #2563eb;--accent-2: #3b82f6;--shadow: 0 1px 3px rgba(0,0,0,.1);--bg-canvas: #e2e8f0;--bg-toolbar-top: #dbeafe;--border-row: #e2e8f0;--dot-color: rgba(100,116,139,.18);--text-strong: var(--text);--btn-hover-bg: #e2e8f0;--btn-hover-border: #94a3b8}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--scrollbar-thumb: rgba(148, 163, 184, .35);--scrollbar-thumb-hover: rgba(148, 163, 184, .6)}.theme-light{--scrollbar-thumb: rgba(100, 116, 139, .35);--scrollbar-thumb-hover: rgba(100, 116, 139, .6)}@supports (-moz-appearance: none){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-corner{background:transparent}.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(180deg,#16213a 0%,var(--panel) 100%);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:2}.brand{color:#60a5fa;letter-spacing:1px;font-size:15px;font-weight:700}.brand-logo{height:28px;width:auto;object-fit:contain;display:block}.badge{background:#16a34a;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.spacer{flex:1}.proj-name{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:var(--radius);width:240px}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;cursor:pointer;transition:background .12s,border-color .12s}button:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}button.primary,button.active{background:var(--accent);border-color:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}button.primary:hover{background:#1d4ed8}button.danger{background:#7f1d1d;border-color:#991b1b;color:#fff;width:100%;margin-top:12px}button.mini{padding:3px 9px;font-size:12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}button.mini.add{margin-top:6px}.align-ref-hint{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);padding:2px 8px 6px}.align-ref-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0}.props>.align-grid{margin:4px 0 8px;padding:0 8px}.pp-mt4{margin-top:4px}.pp-tag-scroll{max-height:180px;overflow-y:auto;margin-top:4px}.pp-tag-row{margin-bottom:2px}.pp-tag-name{margin-left:6px;font-size:12px}.align-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.align-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 5px;border:1px solid var(--border);border-radius:5px;background:var(--panel-2);color:var(--text);font-size:9px;cursor:pointer;transition:background .1s,border-color .1s;line-height:1.2}.align-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.align-btn svg{flex-shrink:0}button:disabled{opacity:.5;cursor:not-allowed}.btn-file{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;cursor:pointer}.btn-file:hover{border-color:var(--accent-2)}.page-tabs{display:flex;gap:4px;padding:6px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.page-tabs button{font-size:12px}.workspace{display:flex;flex:1;overflow:hidden}.sidebar{width:250px;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0}.left{width:290px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0}.center{flex:1;overflow:auto;background:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0) 0 0 / 24px 24px,var(--bg-canvas);display:flex;justify-content:center;align-items:flex-start;padding:28px}.canvas-wrap{box-shadow:0 8px 30px #00000080,0 0 0 1px var(--border);width:max-content;height:max-content;border-radius:4px;overflow:visible;margin:0 auto}.canvas-wrap .konvajs-content{border-radius:4px;overflow:hidden}.side-tabs{display:flex;position:sticky;top:0;background:var(--panel);z-index:1}.side-tabs button{flex:1;border-radius:0;border:none;border-bottom:2px solid transparent;padding:10px 4px}.side-tabs button.active{border-bottom-color:var(--accent);background:var(--panel-2);color:#fff}.panel-title{padding:12px 14px 8px;font-weight:700;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 24px}.palette-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;font-size:11px;text-align:center;transition:transform .1s,border-color .12s,box-shadow .12s}.palette-item:hover{border-color:var(--accent-2);transform:translateY(-2px);box-shadow:var(--shadow)}.palette-item:active{cursor:grabbing}.props,.tags-panel{padding:0 12px 16px}.section{margin-bottom:4px;border-bottom:1px solid var(--border)}.section-toggle{display:flex;align-items:center;gap:4px;width:100%;background:none;border:none;cursor:pointer;padding:6px 2px;color:var(--muted);text-align:left}.section-toggle:hover{background:var(--panel-2)}.sec-chevron{font-size:14px;line-height:1;transition:transform .15s;display:inline-block;color:var(--muted);flex-shrink:0}.sec-chevron.open{transform:rotate(90deg)}.section-title-text{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.section-body{padding:4px 0 8px}.section-title{font-size:11px;color:var(--muted);margin:8px 0 6px;text-transform:uppercase}.field{margin-bottom:6px;display:flex;flex-direction:column;gap:3px}.field.inline{flex-direction:row;align-items:center;gap:6px}.field.inline label{width:64px;color:var(--muted);flex-shrink:0}.field label{color:var(--muted)}.prop-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.prop-pair .field.inline{margin-bottom:0}.prop-pair .field.inline label{width:36px;min-width:36px}.props-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.props-grid .field.inline{margin-bottom:0}.props-grid .field.inline.full{grid-column:span 2}.props-grid .field.inline label{width:auto;min-width:0;white-space:nowrap;flex-shrink:0}.visible-row{grid-column:span 2}.prop-pair .visible-row .field.inline label{width:36px;min-width:36px}.vis-fx-btn{padding:1px 5px;font-size:11px;font-style:italic;line-height:1.4}.vis-fx-btn.active{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.vis-binding{display:flex;flex-direction:column;gap:4px;padding:6px 0 2px}input,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:4px 6px;border-radius:4px;width:100%}input[type=color]{padding:0;height:26px;width:36px;flex-shrink:0;cursor:pointer}input[type=checkbox]{width:auto}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.expr{margin-top:4px;font-family:monospace;font-size:11px}.muted{color:var(--muted);font-size:12px}.action-row{display:flex;gap:4px;align-items:center;margin-bottom:4px}.action-row .val{width:56px}.action-row .stop-ge{width:24px;text-align:center}.ae-chip[data-kind=write]{--ae-accent: #3b82f6}.ae-chip[data-kind=write-confirm]{--ae-accent: #f59e0b}.ae-chip[data-kind=navigate]{--ae-accent: #22c55e}.ae-chip[data-kind=popup]{--ae-accent: #a855f7}.ae-chip[data-kind=toggle-visible]{--ae-accent: #06b6d4}.ae-chip[data-kind=script]{--ae-accent: #6b7280}.ae-card[data-kind=write]{--ae-accent: #3b82f6}.ae-card[data-kind=write-confirm]{--ae-accent: #f59e0b}.ae-card[data-kind=navigate]{--ae-accent: #22c55e}.ae-card[data-kind=popup]{--ae-accent: #a855f7}.ae-card[data-kind=toggle-visible]{--ae-accent: #06b6d4}.ae-card[data-kind=script]{--ae-accent: #6b7280}.ae-chips{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.ae-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;background:color-mix(in srgb,var(--ae-accent, #3b82f6) 12%,transparent);border-left:3px solid var(--ae-accent, #3b82f6);color:var(--text);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.ae-chip-icon{opacity:.7;font-size:10px}.ae-empty{font-size:11px;color:var(--muted);font-style:italic}.ae-edit-btn{width:100%;padding:7px 12px;border-radius:7px;background:transparent;border:1px dashed var(--border);color:var(--muted);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s}.ae-edit-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent);color:var(--accent)}.ae-edit-count{margin-left:auto;background:var(--accent);color:#fff;border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px}.ae-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.ae-popup{background:var(--panel);border-radius:14px;border:1px solid var(--border);box-shadow:0 24px 64px #00000073,0 0 0 1px #ffffff0a;width:520px;max-height:78vh;display:flex;flex-direction:column;overflow:hidden}.ae-popup-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,var(--panel)) 0%,var(--panel) 100%)}.ae-popup-header-left{display:flex;align-items:center;gap:8px}.ae-popup-icon{font-size:16px}.ae-badge{background:var(--accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700}.ae-popup-close{background:none;border:none;cursor:pointer;font-size:13px;color:var(--muted);padding:4px 7px;border-radius:6px;line-height:1;transition:background .12s,color .12s}.ae-popup-close:hover{background:var(--panel-2);color:var(--text)}.ae-popup-body{padding:14px 16px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.ae-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ae-empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;color:var(--muted);text-align:center}.ae-empty-icon{font-size:32px;opacity:.25}.ae-empty-state p{margin:0;font-size:12px;line-height:1.6}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:#0000008c;display:flex;align-items:center;justify-content:center}.confirm-popup{background:#1a2436;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 16px 48px #0000008c;padding:22px 20px 18px;width:260px;display:flex;flex-direction:column;gap:18px}.confirm-msg{margin:0;font-size:13px;color:#94a3b8;line-height:1.55;text-align:center}.confirm-msg strong{color:#e2e8f0}.confirm-btns{display:flex;gap:8px}.confirm-btn-cancel{flex:1;padding:7px 0;font-size:12px;font-weight:500;background:#2d3f55!important;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#cbd5e1!important;cursor:pointer;transition:background .15s,color .15s}.confirm-btn-cancel:hover{background:#3a5068!important;color:#f1f5f9!important}.confirm-btn-delete{flex:1;padding:7px 0;font-size:12px;font-weight:600;background:#7f1d1d!important;border:1px solid #991b1b;border-radius:7px;color:#fecaca!important;cursor:pointer;transition:background .15s}.confirm-btn-delete:hover{background:#991b1b!important;color:#fff!important}.ae-card{border-radius:10px;border:1px solid var(--border);background:var(--panel-2);display:flex;flex-direction:column;gap:0;overflow:hidden}.ae-card-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:color-mix(in srgb,var(--ae-accent, #3b82f6) 8%,var(--panel-2));border-bottom:1px solid var(--border)}.ae-card-icon{font-size:14px;width:22px;text-align:center;flex-shrink:0;color:var(--ae-accent, #3b82f6)}.ae-kind-select{flex:1;font-size:12px;font-weight:600;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:border-color .15s}.ae-kind-select:hover:not(:focus){border-color:var(--muted)}.ae-kind-select:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 20%,transparent)}.ae-card-remove{background:none;border:none;cursor:pointer;color:var(--muted);font-size:12px;padding:3px 6px;border-radius:5px;flex-shrink:0;transition:background .12s,color .12s}.ae-card-remove:hover{background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444}.ae-field{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-row)}.ae-field:last-child{border-bottom:none}.ae-field--col{flex-direction:column;align-items:stretch;gap:5px}.ae-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);white-space:nowrap;min-width:62px}.ae-select,.ae-input{flex:1;font-size:12px;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);transition:border-color .15s}.ae-select:focus,.ae-input:focus{outline:none;border-color:var(--ae-accent, var(--accent))}.ae-pills{display:flex;gap:4px;flex-wrap:wrap}.ae-pill{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ae-pill:hover{border-color:var(--ae-accent, var(--accent));color:var(--text)}.ae-pill--active{background:var(--ae-accent, var(--accent));border-color:var(--ae-accent, var(--accent));color:#fff;font-weight:600}.ae-pill--impulse{border-color:#f59e0b;color:#f59e0b}.ae-pill--impulse.ae-pill--active{background:#f59e0b;border-color:#f59e0b;color:#fff}.ae-script-input{width:100%;font-size:11px;font-family:monospace;line-height:1.5;padding:7px 9px;border-radius:6px;resize:vertical;min-height:80px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.ae-script-input:focus{outline:none;border-color:var(--ae-accent, var(--accent))}.ae-add-btn{padding:9px 16px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px dashed var(--accent);color:var(--accent);cursor:pointer;font-size:12px;font-weight:600;align-self:stretch;text-align:center;transition:background .15s}.ae-add-btn:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.multi-action-adder{display:flex;flex-direction:column;align-items:stretch;gap:6px}.multi-action-hint{margin:0}.fp-wrap{display:inline-flex;vertical-align:middle;width:100%}.fp-trigger{display:inline-flex;align-items:center;gap:5px;width:100%;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-size:12px;text-align:left;transition:border-color .15s}.fp-trigger:hover{border-color:var(--muted)}.fp-swatch{font-size:14px;font-weight:700;min-width:22px;color:var(--accent-2)}.fp-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.fp-arrow{color:var(--muted);font-size:10px;flex-shrink:0}.fp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1299}.fp-panel{position:fixed;z-index:1300;background:#0f172a;border:1px solid #2b3a52;border-radius:10px;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;overflow:hidden;max-height:300px}.fp-search{padding:8px 10px;font-size:12px;border:none;border-bottom:1px solid #2b3a52;background:#1e293b;color:#e2e8f0;outline:none;flex-shrink:0}.fp-search::placeholder{color:#64748b}.fp-list{overflow-y:auto;flex:1;padding:4px 0}.fp-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;background:none;border:none;cursor:pointer;color:#e2e8f0;text-align:left}.fp-item:hover{background:#1e293b}.fp-item.active{background:color-mix(in srgb,#3b82f6 15%,#0f172a);color:#93c5fd}.fp-item-preview{font-size:14px;font-weight:700;width:26px;flex-shrink:0;color:#93c5fd}.fp-item-label{font-size:12px}.fp-empty{padding:8px 10px;color:#64748b;font-size:12px;font-style:italic}.fp-hint{padding:6px 10px;font-size:10px;color:#475569;border-top:1px solid #1e293b;line-height:1.5}.fp-hint code{font-family:monospace;color:#64748b}.text-align-btns{display:flex;gap:3px}.text-align-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:5px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.text-align-btn:hover{color:var(--text);border-color:var(--muted)}.text-align-btn.active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}.btn-style-picker{display:flex;flex-direction:column;gap:4px;padding:4px 0}.btn-style-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;border:1px solid transparent}.btn-style-option:hover{background:var(--panel-2)}.btn-style-active{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn-style-preview{pointer-events:none;transform:scale(.7);transform-origin:left center;height:36px;display:flex;align-items:center;overflow:hidden}.btn-style-name{font-size:11px;color:var(--muted);white-space:nowrap}.btn-style-default-label{font-size:12px;color:var(--text);font-weight:500}.prop-anim-toggle{display:flex;align-items:center;gap:6px;padding:6px 2px;font-size:12px;color:var(--text);cursor:pointer}.animated-btn-list{display:flex;flex-direction:column;gap:2px;padding:4px 6px 6px}.animated-btn-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:5px;cursor:grab}.animated-btn-item:hover{background:var(--panel-2)}.animated-btn-preview{pointer-events:none;transform:scale(.65);transform-origin:center center;height:34px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:90px}.no-animations *,.no-animations *:before,.no-animations *:after{transition:none!important;animation:none!important}.corner-radius-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}.corner-radius-field{display:flex;flex-direction:column;gap:2px}.corner-radius-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.corner-radius-input{width:100%;font-size:12px;padding:3px 6px;border-radius:5px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.tabs-editor-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.tabs-editor-row{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:6px}.tabs-editor-row.active{border-color:#2563eb}.tabs-editor-header{display:flex;align-items:center;gap:6px}.tabs-editor-select{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--panel-3);color:var(--text-muted);font-size:11px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tabs-editor-select.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:700}.tabs-editor-label{flex:1;background:var(--panel-3);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;padding:3px 6px}.tabs-editor-content{width:100%;margin-top:6px;resize:vertical;background:var(--panel-3);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;padding:4px 6px;box-sizing:border-box}.burger-item-row{display:flex;gap:6px;align-items:flex-start;margin-bottom:8px;padding:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}.burger-item-fields{flex:1;display:flex;flex-direction:column;gap:4px}.burger-item-actions{display:flex;flex-direction:column;gap:2px;padding-top:2px}.driver-card,.tag-card{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:8px;margin-bottom:8px}.tag-card{display:grid;grid-template-columns:1fr 1fr;gap:4px}.tag-card .tag-name{grid-column:1 / 2}.tag-card .tag-addr{grid-column:1 / 3}.tag-ok{color:#22c55e;font-weight:700}.tag-ko{color:#ef4444;font-weight:700}.tag-card{cursor:grab}.tag-card .drag-grip{grid-column:1 / 3;color:var(--muted);font-size:11px;letter-spacing:2px;-webkit-user-select:none;user-select:none}.import-box{margin-bottom:8px}.btn-file{display:inline-block;cursor:pointer;padding:4px 10px;font-size:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}.btn-file:hover{border-color:var(--accent, #3b82f6)}.btn-file.disabled{opacity:.5;pointer-events:none}.import-msg{font-size:11px;margin:4px 0 0}.run-mode{background:var(--bg-canvas)}.runtime{display:flex;flex-direction:column;flex:1;min-height:0}.runtime-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.runtime-bar .spacer{flex:1}.runtime-stage{flex:1;min-height:0;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:8px;position:relative}.runtime-dev-tag{font-size:11px;color:var(--muted);font-family:monospace;padding:2px 8px;border:1px solid var(--border);border-radius:20px}.runtime-menu{position:absolute;top:0;right:0;bottom:0;left:0;background:#0206178c;display:flex;z-index:30}.runtime-menu-panel{width:min(280px,80%);height:100%;background:var(--panel);border-right:1px solid var(--border);box-shadow:4px 0 24px #00000080;display:flex;flex-direction:column;animation:menu-in .18s ease-out}@keyframes menu-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.runtime-menu-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.runtime-menu-head strong{flex:1}.runtime-menu-item{text-align:left;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;font-size:14px}.runtime-menu-item:hover{background:var(--panel-2)}.runtime-menu-item.active{color:#fff;border-left:3px solid var(--accent)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.on{background:#22c55e;box-shadow:0 0 8px #22c55e}.dot.off{background:#ef4444}.alarm-banner{background:var(--panel-2);border-bottom:1px solid var(--border)}.alarm-banner.sev-critical{border-left:4px solid #ef4444}.alarm-banner.sev-warning{border-left:4px solid #f59e0b}.alarm-banner.sev-info{border-left:4px solid #38bdf8}.alarm-head{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.alarm-head .spacer{flex:1}.alarm-bell{color:#f59e0b;font-size:16px}.alarm-list{max-height:180px;overflow-y:auto;border-top:1px solid var(--border)}.alarm-item{display:flex;align-items:center;gap:10px;padding:4px 12px;border-bottom:1px solid #1e293b;font-size:12px}.alarm-item .a-time{color:var(--muted);font-family:monospace;width:80px}.alarm-item .a-msg{flex:1}.alarm-item .a-val{font-family:monospace;color:#cbd5e1}.alarm-item.acked{opacity:.6}.sev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.alarm-item.sev-critical .sev-dot{background:#ef4444}.alarm-item.sev-warning .sev-dot{background:#f59e0b}.alarm-item.sev-info .sev-dot{background:#38bdf8}.alarm-item.blink .sev-dot{animation:blink 1s steps(2,start) infinite}@keyframes blink{50%{opacity:.2}}.chev{color:var(--muted)}.trend-dock{border-top:1px solid var(--border);background:var(--panel)}.rt-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0000008c;display:flex;align-items:center;justify-content:center}.rt-popup-card{background:#1e293b;border-radius:12px;box-shadow:0 12px 40px #00000080;overflow:hidden;display:flex;flex-direction:column;max-width:90vw;max-height:90vh}.rt-popup-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:13px;font-weight:600;color:#e2e8f0;background:#0f172a;border-bottom:1px solid #2b3a52;flex-shrink:0}.rt-popup-close{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:2px 6px;border-radius:4px;line-height:1}.rt-popup-close:hover{background:#1e293b;color:#f1f5f9}.rt-popup-stage{overflow:auto;display:flex}.rt-confirm-card{background:#1e293b;border-radius:12px;box-shadow:0 12px 40px #00000080;padding:24px 28px;max-width:360px;width:90vw;display:flex;flex-direction:column;gap:20px}.rt-confirm-msg{margin:0;font-size:15px;color:#e2e8f0;line-height:1.5;text-align:center}.rt-confirm-btns{display:flex;gap:10px;justify-content:flex-end}.rt-confirm-cancel{padding:8px 18px;border-radius:7px;border:1px solid #2b3a52;background:transparent;color:#94a3b8;cursor:pointer;font-size:13px}.rt-confirm-cancel:hover{background:#0f172a;color:#e2e8f0}.rt-confirm-ok{padding:8px 18px;border-radius:7px;border:none;background:#2563eb;color:#fff;cursor:pointer;font-size:13px;font-weight:600}.rt-confirm-ok:hover{background:#1d4ed8}.trend{padding:8px 12px}.trend-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.range-btns{display:flex;gap:4px}.range-btns button.active{background:var(--accent);border-color:var(--accent);color:#fff}.trend-tags{display:flex;gap:12px;flex-wrap:wrap}.trend-tag{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.trend-tag input{width:auto}.plot{width:100%;height:260px;display:block;border:1px solid var(--border);border-radius:4px}.workbench{display:flex;flex-direction:column;height:100vh;overflow:hidden}.canvas-preview .ribbon,.canvas-preview .nav-tree,.canvas-preview .breadcrumb,.canvas-preview .status-bar{display:none!important}.canvas-preview .wb-body{height:100vh;background:#1a1a1a}.canvas-preview .wb-content{flex:1}.canvas-preview .wb-view{flex:1;overflow:hidden;background:#1a1a1a}.canvas-preview .syn-view,.canvas-preview .syn-body{height:100%;background:#1a1a1a}.canvas-preview .syn-center{height:100%!important;padding:32px!important;overflow:hidden!important;align-items:center!important;justify-content:center!important;background:#1a1a1a;box-sizing:border-box}.canvas-preview .canvas-wrap{border-radius:6px!important;outline:3px solid #111!important;box-shadow:0 8px 40px #000000b3!important}.canvas-preview .canvas-wrap.device-desktop,.canvas-preview .canvas-wrap.device-tablet,.canvas-preview .canvas-wrap.device-mobile{border-radius:6px!important;padding:0!important;background:transparent!important}.canvas-preview .canvas-wrap .konvajs-content{border-radius:5px!important}.canvas-preview-hint{position:fixed;bottom:14px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;font-size:12px;padding:5px 14px;border-radius:20px;pointer-events:none;z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}.ribbon{background:linear-gradient(180deg,var(--bg-toolbar-top) 0%,var(--panel) 100%);border-bottom:1px solid var(--border);z-index:5;flex-shrink:0}.ribbon-titlebar{display:flex;align-items:center;gap:10px;padding:6px 14px}.ribbon-titlebar .proj-name{width:220px}.ribbon-titlebar .spacer{flex:1}.dirty-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 6px #f59e0b}.ribbon-tabs{display:flex;gap:2px}.ribbon-tabs button{border:none;background:transparent;border-radius:6px 6px 0 0;padding:6px 16px;color:var(--muted);font-weight:600}.ribbon-tabs button:hover{background:#ffffff0a;color:var(--text)}.ribbon-tabs button.active{color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}.canvas-toolbar,.canvas-toolbar .ct-shapes{display:flex;align-items:center;gap:2px}.ct-sep{width:1px;align-self:stretch;margin:4px 6px;background:var(--border)}.ct-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.ct-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.ct-btn svg{display:block}.ct-file-input{display:none}.header-edit-btn{flex-shrink:0;border-color:transparent!important;background:transparent!important}.header-edit-btn:hover{color:var(--text)!important;background:transparent!important;border-color:transparent!important}.header-edit-btn.on,.header-edit-btn.active{color:var(--accent)}.header-edit-btn.active:hover{color:var(--accent-2)}.header-inline-settings{display:flex;align-items:center;gap:6px;flex-shrink:0}.his-label{font-size:11px;color:var(--muted);white-space:nowrap}.his-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 2px}.his-num{width:52px;padding:2px 5px;font-size:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);text-align:right}.his-unit{font-size:11px;color:var(--muted);margin-left:-2px}.nav-back-fwd{display:flex;align-items:center;gap:2px;flex-shrink:0}.nav-back-fwd .ct-btn:disabled{opacity:.3;cursor:not-allowed}.text-toolbar{display:flex;align-items:center;gap:2px}.tt-sep{width:1px;align-self:stretch;margin:4px 5px;background:var(--border)}.tt-select{height:28px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:12px;cursor:pointer;outline:none;transition:border-color .1s}.tt-select:hover{border-color:var(--btn-hover-border)}.tt-select:focus{border-color:var(--accent-2)}.tt-input{height:28px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:12px;outline:none;transition:border-color .1s}.tt-input:hover{border-color:var(--btn-hover-border)}.tt-input:focus{border-color:var(--accent-2)}.tt-font-family{width:108px}.tt-font-size-wrap{position:relative;display:inline-flex;align-items:center}.tt-font-size{width:calc(2ch + 30px);padding-right:22px}.tt-font-size[data-digits="1"]{width:calc(1ch + 30px)}.tt-font-size[data-digits="3"]{width:calc(3ch + 30px)}.tt-unit{position:absolute;right:7px;font-size:11px;color:var(--text-muted, #888);pointer-events:none;-webkit-user-select:none;user-select:none}.ct-btn.tt-active{background:var(--accent);color:#fff;border-color:var(--accent)}.shape-toolbar{display:flex;align-items:center;gap:4px}.st-bw-wrap{position:relative;display:inline-flex;align-items:center}.st-bw{width:calc(2ch + 30px);padding-right:22px}.st-stroke-picker .cp-swatch{-webkit-mask-image:radial-gradient(circle,transparent 38%,black 39%);mask-image:radial-gradient(circle,transparent 38%,black 39%)}.align-bar{display:flex;align-items:center;gap:2px}.align-bar-sep{width:1px;align-self:stretch;margin:3px 4px;background:var(--border)}.align-bar-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.align-bar-btn:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.align-bar-btn:disabled{opacity:.35;cursor:default}.align-bar-btn svg{display:block}.ribbon-strip{display:flex;align-items:stretch;gap:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .22s ease,opacity .18s ease,padding .22s ease;padding:0 12px}.ribbon-strip.open{max-height:120px;opacity:1;padding:8px 12px;border-top:1px solid var(--border)}.ribbon-strip--right{justify-content:flex-end}.ribbon-strip-content{display:flex;align-items:stretch;flex:1 1 auto;min-width:0}.ribbon-strip--right .ribbon-strip-content{justify-content:flex-end}.ribbon-strip--right .ribbon-group{border-right:none;border-left:1px solid var(--border)}.ribbon-strip--right .ribbon-group:first-child{border-left:none}.ribbon-group{display:flex;flex-direction:column;padding:0 14px;border-right:1px solid var(--border)}.ribbon-group:last-child{border-right:none}.ribbon-group-body{display:flex;gap:6px;flex:1;align-items:flex-start}.ribbon-group-label{text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding-top:4px}.ribbon-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-width:62px;padding:8px 8px 6px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-size:11px;cursor:pointer;text-align:center}.ribbon-btn:hover{background:var(--panel-2);border-color:var(--border)}.ribbon-btn.primary{color:#93c5fd}.ribbon-btn.accent{color:#4ade80}.ribbon-btn.disabled,.ribbon-btn:disabled{opacity:.5;pointer-events:none}.ribbon-about{display:flex;align-items:center;gap:8px;max-width:520px;color:var(--muted);font-size:12px;padding:8px 4px}.ribbon-strip.open{overflow-x:auto}.ribbon-props-col{display:flex;flex-direction:column;gap:3px;justify-content:center}.ribbon-prop-row{display:flex;align-items:center;gap:5px}.ribbon-prop-row label{color:var(--muted);font-size:11px;width:36px;flex-shrink:0;text-align:right}.ribbon-prop-row input:not([type=color]):not([type=checkbox]){width:72px;height:22px;padding:2px 5px;font-size:11px}.ribbon-prop-row input[type=color]{width:36px;height:22px;padding:1px;cursor:pointer}.ribbon-prop-row input[type=checkbox]{width:auto}.ribbon-prop-row select{height:22px;padding:1px 4px;font-size:11px;width:140px}.ribbon-props-empty{display:flex;align-items:center;padding:0 16px;color:var(--muted);font-size:12px;font-style:italic}.wb-body{display:flex;flex:1;overflow:hidden}.wb-body--nav-right .nav-tree{border-right:none;border-left:1px solid var(--border)}.nav-tree{width:260px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}#iec-sidebar-portal.nav-tree{overflow:hidden}.nav-tree-title{padding:10px 16px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}.nav-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--panel)}.nav-tab{flex:1;padding:11px 4px;font-size:13px;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);cursor:pointer;text-align:center;transition:color .12s,border-color .12s,background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-tab:hover{color:var(--text);background:var(--panel-2);border-bottom-color:transparent}.nav-tab.active{color:var(--accent-2);border-bottom-color:var(--accent);background:var(--panel-2)}.theme-light .nav-tab.active{color:var(--accent)}.nav-tab-content{flex:1;overflow-y:auto}.nav-root,.nav-children{list-style:none;margin:0;padding:0}.nav-branch,.nav-leaf{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;border-radius:0;color:var(--text);padding:10px 16px;font-size:15px;cursor:pointer;text-align:left;border-left:3px solid transparent}.nav-branch{color:#cbd5e1;font-weight:600}.theme-light .nav-branch{color:#374151}.nav-branch:hover,.nav-leaf:hover{background:var(--panel-2)}.nav-branch.has-active{color:#fff}.theme-light .nav-branch.has-active{color:var(--text)}.branch-chevron{transition:transform .15s;color:var(--muted);flex-shrink:0}.branch-chevron.open{transform:rotate(90deg)}.nav-leaf{color:#b6c2d4}.theme-light .nav-leaf{color:#374151}.nav-leaf.top{font-weight:600;color:#cbd5e1}.theme-light .nav-leaf.top{color:var(--text)}.nav-children .nav-leaf{padding-left:40px}.nav-children-motion{overflow:hidden;will-change:filter,height,opacity}.nav-leaf.active{background:linear-gradient(90deg,rgba(37,99,235,.22),transparent);border-left-color:var(--accent);color:#fff;display:flex;justify-content:flex-start;gap:10px}.nav-leaf svg,.nav-branch svg{flex-shrink:0}.nav-page-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex-shrink:0}.nav-leaf.active .nav-page-dot{background:var(--accent)}.nav-add-page{display:flex;align-items:center;gap:7px;width:100%;background:transparent;border:none;border-radius:0;color:var(--muted);padding:8px 16px 8px 40px;font-size:13px;cursor:pointer;text-align:left;border-left:3px solid transparent}.nav-add-page:hover{color:var(--accent-2);background:var(--panel-2)}.nav-pages-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 12px 16px}.nav-pages-header .nav-tree-title{padding:0}.nav-pages-actions{display:flex;align-items:center;gap:2px}.nav-add-folder-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:color .12s,background .12s}.nav-add-folder-btn:hover{color:var(--accent-2);background:var(--panel-2)}.nav-root.drag-over-root{background:#2563eb0f;outline:1px dashed var(--accent);outline-offset:-2px}.nav-root-drop-zone{margin:6px 10px;padding:8px 10px;border-radius:6px;border:1.5px dashed var(--border);color:var(--muted);font-size:12px;text-align:center;transition:background .15s,border-color .15s,color .15s;cursor:default}.nav-root-drop-zone.active{background:#2563eb14;border-color:var(--accent);color:var(--accent)}.nav-leaf.nav-page-ctx,.nav-folder-toggle.nav-folder-ctx{background:var(--btn-hover-bg)}.nav-folder{border-bottom:1px solid transparent}.nav-folder.drag-over-folder{background:#2563eb14;outline:1px dashed var(--accent);outline-offset:-2px;border-radius:4px}.nav-folder-header{position:relative}.nav-folder-toggle{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;border-radius:0;color:#b6c2d4;padding:9px 16px;font-size:15px;cursor:pointer;text-align:left;font-weight:600;border-left:3px solid transparent}.theme-light .nav-folder-toggle{color:#374151}.nav-folder-toggle:hover{background:var(--panel-2)}.nav-folder-icon{color:#6b7f9e;flex-shrink:0}.theme-light .nav-folder-icon{color:#6b7280}.nav-folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-folder-count{font-size:11px;font-weight:600;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:1px 7px;flex-shrink:0}.nav-folder-rename-input{flex:1;background:var(--panel-2);border:1px solid var(--accent);border-radius:3px;color:var(--text);font-size:15px;padding:1px 5px;outline:none;min-width:0}.nav-folder-pages{list-style:none;margin:0;padding:0}.nav-folder-page{padding-left:40px!important}.nav-folder-pages .nav-add-page{padding-left:54px}.nav-context-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900}.nav-context-menu{position:fixed;z-index:901;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px 6px 8px;min-width:180px;box-shadow:0 6px 20px #00000059;list-style:none;margin:0}.nav-context-section{padding:4px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);cursor:default}.nav-context-menu ul{margin:0;padding:0;list-style:none}.nav-context-menu li{margin:0;padding:0}.nav-context-divider{height:1px;background:var(--border);margin:4px 0}.nav-context-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;padding:9px 10px;font-size:14px;cursor:pointer;color:var(--text);border-radius:5px}.nav-context-item:hover{background:var(--panel-2)}.nav-context-item.danger{color:#fff;background:#dc2626}.nav-context-item.danger:hover{background:#b91c1c;color:#fff}.nav-context-item:disabled{opacity:.4;cursor:not-allowed}.theme-light .nav-context-item{color:var(--text)}.theme-light .nav-context-item.danger{color:#fff;background:#dc2626}.theme-light .nav-context-item.danger:hover{background:#b91c1c}.nav-color-picker{position:fixed;z-index:901;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 14px 12px;box-shadow:0 8px 24px #00000059;min-width:180px}.theme-light .nav-color-picker{box-shadow:0 6px 20px #00000026}.nav-color-picker-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.nav-color-picker-body{display:flex;align-items:center;gap:10px}.nav-color-native-input{width:44px;height:32px;padding:2px 3px;border-radius:5px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer}.nav-color-reset-btn{font-size:12px;padding:5px 10px;border-radius:5px;cursor:pointer;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.nav-color-reset-btn:hover{background:var(--panel-3, var(--border))}.nav-separator{height:1px;background:var(--border);margin:8px 12px;list-style:none}.nav-elements{padding:4px 10px 10px}.nav-elem-tabs{display:flex;gap:4px;margin-bottom:8px}.nav-elem-tab{flex:1;padding:5px 6px;font-size:11px;font-weight:600;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;transition:background .12s,color .12s}.nav-elem-tab:hover{color:var(--text);border-color:var(--accent-2)}.nav-elem-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.nav-elem-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.nav-elem-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;font-size:10px;text-align:center;color:var(--muted);transition:border-color .12s,transform .1s,box-shadow .12s}.nav-elem-item:hover{border-color:var(--accent-2);transform:translateY(-1px);box-shadow:var(--shadow);color:var(--text)}.nav-elem-item:active{cursor:grabbing}.wb-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-canvas)}.breadcrumb{display:flex;align-items:center;gap:12px;padding:6px 16px 6px 22px;border-bottom:1px solid var(--border);background:var(--panel);font-size:12px;color:var(--muted);flex-shrink:0;min-height:38px}.breadcrumb.hidden{display:none}.breadcrumb .crumbs{display:flex;align-items:center;flex-wrap:wrap}.crumb-sep{margin:0 7px;opacity:.5}.device-bar{display:flex;align-items:center;gap:10px;margin-left:auto}.device-switch{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.device-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:26px;border:none;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.device-btn:hover{color:var(--text);background:#ffffff0d}.device-btn.active{background:var(--accent);color:#fff}.device-size{display:inline-flex;align-items:center;gap:3px;font-family:monospace;color:var(--muted)}.device-dim{width:52px;padding:2px 4px;text-align:right;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:monospace;font-size:11px}.device-x,.device-unit{opacity:.6}.device-hint{font-size:11px;padding:2px 8px;border-radius:20px;border:1px solid var(--border)}.device-hint.custom{color:#38bdf8;border-color:#38bdf866}.theme-light .device-hint.custom{color:#0369a1;border-color:#0369a166}.sec-head-row{display:inline-flex;align-items:center;gap:8px}.dev-badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:20px;border:1px solid var(--border)}.dev-badge.auto{color:var(--muted)}.dev-badge.custom{color:#38bdf8;border-color:#38bdf866}.theme-light .dev-badge.custom{color:#0369a1;border-color:#0369a166}.dev-tip{font-size:11px;margin-top:6px}.canvas-wrap.device-desktop{border-radius:8px;padding:10px;background:#0b1220;box-shadow:0 8px 30px #00000080,0 0 0 2px var(--border)}.canvas-wrap.device-desktop>*{border-radius:4px;overflow:hidden}.canvas-wrap.device-tablet,.canvas-wrap.device-mobile{border-radius:18px;padding:10px;background:#0b1220;box-shadow:0 8px 30px #00000080,0 0 0 2px var(--border)}.canvas-wrap.device-tablet>*,.canvas-wrap.device-mobile>*{border-radius:8px;overflow:hidden}.canvas-wrap.header-edit-mode{padding:0;background:transparent;box-shadow:none;border-radius:0;outline:1px solid #000;outline-offset:0}.canvas-wrap.header-edit-mode>*{border-radius:0}.wb-view{flex:1;overflow:hidden;display:flex;flex-direction:column}.status-bar{display:flex;align-items:center;gap:8px;padding:5px 16px;background:var(--panel);border-top:1px solid var(--border);font-size:12px;color:var(--muted);flex-shrink:0}.status-bar .sep{opacity:.4}.status-bar .spacer{flex:1}.status-bar strong{color:var(--text)}.shortcut-guide-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s,color .12s}.shortcut-guide-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.shortcuts-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.shortcuts-modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 60px #0006;width:900px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 13px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.shortcuts-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;padding:0;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.shortcuts-close:hover{background:var(--btn-hover-bg);color:var(--text)}.shortcuts-body{padding:16px 20px 20px;columns:2;column-gap:32px}.shortcuts-section{break-inside:avoid;margin-bottom:18px}.shortcuts-section-title{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.shortcuts-row{display:flex;align-items:center;justify-content:space-between;padding:3px 0;gap:12px}.shortcuts-label{font-size:12px;color:var(--text);flex:1;min-width:0}.shortcuts-keys{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcuts-keys span{display:flex;align-items:center;gap:2px}.shortcuts-or{font-size:10px;color:var(--muted);margin:0 4px}.shortcuts-keys kbd{display:inline-flex;align-items:center;justify-content:center;padding:1px 7px;border-radius:4px;font-size:11px;font-family:inherit;background:var(--panel-2);border:1px solid var(--border);color:var(--text);box-shadow:0 1px 0 var(--border);white-space:nowrap;line-height:1.6}.zoom-bar{display:flex;align-items:center;gap:4px}.zoom-btn{width:22px;height:22px;padding:0;border-radius:4px;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;flex-shrink:0}.zoom-btn:not(:disabled):hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.zoom-pct{min-width:46px;height:22px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;text-align:center;cursor:pointer;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.zoom-slider{width:100px;height:4px;cursor:pointer;accent-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:2px;border:none;padding:0}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer}.syn-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.syn-body{display:flex;flex:1;overflow:hidden}.syn-left{width:290px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto}.syn-right{width:230px;flex-shrink:0;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto}.syn-center{flex:1;overflow:auto;background:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0) 0 0 / 24px 24px,var(--bg-canvas);display:flex;justify-content:flex-start;align-items:flex-start;padding:28px}.syn-center--editor{padding:0;overflow:hidden;align-items:stretch}.syn-view .page-tabs button.mini{display:inline-flex;align-items:center;gap:4px}.syn-empty{justify-content:center;align-items:center}.syn-empty-msg{color:var(--text-muted);font-size:.95rem;text-align:center;padding:40px}.page{display:flex;flex-direction:column;flex:1;overflow:hidden}.view-head{display:none}.bvh-slot{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.bvh-subtitle{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:4px;border-left:1px solid var(--border);margin-left:2px}.bvh-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;margin-left:auto}.page-body{flex:1;overflow:auto;padding:18px 24px 28px}.empty-hint{color:var(--muted);background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius);padding:16px;text-align:center}.toolbar-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.search-input{max-width:320px}.select-inline{width:auto;min-width:160px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:var(--panel)}.data-table{width:100%;border-collapse:collapse;font-size:12.5px}.data-table thead th{position:sticky;top:0;background:var(--panel-2);text-align:left;padding:9px 10px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.data-table tbody td{padding:5px 8px;border-bottom:1px solid var(--border-row);vertical-align:middle}.data-table tbody tr:hover{background:#ffffff05}.data-table input,.data-table select{padding:4px 6px}.data-table input.num{width:72px}.data-table td.center,.data-table th.center{text-align:center;vertical-align:middle}.data-table td.center{display:table-cell;background:transparent}.data-table td.strong{font-weight:600;color:var(--text-strong)}.data-table td.mono{font-family:monospace;color:#cbd5e1}.data-table td.access{font-family:monospace;font-size:12px;font-weight:600;color:#38bdf8}.data-table td.type{font-family:monospace;font-size:12px;color:#a78bfa}.theme-light .data-table td.mono{color:#374151}.theme-light .data-table td.access{color:#0284c7}.theme-light .data-table td.type{color:#7c3aed}.data-table tr.row-selected{background:#2563eb1f}.data-table tr.sev-critical td:first-child{box-shadow:inset 3px 0 #ef4444}.data-table tr.sev-warning td:first-child{box-shadow:inset 3px 0 #f59e0b}.data-table tr.sev-info td:first-child{box-shadow:inset 3px 0 #38bdf8}.icon-btn{background:transparent;border:1px solid transparent;padding:2px 8px;border-radius:5px;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn.danger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border)}.icon-btn.danger:hover{background:#7f1d1d;border-color:#7f1d1d;color:#fff}.icon-btn-sq{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;max-width:32px;flex-shrink:0;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;padding:0}.icon-btn-sq:hover{background:var(--panel-2);color:var(--text);border-color:var(--muted)}.icon-btn-sq.danger:hover{background:#7f1d1d;border-color:#7f1d1d;color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 40px #00000073;width:400px;max-width:92vw;display:flex;flex-direction:column}.modal-header{padding:20px 24px 0}.modal-title{font-weight:700;font-size:1.1rem;color:var(--text)}.modal-body{padding:12px 24px 8px;color:var(--text);opacity:.85;font-size:.95rem;line-height:1.6}.modal-body p{margin:0}.modal-footer{display:flex;align-items:stretch;gap:10px;padding:20px 24px}.scan-modal{width:540px}.scan-row{display:flex;gap:8px;align-items:center}.scan-row input{flex:1}.scan-hint{opacity:.7;font-size:12px}.scan-error{color:var(--error, #ef4444)}.scan-plctype{opacity:.6}.scan-th-action{width:90px}.scan-divider{border:none;border-top:1px solid var(--border);margin:12px 0 8px}.scan-section-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 4px}.modal-btn{flex:1;padding:10px 20px;border-radius:7px;border:1px solid var(--border);font-size:.95rem;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s;text-align:center}.modal-btn.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border)}.modal-btn.secondary:hover{background:var(--panel-3, var(--border))}.modal-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff;margin-top:0;width:auto}.modal-btn.danger:hover{background:#b91c1c;border-color:#b91c1c}.modal-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.entity-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.entity-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:nowrap}.entity-card-head button.danger{margin-top:0;width:auto}.entity-card-head .entity-title{font-weight:600;flex:1;min-width:0;height:32px;background:transparent;border-color:transparent;cursor:default;-webkit-user-select:none;user-select:none;color:var(--text)}.entity-card-head .entity-title.entity-title-editing{background:var(--panel-2);border-color:var(--border);cursor:text;-webkit-user-select:auto;user-select:auto}.entity-card-head .entity-title:not(.entity-title-editing):hover{background:var(--btn-hover-bg);border-color:transparent}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.status-dot.on{background:#22c55e;box-shadow:0 0 6px #22c55e}.status-dot.off{background:#64748b}.entity-card .field.inline label{width:96px}.entity-card-foot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.entity-card-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.device-image-box{position:relative;width:100%;height:130px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.device-image-box img{display:none;max-width:100%;max-height:100%;object-fit:contain;padding:6px}.device-image-box img[style*=block]~.device-image-placeholder{display:none}.device-image-placeholder{position:absolute;color:var(--muted);font-size:11px;text-align:center;padding:0 10px;pointer-events:none}.form-card{max-width:540px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.form-card .field{margin-bottom:14px}.form-card .field.inline label{width:220px}.history-paths-field>label{margin-bottom:6px}.history-path-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.history-path-row>.hm-tip:first-child{flex:1;min-width:0}.history-path-row>.hm-tip:first-child input{width:100%}.history-path-input{flex:1;min-width:0;cursor:pointer}.history-path-browse{flex-shrink:0;padding:0 4px;display:inline-flex;align-items:stretch;color:var(--muted);background:none!important;border:none!important;box-shadow:none!important}.history-path-browse:hover{color:var(--text);background:none!important}.history-path-remove{flex-shrink:0;padding:1px 6px;opacity:.5}.history-path-remove:hover{opacity:1}.history-paths-limit{margin-top:4px}.hm-body-wrap{display:flex;gap:20px;align-items:flex-start}.hm-table-area{flex:1;min-width:0}.hm-table-wrap{overflow:visible}.hm-table{width:auto;border-collapse:collapse;font-size:12px;table-layout:fixed}.hm-table th{padding:6px 8px;color:var(--text);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.hm-table td{padding:0 8px;height:34px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);white-space:nowrap}.hm-table tbody tr:last-child td{border-bottom:none}.hm-table tbody tr:hover td{background:var(--panel-2)}.hm-col-name{width:260px;max-width:320px;text-align:left}.hm-col-type{width:60px;text-align:center}.hm-col-mode{width:150px;text-align:center}.hm-col-interval{width:80px;text-align:center}.hm-col-unit{width:90px;text-align:center}.hm-col-estimate{width:100px;text-align:center}.hm-col-actions{width:52px;text-align:center}.hm-name{display:flex;flex-direction:column;gap:1px;justify-content:center;overflow:hidden}.hm-name>span:first-child{overflow:hidden;text-overflow:ellipsis}.hm-desc{font-size:10px;color:var(--text);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-type{font-family:monospace;font-size:11px;color:var(--text);background:var(--panel-2);padding:1px 5px;border-radius:3px;border:1px solid var(--border)}.hm-col-interval{display:table-cell}.hm-interval{width:56px;display:block;margin:0 auto;text-align:center}.hm-estimate{font-family:monospace;font-size:11px;color:var(--text)}.hm-action-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.hm-action-btn:hover{color:#dc2626;background:#dc262614}.hm-action-btn.hm-locked{color:var(--accent, #3b82f6)}.hm-action-btn.hm-locked:hover{color:var(--accent, #3b82f6);background:#3b82f61a}.hm-bulk-trash{border:1px solid var(--border);padding:6px}.hm-col-actions{width:72px;text-align:center}.hm-sel-count{font-size:12px;color:var(--text);white-space:nowrap}.hm-total-estimate{font-size:12px;color:var(--text);opacity:.75;padding-left:12px;border-left:1px solid var(--border)}.hm-total-estimate strong{color:var(--text);opacity:1}.hm-legend{width:200px;flex-shrink:0;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;position:sticky;top:0}.hm-legend-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.hm-legend-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;gap:8px;font-size:11.5px;color:var(--text)}.hm-legend-label{flex:1;min-width:0}.hm-legend-keys{display:flex;gap:3px;align-items:center;flex-shrink:0}.hm-legend-key{font-family:monospace;font-size:10px;background:var(--panel);border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;padding:1px 5px;white-space:nowrap;color:var(--text)}.hm-legend-sep{height:1px;background:var(--border);margin:6px 0}.hm-cfg-hint{max-width:560px}.hcfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;max-width:1100px}.hcfg-left-col{display:flex;flex-direction:column;gap:16px}.hcfg-col{min-width:0;margin-bottom:0}.hcfg-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.hcfg-col-title{font-size:13px;font-weight:700;color:var(--text)}.hcfg-badge-on{font-size:10px;font-weight:600;color:var(--accent, #3b82f6);background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:20px;padding:2px 8px;white-space:nowrap}.hcfg-paths{display:flex;flex-direction:column;gap:6px}.hcfg-disabled-hint{font-size:12px;margin:4px 0 0}.hcfg-db-card{min-width:0;margin-bottom:0}.hcfg-db-title{display:inline-flex;align-items:center;gap:7px}.hcfg-db-card .hcfg-col-header button{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 12px}.hcfg-db-intro{font-size:12px;max-width:780px;margin:-2px 0 14px}.hcfg-db-list{display:flex;flex-direction:column;gap:14px}.hcfg-db-conn{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--panel);transition:opacity .15s}.hcfg-db-off{opacity:.55}.hcfg-db-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}.hcfg-db-type{flex:1;max-width:300px}.hcfg-db-field{display:flex;flex-direction:column;gap:5px;min-width:0}.hcfg-db-field-label{font-size:11px;font-weight:600;color:var(--muted)}.hcfg-db-field input,.hcfg-db-field select{width:100%}.hcfg-db-head .toggle{margin-bottom:6px}.hcfg-db-remove{flex-shrink:0;margin-bottom:1px;display:inline-flex;align-items:center;justify-content:center;padding:6px;color:var(--muted)}.hcfg-db-remove:hover{color:#ef4444;border-color:#ef4444}.hcfg-db-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 14px}.hcfg-db-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.hcfg-db-ssl{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer}.hcfg-db-ssl input{width:auto}.hcfg-db-gen{white-space:nowrap}.hcfg-db-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.hcfg-db-actions .btn-sm{white-space:nowrap}.hcfg-db-status{font-size:11.5px;font-weight:600;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcfg-db-status-testing{color:var(--muted)}.hcfg-db-status-ok{color:#16a34a}.hcfg-db-status-fail{color:#ef4444}.hcfg-sql-box{width:720px;max-width:94vw}.hcfg-sql-desc{margin-bottom:12px!important;opacity:1}.hcfg-sql-pre{margin:0;max-height:52vh;overflow:auto;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-family:Cascadia Code,Fira Code,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.55;color:var(--text);white-space:pre}.hcfg-sql-footer .modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.hm-tip{position:relative;display:inline-flex;align-items:center}.hm-tip-box{display:flex;flex-direction:column;gap:4px;position:absolute;left:50%;transform:translate(-50%);z-index:200;min-width:220px;max-width:300px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;box-shadow:0 6px 20px #0000002e;pointer-events:none;font-size:11px;font-weight:400;white-space:normal;text-align:left;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility 0s linear .12s}.hm-tip-box strong{font-size:12px;font-weight:700;color:var(--text);display:block}.hm-tip-top .hm-tip-box{bottom:calc(100% + 6px);top:auto}.hm-tip-bottom .hm-tip-box{top:calc(100% + 6px);bottom:auto}.hm-tip:hover .hm-tip-box{opacity:1;visibility:visible;transition:opacity .15s ease 1s,visibility 0s linear 1s}.hm-opt-box{width:480px}.hm-opt-body{display:flex;flex-direction:column;gap:14px}.hm-opt-desc{color:var(--text);line-height:1.55;font-size:13px;margin:0}.hm-opt-already{color:var(--text);font-size:13px;opacity:.6;margin:0}.hm-opt-summary{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.hm-opt-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text)}.hm-opt-saving strong{color:var(--accent)}.hc-table{width:100%}.hc-table .hc-col-name{min-width:160px}.hc-table .hc-col-time{min-width:120px}.hc-table .hc-col-reset{min-width:120px;white-space:nowrap}.hc-table .hc-col-actions{white-space:nowrap;text-align:right;width:90px}.hc-cell-text{color:var(--text)}.hc-notes{display:block;font-size:11px;color:var(--muted);margin-top:2px}.hc-tag-name{font-size:12px}.hc-missing{font-size:11px;color:var(--danger, #ef4444);font-style:italic}.hc-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.hc-status-on{background:#22c55e26;color:#16a34a}.hc-status-off{background:#94a3b826;color:var(--muted)}.theme-dark .hc-status-on{color:#4ade80}.theme-dark .hc-status-off{color:var(--muted)}.hc-row-disabled{opacity:.5}.hc-modal-box{width:460px}.hc-modal-body{display:flex;flex-direction:column;gap:14px}.hc-field{display:flex;flex-direction:column;gap:5px}.hc-field-inline{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text)}.hc-label{font-size:12px;font-weight:600;color:var(--text)}.hc-hint{font-size:11px;color:var(--muted)}.hc-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:13px}.hc-input:focus{outline:none;border-color:var(--accent)}.hc-input-num{width:120px}.hc-input.hc-mono{font-family:monospace;font-size:12px}.hc-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:13px}.hc-select:focus{outline:none;border-color:var(--accent)}.hc-expr-row,.ec-expr-row{display:flex;align-items:center;gap:8px}.hc-expr-preview,.ec-expr-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:12px;color:var(--text);background:var(--bg, rgba(0,0,0,.12));padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius)}.hc-expr-empty,.ec-expr-empty{color:var(--muted);font-style:italic}.hc-expr-edit-btn,.ec-expr-edit-btn{flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.hc-expr-edit-btn:hover,.ec-expr-edit-btn:hover{opacity:.85}.tss-wrap{position:relative}.tss-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:13px}.tss-input:focus{outline:none;border-color:var(--accent)}.tss-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000002e;max-height:220px;overflow-y:auto}.tss-item{padding:7px 12px;font-size:13px;color:var(--text);cursor:pointer}.tss-item:hover{background:var(--accent);color:#fff}.tss-item-active{background:#6366f11f;font-weight:600}.tss-item-active:hover{background:var(--accent);color:#fff}.tss-empty{padding:8px 12px;font-size:12px;color:var(--muted);font-style:italic}.ec-table{width:100%}.ec-table .ec-col-name{min-width:140px}.ec-table .ec-col-trigger{min-width:160px}.ec-table .ec-col-count{min-width:100px}.ec-table .ec-col-event{min-width:120px;white-space:nowrap}.ec-table .ec-col-var{min-width:140px}.ec-table .ec-col-actions{white-space:nowrap;text-align:right;width:90px}.ec-cell-text{color:var(--text)}.ec-notes{display:block;font-size:11px;color:var(--muted)}.ec-tag-name{color:var(--text)}.ec-missing{font-size:11px;color:var(--danger, #ef4444);font-style:italic}.ec-row-disabled{opacity:.5}.ec-var-row{display:flex;align-items:center;gap:4px}.ec-var-name{font-family:monospace;font-size:11px;color:var(--accent);background:#6366f114;padding:1px 5px;border-radius:4px}.ec-copy-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:12px;padding:0 2px;line-height:1}.ec-copy-btn:hover{color:var(--accent)}.ec-modal-box{width:480px}.ec-modal-body{display:flex;flex-direction:column;gap:14px}.ec-field{display:flex;flex-direction:column;gap:5px}.ec-field-inline{flex-direction:row;align-items:center;gap:8px}.ec-label{font-size:12px;font-weight:600;color:var(--text)}.ec-hint{font-size:11px;color:var(--muted)}.ec-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:13px}.ec-input:focus{outline:none;border-color:var(--accent)}.ec-input-num{width:120px}.ec-input.ec-mono{font-family:monospace;font-size:12px}.ec-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:13px}.ec-select:focus{outline:none;border-color:var(--accent)}.settings-grid-body{flex:1;overflow:auto;padding:24px 28px 36px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-content:start}.settings-glass-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px 22px;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 4px 24px #0000002e,inset 0 1px #ffffff1a}.settings-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-strong);margin-bottom:16px;letter-spacing:.01em}.settings-card-icon{font-size:16px}.settings-glass-card .field{margin-bottom:12px}.settings-glass-card .field.inline label{width:180px}.settings-id{opacity:.5;font-family:monospace;font-size:12px}.settings-color-row{display:flex;align-items:center;gap:8px}.settings-color-hex{font-family:monospace;font-size:12px;color:var(--muted)}.settings-hint{font-size:11px;color:var(--muted);margin:6px 0 0;line-height:1.5}.settings-num-wrap{display:flex;align-items:center;gap:6px;width:100%}.settings-num-wrap input{flex:1;min-width:0}.settings-unit{font-size:11px;color:var(--muted);flex-shrink:0;font-weight:500}.settings-field-gap{margin-top:10px}.settings-row-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.binding-colors-card{grid-column:1 / -1}.settings-reset-btn{margin-left:auto;font-size:11px;opacity:.7}.field-custom{background:#2563eb12;border-radius:4px;padding:2px 4px}.label-custom{font-weight:600}.binding-key-hint{opacity:.45;font-size:10px;margin-left:4px}.binding-color-row{display:flex;align-items:center;gap:4px}.settings-row-trio .field label{font-size:11px}[data-theme=light] .settings-glass-card{background:#ffffff8c;border-color:#00000014;box-shadow:0 4px 24px #00000014,inset 0 1px #fffc}.stat-row{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.view-stat-row{padding:14px 24px;margin-bottom:0;border-bottom:1px solid var(--border)}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;min-width:130px}.stat-value{font-size:26px;font-weight:700;color:var(--text-strong)}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.import-panel{max-width:460px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;box-shadow:var(--shadow)}.import-panel .import-icon{color:var(--accent-2);margin-bottom:8px}.import-panel h3{margin:4px 0 6px}.import-panel .muted{margin-bottom:16px}.btn-file.primary-file{background:var(--accent);border-color:var(--accent);color:#fff;padding:8px 18px;display:inline-block}.btn-file.primary-file:hover{background:#1d4ed8}.import-result{margin-top:16px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;font-size:12px}.import-result.import-error{color:#fca5a5;border-color:#7f1d1d}.defaults-tab-bar{display:flex;gap:4px;padding:0 28px 20px;flex-wrap:wrap;flex-shrink:0}.defaults-tab-bar.in-header{padding:0;gap:5px;justify-content:flex-end}.defaults-tab-bar.in-header .defaults-tab{padding:4px 12px;font-size:12px;border-radius:8px;border-width:1px}.defaults-tab-bar.in-header .defaults-tab.active{box-shadow:0 1px 5px #2563eb4d}.defaults-tab{padding:7px 18px;font-size:13px;font-weight:500;border:1.5px solid var(--border);border-radius:10px;color:var(--muted);background:var(--panel-2);cursor:pointer;transition:color .13s,background .13s,border-color .13s,box-shadow .13s;letter-spacing:.01em}.defaults-tab:hover{color:var(--text);border-color:var(--accent-2);background:var(--panel-3, var(--panel-2))}.defaults-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 10px #2563eb59}.import-plc-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}.plc-tab{padding:6px 14px;font-size:12px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;cursor:pointer}.plc-tab:hover{border-color:var(--accent-2)}.plc-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.import-blocks{margin-top:16px;text-align:left}.import-blocks-title{font-size:12px;font-weight:600;margin-bottom:6px;color:var(--text)}.import-blocks ul{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.import-blocks li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border)}.import-blocks .block-name{flex:1;font-family:var(--mono, monospace);color:var(--text)}.block-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--text-muted)}.block-badge.badge-fb,.block-badge.badge-fc,.block-badge.badge-ob{background:#1e3a8a;color:#bfdbfe;border-color:#1e3a8a}.block-badge.badge-db{background:#065f46;color:#a7f3d0;border-color:#065f46}.block-badge.badge-udt{background:#92400e;color:#fde68a;border-color:#92400e}.block-badge.badge-tagtable,.block-badge.badge-labels{background:#3730a3;color:#c7d2fe;border-color:#3730a3}.import-warnings{margin-top:12px;text-align:left}.import-warnings-spaced{margin-bottom:12px}.import-warning{font-size:11px;color:#fbbf24;margin:4px 0}.import-review-toolbar{display:flex;align-items:center;gap:6px;padding:8px 0 10px;border-bottom:1px solid var(--border);margin-bottom:8px;flex-wrap:wrap}.import-review-toolbar button{font-size:12px}.import-sel-count{margin-left:8px}.import-confirm-btn{margin-left:auto}.import-folder-group{margin-bottom:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.import-folder-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel-2);cursor:default}.folder-toggle{background:none;border:none;padding:0 2px;font-size:10px;color:var(--muted);cursor:pointer;line-height:1}.folder-toggle:hover{color:var(--text)}.folder-name{font-size:12px;font-weight:600;flex:1}.folder-count{font-size:11px}.import-folder-table{margin:0;border-radius:0;border:none}.import-folder-table td{border-bottom-color:var(--border-row)}.import-tag-check-cell{width:52px;padding-left:28px!important}.import-already-label{font-size:11px;color:var(--muted)}.row-dim{opacity:.45}.row-update{background:color-mix(in srgb,#f59e0b 6%,transparent)}.import-driver-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap}.import-driver-select{font-size:12px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.import-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 2px}.import-driver-field{margin-bottom:10px}.import-driver-field label{width:auto!important;white-space:nowrap}.import-driver-field select{flex:1;min-width:0}.import-btn-update{color:#f59e0b;border-color:#f59e0b55}.import-btn-update:hover{background:#f59e0b18}.import-update-cell{display:flex;flex-direction:column;gap:2px}.import-update-badge{display:inline-block;font-size:10px;font-weight:600;color:#f59e0b;background:#f59e0b18;border:1px solid #f59e0b44;border-radius:4px;padding:0 5px;line-height:16px}.import-diff-item{font-size:10px;color:var(--muted);white-space:nowrap}.import-diff-before{color:#ef4444;font-family:monospace}.import-diff-after{color:#22c55e;font-family:monospace}.import-review-footer{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--border);margin-top:12px}.bulk-bar{display:flex;align-items:center;gap:8px;padding:7px 10px;margin-bottom:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;position:relative}.bulk-count{font-size:12px;font-weight:600;color:var(--accent-2);min-width:90px}.bulk-bar button{font-size:12px}.bulk-bar button.danger{background:#7f1d1d;border-color:#991b1b;color:#fca5a5;width:auto;margin-top:0}.bulk-bar button.danger:hover{background:#991b1b}.bulk-clear{margin-left:auto;font-size:15px!important;line-height:1;padding:2px 6px!important}.bulk-folder-wrap{position:relative}.folder-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:6px 0}.folder-dropdown-section{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 12px 2px}.folder-dropdown-option{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 14px;font-size:12px;color:var(--text);cursor:pointer;border-radius:0}.folder-dropdown-option:hover{background:var(--panel-2)}.folder-dropdown-none{color:var(--muted)!important}.folder-dropdown-sep{height:1px;background:var(--border);margin:4px 0}.folder-dropdown-new{display:flex;gap:6px;padding:6px 10px}.folder-dropdown-new input{flex:1}.folder-dropdown-new .primary{white-space:nowrap;font-size:11px;padding:4px 8px}.col-check{width:36px;padding:0 4px!important;text-align:center}.row-selected td{background:color-mix(in srgb,var(--accent) 12%,transparent)!important}.row-selected td input[type=checkbox]{background:#fff}.tag-folder-row td{background:var(--panel-2);font-size:11px;font-weight:600;color:var(--muted);padding:5px 10px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border)}.tag-folder-row .folder-toggle-inline{background:none;border:none;padding:0 4px 0 0;font-size:10px;color:var(--muted);cursor:pointer}.tag-folder-row .folder-toggle-inline:hover{color:var(--text)}.import-plc-select{width:100%;margin-bottom:6px;font-size:12px}.theme-light .toolbar{background:linear-gradient(180deg,var(--bg-toolbar-top) 0%,var(--panel) 100%)}.theme-light button:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.theme-light .side-tabs button.active{background:var(--panel-2);color:var(--text)}.theme-light .ribbon-tabs button.active{color:var(--text)}.theme-light .nav-branch{color:#334155}.theme-light .nav-branch.has-active{color:#1e293b}.theme-light .nav-leaf{color:#475569}.theme-light .nav-leaf.top{color:#1e293b}.theme-light .data-table tbody tr:hover{background:#00000008}.theme-light .data-table td.mono{color:#475569}.theme-light .alarm-item{border-bottom-color:var(--border-row)}.theme-light .alarm-item .a-val{color:#475569}.nav-symbols{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.nav-symbols-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}.nav-symbols-empty{font-size:11px;line-height:1.4}.symbol-child{border:1px solid var(--border);border-radius:6px;padding:8px;margin-bottom:8px}.symbol-child-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.symbol-child-item{border:1px solid var(--border);border-radius:6px;margin-bottom:6px;overflow:hidden}.symbol-child-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:none;border:none;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;text-align:left;transition:background .1s}.symbol-child-header:hover{background:var(--hover)}.symbol-child-header.expanded{background:var(--panel-2)}.sec-chevron-sm{font-size:10px;color:var(--muted);flex-shrink:0}.symbol-child-label{flex:1}.symbol-child-props{padding:8px;border-top:1px solid var(--border);background:var(--panel-1);display:flex;flex-direction:column;gap:6px}.symbol-child-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:2px}.symbol-child-type{font-size:10px;color:var(--muted);font-weight:400}.symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:16px}.symbol-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel-2);display:flex;flex-direction:column}.symbol-thumb{display:flex;align-items:center;justify-content:center;background:#0f172a;border-bottom:1px solid var(--border);overflow:hidden}.symbol-card-body{padding:10px;display:flex;flex-direction:column;gap:8px}.symbol-name-input{width:100%;font-size:13px;font-weight:600}.symbol-card-meta{display:flex;gap:6px;font-size:11px}.symbol-del{align-self:flex-start}.symbol-card.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.symbol-thumb--clickable{position:relative;cursor:pointer;width:100%;height:130px;background:var(--sym-thumb-bg, #e6e6e6)}.symbol-checkbox{position:absolute;top:6px;left:6px;width:18px;height:18px;border-radius:4px;background:#1e293b;border:1.5px solid #475569;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#3b82f6;pointer-events:none}.symbol-card.selected .symbol-checkbox{background:#3b82f6;border-color:#3b82f6;color:#fff}.sym-file-input{display:none}.sym-import-error{display:flex;align-items:center;gap:10px;margin:10px 16px 0;padding:8px 12px;background:#7f1d1d33;border:1px solid #991b1b66;border-radius:6px;font-size:12.5px;color:#fca5a5}.sym-import-error button{margin-left:auto;flex-shrink:0}.bep-overlay{z-index:1100}.bep-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px #0009;width:900px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.bep-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border);background:var(--panel-2);flex-shrink:0}.bep-title{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.bep-title em{font-style:normal;color:var(--muted)}.bep-fx-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;font-family:monospace}.bep-close{background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:16px;padding:2px 6px;border-radius:4px}.bep-close:hover{background:var(--panel-2);color:var(--text)}.bep-body{display:flex;flex:1;overflow:hidden;min-height:0}.bep-left{width:260px;min-width:220px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:0 0 8px}.bep-right{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:0 0 8px;min-width:0}.bep-section{padding:10px 14px 6px;border-bottom:1px solid var(--border-row, var(--border))}.bep-section:last-child{border-bottom:none}.bep-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:7px;display:flex;align-items:center;justify-content:space-between}.bep-section-hint{font-size:9px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);opacity:.7}.bep-select{width:100%;margin-bottom:4px}.bep-tag-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.bep-chip{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-family:monospace}.bep-chip-sm{font-size:9px;padding:0 4px}.bep-tag-desc{font-size:10px;color:var(--muted)}.bep-tags-list-wrap{flex:1}.bep-tags-list{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto}.bep-tag-item{display:flex;align-items:center;justify-content:space-between;gap:6px;background:transparent;border:1px solid transparent;border-radius:4px;padding:3px 6px;cursor:pointer;text-align:left;color:var(--text);font-size:12px;transition:background .1s}.bep-tag-item:hover{background:var(--panel-2);border-color:var(--border)}.bep-tag-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:11px}.bep-helpers{display:flex;flex-direction:column;gap:4px}.bep-helper-row{display:flex;flex-direction:column;gap:1px}.bep-helper-sig{font-size:11px;color:var(--accent-2);font-family:monospace;cursor:pointer}.bep-helper-sig:hover{text-decoration:underline}.bep-helper-desc{font-size:10px;color:var(--muted)}.bep-expr-wrap{flex:1;display:flex;flex-direction:column}.bep-expr-ta{flex:1;min-height:180px;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;font-size:13px;line-height:1.6;padding:10px 12px;background:#0d1117;color:#e2e8f0;border:1px solid var(--border);border-radius:6px;resize:vertical;-moz-tab-size:2;tab-size:2;outline:none;transition:border-color .15s}.bep-expr-ta:focus{border-color:var(--accent)}.bep-preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bep-preview-label{font-size:12px;color:var(--muted);font-family:monospace;flex-shrink:0}.bep-preview-input{width:90px;font-family:monospace;font-size:12px}.bep-preview-arrow{color:var(--muted);font-size:14px}.bep-preview-ok{font-family:monospace;font-size:12px;color:#4ade80;font-weight:600}.bep-preview-error{font-size:11px;color:#f87171;font-style:italic;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bep-preview-none{font-size:11px;color:var(--muted);font-style:italic}.bep-snippets{display:flex;flex-wrap:wrap;gap:5px}.bep-snippet{font-size:11px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2);color:var(--text);cursor:pointer;transition:background .12s,border-color .12s;font-family:system-ui,sans-serif}.bep-snippet:hover{background:var(--accent);border-color:var(--accent);color:#fff}.bep-var-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;font-size:12px}.bep-var-row code{color:var(--accent-2);font-size:11px;white-space:nowrap}.bep-var-row span{color:var(--muted)}.bep-footer{display:flex;gap:10px;padding:12px 18px;border-top:1px solid var(--border);background:var(--panel-2);flex-shrink:0;justify-content:flex-end}.bep-footer .modal-btn{flex:0 0 auto;min-width:100px}.binding-row{display:flex;align-items:center;gap:4px}.binding-row select{flex:1}.binding-row .tag-search-wrap{flex:1;min-width:0}.binding-fx-btn{flex-shrink:0;font-family:monospace;font-style:italic;font-size:12px;font-weight:400;padding:0 4px;background:none;border:none;color:var(--muted);cursor:pointer}.binding-fx-btn:hover{color:var(--text)}.binding-fx-btn:disabled{opacity:.25;cursor:default}.binding-fx-btn.active{color:var(--accent);font-weight:700}.custom-binding-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin-bottom:2px}.custom-binding-del{background:none;border:none;color:var(--muted);font-size:14px;line-height:1;padding:0;cursor:pointer;flex-shrink:0}.custom-binding-del:hover{color:var(--text)}.custom-binding-add-btn{margin-top:4px}.binding-color-dot{flex-shrink:0;flex-grow:0;display:block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.22);cursor:pointer;position:relative;overflow:hidden;opacity:.4}.binding-color-dot:not(.disabled){opacity:1}.binding-color-dot.disabled{opacity:.35;pointer-events:none}.binding-color-dot.overridden{border-color:var(--accent)}.binding-color-dot input[type=color]{display:block;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.binding-color-swatch.overridden::-webkit-color-swatch{border-color:var(--accent)}.tag-search-wrap{position:relative;flex:1;min-width:0}.tag-search-input-row{display:flex;align-items:center;position:relative}.tag-search-input{flex:1;min-width:0;padding-right:20px}.tag-search-clear{position:absolute;right:4px;background:none;border:none;color:var(--muted);font-size:14px;line-height:1;padding:0 2px;cursor:pointer}.tag-search-clear:hover{color:var(--text)}.tag-search-dropdown{position:absolute;z-index:9999;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;list-style:none;margin:0;padding:2px 0;max-height:220px;overflow-y:auto;box-shadow:0 8px 24px #00000059}.tag-search-item{padding:5px 10px;cursor:pointer;display:flex;flex-direction:column;gap:1px;font-size:12px}.tag-search-item.highlighted{background:var(--accent);color:#fff}.tag-search-item.highlighted .tag-search-desc{color:#ffffffb3}.tag-search-none{color:var(--muted);font-style:italic}.tag-search-name{font-weight:500}.tag-search-desc{font-size:10px;color:var(--muted)}.tag-search-empty{padding:6px 10px;color:var(--muted);font-style:italic;font-size:12px}.tag-search-hint{padding:4px 10px;color:var(--muted);font-size:10px;font-style:italic}.binding-color-reset{flex-shrink:0;padding:0 4px;font-size:11px;opacity:.6}.binding-color-reset:hover{opacity:1}.custom-binding-form{display:flex;flex-direction:column;gap:4px;margin-top:4px}.custom-binding-input{width:100%;box-sizing:border-box;font-size:12px}.custom-binding-form-btns{display:flex;gap:4px}.binding-expr-preview{font-size:10px;color:var(--accent-2);background:#2563eb14;border:1px solid rgba(37,99,235,.25);border-radius:4px;padding:2px 6px;margin-top:2px;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binding-expr-preview.muted{color:var(--muted);background:transparent;border-color:transparent}.vis-fx-badge{font-size:10px;padding:0 5px;border-radius:4px;background:var(--accent);color:#fff;font-weight:600}.block-editor-workspace{width:100%;height:380px;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0}.block-editor-workspace .blocklySvg{border-radius:6px}.blocklyToolboxDiv{background:#131f35!important;border-right:1px solid #2b3a52!important}.blocklyToolboxCategoryLabel{color:#e2e8f0!important;font-size:13px!important;font-weight:500!important}.blocklyToolboxCategoryGroup{background:#e8e8e8!important;color:#111!important}.blocklyToolboxCategoryGroup .blocklyToolboxCategoryLabel{color:#111!important}.blocklyToolboxCategory:hover{background:#ffffff0f!important}.blocklyToolboxSelected{background:#2563eb38!important}.blocklyToolboxCategoryIcon{background-color:transparent!important;background-repeat:no-repeat!important;background-size:16px 16px!important;background-position:center!important;width:20px!important;height:20px!important;flex-shrink:0!important}.bc-tag-scada .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><circle cx='7' cy='7' r='1.5' fill='%23e2e8f0' stroke='none'/></svg>")!important}.bc-confronto .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 9l4-4 4 4'/><path d='M9 5v14'/><path d='M19 15l-4 4-4-4'/><path d='M15 19V5'/></svg>")!important}.bc-logica .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='6' y1='3' x2='6' y2='15'/><circle cx='18' cy='6' r='3'/><circle cx='6' cy='18' r='3'/><path d='M18 9a9 9 0 0 1-9 9'/></svg>")!important}.bc-matematica .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 4H6l6 8-6 8h12'/></svg>")!important}.bc-testo .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 7 4 4 20 4 20 7'/><line x1='9' y1='20' x2='15' y2='20'/><line x1='12' y1='4' x2='12' y2='20'/></svg>")!important}.bc-tempo .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>")!important}.bc-conversione .blocklyToolboxCategoryIcon{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='17 1 21 5 17 9'/><path d='M3 11V9a4 4 0 0 1 4-4h14'/><polyline points='7 23 3 19 7 15'/><path d='M21 13v2a4 4 0 0 1-4 4H3'/></svg>")!important}.bep-tabs{display:flex;align-items:center;gap:2px;padding:8px 14px 0;border-bottom:1px solid var(--border);flex-shrink:0}.bep-tab{display:inline-flex;align-items:center;padding:5px 14px;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted);transition:background .12s,color .12s;position:relative;bottom:-1px}.bep-tab:hover{background:var(--panel-2);color:var(--text)}.bep-tab.active{background:var(--panel);border-color:var(--border);color:var(--text);border-bottom-color:var(--panel)}.bep-tab-icon{margin-right:5px}.scada-result-label{fill:#1f2937!important}.bep-tab-hint{margin-left:auto;font-size:10px;color:var(--muted);opacity:.7}.bep-tab-expr-preview code{font-size:10px;font-family:monospace;color:var(--accent-2)}.bep-blocks-wrap{display:flex;flex-direction:column;gap:0;flex:1;padding:10px 14px 0;overflow:hidden;min-height:0}.bep-blocks-loading{height:380px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;border:1px solid var(--border);border-radius:6px}.bep-blocks-hint{padding:8px 0 4px 8px;font-size:11px;color:var(--muted);line-height:1.5}.bep-blocks-hint em{color:var(--text);font-style:normal;font-weight:600}.bep-code-wrap{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.bep-preview-col{display:flex;flex-direction:column;gap:4px}.bep-preview-result{font-size:12px}.bep-box{max-height:92vh}.ges-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;overflow:hidden;display:flex;flex-direction:column}.bes-container{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel);overflow:hidden}.bes-topbar{display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--panel-2);border-bottom:1px solid var(--border);flex-shrink:0}.bes-back-btn{padding:6px 14px;border:1px solid #ef4444;border-radius:6px;background:transparent;color:#ef4444;cursor:pointer;font-size:12px;white-space:nowrap}.bes-back-btn:hover{background:#ef44441f}.bes-title{flex:1;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--text)}.bes-title em{font-style:normal;color:var(--accent)}.bes-fx-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;font-style:normal;flex-shrink:0}.bes-apply-btn{padding:7px 20px;border:none;border-radius:7px;background:var(--accent);color:#fff;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}.bes-apply-btn:hover{opacity:.88}.bes-editor-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.bes-blocks-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0 0 8px}.bes-blocks-area .block-editor-workspace{flex:1;height:auto!important;min-height:300px}.bes-blocks-area .blocklyToolboxDiv,.block-editor-workspace .blocklyToolboxDiv{width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important;border:none!important;padding:0!important}.bes-code-area{flex:1;overflow-y:auto;padding:0 0 8px}.bes-expr-ta{min-height:220px!important;resize:vertical}.bns-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:0}.bns-header{display:flex;align-items:center;gap:8px;padding:12px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.bns-fx-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.bns-title{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bns-footer{margin-top:auto;padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0}.bns-cancel-btn{width:100%;padding:7px 0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.bns-cancel-btn:hover{background:var(--hover);color:var(--text)}.bns-categories{flex-shrink:0}.bns-cat-list{display:flex;flex-direction:column;gap:4px}.bns-cat-btn{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:7px;background:var(--cat-colour, #d0d8e8);color:#111;font-size:12px;font-weight:500;cursor:pointer;text-align:left;transition:filter .12s,box-shadow .12s}.bns-cat-btn:hover{filter:brightness(.93);box-shadow:0 1px 4px #00000026}.bns-cat-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;line-height:1}.bns-cat-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poly-hint{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#0f172aeb;color:#e2e8f0;border:1px solid #334155;border-radius:6px;padding:6px 12px;font-size:12px;z-index:50;pointer-events:none;box-shadow:0 2px 8px #0006}.canvas-context-menu{position:fixed;left:var(--cm-x);top:var(--cm-y);background:var(--panel-2, #1e293b);border:1px solid var(--border, #334155);border-radius:6px;box-shadow:0 4px 16px #00000080;z-index:200;min-width:140px;overflow:hidden}.canvas-context-menu button{display:block;width:100%;text-align:left;padding:8px 14px;font-size:13px;color:var(--text, #e2e8f0);background:none;border:none;cursor:pointer}.canvas-context-menu button:hover{background:#ffffff12}.canvas-context-menu button svg{display:inline;vertical-align:middle;margin-right:5px}.kw-box{width:720px;max-width:94vw}.kw-sub{margin:6px 0 0;font-size:12px;color:var(--muted)}.kw-sub code{background:var(--panel-2);padding:1px 5px;border-radius:4px}.kw-body{max-height:60vh;overflow-y:auto}.kw-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kw-col-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;color:var(--text);opacity:1;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border)}.kw-group{margin-bottom:10px}.kw-group-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:var(--muted);margin:6px 0 2px}.kw-group-actions{display:flex;gap:4px}.kw-check{display:flex;align-items:center;gap:8px;padding:3px 4px;border-radius:5px;cursor:pointer;font-size:12px}.kw-check:hover{background:var(--panel-2)}.kw-check input{flex:0 0 auto}.kw-check-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kw-check-val{flex:0 0 auto;color:var(--muted);font-size:11px;font-family:monospace}.kw-warn{font-size:11px;color:#f59e0b;margin:4px 2px 0;line-height:1.4}.kw-targets{display:flex;flex-direction:column;gap:1px}.kw-target-page{flex:0 0 auto;color:var(--muted);font-size:11px}.kw-target-diff{flex:0 0 auto;font-size:10px;color:#f59e0b;border:1px solid #f59e0b;border-radius:4px;padding:0 4px}.panel-title--spaced{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.scada-icon-palette{display:flex;flex-direction:column}.scada-icon-category{border-bottom:1px solid var(--border)}.scada-icon-cat-header{width:100%;display:flex;align-items:center;gap:4px;padding:6px 8px;background:none;border:none;cursor:pointer;color:var(--text);font-size:12px;font-weight:600;text-align:left}.scada-icon-cat-header:hover,.scada-icon-cat-header.open{background:var(--panel-2)}.scada-icon-cat-count{margin-left:auto;font-size:10px;font-weight:600;color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 25%,transparent);border-radius:10px;padding:0 6px;min-width:20px;text-align:center;line-height:1.6}.scada-icon-cat-chevron{font-size:9px;color:var(--muted);margin-left:4px}.btn-preset-grid{display:flex;flex-direction:column;gap:2px;padding:4px 6px 6px}.btn-preset-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:5px;cursor:grab}.btn-preset-item:hover{background:var(--panel-2)}.btn-preset-label{font-size:11px;color:var(--text)}.scada-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px 6px 6px}.scada-icon-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;cursor:grab}.scada-icon-item:hover{background:var(--panel-2)}.scada-icon-img{display:block}.svg-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.svg-editor-modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;width:min(94vw,920px);height:min(90vh,680px);overflow:hidden;box-shadow:0 24px 80px #0000008c}.svg-editor-header{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.svg-editor-title{font-weight:700;font-size:14px;text-transform:capitalize;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.svg-editor-header-actions{display:flex;gap:6px;flex-shrink:0}.svg-editor-body{display:flex;flex:1;overflow:hidden;min-height:0}.svg-editor-canvas{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:repeating-conic-gradient(#1e293b,#1e293b 25%,#0f172a 0%,#0f172a 50%) 0 0 / 24px 24px;padding:32px;cursor:default;min-width:0}.svg-editor-canvas svg{width:min(360px,100%);height:min(360px,100%);filter:drop-shadow(0 4px 20px rgba(0,0,0,.5))}.svg-editor-canvas [data-part-idx]{cursor:pointer}.svg-editor-canvas [data-part-idx]:hover{filter:brightness(1.4) drop-shadow(0 0 5px rgba(255,255,255,.35))}.svg-editor-canvas.has-selection [data-part-idx]:not([data-selected]){opacity:.3}.svg-editor-canvas [data-part-idx][data-selected]{filter:drop-shadow(0 0 7px #2563eb) brightness(1.2)}.svg-editor-canvas [data-part-idx][data-animated]:not([data-selected]){filter:drop-shadow(0 0 4px #f59e0b)}.svg-editor-panel{width:252px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:0}.svg-editor-legend{display:flex;align-items:center;gap:6px;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:11px}.svg-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.svg-legend-dot.animated{background:#f59e0b;box-shadow:0 0 5px #f59e0b80}.svg-legend-dot.custom{background:#2563eb;box-shadow:0 0 5px #2563eb80}.svg-editor-hint{padding:8px 0;font-size:13px;color:var(--text);line-height:1.55}.svg-editor-section{padding:10px 0;border-bottom:1px solid var(--border)}.svg-editor-section:last-of-type{border-bottom:none}.svg-editor-section-title{font-size:13px;font-weight:700;color:var(--text)}.svg-editor-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.svg-editor-parts-footer{margin-top:auto;padding-top:12px;font-size:11px}.theme-light .svg-editor-canvas{background:repeating-conic-gradient(#cbd5e1,#cbd5e1 25%,#e2e8f0 0%,#e2e8f0 50%) 0 0 / 24px 24px}.svg-editor-header-title{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}.svg-editor-subtitle{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap;flex-shrink:0}.svg-panel-loading{padding:8px}.svg-hint-note{margin-top:6px}.svg-color-row{display:flex;align-items:center;gap:8px;margin-top:6px}.svg-color-hex{font-size:11px;color:var(--muted)}.svg-color-reset{margin-left:auto}.svg-anim-field{margin-top:6px}.svg-anim-hint{font-size:11px;margin-top:4px;line-height:1.5}.svg-parts-detail{margin-top:2px}.svg-reset-all-btn{margin-top:8px;width:100%}.svg-autosave-note{font-size:10px;margin-top:10px}.palette-icon-ctx{position:fixed;left:var(--pic-x);top:var(--pic-y);z-index:200;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 6px 20px #00000059;min-width:168px}.palette-icon-ctx button{display:block;width:100%;text-align:left;padding:6px 10px;border-radius:5px;background:none;border:none;color:var(--text);cursor:pointer;font-size:12px}.palette-icon-ctx button:hover{background:var(--panel-2)}.palette-icon-ctx button.danger{color:#ef4444}.scada-icon-item{position:relative}.icon-has-default:after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:0 0 4px #f59e0b80;pointer-events:none}.iec-page{display:grid;grid-template-columns:1fr 200px;grid-template-rows:auto 1fr;flex:1;min-width:0;min-height:0;background:var(--bg);color:var(--text);font-size:12px;overflow:hidden}.iec-header{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-toolbar-top)}.iec-back-btn{background:none!important;border:none!important;box-shadow:none!important;padding:3px 4px!important;color:var(--text-muted, var(--text))}.iec-back-btn:hover{color:var(--text)!important;background:none!important}.iec-title{font-size:14px;font-weight:600;color:var(--text);text-transform:capitalize}.iec-subtitle{font-size:11px;color:var(--text-muted)}.iec-body{grid-column:1;grid-row:2;display:flex;min-height:0;overflow:hidden}.iec-left{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--panel)}#iec-sidebar-portal>.iec-left{border-right:none}.iec-panel-title{padding:6px 10px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text);border-bottom:1px solid var(--border);background:var(--panel-2);flex-shrink:0}.iec-svg-preview{flex-shrink:0;padding:8px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;justify-content:center;align-items:center;min-height:80px;max-height:120px}.iec-svg-preview svg{max-width:100%;max-height:110px;height:auto}.iec-svg-preview [data-part-idx]{cursor:pointer;transition:opacity .15s}.iec-svg-preview [data-part-idx]:hover{opacity:.75}.iec-svg-preview [data-part-idx][data-selected]{outline:1px solid #3b82f6}.iec-svg-preview [data-part-idx][data-hidden]{opacity:.18}.iec-svg-preview [data-part-idx][data-animated]{filter:drop-shadow(0 0 3px #f59e0b)}.iec-parts-list{flex:1;overflow-y:auto;padding:4px 0}.iec-part-row{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;border-radius:3px;margin:0 4px;transition:background .1s;border-top:2px solid transparent}.iec-part-row:hover{background:var(--panel-2)}.iec-part-row.sel{background:color-mix(in srgb,var(--accent) 20%,transparent)}.iec-part-row.hidden{opacity:.4}.iec-part-row.iec-dragging{opacity:.35}.iec-part-row.iec-drag-over{border-top-color:var(--accent, #3b82f6)}.iec-part-row.iec-drag-over-after{border-bottom:2px solid var(--accent, #3b82f6)}.iec-drag-handle{font-size:11px;color:var(--muted, #888);cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none;line-height:1;padding:0 2px;touch-action:none}.iec-drag-handle:active{cursor:grabbing}.iec-part-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid var(--border);background:var(--dot-color, var(--border))}.iec-part-dot--shape{background:#6366f1;border-color:#6366f1}.iec-anim-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 4px #22c55e99}.iec-loading{padding:8px;font-size:11px}.iec-anim-row{margin-top:6px}.iec-anim-btn{margin-top:8px;width:100%;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center}.iec-anim-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--muted)}.iec-anim-btn.active{background:#15803d;border-color:#16a34a;color:#fff}.iec-anim-btn.partial{background:#166534;border-color:#15803d;color:#bbf7d0}.iec-anim-btn:disabled{cursor:default;opacity:.4}.iec-panel-title--sep{margin-top:10px}.iec-child-coords{font-size:10px}.iec-part-label{flex:1;font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iec-eye{background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;padding:0 2px;flex-shrink:0;line-height:1}.iec-eye:hover{color:var(--text)}.iec-layer-btn:disabled{opacity:.25;cursor:default;pointer-events:none}.iec-part-controls{border-top:1px solid var(--border);padding:8px;flex-shrink:0;background:var(--panel)}.iec-part-controls--open{animation:iec-ctrl-in .15s ease}@keyframes iec-ctrl-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.iec-ctrl-label{font-size:10px;color:var(--text-muted);margin-bottom:5px}.iec-center{flex:1;min-width:0;position:relative;background:var(--bg-canvas);display:flex;align-items:stretch;overflow:hidden}.iec-center--placing{cursor:crosshair}.iec-icon-box{position:absolute;left:var(--iec-x);top:var(--iec-y);width:var(--iec-w);height:var(--iec-h);overflow:visible}.iec-svg-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:visible}.iec-svg-stage svg{width:100%;height:100%;display:block;overflow:visible}.iec-svg-stage [data-part-idx]{cursor:pointer;transition:filter .1s,opacity .1s}.iec-svg-stage [data-part-idx]:hover{filter:brightness(1.15)}.iec-svg-stage [data-part-idx][data-selected]{filter:drop-shadow(0 0 4px #3b82f6) brightness(1.1)}.iec-svg-stage [data-part-idx][data-hidden]{opacity:.15}.iec-svg-stage [data-part-idx][data-animated]{filter:drop-shadow(0 0 4px #f59e0b)}.iec-shape-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px}.iec-shape-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;transition:background .1s,border-color .1s}.iec-shape-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.iec-shape-btn.active{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent)}.iec-shape-icon{font-size:18px;line-height:1;color:var(--text)}.iec-shape-label{font-size:9px;color:var(--text-muted);white-space:nowrap}.iec-child-overlay{position:absolute;left:var(--co-x, 0);top:var(--co-y, 0);width:var(--co-w, 40px);height:var(--co-h, 40px);opacity:var(--co-opa, 1);transform:rotate(var(--co-rot, 0deg));transform-origin:center center;border:2px solid transparent;border-radius:3px;cursor:grab;display:flex;align-items:stretch;justify-content:stretch;overflow:visible;transition:border-color .1s}.iec-child-overlay>svg{width:100%;height:100%}.iec-child-overlay:hover{border-color:#3b82f680}.iec-child-overlay.sel{border-color:#3b82f6}.iec-child-overlay:active{cursor:grabbing}.iec-handle{position:absolute;width:8px;height:8px;background:#fff;border:1.5px solid #3b82f6;border-radius:2px;transform:translate(-50%,-50%);z-index:20;pointer-events:all}.iec-handle--tl{top:0%;left:0%;cursor:nw-resize}.iec-handle--tc{top:0%;left:50%;cursor:n-resize}.iec-handle--tr{top:0%;left:100%;cursor:ne-resize}.iec-handle--ml{top:50%;left:0%;cursor:w-resize}.iec-handle--mr{top:50%;left:100%;cursor:e-resize}.iec-handle--bl{top:100%;left:0%;cursor:sw-resize}.iec-handle--bc{top:100%;left:50%;cursor:s-resize}.iec-handle--br{top:100%;left:100%;cursor:se-resize}.iec-handle--rot{top:-18px;left:50%;cursor:grab;border-radius:50%;background:#3b82f6;border-color:#fff}.iec-handle--rot:active{cursor:grabbing}.iec-prop-list{display:flex;flex-direction:column;gap:0;padding:4px 0 8px;overflow-y:auto}.iec-prop-row{display:flex;align-items:center;gap:5px;padding:4px 8px;font-size:11px}.iec-prop-row--nums{gap:3px}.iec-prop-label{color:var(--text-muted);flex-shrink:0;min-width:48px;font-size:10px}.iec-prop-row--nums .iec-prop-label{min-width:20px}.iec-prop-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent, #3b82f6)}.iec-prop-row input[type=number]{width:52px;padding:2px 4px;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--text);font-size:11px;text-align:right}.iec-prop-val{color:var(--text-muted);font-size:10px;min-width:16px;text-align:right}.iec-prop-unit{color:var(--text-muted);font-size:10px}.iec-child-label{font-size:10px;color:var(--text-muted);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.iec-save-btn{position:absolute;bottom:16px;right:16px;padding:9px 22px;border-radius:8px;border:2px solid #2563eb;background:#2563eb;color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 10px #2563eb55;transition:background .15s,color .15s,box-shadow .15s,transform .1s;z-index:30}.iec-save-btn:hover{background:transparent;color:#2563eb;box-shadow:none}.iec-save-btn:active{transform:scale(.97)}.iec-back-action-btn{position:absolute;bottom:16px;left:16px;padding:9px 22px;border-radius:8px;border:2px solid #dc2626;background:#dc2626;color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 10px #dc262655;transition:background .15s,color .15s,box-shadow .15s,transform .1s;z-index:30}.iec-back-action-btn:hover{background:transparent;color:#dc2626;box-shadow:none}.iec-back-action-btn:active{transform:scale(.97)}.iec-place-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #334155;border-radius:6px;padding:5px 12px;font-size:11px;color:#94a3b8;pointer-events:none;white-space:nowrap}.iec-right{grid-column:2;grid-row:1 / 3;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--panel)}.iec-sym-list{flex:1;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:2px}.iec-sym-btn{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.iec-sym-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.iec-sym-btn.active{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.iec-sym-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.iec-sym-dim{font-size:9px;margin-left:4px;flex-shrink:0}.iec-children-list{overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:2px}.iec-child-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;transition:background .1s,border-color .1s}.iec-child-row:hover{background:var(--btn-hover-bg)}.iec-child-row.sel{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.iec-child-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.iec-child-name{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-wrap{position:relative}.canvas-lock-btn{position:absolute;left:var(--lock-x);top:var(--lock-y);transform:translate(-100%,calc(-100% - 6px));z-index:20;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#0f172ad1;color:#94a3b8;cursor:pointer;padding:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .12s,color .12s,border-color .12s}.canvas-lock-btn:hover{background:#1e293bf2;color:#e2e8f0;border-color:#ffffff4d}.canvas-lock-btn--locked{background:#eab3082e;color:#eab308;border-color:#eab30866}.canvas-lock-btn--locked:hover{background:#eab308eb;color:#422006;border-color:#eab308}.canvas-lock-btn--mixed{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b59}.canvas-text-editor{position:absolute;left:var(--te-x);top:var(--te-y);min-width:var(--te-w);min-height:var(--te-mh);font-size:var(--te-fs);font-family:var(--te-ff);font-weight:var(--te-fw);font-style:var(--te-fi);text-align:var(--te-ta);color:var(--te-color);padding:0;background:transparent;border:none;border-radius:0;line-height:normal;resize:none;outline:none;z-index:30;box-sizing:border-box;overflow:hidden;white-space:pre;word-break:normal;overflow-wrap:normal;caret-color:var(--te-color)}.layers-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.layers-panel-head{display:flex;align-items:center;padding:6px 10px 4px;gap:6px;border-bottom:1px solid var(--border)}.layers-panel-title{flex:1;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.layer-add-folder-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:none;color:var(--muted);cursor:pointer;padding:0}.layer-add-folder-btn:hover{color:var(--text)}.layers-list{display:flex;flex-direction:column;padding:4px 6px 12px;gap:1px;overflow-y:auto;flex:1}.layers-empty{padding:8px 12px;font-size:12px;color:var(--muted)}.layers-folder-empty{padding-left:32px}.layer-row{display:flex;align-items:center;gap:3px;padding:3px 4px;border-radius:5px;border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s;min-height:28px;-webkit-user-select:none;user-select:none}.layer-row:hover{background:var(--btn-hover-bg)}.layer-row--selected{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent-2)}.layer-row--highlighted{background:color-mix(in srgb,#f97316 12%,transparent);border-color:#f9731655}.layer-row--locked{opacity:.75}.layer-row--dragging{opacity:.35}.layer-row--indented{padding-left:14px}.layer-row.layer-drop-before{border-top:2px solid var(--accent)}.layer-row.layer-drop-after{border-bottom:2px solid var(--accent)}.layer-grip{flex-shrink:0;color:var(--muted);opacity:.4;cursor:grab;display:flex;align-items:center;padding:0 1px}.layer-row:hover .layer-grip{opacity:.8}.layer-icon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;padding:0;transition:color .1s,background .1s}.layer-icon-btn:hover{color:var(--text);background:var(--btn-hover-bg)}.layer-name{flex:1;min-width:0;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-name--hidden{opacity:.45;text-decoration:line-through}.layer-filesize{flex-shrink:0;font-size:10px;color:var(--text-muted, #94a3b8);white-space:nowrap;margin-left:4px}.layer-rename-input{flex:1;min-width:0;font-size:12px;padding:1px 4px;border:1px solid var(--accent);border-radius:3px;background:var(--panel-2);color:var(--text);outline:none}.layer-folder{display:flex;flex-direction:column}.layer-folder-header{display:flex;align-items:center;gap:3px;padding:2px 4px;border-radius:5px;border:1px solid transparent;min-height:28px;transition:background .1s}.layer-folder-header:hover{background:var(--btn-hover-bg)}.layer-folder-drop{background:color-mix(in srgb,var(--accent) 18%,transparent)!important;border-color:var(--accent)!important}.layer-folder-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;cursor:pointer;color:var(--muted);padding:0 2px;border-radius:3px;flex-shrink:0}.layer-folder-toggle:hover{color:var(--text)}.layer-chevron{font-size:14px;line-height:1;display:inline-block;transform:rotate(0);transition:transform .15s;color:var(--muted)}.layer-chevron.open{transform:rotate(90deg)}.layer-folder-name{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.layer-folder-count{font-size:10px;color:var(--muted);background:var(--panel-2);border-radius:8px;padding:0 5px;min-width:16px;text-align:center;flex-shrink:0}.layer-folder-delete{margin-left:auto}.layer-folder-children{display:flex;flex-direction:column;gap:1px;padding-left:10px;padding-top:1px;padding-bottom:2px}.logic-page{--ld-wire: #64748b;--ld-accent: #f59e0b;--ld-text: var(--text);--ld-block-bg: var(--panel);--ld-unknown-bg: var(--panel-2);--ld-var-bg: var(--panel-2);display:flex;flex-direction:column;height:100%;min-height:0}.gx3-drop{margin:24px;flex:1;border:2px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:32px;transition:border-color .15s,background .15s}.gx3-drop-over{border-color:var(--accent);background:var(--panel-2)}.gx3-drop-icon{font-size:40px;opacity:.5}.gx3-drop-title{font-size:18px;font-weight:600}.gx3-drop p{max-width:480px}.gx3-error{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius);padding:8px 12px;margin:8px 16px;font-size:13px;white-space:pre-wrap}.gx3-progress{width:320px;height:8px;background:var(--panel-2);border-radius:4px;overflow:hidden}.gx3-progress-fill{height:100%;background:var(--accent);transition:width .2s}.logic-topbar{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);flex-wrap:wrap}.logic-topbar-info{display:flex;align-items:center;gap:10px}.logic-cpu{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.logic-cpu-warn{border-color:#f59e0b;color:#f59e0b}.logic-crumbs{font-size:13px;color:var(--text);display:flex;gap:6px}.logic-warnings{margin:6px 14px 0;font-size:13px;color:#f59e0b}.logic-warnings ul{margin:4px 0 8px;padding-left:20px}.logic-body{display:flex;flex:1;min-height:0}.logic-tree{width:220px;flex-shrink:0;border-right:1px solid var(--border);background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.logic-tree-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text);font-weight:600;padding:10px 12px 4px}.logic-tree-empty{padding:8px 12px;font-size:13px;color:var(--text)}.logic-tree-count{color:var(--text);margin-left:auto;font-size:12px}.logic-tree-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;padding:7px 10px;cursor:pointer;color:var(--text);font-size:13px}.logic-tree-item:hover{background:var(--btn-hover-bg)}.logic-tree-item.active{background:#0e749026;font-weight:600}.logic-lang{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.logic-lang-ld{background:#15803d;color:#fff;border-color:#15803d}.logic-lang-fbd{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.logic-lang-st,.logic-lang-il{background:#7c3aed;color:#fff;border-color:#7c3aed}.logic-blk-type{font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:2px 6px;border-radius:4px;background:#0e7490;color:#fff;flex-shrink:0}.logic-db-caret{color:var(--muted);font-size:10px;width:9px;flex-shrink:0}.logic-db-bname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logic-db-members{width:100%;border-collapse:collapse;font-size:12px;background:var(--panel-2)}.logic-db-members tr{cursor:pointer;border-bottom:1px solid var(--border-row)}.logic-db-members tr:hover{background:var(--btn-hover-bg)}.logic-db-mname{padding:3px 6px 3px 30px;font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;max-width:130px;white-space:nowrap}.logic-db-mtype{padding:3px 8px 3px 4px;text-align:right}.logic-db-empty{padding:4px 12px 6px 30px;font-size:12px}.logic-db-mval{padding:3px 6px;text-align:right;white-space:nowrap;font-family:ui-monospace,monospace;color:var(--accent, #38bdf8)}.logic-db-mval.snapshot{color:var(--text-muted, #6b7280)}.logic-db-mact{padding:2px 6px 2px 2px;text-align:right;width:1%;white-space:nowrap}.logic-db-addtag{padding:1px 6px;font-size:11px;line-height:1.5;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text);cursor:pointer}.logic-db-addtag:hover{background:var(--btn-hover-bg);border-color:var(--accent, #38bdf8)}.logic-db-addtag.warn{color:var(--muted);border-style:dashed}.logic-db-created{color:#22c55e;font-weight:600;padding-right:4px}.block-canvas{display:flex;flex-direction:column;height:100%;overflow:hidden}.block-canvas-scroll{flex:1;overflow:auto}.block-canvas-table{width:100%;border-collapse:collapse;font-size:13px}.block-canvas-table thead{position:sticky;top:0;z-index:1;background:var(--panel)}.block-canvas-table th{text-align:left;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-weight:600;border-bottom:2px solid var(--border)}.block-canvas-table tr{border-bottom:1px solid var(--border-row)}.block-canvas-table tr:hover{background:var(--btn-hover-bg)}.bct-addr{padding:5px 12px;font-family:ui-monospace,monospace;color:var(--text);font-weight:500;width:35%}.bct-type{padding:5px 8px;color:var(--text);width:15%}.bct-val{padding:5px 12px;font-family:ui-monospace,monospace;text-align:right;color:var(--text);width:25%}.bct-val.live{color:var(--accent, #2563eb);font-weight:600}.bct-act{padding:4px 12px;text-align:right;width:1%;white-space:nowrap}.block-canvas-empty{padding:24px;text-align:center;color:var(--text)}.bct-top-btn{display:block;margin:8px auto 4px;padding:4px 14px;font-size:12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer}.bct-top-btn:hover{background:var(--btn-hover-bg)}.logic-canvas{flex:1;overflow:auto;padding:0;min-width:0}.logic-ld-toolbar{display:flex;align-items:center;gap:8px;background:var(--panel);padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.ld-rung{border:1px solid var(--border-row);border-radius:6px;background:var(--panel);margin-bottom:8px;padding:4px 8px 6px;content-visibility:auto;contain-intrinsic-size:auto 120px}.ld-rung-target{border-color:var(--ld-accent);box-shadow:0 0 0 1px var(--ld-accent)}.ld-rung-head{display:flex;align-items:baseline;gap:10px;font-size:12px;padding:2px 4px}.ld-rung-no{font-family:ui-monospace,monospace;color:var(--muted);font-weight:700}.ld-rung-comment{color:#22c55e;font-style:italic}.ld-el{cursor:pointer}.ld-el:hover{opacity:.75}.ld-el-sel{outline:none}.ld-el-sel rect:first-of-type{fill:#2563eb1f}.ld-sym{font-size:11px;font-weight:600}.ld-addr{font-size:10.5px;font-family:ui-monospace,monospace;fill:var(--muted)}.ld-mod{font-size:11px;font-weight:700}.ld-pin{font-size:10px;fill:var(--muted)}.ld-pin-var{font-size:10px;font-family:ui-monospace,monospace;fill:var(--ld-text)}.ld-block-name{font-size:11.5px;font-weight:700;fill:var(--ld-text)}.ld-unknown-text{font-size:10.5px;fill:#94a3b8;font-style:italic}.logic-fbd-wrap{overflow:auto}.fbd-net{display:block;margin-bottom:16px}.st-source{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.55;background:var(--panel);border:1px solid var(--border-row);border-radius:6px;padding:0;overflow:auto;white-space:pre;color:var(--text)}.st-kw{color:#3b82f6;font-weight:600}.st-comment{color:#6b7280;font-style:italic}.st-string{color:#f59e0b}.st-num{color:#22c55e}.st-hit{background:var(--ld-accent);color:#fff;border-radius:3px;padding:0 2px}.logic-detail{width:280px;flex-shrink:0;border-left:1px solid var(--border);background:var(--panel);overflow-y:auto}.logic-detail-body{padding:4px 12px 10px}.logic-detail-table{width:100%;border-collapse:collapse;font-size:12.5px}.logic-detail-table td{padding:3px 4px;vertical-align:top;border-bottom:1px solid var(--border-row)}.logic-detail-table td:first-child{width:40%}.logic-xref-group{padding:2px 12px 8px}.logic-xref-addr{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;padding:4px 0}.logic-xref-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;padding:4px 2px;font-size:12px;color:var(--text);cursor:pointer;border-radius:4px}.logic-xref-item:hover{background:var(--btn-hover-bg)}.xref-usage{font-size:10px;font-weight:700;width:16px;height:16px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.xref-read{background:#22c55e26;color:#22c55e}.xref-write{background:#f59e0b2e;color:#f59e0b}.logic-cell-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;cursor:pointer;font-size:13px;color:var(--text)}.logic-cell-btn:hover{background:var(--btn-hover-bg);border-color:var(--border)}.logic-cell-disabled{opacity:.45;cursor:default}.logic-cell-disabled:hover{background:none;border-color:transparent}.logic-badge{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:9px;white-space:nowrap}.logic-badge-read{background:#22c55e26;color:#22c55e;border:1px solid #22c55e55}.logic-badge-write{background:#f59e0b26;color:#f59e0b;border:1px solid #f59e0b55}.logic-badge-none{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.st-line{display:block;padding:0 4px;border-radius:3px}.st-line-target{background:#f59e0b2e;border-left:3px solid var(--ld-accent, #f59e0b);padding-left:6px}.st-lineno{display:inline-block;width:3.2em;text-align:right;margin-right:12px;color:var(--muted);-webkit-user-select:none;user-select:none;font-size:11px}.logic-page{--ld-live-on: #22c55e;--ld-live-off: #475569}.logic-devbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--panel-2);flex-wrap:wrap}.logic-devbar-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.logic-devtabs{display:flex;gap:6px;flex-wrap:wrap}.logic-devtab{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:13px;color:var(--text);cursor:pointer}.logic-devtab:hover{background:var(--panel-2);border-color:var(--muted);color:var(--text)}.logic-devtab.active{border-color:var(--accent);background:var(--accent);color:#fff}.logic-devtab.active .muted{color:#e0e7ff}.logic-monitor-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding:5px 12px;background:var(--panel);color:var(--text);font-size:13px;cursor:pointer}.logic-monitor-btn:hover{background:var(--btn-hover-bg)}.logic-monitor-btn.active{border-color:#22c55e;background:#22c55e1f;color:#22c55e;font-weight:600}.logic-run-badge{color:#22c55e;font-weight:700;font-size:12px;animation:logic-blink 1.1s ease-in-out infinite}@keyframes logic-blink{50%{opacity:.35}}.logic-canvas-run .ld-rung{background:var(--panel)}.ld-el-live{filter:drop-shadow(0 0 2px rgba(34,197,94,.5))}.gx3-drop-static{cursor:default}.entity-card-note{padding:4px 12px 8px;font-size:12px}.mini.has-logic{border-color:#22c55e88;color:#16a34a}.tag-import-section{border-top:1px solid var(--border);margin-top:6px}.tag-import-toggle-btn{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer}.tag-import-toggle-btn:hover{background:var(--btn-hover-bg)}.tag-import-msg{font-weight:400;color:#22c55e;margin-left:6px}.tag-import-body{padding:6px 12px 10px}.tag-import-hint{font-size:12px;margin:4px 0 8px}.tag-import-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;font-size:12px}.tag-import-review-scroll{overflow-x:auto}.logic-monitor-stat{font-size:12px;font-family:ui-monospace,monospace}.logic-monitor-btn:disabled{opacity:.7;cursor:wait}.st-live{border-radius:3px;padding:0 1px}.st-live-on{background:#22c55e2e;color:#16a34a;font-weight:600}.st-live-val{font-size:10px;color:#16a34a;margin-left:1px;opacity:.85;font-family:ui-monospace,monospace}.st-live:not(.st-live-on) .st-live-val{color:var(--muted)}.props{--pp-row-h: 30px;--pp-control-radius: 7px;--pp-focus-ring: 0 0 0 3px rgba(59, 130, 246, .22);padding:6px 10px 20px}.props .section{margin-bottom:2px;border-bottom:1px solid var(--border)}.props .section:last-of-type{border-bottom:none}.props .section-toggle{gap:7px;padding:10px 8px;margin:2px 0;border-radius:8px;color:var(--text);transition:background .12s}.props .section-toggle:hover{background:var(--panel-2)}.props .sec-chevron{font-size:13px;font-weight:700;color:var(--muted);opacity:.75}.props .section-title-text{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.props .section-body{padding:4px 2px 12px}.props .props-grid{display:flex;flex-direction:column;gap:1px}.props .props-grid .field.inline,.props .props-grid .field.inline.full{display:grid;grid-template-columns:minmax(78px,40%) 1fr;align-items:center;gap:10px;min-height:var(--pp-row-h);margin:0;padding:3px 8px;border-radius:7px;transition:background .1s}.props .props-grid .field.inline:hover{background:var(--panel-2)}.props .props-grid .field.inline>label{width:auto;min-width:0;font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.props .props-grid .field.inline>input,.props .props-grid .field.inline>select,.props .props-grid .field.inline>.text-align-btns,.props .props-grid .field.inline>.cp-wrap{justify-self:stretch}.props .props-grid .field.inline>input[type=checkbox],.props .props-grid .field.inline>.cp-wrap{justify-self:start}.props input:not([type=checkbox]):not([type=color]),.props select{height:var(--pp-row-h);padding:0 10px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--pp-control-radius);transition:border-color .12s,box-shadow .12s,background .12s}.props select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.props input:not([type=checkbox]):not([type=color]):hover,.props select:hover{border-color:var(--btn-hover-border)}.props input:not([type=checkbox]):not([type=color]):focus,.props select:focus{outline:none;border-color:var(--accent-2);box-shadow:var(--pp-focus-ring);background:var(--panel)}.props input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.props .cp-trigger{width:46px;height:var(--pp-row-h);padding:3px;border-radius:var(--pp-control-radius);background:var(--panel-2)}.props .cp-trigger:hover:not(:disabled){border-color:var(--accent-2);box-shadow:var(--pp-focus-ring)}.props .cp-swatch{border-radius:4px}.props .binding-color-dot .cp-trigger{width:100%;height:100%;padding:0;border-radius:50%;box-shadow:none}.props .prop-pair{gap:8px}.props .prop-pair .field.inline label,.props .prop-pair .visible-row .field.inline label{font-size:11.5px;font-weight:500;color:var(--muted)}.props .section-body>.field.inline{min-height:var(--pp-row-h);margin-bottom:4px}.props .section-body>.field.inline>label{font-size:11.5px;font-weight:500;color:var(--muted)}.props .text-align-btns{gap:3px}.props .text-align-btn{height:var(--pp-row-h);border-radius:6px}.props .fp-trigger{height:var(--pp-row-h);border-radius:var(--pp-control-radius)}.breadcrumb{gap:14px;padding:0 16px 0 18px;min-height:46px;background:var(--panel);border-bottom:1px solid var(--border)}.breadcrumb .crumbs{gap:0;font-size:12.5px;line-height:1}.breadcrumb .crumbs:before{content:"";width:16px;height:16px;margin-right:10px;flex-shrink:0;opacity:.85;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E") no-repeat center / contain}.breadcrumb .crumbs>span{display:inline-flex;align-items:center}.breadcrumb .crumbs>span>span:last-child:not(.crumb-current){color:var(--muted);font-weight:500}.crumb-sep{margin:0 4px;font-size:0;flex-shrink:0}.crumb-sep:before{content:"›";font-size:15px;font-weight:600;color:var(--muted);opacity:.55}.crumb-current{color:var(--text);font-weight:600}.device-bar{gap:8px}.device-size{height:30px;gap:4px;padding:0 6px 0 11px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;transition:border-color .12s,box-shadow .12s}.device-size:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 3px #3b82f62e}.device-dim{width:42px;padding:2px 3px;text-align:center;background:transparent;border:none;border-radius:4px;color:var(--text);font-size:12px}.device-dim:hover{background:#7f91af1f}.device-dim:focus{outline:none;background:#7f91af29}.device-x{opacity:.45;font-size:11px}.device-unit{opacity:.55;font-size:11px;padding-left:1px}.device-hint{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:8px;font-size:11px;font-weight:500;border:1px solid var(--border)}.device-hint:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.8}.device-hint.auto{color:var(--muted)}.device-hint.custom{color:#38bdf8;border-color:#38bdf866;background:#38bdf814}.theme-light .device-hint.custom{color:#0369a1;border-color:#0369a159;background:#0369a112}.device-switch-wrap{position:relative}.device-switch-wrap:after{content:"";position:absolute;top:100%;left:-20px;right:-20px;height:16px}.device-popup{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;white-space:nowrap;z-index:9999;box-shadow:0 4px 16px #00000038;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;transform:translate(-50%) translateY(-4px)}.device-switch-wrap:hover .device-popup{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.device-popup-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.device-popup-size{display:flex;align-items:center;gap:4px;font-family:monospace}.device-switch{height:30px;padding:3px;gap:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow:visible}.device-btn{width:36px;height:100%;border-radius:6px;transition:background .12s,color .12s}.device-btn:hover:not(.active){color:var(--text);background:var(--btn-hover-bg)}.device-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 2px #0000002e}.settings-glass-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=light] .settings-glass-card{background:var(--panel);border-color:var(--border);box-shadow:0 2px 12px #00000012}.settings-card-title{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.settings-card-icon{font-size:13px}.settings-glass-card .field.inline{display:grid;grid-template-columns:minmax(90px,45%) 1fr;align-items:center;gap:10px;min-height:30px;margin:0;padding:3px 4px;border-radius:7px;transition:background .1s}.settings-glass-card .field.inline:hover{background:var(--panel-2)}.settings-glass-card .field:not(.inline){margin-bottom:8px}.settings-glass-card .field label,.settings-glass-card .field.inline label{font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto}.settings-glass-card input:not([type=checkbox]):not([type=color]),.settings-glass-card select{height:30px;padding:0 10px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;width:100%;transition:border-color .12s,box-shadow .12s,background .12s}.settings-glass-card input:hover,.settings-glass-card select:hover{border-color:var(--btn-hover-border)}.settings-glass-card input:focus,.settings-glass-card select:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #3b82f638;background:var(--panel)}.settings-glass-card select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:26px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.settings-glass-card .settings-id{opacity:.45;cursor:default}.settings-row-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.settings-row-trio .field{margin:0}.settings-row-trio .field label{font-size:11px;font-weight:500;color:var(--muted);display:block;margin-bottom:4px}.settings-row-trio .field input{width:100%;height:30px;padding:0 8px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;text-align:center;transition:border-color .12s,box-shadow .12s,background .12s}.settings-row-trio .field input:hover{border-color:var(--btn-hover-border)}.settings-row-trio .field input:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #3b82f638;background:var(--panel)}.settings-hint{font-size:11px;color:var(--muted);margin:5px 0 8px;line-height:1.5;opacity:.85}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);max-width:560px;margin-bottom:16px}.form-card .field.inline{display:grid;grid-template-columns:minmax(130px,45%) 1fr;align-items:center;gap:10px;min-height:30px;margin:0;padding:3px 4px;border-radius:7px;transition:background .1s}.form-card .field.inline .toggle{justify-self:start}.settings-glass-card .field.inline .toggle{justify-self:start;overflow:visible;width:36px;height:20px;flex-shrink:0}.form-card .field.inline:hover{background:var(--panel-2)}.form-card .field.inline label{width:auto;font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-card input:not([type=checkbox]):not([type=color]),.form-card select{height:30px;padding:0 10px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;width:100%;transition:border-color .12s,box-shadow .12s,background .12s}.form-card input:hover,.form-card select:hover{border-color:var(--btn-hover-border)}.form-card input:focus,.form-card select:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #3b82f638;background:var(--panel)}.form-card select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:26px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle{position:relative;display:inline-flex;width:36px;height:20px;flex-shrink:0;cursor:pointer}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:20px;transition:background .18s}.toggle input:checked+.toggle-track{background:var(--accent, #3b82f6)}.toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .18s}.toggle input:checked~.toggle-thumb{transform:translate(16px)}.toggle-label{font-size:12px;font-weight:500;color:var(--text);-webkit-user-select:none;user-select:none;cursor:pointer}.form-card .muted{font-size:11px;color:var(--muted);margin:5px 4px 8px;line-height:1.5;opacity:.85}.import-panel{max-width:500px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 28px 24px;box-shadow:var(--shadow);text-align:center}.import-plc-tabs{display:inline-flex;align-items:center;height:30px;padding:3px;gap:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;justify-content:center}.plc-tab{height:100%;padding:0 14px;font-size:12px;font-weight:500;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.plc-tab:hover:not(.active){color:var(--text);background:var(--btn-hover-bg)}.plc-tab.active{background:var(--accent);color:#fff;box-shadow:0 1px 2px #0000002e}.import-panel .field.inline{display:grid;grid-template-columns:minmax(110px,42%) 1fr;align-items:center;gap:10px;min-height:30px;text-align:left;padding:3px 4px;border-radius:7px;margin-bottom:14px;transition:background .1s}.import-panel .field.inline:hover{background:var(--panel-2)}.import-panel .field.inline label{width:auto!important;font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap}.import-panel select{height:30px;padding:0 26px 0 10px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;transition:border-color .12s,box-shadow .12s,background .12s}.import-panel select:hover{border-color:var(--btn-hover-border)}.import-panel select:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #3b82f638;background:var(--panel)}.import-panel .muted{font-size:11.5px;color:var(--muted);line-height:1.55;margin-bottom:16px;text-align:left}.status-bar{height:36px;padding:0 16px;gap:10px;font-size:11.5px}.status-bar .sep{font-size:0}.status-bar .sep:before{content:"•";font-size:9px;color:var(--muted);opacity:.4}.status-bar>span:first-child{display:inline-flex;align-items:center;height:26px;padding:0 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;font-size:11.5px;white-space:nowrap;cursor:text}.proj-name-edit{width:auto;height:26px;padding:0 10px;background:var(--panel-2);border:1px solid var(--accent, #3b82f6);border-radius:7px;font-size:11.5px;color:var(--text);outline:none;min-width:60px}.status-bar>span:last-child{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:8px;font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}.status-bar>span:last-child:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.65}.save-error{color:var(--color-warning, #f59e0b)}.sb-bg-picker-wrap{position:relative;display:inline-flex;align-items:center}.sb-bg-picker-wrap .cp-trigger{width:18px;height:18px;padding:2px;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:transparent;cursor:pointer;transition:border-color .12s}.sb-bg-picker-wrap .cp-trigger:hover{border-color:var(--btn-hover-border)}.sb-bg-picker-wrap .cp-swatch{border-radius:50%}.sb-bg-picker-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:11px;color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:9999;box-shadow:0 2px 8px #0000002e}.sb-bg-picker-wrap:hover .sb-bg-picker-tip{opacity:1}.zoom-bar{display:inline-flex;align-items:center;height:30px;padding:3px;gap:2px;background:transparent;border:none;border-radius:8px;overflow:visible}.zoom-btn{width:24px;height:24px;padding:0;border:none;border-radius:6px;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.zoom-btn:disabled{opacity:.35;cursor:default}.zoom-btn:not(:disabled):hover{background:var(--btn-hover-bg);color:var(--text);border-color:transparent}.zoom-pct{min-width:46px;height:24px;padding:0 7px;border:none;border-radius:6px;font-size:11px;font-weight:600;text-align:center;cursor:pointer;background:transparent;color:var(--text);transition:background .12s}.zoom-pct:hover{background:var(--btn-hover-bg)}.zoom-slider{width:88px;height:4px;cursor:pointer;accent-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:2px;border:none;padding:0;margin:0 2px}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer}.avatar-menu{position:relative;display:flex;align-items:center}.avatar-btn{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);border:2px solid rgba(255,255,255,.15);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s,box-shadow .15s;flex-shrink:0}.avatar-btn:hover{transform:scale(1.08);box-shadow:0 0 0 3px #2563eb59;background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);border-color:#ffffff40}.avatar-initials{line-height:1;pointer-events:none}.avatar-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #00000073;z-index:9999;overflow:hidden;animation:avatar-drop-in .15s ease}@keyframes avatar-drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.avatar-dropdown-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel-2)}.avatar-dropdown-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-dropdown-name{font-size:13px;font-weight:600;color:var(--text-strong, var(--text))}.avatar-dropdown-email{font-size:11px;color:var(--muted);margin-top:2px}.avatar-dropdown-divider{height:1px;background:var(--border);margin:0}.avatar-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;border-radius:0;color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.avatar-menu-item:hover{background:var(--panel-2);border-color:transparent}.avatar-menu-item:last-child{border-bottom:none}.avatar-menu-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.theme-light .avatar-dropdown{box-shadow:0 8px 32px #00000026}.notif-tab{display:flex;flex-direction:column;gap:18px}.notif-config-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:20px;align-items:stretch;width:100%;max-width:none}.notif-config-form{display:flex;flex-direction:column;gap:18px;min-width:0}.notif-config-aside{display:flex;flex-direction:column}.notif-config-aside .notif-section{flex:1}.notif-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;flex-direction:column;gap:10px}.notif-section-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.notif-field{display:flex;flex-direction:column;gap:4px}.notif-field label{font-size:12px;color:var(--muted)}.notif-field input,.notif-field textarea{background:var(--input-bg, var(--bg));border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:6px 10px;font-size:12.5px;color:var(--text);font-family:inherit;resize:vertical}.notif-field textarea{min-height:90px}.notif-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer}.notif-neon-checkbox{--notif-neon-primary: var(--accent-2, #3b82f6);--notif-neon-primary-dark: var(--accent, #2563eb);--notif-neon-size: 21px;position:relative;display:inline-block;flex:none;width:var(--notif-neon-size);height:var(--notif-neon-size);cursor:pointer;-webkit-tap-highlight-color:transparent}.notif-neon-checkbox input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:2}.notif-neon-checkbox__frame{position:relative;display:block;width:100%;height:100%}.notif-neon-checkbox__box{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:4px;border:2px solid var(--notif-neon-primary-dark);transition:all .4s ease}.notif-neon-checkbox__check-container{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:flex;align-items:center;justify-content:center}.notif-neon-checkbox__check{width:80%;height:80%;fill:none;stroke:var(--notif-neon-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;transform-origin:center;transition:all .4s cubic-bezier(.16,1,.3,1)}.notif-neon-checkbox__glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:6px;background:var(--notif-neon-primary);opacity:0;filter:blur(8px);transform:scale(1.2);transition:all .4s ease}.notif-neon-checkbox__effects{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.notif-neon-checkbox__particles span{position:absolute;width:4px;height:4px;background:var(--notif-neon-primary);border-radius:50%;opacity:0;pointer-events:none;top:50%;left:50%;box-shadow:0 0 6px var(--notif-neon-primary)}.notif-neon-checkbox__rings{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;pointer-events:none}.notif-neon-checkbox__rings .notif-neon-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--notif-neon-primary);opacity:0;transform:scale(0)}.notif-neon-checkbox__sparks span{position:absolute;width:20px;height:1px;background:linear-gradient(90deg,var(--notif-neon-primary),transparent);opacity:0}.notif-neon-checkbox:hover .notif-neon-checkbox__box{border-color:var(--notif-neon-primary);transform:scale(1.05)}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__box{border-color:var(--notif-neon-primary);background:color-mix(in srgb,var(--notif-neon-primary) 10%,transparent)}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__check{stroke-dashoffset:0;transform:scale(1.1)}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__glow{opacity:.2}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__particles span{animation:notifNeonParticleExplosion .6s ease-out forwards}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__rings .notif-neon-ring{animation:notifNeonRingPulse .6s ease-out forwards}.notif-neon-checkbox input:checked~.notif-neon-checkbox__frame .notif-neon-checkbox__sparks span{animation:notifNeonSparkFlash .6s ease-out forwards}@keyframes notifNeonParticleExplosion{0%{transform:translate(-50%,-50%) scale(1);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + var(--x, 20px)),calc(-50% + var(--y, 20px))) scale(0);opacity:0}}@keyframes notifNeonRingPulse{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}@keyframes notifNeonSparkFlash{0%{transform:rotate(var(--r, 0deg)) translate(0) scale(1);opacity:1}to{transform:rotate(var(--r, 0deg)) translate(30px) scale(0);opacity:0}}.notif-neon-checkbox__particles span:nth-child(1){--x: 25px;--y: -25px}.notif-neon-checkbox__particles span:nth-child(2){--x: -25px;--y: -25px}.notif-neon-checkbox__particles span:nth-child(3){--x: 25px;--y: 25px}.notif-neon-checkbox__particles span:nth-child(4){--x: -25px;--y: 25px}.notif-neon-checkbox__particles span:nth-child(5){--x: 35px;--y: 0px}.notif-neon-checkbox__particles span:nth-child(6){--x: -35px;--y: 0px}.notif-neon-checkbox__particles span:nth-child(7){--x: 0px;--y: 35px}.notif-neon-checkbox__particles span:nth-child(8){--x: 0px;--y: -35px}.notif-neon-checkbox__particles span:nth-child(9){--x: 20px;--y: -30px}.notif-neon-checkbox__particles span:nth-child(10){--x: -20px;--y: 30px}.notif-neon-checkbox__particles span:nth-child(11){--x: 30px;--y: 20px}.notif-neon-checkbox__particles span:nth-child(12){--x: -30px;--y: -20px}.notif-neon-checkbox__sparks span:nth-child(1){--r: 0deg;top:50%;left:50%}.notif-neon-checkbox__sparks span:nth-child(2){--r: 90deg;top:50%;left:50%}.notif-neon-checkbox__sparks span:nth-child(3){--r: 180deg;top:50%;left:50%}.notif-neon-checkbox__sparks span:nth-child(4){--r: 270deg;top:50%;left:50%}.notif-neon-checkbox__rings .notif-neon-ring:nth-child(1){animation-delay:0s}.notif-neon-checkbox__rings .notif-neon-ring:nth-child(2){animation-delay:.1s}.notif-neon-checkbox__rings .notif-neon-ring:nth-child(3){animation-delay:.2s}.notif-recipient-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-size:12.5px;color:var(--text)}.notif-add-row{display:flex;gap:8px;align-items:center}.notif-add-row input{flex:1;background:var(--input-bg, var(--bg));border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:5px 10px;font-size:12.5px;color:var(--text)}.notif-hint{font-size:11.5px;color:var(--muted);line-height:1.6}.notif-hint code{color:var(--text);font-family:monospace}.notif-tab .data-table td{color:var(--text)}.notif-tab .data-table td,.notif-tab .data-table td.center{background:transparent}.notif-tab .data-table thead th,.notif-tab .data-table tbody td{text-align:center}.notif-tab .data-table .notif-alarm-editor{text-align:left}.notif-enable-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notif-actions{display:flex;align-items:center;gap:10px}.notif-test-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.notif-status{font-size:12px;font-weight:500}.notif-status.ok{color:#22c55e}.notif-status.error{color:#ef4444}.notif-status-inline{margin-left:8px}.notif-tabs{display:flex;gap:4px;flex-wrap:wrap}.notif-tabpill{padding:7px 16px;font-size:13px;font-weight:500;border:1.5px solid var(--border);border-radius:10px;color:var(--muted);background:var(--panel-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.notif-tabpill:hover{color:var(--accent);background:transparent;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb2e;transform:translateY(-1px)}.notif-tabpill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 10px #2563eb59}.notif-section-title{display:flex;align-items:center;gap:6px}.notif-hint.inline{margin:0}.notif-name-input{flex:0 0 38%!important}.notif-tabpill-step{font-size:11px;font-weight:700;color:var(--muted);flex-shrink:0}.notif-tabpill.active .notif-tabpill-step{color:#ffffffbf}.notif-tab-desc{gap:10px!important}.notif-guide{gap:14px!important;display:flex!important;flex-direction:column!important}.notif-steps{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:space-between}.notif-step{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background:var(--bg);flex:1}.notif-step.done{border-color:#22c55e33;background:#22c55e08}.notif-step-num{font-size:13px;font-weight:700;flex-shrink:0;color:var(--muted);min-width:22px;padding-top:1px}.notif-step.done .notif-step-num{color:#16a34a}.notif-step-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-step-title{font-size:13px;font-weight:600;color:var(--text)}.notif-step-desc{font-size:12px;color:var(--muted);line-height:1.5}.notif-step-check{font-size:14px;font-weight:700;flex-shrink:0;color:var(--border)}.notif-step.done .notif-step-check{color:#22c55e}.notif-step-link{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none}.notif-step-link:hover{text-decoration:underline}.notif-field-ok{font-size:10px;font-weight:600;color:#16a34a;background:#22c55e18;border:1px solid #22c55e44;border-radius:99px;padding:1px 7px;margin-left:6px;text-transform:uppercase;letter-spacing:.04em}.notif-required-badge{font-size:10px;font-weight:600;color:#dc2626;background:#dc262618;border:1px solid #dc262644;border-radius:99px;padding:1px 7px;margin-left:6px;text-transform:uppercase;letter-spacing:.04em}.notif-prereq-warn{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:calc(var(--radius) - 2px);background:#fef9c322;border:1px solid #ca8a0444;font-size:12px;color:var(--text);line-height:1.5}.notif-prereq-warn svg{flex-shrink:0;color:#ca8a04;margin-top:1px}.notif-toggle-row.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.notif-contact-row{display:flex;align-items:center;gap:10px;padding:5px 10px;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-size:12.5px;color:var(--text)}.notif-contact-row .c-name{font-weight:600;color:var(--text)}.notif-contact-row .c-email{color:var(--muted)}.notif-contact-spacer{flex:1}.notif-icon-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:2px;font-size:12px}.notif-icon-btn:hover:not(:disabled){color:var(--accent);background:transparent;border-color:transparent}.notif-icon-btn.danger{color:var(--muted)}.notif-icon-btn.danger:hover:not(:disabled){color:#ef4444;background:transparent;border-color:transparent}.notif-icon-btn:disabled{opacity:.4;cursor:default}.notif-tab button.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent);color:var(--accent)}.notif-group{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.notif-group-head{display:flex;align-items:center;gap:10px}.notif-group-title{font-weight:600;color:var(--text);font-size:13px}.notif-checks{display:flex;flex-wrap:wrap;gap:6px 16px}.notif-check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer}.notif-check span{display:inline-flex;align-items:center;gap:4px}.notif-alarm-editor-row td{padding:0!important}.notif-alarm-editor{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--bg);border-top:1px solid var(--border)}.notif-alarm-editor .sub{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.notif-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.notif-logo-preview{width:140px;height:56px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;flex-shrink:0}.notif-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.notif-logo-actions{display:flex;flex-direction:column;gap:6px}.notif-logo-upload-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:6px 12px;font-size:12.5px;font-family:inherit;font-weight:500;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;user-select:none}.notif-logo-upload-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent);color:var(--accent)}.notif-logo-upload-btn input[type=file]{display:none}.notif-email-preview{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:#f3f4f6;padding:20px}.nep-outer{display:flex;justify-content:center}.nep-card{background:#fff;border-radius:8px;box-shadow:0 1px 8px #00000014;width:100%;max-width:480px;padding:32px 36px 28px}.nep-logo-wrap{display:flex;justify-content:center;margin-bottom:5px}.nep-logo-img{height:96px;max-width:280px;object-fit:contain;display:block}.nep-heading{margin:0 0 16px;font-size:18px;font-weight:700;color:#111827;text-align:center}.nep-note-text{margin:0;font-size:13px;color:#374151;line-height:1.55;white-space:pre-wrap;padding-bottom:2px}.nep-divider{border-top:1px solid #e5e7eb;margin:16px 0}.nep-data-row{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid #e5e7eb}.nep-data-row-last{border-bottom:none}.nep-data-label{font-size:12px;color:#6b7280}.nep-data-value{font-size:14px;color:#111827}.nep-mono{font-family:monospace}.nep-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:700;align-self:flex-start}.nep-badge-warning{background:#92400e;color:#fcd34d}.nep-badge-critical{background:#991b1b;color:#fca5a5}.nep-badge-info{background:#1e40af;color:#bfdbfe}.nep-signoff{margin:4px 0 0;font-size:13px;color:#374151}.nep-legal{margin:16px 0 0;font-size:11px;color:#9ca3af;line-height:1.5}.nep-copyright{margin-top:6px;padding-top:10px;border-top:1px solid #e5e7eb}.notif-sms-preview{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#0b141a;padding:28px 20px;display:flex;justify-content:center}.nsp-phone{width:100%;max-width:320px;display:flex;flex-direction:column;gap:6px}.nsp-sender{align-self:center;font-size:12px;font-weight:600;color:#aab4bd;margin-bottom:4px}.nsp-bubble{align-self:flex-start;max-width:85%;background:#1f2c34;color:#e9edef;border-radius:12px 12px 12px 4px;padding:9px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.nsp-time{align-self:flex-start;font-size:11px;color:#8696a0;margin-left:6px}.nsp-counter{font-size:12px;color:var(--text-muted, #94a3b8);margin-top:8px}.nsp-counter.warn{color:#f59e0b}/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:calc(var(--spacing) * 3);--text-xs--line-height:calc(var(--spacing) * 4.5);--text-sm:calc(var(--spacing) * 3.5);--text-sm--line-height:calc(var(--spacing) * 5);--text-lg:calc(var(--spacing) * 4.5);--text-lg--line-height:calc(var(--spacing) * 7);--text-xl:calc(var(--spacing) * 5);--text-xl--line-height:calc(var(--spacing) * 7.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--radius-xl:.75rem;--shadow-xs:0px 1px 2px #0000000d;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:var(--font-inter,"Inter"), -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-md:calc(var(--spacing) * 4);--text-md--line-height:calc(var(--spacing) * 6);--text-display-xs:calc(var(--spacing) * 6);--text-display-xs--line-height:calc(var(--spacing) * 8);--text-display-sm:calc(var(--spacing) * 7.5);--text-display-sm--line-height:calc(var(--spacing) * 9.5);--text-display-md:calc(var(--spacing) * 9);--text-display-md--line-height:calc(var(--spacing) * 11);--max-width-container:1280px;--radius-full:9999px;--shadow-skeuomorphic:0px 0px 0px 1px #0000002e inset, 0px -2px 0px 0px #0000000d inset;--color-transparent:#0000;--color-alpha-white:#fff;--color-brand-50:#f9f5ff;--color-brand-100:#f4ebff;--color-brand-200:#e9d7fe;--color-brand-300:#d6bbfb;--color-brand-400:#b692f6;--color-brand-500:#9e77ed;--color-brand-600:#7f56d9;--color-brand-700:#6941c6;--color-brand-800:#53389e;--color-brand-900:#42307d;--color-brand-950:#2c1c5f;--color-utility-neutral-50:var(--color-neutral-50);--color-utility-neutral-100:var(--color-neutral-100);--color-utility-neutral-200:var(--color-neutral-200);--color-utility-neutral-300:var(--color-neutral-300);--color-utility-neutral-400:var(--color-neutral-400);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-600);--color-utility-neutral-700:var(--color-neutral-700);--color-utility-neutral-800:var(--color-neutral-800);--color-utility-neutral-900:var(--color-neutral-900);--color-text-primary:var(--color-neutral-900);--color-text-tertiary:var(--color-neutral-600);--color-text-error-primary:var(--color-red-600);--color-text-warning-primary:var(--color-yellow-600);--color-text-success-primary:var(--color-green-600);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-700);--color-text-secondary_hover:var(--color-neutral-800);--color-text-tertiary_hover:var(--color-neutral-700);--color-text-brand-secondary:var(--color-brand-700);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-brand-600);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-neutral-500);--color-text-quaternary:var(--color-neutral-500);--color-text-brand-primary:var(--color-brand-900);--color-text-primary_on-brand:var(--color-white);--color-text-secondary_on-brand:var(--color-brand-200);--color-text-tertiary_on-brand:var(--color-brand-200);--color-text-quaternary_on-brand:var(--color-brand-300);--color-text-brand-tertiary_alt:var(--color-brand-600);--color-text-error-primary_hover:var(--color-red-700);--color-text-brand-secondary_hover:var(--color-brand-800);--color-border-primary:var(--color-neutral-300);--color-border-secondary:var(--color-neutral-200);--color-border-secondary_alt:#0000001a;--color-border-tertiary:var(--color-neutral-100);--color-border-error:var(--color-red-500);--color-border-error_subtle:var(--color-red-300);--color-border-brand:var(--color-brand-500);--color-border-brand_alt:var(--color-brand-600);--color-fg-white:var(--color-white);--color-fg-primary:var(--color-neutral-900);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-600);--color-fg-brand-primary_alt:var(--color-fg-brand-primary);--color-bg-primary:var(--color-white);--color-bg-tertiary:var(--color-neutral-100);--color-bg-brand-primary:var(--color-brand-50);--color-bg-error-secondary:var(--color-red-100);--color-bg-warning-primary:var(--color-yellow-50);--color-bg-warning-secondary:var(--color-yellow-100);--color-bg-success-primary:var(--color-green-50);--color-bg-success-secondary:var(--color-green-100);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-100);--color-bg-primary_hover:var(--color-neutral-50);--color-bg-active:var(--color-neutral-50);--color-bg-brand-solid_hover:var(--color-brand-700);--color-bg-error-primary:var(--color-red-50);--color-bg-brand-secondary:var(--color-brand-100);--color-bg-secondary:var(--color-neutral-50);--color-bg-quaternary:var(--color-neutral-200);--color-bg-primary_alt:var(--color-white);--color-bg-brand-primary_alt:var(--color-brand-50);--color-bg-secondary_alt:var(--color-neutral-50);--color-bg-overlay:var(--color-neutral-950);--color-bg-brand-section:var(--color-brand-800);--color-bg-brand-section_subtle:var(--color-brand-700);--color-bg-primary-solid:var(--color-neutral-950);--color-bg-error-solid_hover:var(--color-red-700);--color-focus-ring:var(--color-brand-500);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-primary:var(--color-bg-warning-primary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-primary:var(--color-bg-success-primary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-active:var(--color-bg-active);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--text-color-primary:var(--color-text-primary);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary:var(--color-text-tertiary);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-error-primary:var(--color-text-error-primary);--text-color-warning-primary:var(--color-text-warning-primary);--text-color-success-primary:var(--color-text-success-primary);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-secondary_alt:var(--color-border-secondary_alt);--border-color-tertiary:var(--color-border-tertiary);--border-color-error:var(--color-border-error);--border-color-error_subtle:var(--color-border-error_subtle);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--ring-color-primary:var(--color-border-primary);--outline-color-secondary:var(--color-border-secondary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.dark-mode{--color-alpha-white:#0c0e12;--color-alpha-black:#fff;--color-utility-blue-50:var(--color-blue-950);--color-utility-blue-100:var(--color-blue-900);--color-utility-blue-200:var(--color-blue-800);--color-utility-blue-300:var(--color-blue-700);--color-utility-blue-400:var(--color-blue-600);--color-utility-blue-500:var(--color-blue-500);--color-utility-blue-600:var(--color-blue-400);--color-utility-blue-700:var(--color-blue-300);--color-utility-brand-50:var(--color-brand-950);--color-utility-brand-50_alt:var(--color-utility-neutral-50);--color-utility-brand-100:var(--color-brand-900);--color-utility-brand-100_alt:var(--color-utility-neutral-100);--color-utility-brand-200:var(--color-brand-800);--color-utility-brand-200_alt:var(--color-utility-neutral-200);--color-utility-brand-300:var(--color-brand-700);--color-utility-brand-300_alt:var(--color-utility-neutral-300);--color-utility-brand-400:var(--color-brand-600);--color-utility-brand-400_alt:var(--color-utility-neutral-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-500_alt:var(--color-utility-neutral-500);--color-utility-brand-600:var(--color-brand-400);--color-utility-brand-600_alt:var(--color-utility-neutral-600);--color-utility-brand-700:var(--color-brand-300);--color-utility-brand-700_alt:var(--color-utility-neutral-700);--color-utility-brand-800:var(--color-brand-200);--color-utility-brand-800_alt:var(--color-utility-neutral-800);--color-utility-brand-900:var(--color-brand-100);--color-utility-brand-900_alt:var(--color-utility-neutral-900);--color-utility-neutral-50:var(--color-neutral-900);--color-utility-neutral-100:var(--color-neutral-800);--color-utility-neutral-200:var(--color-neutral-700);--color-utility-neutral-300:var(--color-neutral-700);--color-utility-neutral-400:var(--color-neutral-600);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-400);--color-utility-neutral-700:var(--color-neutral-300);--color-utility-neutral-800:var(--color-neutral-200);--color-utility-neutral-900:var(--color-neutral-100);--color-utility-red-50:var(--color-red-950);--color-utility-red-100:var(--color-red-900);--color-utility-red-200:var(--color-red-800);--color-utility-red-300:var(--color-red-700);--color-utility-red-400:var(--color-red-600);--color-utility-red-500:var(--color-red-500);--color-utility-red-600:var(--color-red-400);--color-utility-red-700:var(--color-red-300);--color-utility-yellow-50:var(--color-yellow-950);--color-utility-yellow-100:var(--color-yellow-900);--color-utility-yellow-200:var(--color-yellow-800);--color-utility-yellow-300:var(--color-yellow-700);--color-utility-yellow-400:var(--color-yellow-600);--color-utility-yellow-500:var(--color-yellow-500);--color-utility-yellow-600:var(--color-yellow-400);--color-utility-yellow-700:var(--color-yellow-300);--color-utility-green-50:var(--color-green-950);--color-utility-green-100:var(--color-green-900);--color-utility-green-200:var(--color-green-800);--color-utility-green-300:var(--color-green-700);--color-utility-green-400:var(--color-green-600);--color-utility-green-500:var(--color-green-500);--color-utility-green-600:var(--color-green-400);--color-utility-green-700:var(--color-green-300);--color-utility-orange-50:var(--color-orange-950);--color-utility-orange-100:var(--color-orange-900);--color-utility-orange-200:var(--color-orange-800);--color-utility-orange-300:var(--color-orange-700);--color-utility-orange-400:var(--color-orange-600);--color-utility-orange-500:var(--color-orange-500);--color-utility-orange-600:var(--color-orange-400);--color-utility-orange-700:var(--color-orange-300);--color-utility-indigo-50:var(--color-indigo-950);--color-utility-indigo-100:var(--color-indigo-900);--color-utility-indigo-200:var(--color-indigo-800);--color-utility-indigo-300:var(--color-indigo-700);--color-utility-indigo-400:var(--color-indigo-600);--color-utility-indigo-500:var(--color-indigo-500);--color-utility-indigo-600:var(--color-indigo-400);--color-utility-indigo-700:var(--color-indigo-300);--color-utility-fuchsia-50:var(--color-fuchsia-950);--color-utility-fuchsia-100:var(--color-fuchsia-900);--color-utility-fuchsia-200:var(--color-fuchsia-800);--color-utility-fuchsia-300:var(--color-fuchsia-700);--color-utility-fuchsia-400:var(--color-fuchsia-600);--color-utility-fuchsia-500:var(--color-fuchsia-500);--color-utility-fuchsia-600:var(--color-fuchsia-400);--color-utility-fuchsia-700:var(--color-fuchsia-300);--color-utility-pink-50:var(--color-pink-950);--color-utility-pink-100:var(--color-pink-900);--color-utility-pink-200:var(--color-pink-800);--color-utility-pink-300:var(--color-pink-700);--color-utility-pink-400:var(--color-pink-600);--color-utility-pink-500:var(--color-pink-500);--color-utility-pink-600:var(--color-pink-400);--color-utility-pink-700:var(--color-pink-300);--color-utility-purple-50:var(--color-purple-950);--color-utility-purple-100:var(--color-purple-900);--color-utility-purple-200:var(--color-purple-800);--color-utility-purple-300:var(--color-purple-700);--color-utility-purple-400:var(--color-purple-600);--color-utility-purple-500:var(--color-purple-500);--color-utility-purple-600:var(--color-purple-400);--color-utility-purple-700:var(--color-purple-300);--color-utility-sky-50:var(--color-sky-950);--color-utility-sky-100:var(--color-sky-900);--color-utility-sky-200:var(--color-sky-800);--color-utility-sky-300:var(--color-sky-700);--color-utility-sky-400:var(--color-sky-600);--color-utility-sky-500:var(--color-sky-500);--color-utility-sky-600:var(--color-sky-400);--color-utility-sky-700:var(--color-sky-300);--color-utility-slate-50:var(--color-slate-950);--color-utility-slate-100:var(--color-slate-900);--color-utility-slate-200:var(--color-slate-800);--color-utility-slate-300:var(--color-slate-700);--color-utility-slate-400:var(--color-slate-600);--color-utility-slate-500:var(--color-slate-500);--color-utility-slate-600:var(--color-slate-400);--color-utility-slate-700:var(--color-slate-300);--color-utility-emerald-50:var(--color-emerald-950);--color-utility-emerald-100:var(--color-emerald-900);--color-utility-emerald-200:var(--color-emerald-800);--color-utility-emerald-300:var(--color-emerald-700);--color-utility-emerald-400:var(--color-emerald-600);--color-utility-emerald-500:var(--color-emerald-500);--color-utility-emerald-600:var(--color-emerald-400);--color-utility-emerald-700:var(--color-emerald-300);--color-utility-amber-50:var(--color-amber-950);--color-utility-amber-100:var(--color-amber-900);--color-utility-amber-200:var(--color-amber-800);--color-utility-amber-300:var(--color-amber-700);--color-utility-amber-400:var(--color-amber-600);--color-utility-amber-500:var(--color-amber-500);--color-utility-amber-600:var(--color-amber-400);--color-utility-amber-700:var(--color-amber-300);--color-text-primary:var(--color-neutral-50);--color-text-tertiary:var(--color-neutral-400);--color-text-error-primary:var(--color-red-400);--color-text-warning-primary:var(--color-yellow-400);--color-text-success-primary:var(--color-green-400);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-300);--color-text-secondary_hover:var(--color-neutral-200);--color-text-tertiary_hover:var(--color-neutral-300);--color-text-brand-secondary:var(--color-neutral-300);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-neutral-400);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-white);--color-text-quaternary:var(--color-neutral-400);--color-text-brand-primary:var(--color-neutral-50);--color-text-primary_on-brand:var(--color-neutral-50);--color-text-secondary_on-brand:var(--color-neutral-300);--color-text-tertiary_on-brand:var(--color-neutral-400);--color-text-quaternary_on-brand:var(--color-neutral-400);--color-text-brand-tertiary_alt:var(--color-neutral-50);--color-text-error-primary_hover:var(--color-red-300);--color-text-brand-secondary_hover:var(--color-neutral-200);--color-border-secondary:var(--color-neutral-800);--color-border-error_subtle:var(--color-red-500);--color-border-primary:var(--color-neutral-700);--color-border-brand:var(--color-brand-400);--color-border-error:var(--color-red-400);--color-border-tertiary:var(--color-neutral-800);--color-border-brand_alt:var(--color-neutral-700);--color-border-secondary_alt:var(--color-neutral-800);--color-fg-secondary:var(--color-neutral-300);--color-fg-warning-primary:var(--color-yellow-500);--color-fg-success-primary:var(--color-green-500);--color-fg-white:var(--color-white);--color-fg-success-secondary:var(--color-green-400);--color-fg-secondary_hover:var(--color-neutral-200);--color-fg-primary:var(--color-white);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-500);--color-fg-quaternary:var(--color-neutral-600);--color-fg-quaternary_hover:var(--color-neutral-500);--color-fg-error-primary:var(--color-red-500);--color-fg-warning-secondary:var(--color-yellow-400);--color-fg-error-secondary:var(--color-red-400);--color-fg-tertiary:var(--color-neutral-400);--color-fg-tertiary_hover:var(--color-neutral-300);--color-fg-brand-primary_alt:var(--color-neutral-300);--color-fg-brand-secondary_alt:var(--color-neutral-600);--color-fg-brand-secondary_hover:var(--color-neutral-500);--color-bg-primary:var(--color-neutral-950);--color-bg-tertiary:var(--color-neutral-800);--color-bg-brand-primary:var(--color-brand-500);--color-bg-error-secondary:var(--color-red-600);--color-bg-warning-primary:var(--color-yellow-950);--color-bg-warning-secondary:var(--color-yellow-600);--color-bg-success-primary:var(--color-green-950);--color-bg-success-secondary:var(--color-green-600);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-800);--color-bg-primary_hover:var(--color-neutral-900);--color-bg-active:var(--color-neutral-800);--color-bg-brand-solid_hover:var(--color-brand-500);--color-bg-error-primary:var(--color-red-950);--color-bg-brand-secondary:var(--color-brand-600);--color-bg-secondary:var(--color-neutral-900);--color-bg-quaternary:var(--color-neutral-700);--color-bg-primary_alt:var(--color-bg-secondary);--color-bg-brand-primary_alt:var(--color-bg-secondary);--color-bg-secondary_alt:var(--color-bg-primary);--color-bg-overlay:var(--color-neutral-800);--color-bg-brand-section:var(--color-bg-secondary);--color-bg-brand-section_subtle:var(--color-bg-primary);--color-bg-primary-solid:var(--color-bg-secondary);--color-bg-error-solid_hover:var(--color-red-500);--color-app-store-badg-border:var(--color-white);--color-avatar-styles-bg-neutral:224 224 224 1;--color-featured-icon-light-fg-brand:var(--color-brand-200);--color-featured-icon-light-fg-error:var(--color-red-200);--color-featured-icon-light-fg-gray:var(--color-neutral-200);--color-featured-icon-light-fg-success:var(--color-green-200);--color-featured-icon-light-fg-warning:var(--color-yellow-200);--color-focus-ring-error:var(--color-red-500);--color-focus-ring:var(--color-brand-500);--color-footer-button-fg:var(--color-neutral-300);--color-footer-button-fg_hover:var(--color-neutral-100);--color-icon-fg-brand:var(--color-neutral-400);--color-icon-fg-brand_on-brand:var(--color-neutral-400);--color-screen-mockup-border:var(--color-neutral-700);--color-slider-handle-bg:var(--color-fg-brand-primary);--color-slider-handle-border:var(--color-bg-primary);--color-toggle-border:var(--color-transparent);--color-toggle-slim-border_pressed-hover:var(--color-transparent);--color-toggle-slim-border_pressed:var(--color-transparent);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-primary:var(--color-bg-warning-primary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-primary:var(--color-bg-success-primary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-active:var(--color-bg-active);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--background-color-border-brand:var(--color-border-brand);--background-color-border-tertiary:var(--color-border-tertiary);--background-color-border-brand_alt:var(--color-border-brand_alt);--text-color-primary:var(--color-text-primary);--text-color-tertiary:var(--color-text-tertiary);--text-color-error-primary:var(--color-text-error-primary);--text-color-warning-primary:var(--color-text-warning-primary);--text-color-success-primary:var(--color-text-success-primary);--text-color-white:var(--color-text-white);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-editor-icon-fg:var(--color-text-editor-icon-fg);--text-color-editor-icon-fg_active:var(--color-text-editor-icon-fg_active);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-error-primary_hover:var(--color-text-error-primary_hover);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--text-color-tooltip-supporting-text:var(--color-tooltip-supporting-text);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-secondary_alt:var(--color-border-secondary_alt);--border-color-tertiary:var(--color-border-tertiary);--border-color-error:var(--color-border-error);--border-color-error_subtle:var(--color-border-error_subtle);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--border-color-brand-solid:var(--color-bg-brand-solid);--border-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-primary:var(--color-border-primary);--ring-color-secondary:var(--color-border-secondary);--ring-color-secondary_alt:var(--color-border-secondary_alt);--ring-color-tertiary:var(--color-border-tertiary);--ring-color-error:var(--color-border-error);--ring-color-error_subtle:var(--color-border-error_subtle);--ring-color-brand:var(--color-border-brand);--ring-color-brand-solid:var(--color-bg-brand-solid);--ring-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-brand_alt:var(--color-border-brand_alt);--outline-color-primary:var(--color-border-primary);--outline-color-secondary:var(--color-border-secondary);--outline-color-secondary_alt:var(--color-border-secondary_alt);--outline-color-tertiary:var(--color-border-tertiary);--outline-color-error:var(--color-border-error);--outline-color-error_subtle:var(--color-border-error_subtle);--outline-color-brand:var(--color-border-brand);--outline-color-brand-solid:var(--color-bg-brand-solid);--outline-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--outline-color-brand_alt:var(--color-border-brand_alt)}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.container{width:100%}@media(min-width:320px){.container{max-width:320px}}@media(min-width:600px){.container{max-width:600px}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-4{margin:calc(var(--spacing) * 4)}.m-7{margin:calc(var(--spacing) * 7)}.m-10{margin:calc(var(--spacing) * 10)}.m-16{margin:calc(var(--spacing) * 16)}.m-26{margin:calc(var(--spacing) * 26)}.m-27{margin:calc(var(--spacing) * 27)}.m-36{margin:calc(var(--spacing) * 36)}.m-37{margin:calc(var(--spacing) * 37)}.m-44{margin:calc(var(--spacing) * 44)}.m-110{margin:calc(var(--spacing) * 110)}.m-122{margin:calc(var(--spacing) * 122)}.m-146{margin:calc(var(--spacing) * 146)}.m-150{margin:calc(var(--spacing) * 150)}.m-163{margin:calc(var(--spacing) * 163)}.m-170{margin:calc(var(--spacing) * 170)}.m-183{margin:calc(var(--spacing) * 183)}.m-211{margin:calc(var(--spacing) * 211)}.m-228{margin:calc(var(--spacing) * 228)}.m-230{margin:calc(var(--spacing) * 230)}.m-261{margin:calc(var(--spacing) * 261)}.m-270{margin:calc(var(--spacing) * 270)}.m-273{margin:calc(var(--spacing) * 273)}.m-296{margin:calc(var(--spacing) * 296)}.m-325{margin:calc(var(--spacing) * 325)}.m-334{margin:calc(var(--spacing) * 334)}.m-399{margin:calc(var(--spacing) * 399)}.m-478{margin:calc(var(--spacing) * 478)}.m-505{margin:calc(var(--spacing) * 505)}.m-523{margin:calc(var(--spacing) * 523)}.m-530{margin:calc(var(--spacing) * 530)}.m-570{margin:calc(var(--spacing) * 570)}.m-587{margin:calc(var(--spacing) * 587)}.m-588{margin:calc(var(--spacing) * 588)}.m-605{margin:calc(var(--spacing) * 605)}.m-681{margin:calc(var(--spacing) * 681)}.m-686{margin:calc(var(--spacing) * 686)}.m-689{margin:calc(var(--spacing) * 689)}.m-785{margin:calc(var(--spacing) * 785)}.m-830{margin:calc(var(--spacing) * 830)}.m-880{margin:calc(var(--spacing) * 880)}.m-986{margin:calc(var(--spacing) * 986)}.m-996{margin:calc(var(--spacing) * 996)}.m-1030{margin:calc(var(--spacing) * 1030)}.m-1037{margin:calc(var(--spacing) * 1037)}.m-1055{margin:calc(var(--spacing) * 1055)}.m-1061{margin:calc(var(--spacing) * 1061)}.m-1065{margin:calc(var(--spacing) * 1065)}.m-1102{margin:calc(var(--spacing) * 1102)}.m-1153{margin:calc(var(--spacing) * 1153)}.m-1250{margin:calc(var(--spacing) * 1250)}.m-1400{margin:calc(var(--spacing) * 1400)}.m-1430{margin:calc(var(--spacing) * 1430)}.m-1495{margin:calc(var(--spacing) * 1495)}.m-1538{margin:calc(var(--spacing) * 1538)}.m-1576{margin:calc(var(--spacing) * 1576)}.m-1611{margin:calc(var(--spacing) * 1611)}.m-1710{margin:calc(var(--spacing) * 1710)}.m-1720{margin:calc(var(--spacing) * 1720)}.m-1729{margin:calc(var(--spacing) * 1729)}.m-1732{margin:calc(var(--spacing) * 1732)}.m-1790{margin:calc(var(--spacing) * 1790)}.m-1795{margin:calc(var(--spacing) * 1795)}.m-1887{margin:calc(var(--spacing) * 1887)}.m-1938{margin:calc(var(--spacing) * 1938)}.m-2024{margin:calc(var(--spacing) * 2024)}.m-2046{margin:calc(var(--spacing) * 2046)}.m-2057{margin:calc(var(--spacing) * 2057)}.m-2114{margin:calc(var(--spacing) * 2114)}.m-2134{margin:calc(var(--spacing) * 2134)}.m-2198{margin:calc(var(--spacing) * 2198)}.m-2226{margin:calc(var(--spacing) * 2226)}.m-2310{margin:calc(var(--spacing) * 2310)}.m-2407{margin:calc(var(--spacing) * 2407)}.m-2411{margin:calc(var(--spacing) * 2411)}.m-2419{margin:calc(var(--spacing) * 2419)}.m-2444{margin:calc(var(--spacing) * 2444)}.m-2510{margin:calc(var(--spacing) * 2510)}.m-2527{margin:calc(var(--spacing) * 2527)}.m-2550{margin:calc(var(--spacing) * 2550)}.m-2563{margin:calc(var(--spacing) * 2563)}.m-2616{margin:calc(var(--spacing) * 2616)}.m-2630{margin:calc(var(--spacing) * 2630)}.m-2664{margin:calc(var(--spacing) * 2664)}.m-2708{margin:calc(var(--spacing) * 2708)}.m-2736{margin:calc(var(--spacing) * 2736)}.m-2740{margin:calc(var(--spacing) * 2740)}.m-2744{margin:calc(var(--spacing) * 2744)}.m-2787{margin:calc(var(--spacing) * 2787)}.m-2798{margin:calc(var(--spacing) * 2798)}.m-2898{margin:calc(var(--spacing) * 2898)}.m-3104{margin:calc(var(--spacing) * 3104)}.m-3189{margin:calc(var(--spacing) * 3189)}.m-3271{margin:calc(var(--spacing) * 3271)}.m-3600{margin:calc(var(--spacing) * 3600)}.m-3650{margin:calc(var(--spacing) * 3650)}.m-3950{margin:calc(var(--spacing) * 3950)}.m-4425{margin:calc(var(--spacing) * 4425)}.m-4480{margin:calc(var(--spacing) * 4480)}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.h-1\/2{height:50%}.h-auto{height:auto}.h-px{height:1px}.w-full{width:100%}.max-w-container{max-width:var(--max-width-container)}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}:where(.-space-x-0\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -.5) * calc(1 - var(--tw-space-x-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-tl{border-top-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-brand{border-color:var(--border-color-brand)}.border-brand_alt{border-color:var(--border-color-brand_alt)}.border-error{border-color:var(--border-color-error)}.border-error_subtle{border-color:var(--border-color-error_subtle)}.border-primary{border-color:var(--border-color-primary)}.border-secondary{border-color:var(--border-color-secondary)}.border-secondary_alt{border-color:var(--border-color-secondary_alt)}.border-tertiary{border-color:var(--border-color-tertiary)}.bg-active{background-color:var(--background-color-active)}.bg-alpha-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-alpha-white\/30{background-color:color-mix(in oklab,var(--color-alpha-white) 30%,transparent)}}.bg-blue-700{background-color:var(--color-blue-700)}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-brand-primary{background-color:var(--background-color-brand-primary)}.bg-brand-primary_alt{background-color:var(--background-color-brand-primary_alt)}.bg-brand-secondary{background-color:var(--background-color-brand-secondary)}.bg-brand-section{background-color:var(--background-color-brand-section)}.bg-brand-section_subtle{background-color:var(--background-color-brand-section_subtle)}.bg-brand-solid{background-color:var(--background-color-brand-solid)}.bg-brand-solid\/10{background-color:#7f56d91a}@supports (color:color-mix(in lab,red,red)){.bg-brand-solid\/10{background-color:color-mix(in oklab,var(--background-color-brand-solid) 10%,transparent)}}.bg-brand-solid_hover{background-color:var(--background-color-brand-solid_hover)}.bg-error-primary{background-color:var(--background-color-error-primary)}.bg-error-secondary{background-color:var(--background-color-error-secondary)}.bg-error-solid{background-color:var(--background-color-error-solid)}.bg-error-solid_hover{background-color:var(--background-color-error-solid_hover)}.bg-overlay{background-color:var(--background-color-overlay)}.bg-primary{background-color:var(--background-color-primary)}.bg-primary-solid{background-color:var(--background-color-primary-solid)}.bg-primary_alt{background-color:var(--background-color-primary_alt)}.bg-primary_hover{background-color:var(--background-color-primary_hover)}.bg-quaternary{background-color:var(--background-color-quaternary)}.bg-secondary{background-color:var(--background-color-secondary)}.bg-secondary-solid{background-color:var(--background-color-secondary-solid)}.bg-secondary_alt{background-color:var(--background-color-secondary_alt)}.bg-secondary_hover{background-color:var(--background-color-secondary_hover)}.bg-success-primary{background-color:var(--background-color-success-primary)}.bg-success-secondary{background-color:var(--background-color-success-secondary)}.bg-success-solid{background-color:var(--background-color-success-solid)}.bg-tertiary{background-color:var(--background-color-tertiary)}.bg-warning-primary{background-color:var(--background-color-warning-primary)}.bg-warning-secondary{background-color:var(--background-color-warning-secondary)}.bg-warning-solid{background-color:var(--background-color-warning-solid)}.fill-bg-tertiary{fill:var(--color-bg-tertiary)}.fill-black{fill:var(--color-black)}.fill-white{fill:var(--color-white)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-black{color:var(--color-black)}.text-brand-600{color:var(--color-brand-600)}.text-brand-primary{color:var(--text-color-brand-primary)}.text-brand-secondary{color:var(--text-color-brand-secondary)}.text-brand-secondary_hover{color:var(--text-color-brand-secondary_hover)}.text-brand-tertiary{color:var(--text-color-brand-tertiary)}.text-brand-tertiary_alt{color:var(--text-color-brand-tertiary_alt)}.text-error-primary{color:var(--text-color-error-primary)}.text-fg-primary{color:var(--color-fg-primary)}.text-fg-white{color:var(--color-fg-white)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-placeholder{color:var(--text-color-placeholder)}.text-primary{color:var(--text-color-primary)}.text-primary_on-brand{color:var(--text-color-primary_on-brand)}.text-quaternary{color:var(--text-color-quaternary)}.text-quaternary_on-brand{color:var(--text-color-quaternary_on-brand)}.text-secondary{color:var(--text-color-secondary)}.text-secondary_hover{color:var(--text-color-secondary_hover)}.text-secondary_on-brand{color:var(--text-color-secondary_on-brand)}.text-success-primary{color:var(--text-color-success-primary)}.text-tertiary{color:var(--text-color-tertiary)}.text-tertiary_hover{color:var(--text-color-tertiary_hover)}.text-tertiary_on-brand{color:var(--text-color-tertiary_on-brand)}.text-warning-primary{color:var(--text-color-warning-primary)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.\!italic{font-style:italic!important}.italic{font-style:italic}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--ring-color-primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary{outline-color:var(--outline-color-secondary)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.duration-100{animation-duration:.1s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.not-dark\:hidden:not(:where(.dark-mode,.dark-mode *)){display:none}@media(hover:hover){.group-hover\:bg-alpha-white\/50:is(:where(.group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) *){background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-alpha-white\/50:is(:where(.group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) *){background-color:color-mix(in oklab,var(--color-alpha-white) 50%,transparent)}}.hover\:bg-alpha-white\/50:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-alpha-white\/50:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:color-mix(in oklab,var(--color-alpha-white) 50%,transparent)}}}.disabled\:cursor-not-allowed:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){cursor:not-allowed}.disabled\:opacity-50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){opacity:.5}@media(min-width:48rem){.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}.dark\:hidden:where(.dark-mode,.dark-mode *){display:none}.dark\:fill-black:where(.dark-mode,.dark-mode *){fill:var(--color-black)}.dark\:text-white:where(.dark-mode,.dark-mode *){color:var(--color-white)}}.prose:not(:where([class~=not-prose],[class~=not-prose] *)){--tw-prose-body:var(--color-text-tertiary);--tw-prose-headings:var(--color-text-primary);--tw-prose-lead:var(--color-text-tertiary);--tw-prose-links:var(--color-text-tertiary);--tw-prose-bold:var(--color-text-primary);--tw-prose-counters:var(--color-text-tertiary);--tw-prose-bullets:var(--color-text-tertiary);--tw-prose-hr:var(--color-border-secondary);--tw-prose-quotes:var(--color-text-primary);--tw-prose-quote-borders:var(--color-fg-brand-primary_alt);--tw-prose-captions:var(--color-text-tertiary);--tw-prose-code:var(--color-text-tertiary);--tw-prose-pre-code:var(--color-text-tertiary);--tw-prose-pre-bg:var(--color-bg-primary);--tw-prose-th-borders:var(--color-border-primary);--tw-prose-td-borders:var(--color-border-secondary);color:var(--tw-prose-body);font-size:var(--text-md);line-height:var(--text-md--line-height)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(p){margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 4)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where([class~=lead]){font-size:var(--text-md);line-height:var(--text-md--line-height);margin-top:1.2em;margin-bottom:1.2em}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol){margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 4);padding-inline-start:calc(var(--spacing) * 5.75);list-style-type:decimal}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul){margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 4);padding-inline-start:calc(var(--spacing) * 5.75);list-style-type:disc}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(li){margin-top:calc(var(--spacing) * 2);margin-bottom:calc(var(--spacing) * 2)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol>li),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul>li){margin-top:0;margin-bottom:0;padding-inline-start:1px}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(hr){margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 8)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote){color:var(--tw-prose-quotes);border-left-width:2px;border-left-color:var(--tw-prose-quote-borders);margin-top:calc(var(--spacing) * 10);margin-bottom:calc(var(--spacing) * 10);padding-inline-start:0}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote p){font-style:italic;font-weight:500;font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin:0}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1){color:var(--tw-prose-headings);font-weight:600;font-size:var(--text-display-sm);line-height:var(--text-display-sm--line-height);margin-bottom:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 10)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2){color:var(--tw-prose-headings);font-weight:600;font-size:var(--text-display-xs);line-height:var(--text-display-xs--line-height);margin-bottom:calc(var(--spacing) * 4);margin-top:calc(var(--spacing) * 8)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3){color:var(--tw-prose-headings);font-weight:600;font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 8)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h4){color:var(--tw-prose-headings);font-weight:600;font-size:var(--text-lg);line-height:var(--text-lg--line-height);margin-bottom:calc(var(--spacing) * 2);margin-top:calc(var(--spacing) * 5)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2+*),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3+*),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h4+*){margin-top:0}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1 strong){color:inherit;font-weight:900}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2 strong){color:inherit;font-weight:800}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3 strong),.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(h4 strong){color:inherit;font-weight:700}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(img){border-radius:var(--radius-xl);object-fit:cover;width:100%;margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 8)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(video){margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 8)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure){margin-top:calc(var(--spacing) * 10);margin-bottom:calc(var(--spacing) * 10)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure>*){margin-top:0;margin-bottom:0}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure:has(>blockquote)){border-left-width:2px;border-left-color:var(--tw-prose-quote-borders);padding-top:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 2);padding-inline-start:calc(var(--spacing) * 4)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure:has(>blockquote) blockquote){border:none;padding-inline-start:0}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(img+figcaption){align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(figcaption){color:var(--tw-prose-captions);font-size:var(--text-sm);line-height:var(--text-sm--line-height);margin-top:calc(var(--spacing) * 3)}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(cite){font-style:normal}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a:not(h1 a,h2 a,h3 a,h4 a,h5 a,h6 a)){text-underline-offset:3px;font-weight:400;text-decoration:underline}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(a:focus-visible){border-radius:var(--radius-sm);outline:2px solid var(--color-focus-ring);outline-offset:2px}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(:is(h1,h2,h3) a){color:var(--tw-prose-headings);font-weight:inherit;text-decoration:none}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(code:not(pre code)){padding:calc(var(--spacing) * .5) calc(var(--spacing) * 1.5);margin:calc(var(--spacing) * -.5) 0px;background:var(--color-bg-secondary);box-shadow:0 0 0 1px var(--color-border-secondary);border-radius:6px;font-size:.875rem;font-weight:700;line-height:1.25rem}.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(code:not(pre code)):before,.prose :not(:where([class~=not-prose],[class~=not-prose] *)):where(code:not(pre code)):after{content:""}.prose.prose-centered-quote :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote){text-align:center;border-left:none;padding-inline-start:0!important}.prose.prose-centered-quote :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure:has(>blockquote)){text-align:center;border-left:none;padding-inline-start:0!important;padding-top:0!important;padding-bottom:0!important}.prose.prose-minimal-quote :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote),.prose.prose-minimal-quote :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure:has(>blockquote)){border-left:none;padding-inline-start:0!important}@media(min-width:48rem){.prose.md\:prose-lg:not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--text-lg);line-height:var(--text-lg--line-height)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(p){margin-top:calc(var(--spacing) * 4.5);margin-bottom:calc(var(--spacing) * 4.5)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where([class~=lead]){font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-top:1.09em;margin-bottom:1.09em}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol),.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul){margin-top:calc(var(--spacing) * 4.5);margin-bottom:calc(var(--spacing) * 4.5);padding-inline-start:calc(var(--spacing) * 6.5)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(ol>li),.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(ul>li){margin-top:0;margin-bottom:0;padding-inline-start:1px}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(hr){margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 8)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote){margin-top:calc(var(--spacing) * 12);margin-bottom:calc(var(--spacing) * 12);padding-inline-start:0}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(blockquote p){font-size:var(--text-display-xs);line-height:var(--text-display-xs--line-height);margin:0}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h1){font-size:var(--text-display-md);line-height:var(--text-display-md--line-height);margin-bottom:calc(var(--spacing) * 6);margin-top:calc(var(--spacing) * 12)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2){font-size:var(--text-display-sm);line-height:var(--text-display-sm--line-height);margin-bottom:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 10)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3){font-size:var(--text-display-xs);line-height:var(--text-display-xs--line-height);margin-bottom:calc(var(--spacing) * 4);margin-top:calc(var(--spacing) * 8)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h4){font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 8)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h2+*),.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h3+*),.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(h4+*){margin-top:0}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure){margin-top:calc(var(--spacing) * 12);margin-bottom:calc(var(--spacing) * 12)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure>*){margin-top:0;margin-bottom:0}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure:has(>blockquote)){padding-inline-start:calc(var(--spacing) * 5)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(figure>blockquote+figcaption){font-size:var(--text-md);line-height:var(--text-md--line-height)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(figcaption){margin-top:calc(var(--spacing) * 4)}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(a:not(h1 a,h2 a,h3 a,h4 a,h5 a,h6 a)){text-underline-offset:3px;font-weight:400;text-decoration:underline}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(:is(h1,h2,h3) a){color:var(--tw-prose-headings);font-weight:inherit;text-decoration:none}.prose.md\:prose-lg :not(:where([class~=not-prose],[class~=not-prose] *)):where(code:not(pre code)){padding:calc(var(--spacing) * .5) calc(var(--spacing) * 1.5);margin:calc(var(--spacing) * -.5) 0px;background:var(--color-bg-secondary);box-shadow:0 0 0 1px var(--color-border-secondary);border-radius:6px;font-size:.875rem;font-weight:700;line-height:1.25rem}}.prose>:first-child:not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose>:last-child:not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}html,body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-font-kerning:normal;font-kerning:normal}details summary::-webkit-details-marker{display:none}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.recharts-surface,.recharts-surface g,.recharts-surface path{outline:none}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
