@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&family=Nunito:wght@400;600;800&family=IBM+Plex+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e12;--surface-1:#13161b;--surface-2:#1a1e25;--surface-3:#232831;--border:#262b33;--border-strong:#353b46;--text-primary:#e9ecf1;--text-secondary:#b4bcc8;--text-muted:#7d8794;--accent:#3b82f6;--accent-hover:#5b97f8;--accent-soft:#3b82f624;--danger:#f07373;--danger-soft:#f073731a;--good:#22b07d;--good-soft:#22b07d1f;--grid-line:#20242b;--axis:#3a404b;--shadow:0 1px 2px #0000004d;--shadow-lg:0 18px 48px #00000073;--sidebar-bg:#090b0e;--sidebar-border:#1c2027;--sidebar-text:#a7afbb;--sidebar-text-strong:#f2f4f7;--sidebar-hover:#151920;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--radius:12px;--on-accent:#fff;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Manrope", "Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--surface-1:#fff;--surface-2:#f2f4f7;--surface-3:#e8ebf0;--border:#e1e5eb;--border-strong:#cdd3dc;--text-primary:#0d1117;--text-secondary:#4a5361;--text-muted:#6b7480;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#2563eb17;--danger:#c9302c;--danger-soft:#c9302c12;--good:#138a5e;--good-soft:#138a5e17;--grid-line:#eceff3;--axis:#cdd3dc;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-lg:0 18px 48px #10182829;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--surface-1:#fff;--surface-2:#f2f4f7;--surface-3:#e8ebf0;--border:#e1e5eb;--border-strong:#cdd3dc;--text-primary:#0d1117;--text-secondary:#4a5361;--text-muted:#6b7480;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#2563eb17;--danger:#c9302c;--danger-soft:#c9302c12;--good:#138a5e;--good-soft:#138a5e17;--grid-line:#eceff3;--axis:#cdd3dc;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-lg:0 18px 48px #10182829;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}code,.mono{font-family:var(--mono);font-size:.92em}.app{grid-template-columns:220px 1fr;height:100%;display:grid}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);flex-direction:column;gap:2px;padding:18px 12px;display:flex}.brand{color:var(--sidebar-text-strong);align-items:center;gap:10px;padding:2px 8px 22px;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:16px;font-weight:800;line-height:1.1}.brand-name span{font-family:var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-text);font-size:11px;font-weight:500;display:block}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--sidebar-text) 70%, var(--sidebar-bg));padding:14px 10px 6px;font-size:10.5px;font-weight:600}.nav-btn{width:100%;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.nav-btn.active{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--sidebar-text-strong)}.nav-btn.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.nav-btn .count{color:var(--sidebar-text);background:var(--sidebar-hover);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px}.nav-btn.active .count{color:var(--sidebar-text-strong);background:color-mix(in srgb, var(--accent) 32%, transparent)}.sidebar-foot{color:var(--sidebar-text);border-top:1px solid var(--sidebar-border);flex-direction:column;gap:8px;margin-top:auto;padding:12px 8px 4px;font-size:12px;display:flex}.sidebar-foot .btn{color:var(--sidebar-text);border-color:var(--sidebar-border);background:0 0}.sidebar-foot .btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.sidebar-foot .btn.ghost{border-color:#0000}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.ok{background:var(--good)}.status-dot.err{background:var(--danger)}.main{min-width:0;overflow:auto}.page{max-width:1600px;margin:0 auto;padding:24px 28px 48px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-head h1{font-size:24px;font-family:var(--font-display);letter-spacing:-.025em;font-weight:800}.page-head .sub{color:var(--text-muted);font-size:13px}.spacer{flex:1}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}.btn{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff);box-shadow:0 1px 2px color-mix(in srgb, var(--accent) 30%, transparent)}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);color:var(--text-primary)}.btn.sm{padding:5px 10px;font-size:13px}.btn.icon{padding:6px}.input,.select,.textarea{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:8px;outline:none;width:100%;padding:8px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{font-family:var(--mono);resize:vertical;min-height:140px;font-size:13px;line-height:1.55}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-secondary);font-size:12px;font-weight:600}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row>.field{flex:1;min-width:140px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge{background:var(--surface-3);color:var(--text-secondary);border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.type-number,.type-integer{color:var(--series-1)}.type-date,.type-timestamp{color:var(--series-3)}.type-text{color:var(--text-secondary)}.type-boolean{color:var(--series-5)}.error{background:var(--danger-soft);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-left:3px solid var(--danger);white-space:pre-wrap;word-break:break-word;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.error:before{content:"!";background:var(--danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-weight:700;display:grid}.error .close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;margin-left:auto;padding:0 2px;font-size:16px;line-height:1}.error .close:hover{color:var(--text-primary)}.success-note{background:var(--good-soft);border:1px solid color-mix(in srgb, var(--good) 30%, transparent);border-left:3px solid var(--good);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.hint{color:var(--text-muted);font-size:13px}.empty{text-align:center;color:var(--text-muted);padding:48px 24px}.empty h3{color:var(--text-primary);margin-bottom:6px;font-size:16px}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{background:var(--surface-2);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;padding:8px 10px;font-weight:600;position:sticky;top:0}table.data td{border-bottom:1px solid var(--grid-line);white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:6px 10px;overflow:hidden}table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data th.num{text-align:right}table.data td.null{color:var(--text-muted);font-style:italic}table.data tr:hover td{background:var(--surface-2)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface-1);padding:28px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone strong{margin-bottom:4px;font-size:15px;display:block}.data-layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;margin-top:20px;display:grid}.ds-list{flex-direction:column;gap:6px;display:flex}.ds-item{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;text-align:left;border-radius:8px;width:100%;padding:10px 12px}.ds-item:hover{border-color:var(--border-strong)}.ds-item.active{border-color:var(--accent);background:var(--accent-soft)}.ds-item .meta{color:var(--text-muted);gap:8px;margin-top:2px;font-size:12px;display:flex}.cols{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.col-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px}.col-chip b{margin-left:4px;font-size:11px;font-weight:600}.sql-layout{grid-template-columns:240px 1fr;align-items:start;gap:16px;display:grid}.schema{max-height:calc(100vh - 140px);font-size:13px;overflow:auto}.schema details{margin-bottom:6px}.schema summary{cursor:pointer;font-weight:600;font-family:var(--mono);border-radius:6px;padding:4px 6px;font-size:12.5px}.schema summary:hover{background:var(--surface-2)}.schema .col{cursor:pointer;border-radius:4px;justify-content:space-between;gap:8px;padding:2px 6px 2px 22px;display:flex}.schema .col:hover{background:var(--surface-2)}.db-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.db-tab{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:8px;padding:6px 12px}.db-tab.active{border-color:var(--accent);color:var(--text-primary);background:var(--accent-soft)}.title-input{background:0 0;border:1px solid #0000;border-radius:8px;min-width:200px;margin-left:-8px;padding:2px 8px;font-size:22px;font-weight:600}.title-input:hover{border-color:var(--border)}.title-input:focus{border-color:var(--accent);outline:none}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;margin-bottom:14px;display:flex}.filter-chip{border:1px solid var(--border-strong);background:var(--surface-1);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 6px 5px 10px;font-size:13px;display:inline-flex}.filter-chip .val{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;overflow:hidden}.popover{z-index:50;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:10px;width:280px;margin-top:6px;padding:10px;position:absolute;box-shadow:0 12px 32px #00000059}.popover .opts{flex-direction:column;gap:2px;max-height:260px;margin-top:8px;display:flex;overflow:auto}.popover label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.popover label:hover{background:var(--surface-2)}.widget{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.widget-head{align-items:center;gap:6px;min-height:40px;padding:10px 10px 4px 14px;display:flex}.widget-head h3{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.widget-head .actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.widget:hover .widget-head .actions{opacity:1}.editing .widget-head{cursor:grab}.widget-body{flex:1;min-height:0;padding:0 14px 12px;position:relative}.widget-body .table-wrap{height:100%}.kpi{flex-direction:column;justify-content:center;height:100%;display:flex}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(28px,4vw,44px);font-weight:700}.kpi .label{color:var(--text-muted);font-size:13px}.react-grid-item.react-grid-placeholder{border-radius:var(--radius);background:var(--accent)!important;opacity:.15!important}.react-grid-item>.react-resizable-handle:after{border-color:var(--text-muted)!important}.modal-back{z-index:100;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{box-shadow:var(--shadow-lg);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:14px;flex-direction:column;width:min(1100px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-head h2{flex:1;font-size:16px}.modal-body{padding:18px;overflow:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.editor-layout{grid-template-columns:340px 1fr;gap:20px;display:grid}.editor-form{flex-direction:column;gap:12px;display:flex}.type-picker{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.type-picker button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px;display:flex}.type-picker button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:2px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:13px}.seg button.active{background:var(--surface-3);color:var(--text-primary)}.preview-box{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:380px;display:flex}.loading{color:var(--text-muted);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.toast{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-strong);border-left:3px solid var(--accent);z-index:200;box-shadow:var(--shadow-lg);border-radius:10px;max-width:440px;padding:11px 16px;font-size:13px;position:fixed;bottom:20px;right:20px}@media (width<=900px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;padding:8px;overflow-x:auto}.brand{padding:4px 8px}.sidebar-foot{display:none}.data-layout,.sql-layout,.editor-layout{grid-template-columns:1fr}.page{padding:16px}}.grid-cell{height:100%}.text-widget{height:100%;color:var(--text-secondary);font-size:14px;line-height:1.6;overflow:auto}.text-widget>:first-child{margin-top:0}.text-widget h1,.text-widget h2,.text-widget h3{color:var(--text-primary);margin:.6em 0 .3em}.text-widget h1{font-size:22px}.text-widget h2{font-size:18px}.text-widget h3{font-size:15px}.text-widget p,.text-widget ul,.text-widget ol{margin:0 0 .7em}.text-widget ul,.text-widget ol{padding-left:1.3em}.text-widget strong{color:var(--text-primary)}.text-widget a{color:var(--accent)}.text-widget code{background:var(--surface-2);border-radius:4px;padding:1px 5px}.text-widget hr{border:0;border-top:1px solid var(--border);margin:.8em 0}.image-widget{-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;height:100%;display:block}.widget.no-head .widget-body{padding-top:12px}.image-drop{border:1.5px dashed var(--border-strong);text-align:center;cursor:pointer;background:var(--surface-2);border-radius:8px;padding:18px}.image-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.task-card{border-left:3px solid #0000}.task-card.ok{border-left-color:var(--good)}.task-card.fail{border-left-color:var(--danger)}.task-card .widget-head{cursor:pointer}.pill{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.fail{background:var(--danger-soft);color:var(--danger)}.run-banner{align-items:center;gap:10px;display:flex}.split{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}.stack{flex-direction:column;gap:14px;min-width:0;display:flex}.list-head{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;padding:2px 2px 6px;font-size:11px;font-weight:700;display:flex}.item-title{align-items:center;gap:6px;font-weight:600;display:flex}.section-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:800}.card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:13px;font-weight:700}.label-row{align-items:baseline;gap:6px;display:flex}.kv{grid-template-columns:130px 1fr;gap:8px 16px;margin:16px 0 0;font-size:13px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.crumbs{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.crumbs button{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--accent)}.crumbs button.current{color:var(--text-secondary);cursor:default}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.tile{text-align:left;cursor:pointer;background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text-primary);border-radius:14px;padding:18px 18px 16px;transition:transform .15s,border-color .15s,box-shadow .15s}.tile:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.tile.accent{color:#f2f4f7;background:linear-gradient(135deg,#10141b 0%,#1a2433 100%);border-color:#26324a}.tile.accent .tile-sub,.tile.accent .tile-label{color:#aab6c8}.tile-top{align-items:center;gap:10px;display:flex}.tile-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.tile.accent .tile-icon{color:#93c5fd;background:#3b82f638}.tile-label{color:var(--text-secondary);font-size:13px;font-weight:600}.tile-go{color:var(--accent);opacity:0;margin-left:auto;font-size:12px;transition:opacity .15s}.tile:hover .tile-go{opacity:1}.tile.accent .tile-go{color:#93c5fd}.tile-count{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:14px;font-size:40px;font-weight:800;line-height:1}.tile-sub{color:var(--text-muted);margin-top:6px;font-size:12.5px}.home-grid{gap:16px}.list-row{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 8px;display:flex}.list-row:hover{background:var(--surface-2)}.list-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.chip.add{color:var(--text-muted);border-style:dashed;align-items:center;gap:4px;display:inline-flex}.timeline{border-left:2px solid var(--border);flex-direction:column;gap:14px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.timeline>li{position:relative}.timeline>li:before{content:"";background:var(--surface-1);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-20px}.timeline-head{align-items:center;gap:8px;display:flex}.timeline-changes{color:var(--text-secondary);margin:6px 0 0;padding-left:16px;font-size:13px}.timeline-changes s{color:var(--text-muted)}.model-hint{color:var(--text-secondary);background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.6}.model-hint .btn{vertical-align:middle;margin-left:6px}.model-hint.active{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.model-canvas{border:1px solid var(--border);background-color:var(--surface-2);background-image:radial-gradient(circle, color-mix(in srgb, var(--text-muted) 28%, transparent) 1px, transparent 1px);background-size:20px 20px;border-radius:14px;height:620px;position:relative;overflow:auto}.model-lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.rel-line{fill:none;stroke:var(--accent);stroke-width:2px;opacity:.85}.rel-dot{fill:var(--accent)}.rel-card{fill:var(--text-secondary);font-size:11px;font-weight:700;font-family:var(--font)}.model-node{background:var(--surface-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-user-select:none;user-select:none;border-radius:12px;position:absolute;overflow:hidden}.model-node.fact{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-lg)}.model-node-head{cursor:grab;border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:7px;height:42px;padding:0 8px 0 12px;display:flex}.model-node.fact .model-node-head{background:linear-gradient(90deg,#3b82f62e,#0000)}.model-node-head:active{cursor:grabbing}.model-node-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;font-family:var(--mono);flex:1;overflow:hidden}.role-badge{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3);color:var(--text-secondary);border:0;border-radius:6px;padding:3px 7px;font-size:10.5px;font-weight:700}.role-badge.fact{background:var(--accent);color:var(--on-accent,#fff)}.node-x{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:17px;line-height:1}.node-x:hover{color:var(--danger)}.model-node-cols{padding:4px 0}.model-col{cursor:pointer;width:100%;height:26px;color:var(--text-primary);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:flex}.model-col:hover{background:var(--accent-soft)}.model-col.linked{font-weight:600}.model-col.pending{background:var(--accent);color:var(--on-accent,#fff)}.model-col.pending .model-col-type{color:#dbeafe}.model-col span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-col-type{font-family:var(--mono);color:var(--text-muted);flex:none;font-size:10.5px}.model-col.more{color:var(--text-muted);cursor:default;font-style:italic}.model-col.more:hover{background:0 0}.model-empty{text-align:center;color:var(--text-muted);place-content:center;justify-items:center;gap:6px;display:grid;position:absolute;inset:0}.model-empty h3{color:var(--text-primary)}.rel-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.rel-row:first-of-type{border-top:0}.model-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}@media (width<=1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}.model-canvas-wrap{position:relative}.zoom-ctl{z-index:5;background:var(--surface-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:2px;padding:3px;font-size:12px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-ctl button{color:var(--text-primary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:4px 9px;font-weight:600}.zoom-ctl button:hover{background:var(--surface-2)}.zoom-ctl span{text-align:center;min-width:46px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:52px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-crumbs{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.topbar-crumbs button{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:4px 6px}.topbar-crumbs button:hover{color:var(--text-primary);background:var(--surface-2)}.topbar-crumbs button.current{color:var(--text-primary);font-weight:600}.avatar{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 50%, #000));color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:10px 14px;font-weight:500;display:inline-flex;position:relative}.tabs button:hover{color:var(--text-primary);background:var(--surface-2)}.tabs button.active{color:var(--text-primary);font-weight:600}.tabs button.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-count{background:var(--surface-3);color:var(--text-secondary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.tabs button.active .tab-count{background:var(--accent-soft);color:var(--accent)}.model-workspace{grid-template-columns:240px 1fr;align-items:stretch;gap:12px;display:grid}.model-palette{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;height:620px;padding:12px;display:flex}.model-palette-head{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.model-palette-list{flex-direction:column;flex:1;gap:2px;margin:0 -4px;display:flex;overflow:auto}.palette-item{text-align:left;cursor:grab;color:var(--text-primary);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.palette-item:hover{background:var(--accent-soft)}.palette-item.in{cursor:default;color:var(--text-muted)}.palette-item.in:hover{background:0 0}.palette-name{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.palette-meta{color:var(--text-muted);font-size:11px}.palette-item.in .palette-meta{color:var(--good);font-weight:700}@media (width<=1100px){.model-workspace{grid-template-columns:1fr}.model-palette{height:auto;max-height:280px}}.model-switcher{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.sql-layout2{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}.sql-side{flex-direction:column;gap:10px;max-height:calc(100vh - 90px);padding:12px;display:flex;position:sticky;top:64px}.seg.full{display:flex}.seg.full button{flex:1}.side-list{flex-direction:column;gap:2px;margin:0 -4px;padding:0 4px;display:flex;overflow:auto}.side-group{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:10px 6px 4px;font-size:11px;font-weight:700}.side-item{text-align:left;cursor:pointer;color:var(--text-primary);background:0 0;border:0;border-left:2px solid #0000;border-radius:8px;width:100%;padding:8px 10px}.side-item:hover{background:var(--surface-2)}.side-item.active{background:var(--accent-soft);border-left-color:var(--accent)}.side-item-title{font-size:13px;font-weight:600}.side-item-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;display:-webkit-box;overflow:hidden}.side-item-meta{color:var(--text-muted);margin-top:3px;font-size:11px}.side-sql{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:3.6em;margin-top:4px;font-size:11.5px;display:block;overflow:hidden}.sql-editor-card{overflow:hidden}.sql-editor-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.sql-title{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.sql-desc{text-overflow:ellipsis;white-space:nowrap;max-width:640px;overflow:hidden}.dirty-dot{background:var(--series-4);border-radius:50%;width:7px;height:7px;display:inline-block}.sql-textarea{background:var(--surface-1);border:0;border-radius:0;min-height:240px;padding:14px 16px;font-size:13.5px}.sql-textarea:focus{box-shadow:none}.sql-foot{border-top:1px solid var(--border);background:var(--surface-2);padding:7px 14px;font-size:11.5px}.sql-result{flex-direction:column;gap:10px;padding:12px;display:flex}.sql-result-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=1000px){.sql-layout2{grid-template-columns:1fr}.sql-side{max-height:none;position:static}}.dash-switch{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:14px;padding-bottom:12px;display:flex}.dash-switch .db-tab{background:0 0;border-color:#0000;align-items:center;gap:6px;font-size:13px;display:inline-flex}.dash-switch .db-tab:hover{background:var(--surface-2);color:var(--text-primary)}.dash-switch .db-tab.active{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-sm,0 1px 2px #0000000f);font-weight:600}.dash-switch .db-tab.add{color:var(--accent)}.dash-head{margin-bottom:10px}.btn.icon.active{background:var(--surface-2)}.page-tabs{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;margin-bottom:12px;display:flex;overflow-x:auto}.page-tab{border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;display:flex}.page-tab>button:first-child{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:9px 14px;font-size:13.5px;font-weight:500}.page-tab:hover>button:first-child{color:var(--text-primary)}.page-tab.active{border-bottom-color:var(--accent)}.page-tab.active>button:first-child{color:var(--text-primary);font-weight:650}.page-tab-x{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;margin-right:4px;padding:2px;display:grid}.page-tab-x:hover{background:var(--surface-2);color:var(--danger,#e34948)}.page-tab-input{border:1px solid var(--accent);font:inherit;background:var(--surface-1);width:140px;color:var(--text-primary);border-radius:6px;margin:3px 4px;padding:5px 8px;font-size:13.5px}.page-tab-add{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:9px 12px;font-size:13px;display:inline-flex}.page-tab-add:hover{background:var(--accent-soft);border-radius:6px 6px 0 0}.dash-canvas{border-radius:14px;min-height:240px;transition:background .2s}.dash-canvas:not(.dash-bg-default){padding:14px}.dash-bg-default{background:0 0}.dash-bg-soft{background:var(--surface-2)}.dash-bg-slate{background:color-mix(in srgb, #64748b 16%, var(--bg))}.dash-bg-blue{background:color-mix(in srgb, #2a78d6 13%, var(--bg))}.dash-bg-sand{background:color-mix(in srgb, #c98500 11%, var(--bg))}.dash-bg-night{background:#0f1729}.dash-bg-night .add-widget-tile{color:#cbd5e1;border-color:#fff3}.add-widget-tile{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-1) 60%, transparent);width:100%;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:12px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.add-widget-tile:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.add-widget-tile.big{flex-direction:column;gap:6px;margin-top:0;padding:48px 20px}.add-widget-tile.big b{color:var(--text-primary);font-size:15px}.add-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.dash-settings{width:330px;padding:14px;right:0}.bg-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.bg-tile{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);flex-direction:column;border-radius:9px!important;align-items:stretch!important;gap:6px!important;padding:6px!important;font-size:12px!important;display:flex!important}.bg-tile.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);color:var(--text-primary)}.bg-tile:not(label){font:inherit}.bg-mini{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr 1fr;gap:3px;height:40px;padding:4px;display:grid}.bg-mini i{background:var(--surface-1);border-radius:3px}.bg-mini i:first-child{grid-column:span 2}.bg-tile.dash-bg-default .bg-mini{background:var(--bg)}.bg-tile.dash-bg-soft .bg-mini{background:var(--surface-2)}.bg-tile.dash-bg-slate .bg-mini{background:color-mix(in srgb, #64748b 16%, var(--bg))}.bg-tile.dash-bg-blue .bg-mini{background:color-mix(in srgb, #2a78d6 13%, var(--bg))}.bg-tile.dash-bg-sand .bg-mini{background:color-mix(in srgb, #c98500 11%, var(--bg))}.bg-tile.dash-bg-night .bg-mini{background:#0f1729}.bg-tile[class*=dash-bg-]{background:var(--surface-1)}.widget.bg-muted{background:var(--surface-2)}.widget.bg-tint{background:color-mix(in srgb, var(--accent) 7%, var(--surface-1));border-color:color-mix(in srgb, var(--accent) 25%, var(--border))}.widget.bg-transparent{background:0 0;border-color:#0000}.editing .widget.bg-transparent{border:1px dashed var(--border-strong)}.widget.bg-custom{border-color:#00000014}.widget.title-sm .widget-head h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:12.5px}.widget.title-lg .widget-head h3{font-size:17px;font-family:var(--font-display);letter-spacing:-.01em;font-weight:800}.wf-badge{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.wf-badge:hover{background:var(--accent);color:var(--on-accent,#fff)}.move-select{color:var(--text-secondary);cursor:pointer;appearance:none;text-align:center;background:0 0;border:0;border-radius:6px;width:30px;padding:2px 4px;font-size:14px}.move-select:hover{background:var(--surface-2)}.kpi.center{text-align:center;align-items:center}.kpi-target{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.kpi-bar{background:var(--grid-line);border-radius:3px;flex:0 0 90px;height:6px;overflow:hidden}.kpi-bar span{background:var(--series-1);border-radius:3px;height:100%;display:block}.kpi-target.ok .kpi-bar span{background:var(--series-3)}.wtabs{border-bottom:1px solid var(--border);gap:2px;margin:-6px 0 16px;display:flex}.wtabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 14px;font-size:13.5px;font-weight:550;display:inline-flex}.wtabs button:hover{color:var(--text-primary)}.wtabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.editor-layout{grid-template-columns:380px 1fr}.preview-wrap{flex-direction:column;min-width:0;display:flex}.preview-box{background:var(--bg);border:0;border-radius:12px;height:420px;padding:16px}.preview-box .widget{height:100%}.gallery{flex-direction:column;gap:18px;display:flex}.gallery-head{align-items:baseline;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.gallery-head b{text-transform:uppercase;letter-spacing:.06em;font-size:13px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gallery-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:12px;padding:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.gallery-card:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.gallery-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gallery-card:disabled{opacity:.45;cursor:not-allowed}.gallery-thumb{background:var(--surface-2);height:64px;color:var(--text-primary);border-radius:8px;margin-bottom:8px;padding:8px 10px}.gallery-name{font-size:13.5px;font-weight:650}.gallery-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.style-sec{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:14px;display:flex}.style-sec:last-of-type{border-bottom:0}.style-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:11.5px;font-weight:700}.check{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.checks{flex-wrap:wrap;gap:16px;display:flex}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid var(--surface-1);width:26px;height:26px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;color:var(--text-secondary);border-radius:7px;place-items:center;padding:0;font-weight:700;display:grid;position:relative}.swatch.on{box-shadow:0 0 0 2px var(--text-primary)}.swatch.custom{background:var(--surface-2)}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.bg-presets{flex-wrap:wrap;gap:6px;display:flex}.bg-preset{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:8px;padding:6px 12px;font-size:12.5px}.bg-preset.bg-muted{background:var(--surface-2)}.bg-preset.bg-tint{background:color-mix(in srgb, var(--accent) 9%, var(--surface-1))}.bg-preset.bg-transparent{background:0 0;border-style:dashed}.bg-preset.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);color:var(--text-primary);font-weight:600}.wfilter-list{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (width<=900px){.editor-layout{grid-template-columns:1fr}}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);align-items:center;gap:8px;margin:26px 0 12px;font-size:12px;font-weight:700;display:flex}.welcome{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--surface-1)), var(--surface-1));align-items:center;gap:24px;padding:36px;display:flex}.welcome h2{font-family:var(--font-display);margin:0 0 6px;font-size:22px;font-weight:800}.welcome p{color:var(--text-secondary);max-width:560px;margin:0 0 16px}.space-avatar{color:#fff;font-weight:800;font-family:var(--font-display);border-radius:28%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 -8px 16px #0000001f}.recent-row{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.recent-item{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.recent-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm,0 2px 6px #0000000f)}.recent-item b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;display:block;overflow:hidden}.recent-item .hint{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.space-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.space-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:14px;flex-direction:column;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.space-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-2px)}.space-card-top{align-items:center;gap:12px;display:flex}.space-card-top b{font-size:16px;font-family:var(--font-display);font-weight:800;display:block}.space-card-top .hint{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.space-stats{color:var(--text-secondary);gap:16px;font-size:12.5px;display:flex}.space-stats b{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-right:3px;font-size:15px}.space-card.add{color:var(--accent);background:0 0;border-style:dashed;justify-content:center;align-items:center;min-height:150px}.space-head{align-items:center;gap:16px;margin-bottom:18px;display:flex}.space-head .sub{color:var(--text-muted);font-size:13px}.space-head .title-input{font-size:24px}.create-row{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.create-card{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.create-card>span:nth-child(2){flex:1}.create-card b{font-size:14px;display:block}.create-card .hint{font-size:12px;display:block}.create-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.create-card.subtle{background:0 0;border-style:dashed}.app-icon{background:var(--surface-2);width:36px;height:36px;color:var(--text-secondary);border-radius:10px;flex:none;place-items:center;display:inline-grid}.app-icon.sm{border-radius:8px;width:30px;height:30px}.app-icon.dashboard{background:color-mix(in srgb, #2a78d6 14%, var(--surface-1));color:#2a78d6}.app-icon.report{background:color-mix(in srgb, #6250d6 14%, var(--surface-1));color:#7a6af0}.app-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.app-card-wrap{position:relative}.app-card{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;height:100%;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.app-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.app-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-right:30px;display:flex}.app-card-name{font-family:var(--font-display);font-size:16px;font-weight:800}.app-card-meta{color:var(--text-muted);font-size:12px}.app-card-actions{gap:6px;margin-top:12px;display:flex}.card-menu{position:absolute;top:12px;right:12px}.card-menu summary{cursor:pointer;color:var(--text-muted);border-radius:6px;padding:4px;list-style:none;display:grid}.card-menu summary::-webkit-details-marker{display:none}.card-menu summary:hover{background:var(--surface-2);color:var(--text-primary)}.card-menu-pop{z-index:20;background:var(--surface-1);border:1px solid var(--border-strong);min-width:220px;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:30px;right:0}.card-menu-pop button{text-align:left;cursor:pointer;color:var(--text-primary);background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px}.card-menu-pop button:hover{background:var(--surface-2)}.card-menu-pop button.danger{color:var(--danger,#e34948)}.state-chip{white-space:nowrap;background:var(--surface-2);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:650;display:inline-flex}.state-chip.live{color:#12925f;background:#1baf7a29}.state-chip.changed{color:#a86f00;background:#eda1002e}.live-dot{background:#1baf7a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #1baf7a4d}.kind-chip{border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:650;display:inline-flex}.kind-chip.dashboard{color:#2a78d6;background:#2a78d624}.kind-chip.report{color:#7a6af0;background:#6250d629}.step-title{align-items:center;gap:8px;margin-top:4px;font-size:13px;font-weight:700;display:flex}.step-title span{background:var(--accent);width:22px;height:22px;color:var(--on-accent,#fff);border-radius:50%;place-items:center;font-size:12px;display:grid}.kind-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kind-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.kind-card .hint{font-size:12px}.kind-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kind-art{background:var(--surface-2);border-radius:8px;place-items:center;height:74px;margin-bottom:6px;display:grid}.kind-art svg{width:96px;height:60px}.kind-art rect{fill:color-mix(in srgb, var(--accent) 30%, var(--surface-1))}.kind-card.on .kind-art rect{fill:color-mix(in srgb, var(--accent) 55%, var(--surface-1))}.kind-art rect.page{stroke:var(--border-strong);fill:var(--surface-1)!important}.studio-editor{flex-direction:column;height:calc(100vh - 52px);display:flex}.se-top{border-bottom:1px solid var(--border);background:var(--surface-1);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.se-sep{color:var(--text-muted)}.se-name{font:inherit;font-family:var(--font-display);color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;min-width:120px;max-width:320px;padding:4px 6px;font-size:17px;font-weight:800}.se-name:hover{border-color:var(--border)}.se-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.se-main{flex:1;grid-template-columns:320px 1fr;min-height:0;display:grid}.se-left{border-right:1px solid var(--border);background:var(--surface-1);flex-direction:column;min-height:0;display:flex;overflow:hidden}.se-canvas{background:var(--bg);min-width:0;padding:18px 22px 40px;overflow:auto}.elements-toggle.active{border-color:var(--accent);color:var(--accent)}.elements-menu{z-index:60;background:var(--surface-1);border:1px solid var(--border-strong);width:380px;max-height:calc(100vh - 140px);box-shadow:var(--shadow-lg);border-radius:14px;padding:12px;animation:.16s ease-out drop;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.elements-hint{color:var(--text-muted);margin-bottom:4px;font-size:12px}.elements-group{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:12px 0 6px;font-size:11px;font-weight:700}.elements-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.element-item{cursor:grab;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:11.5px;display:flex}.element-item:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.element-item:active{cursor:grabbing}.element-item:disabled{opacity:.4;cursor:not-allowed}.element-icon{background:var(--surface-2);width:52px;height:34px;color:var(--text-primary);border-radius:7px;padding:4px 6px}.element-item:hover .element-icon{background:var(--surface-1)}.pages-panel{flex-direction:column;gap:4px;padding:14px;display:flex;overflow:auto}.pp-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pp-list{flex-direction:column;gap:2px;display:flex}.pp-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13.5px;display:flex}.pp-item:hover{background:var(--surface-2)}.pp-item.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent);font-weight:600}.pp-num{background:var(--surface-2);width:20px;height:20px;color:var(--text-muted);border-radius:6px;flex:none;place-items:center;font-size:11px;display:grid}.pp-item.active .pp-num{background:var(--accent);color:var(--on-accent,#fff)}.pp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pp-input{min-width:0;font:inherit;border:1px solid var(--accent);background:var(--surface-1);color:var(--text-primary);border-radius:5px;flex:1;padding:2px 6px}.pp-count{color:var(--text-muted);font-size:11px}.pp-tools{gap:1px;display:none}.pp-item:hover .pp-tools{display:flex}.pp-item:hover .pp-count{display:none}.pp-tools button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px;display:grid}.pp-tools button:hover:not(:disabled){background:var(--surface-1);color:var(--text-primary)}.pp-tools button:disabled{opacity:.3}.pp-sec{flex-direction:column;gap:6px;margin-top:16px;display:flex}.pp-sec .filter-bar{background:0 0;border:0;flex-wrap:wrap;margin:0;padding:0}.pp-tip{background:var(--surface-2);color:var(--text-secondary);border-radius:10px;margin-top:auto;padding:12px;font-size:12.5px}.pp-tip ol{flex-direction:column;gap:3px;margin:6px 0 0;padding-left:18px;display:flex}.inspector{flex-direction:column;height:100%;min-height:0;animation:.18s ease-out slidein;display:flex}@keyframes slidein{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.insp-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 10px 10px 14px;display:flex}.insp-thumb{background:var(--surface-2);width:44px;height:30px;color:var(--text-primary);border-radius:7px;flex:none;padding:3px 5px}.insp-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:11px;font-weight:700}.insp-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;overflow:hidden}.insp-tabs{margin:0;padding:0 8px}.insp-tabs button{flex:1;justify-content:center;padding:10px 6px;font-size:13px}.insp-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow:auto}.insp-body .row{gap:8px}.insp-sec{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.insp-sec:last-child{border-bottom:0}.type-mini{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.type-mini button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;height:34px;color:var(--text-primary);border-radius:7px;padding:4px}.type-mini button:hover{border-color:var(--border-strong)}.type-mini button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--surface-1)}input[type=range]{width:100%;accent-color:var(--accent)}.grid-canvas{border-radius:14px;min-height:calc(100vh - 200px);transition:background .2s,box-shadow .15s;position:relative}.grid-canvas.editing{background-image:radial-gradient(circle, color-mix(in srgb, var(--text-muted) 28%, transparent) 1px, transparent 1.2px);background-size:22px 22px;padding:4px}.grid-canvas.editing.dash-canvas:not(.dash-bg-default){background-size:22px 22px}.grid-canvas.drop-over,.report-page.drop-over{box-shadow:inset 0 0 0 2px var(--accent)}.canvas-empty{color:var(--text-muted);border:1.5px dashed var(--border-strong);pointer-events:none;border-radius:14px;place-items:center;font-size:14px;display:grid;position:absolute;inset:40px}.grid-canvas.editing .widget{cursor:move}.widget.shadow-soft{box-shadow:0 6px 18px #1018281a}.widget.shadow-strong{box-shadow:0 16px 40px #1018283d}.widget.gloss{position:relative}.widget.gloss:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffffff61 0%,#ffffff14 38%,#fff0 52%);position:absolute;inset:0}.widget.tone-light{color:#f5f7fb;--text-primary:#f5f7fb;--text-secondary:#d5dbe6;--text-muted:#aab4c4;--grid-line:#ffffff24;--axis:#ffffff4d}.widget.tone-dark{color:#101828;--text-primary:#101828;--text-secondary:#344054;--text-muted:#667085;--grid-line:#1018281a;--axis:#10182840}.widget.bare{box-shadow:none;background:0 0;border:0}.widget.bare .widget-body{padding:0;display:grid}.widget-tools{z-index:3;position:absolute;top:6px;right:6px}.action-btn{border-radius:inherit;border:1px solid var(--accent);background:var(--accent);width:100%;height:100%;color:var(--on-accent,#fff);cursor:pointer;border-radius:10px;font-size:14px;font-weight:650;transition:filter .12s,transform .12s}.action-btn:hover{filter:brightness(1.08)}.action-btn:active{transform:translateY(1px)}.slicer-list,.slicer-dd{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex}.slicer-opts{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow:auto}.slicer-opts label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.slicer-opts label:hover{background:var(--surface-2)}.slicer-dd{justify-content:center;position:relative}.slicer-dd-btn{border:1px solid var(--border-strong);background:var(--surface-1);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;display:flex}.slicer-dd-btn span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slicer-pop{flex-direction:column;gap:6px;width:auto;max-height:300px;display:flex;top:100%;left:0;right:0}.slicer-chips{flex-wrap:wrap;align-content:flex-start;gap:6px;height:100%;display:flex;overflow:auto}.input.sm{padding:5px 8px;font-size:12.5px}.w-slicer .widget-body{overflow:visible}:is(.grid-cell:has(.slicer-pop),.report-frame:has(.slicer-pop)){z-index:20}.report-wrap{justify-content:center;width:100%;padding:6px 0 24px;display:flex}.report-page{background:var(--surface-1);border-radius:6px;flex:none;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000014,0 12px 40px #10182824}.report-page.dash-bg-default{background:var(--surface-1)}.report-inner{transform-origin:0 0;position:absolute;top:0;left:0}.report-page.editing .report-inner{background-image:radial-gradient(circle, color-mix(in srgb, var(--text-muted) 22%, transparent) 1px, transparent 1.2px);background-size:16px 16px}.report-frame{position:absolute}.report-page.editing .report-frame{cursor:move;touch-action:none}.report-frame>.widget{height:100%}.report-frame:hover>.widget:not(.selected){box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent)}.report-frame.sel{z-index:5}.frame-resize{background:var(--surface-1);border:2px solid var(--accent);cursor:nwse-resize;opacity:0;z-index:6;border-radius:3px;width:12px;height:12px;position:absolute;bottom:-5px;right:-5px}.report-frame:hover .frame-resize,.report-frame.sel .frame-resize{opacity:1}.frame-pos{background:var(--accent);color:var(--on-accent,#fff);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;top:-24px;left:0}.page-tabs.compact{margin-bottom:12px}.live-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.live-head h1{font-size:24px;font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}.live-crumb{color:var(--text-muted);font-size:12.5px}.live-crumb button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}@media (width<=1000px){.se-main{grid-template-columns:1fr}.se-left{border-right:0;border-bottom:1px solid var(--border);max-height:45vh}}.studio-editor{height:calc(100vh - 52px)}.se-top{box-shadow:0 1px 0 var(--border), 0 4px 14px #1018280a;z-index:40;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 14px;display:grid;position:relative}.se-group{align-items:center;gap:6px;min-width:0;display:flex}.se-group.right{justify-content:flex-end}.tb-div{background:var(--border);width:1px;height:22px;margin:0 4px}.tb-btn span{font-size:13px}.tb-btn.active{background:var(--surface-2)}.ok-tick{color:#1baf7a;margin-left:2px;font-weight:800}.mode-switch{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.mode-switch button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.mode-switch button.on{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 3px #1018281f}.mode-switch button:nth-child(2).on{color:#12925f}.btn.deploy{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #6250d6));color:var(--on-accent,#fff);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 40%, transparent);border:0;padding:7px 10px 7px 14px;font-weight:650}.btn.deploy:hover:not(:disabled){filter:brightness(1.08)}.btn.deploy:disabled{opacity:.7;box-shadow:none}.deploy-state{background:#ffffff38;border-radius:999px;margin-left:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.deploy-state.changed{color:#241800;background:#eda100}.deploy-state.draft{color:color-mix(in srgb, var(--accent) 80%, #000);background:#ffffffe6}.tb-pop{width:340px;padding:14px;top:calc(100% + 8px);right:0}.versions-pop .row{display:flex}.ver-list{flex-direction:column;gap:2px;max-height:300px;display:flex;overflow:auto}.ver-item{border-radius:8px;align-items:center;gap:8px;padding:7px 6px;font-size:13px;display:flex}.ver-item:hover{background:var(--surface-2)}.ver-item>span:nth-child(2){flex:1;min-width:0}.ver-item b{display:block}.ver-item small{color:var(--text-muted);font-size:11.5px}.ver-item.live{background:#1baf7a1a}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12.5px;font-weight:600}.link-btn.danger{color:var(--danger,#e34948)}.link-btn:hover{text-decoration:underline}.se-main{grid-template-columns:320px 1fr auto}.studio-editor.is-view .se-main{grid-template-columns:1fr auto}.se-canvas{flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.model-banner{background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));border-radius:10px;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 12px;font-size:13px;display:flex}.view-tabs{border-bottom:0;margin:10px 20px 0}.stage{background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text-muted) 22%, transparent) 1px, transparent 0) 0 0 / 20px 20px, var(--bg);flex:1;justify-content:center;align-items:flex-start;padding:32px 32px 80px;display:flex;overflow:auto}.stage.viewing{background:var(--bg);padding:16px 16px 40px}.page-shell{box-sizing:content-box;flex:none;transition:box-shadow .2s,background .2s;position:relative}.page-shell.shadow-soft .free-page{box-shadow:0 1px 2px #1018280f,0 12px 32px #1018281a}.page-shell.shadow-strong .free-page{box-shadow:0 2px 6px #1018281f,0 28px 64px #10182842}.free-page{background:var(--bg);position:relative;overflow:hidden}.free-page.dash-bg-default{background:var(--bg)}.stage.editing .free-page.dash-bg-default{background:var(--surface-1)}:root:not([data-theme=light]) .stage.editing .free-page.dash-bg-default{background:color-mix(in srgb, var(--surface-1) 70%, var(--bg))}.free-inner{transform-origin:0 0;position:absolute;top:0;left:0}.page-grid{pointer-events:none;opacity:0;background-image:linear-gradient(to right, color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px);background-size:40px 40px;transition:opacity .2s;position:absolute;inset:0}.free-page.is-dragging .page-grid{opacity:1}.free-frame{touch-action:none;position:absolute}.stage.editing .free-frame{cursor:grab}.free-frame>.widget{height:100%;transition:box-shadow .18s,transform .18s}.free-frame.drag{z-index:50;cursor:grabbing}.free-frame.drag>.widget{opacity:.96;transform:scale(1.01);box-shadow:0 22px 48px #10182847!important}.free-page.is-dragging .free-frame:not(.drag)>.widget{opacity:.82}.widget.selected{box-shadow:var(--shadow-sm,0 2px 8px #0000000f)!important}.guide{pointer-events:none;z-index:60;position:absolute}.guide.x{border-left:1px solid #e0459b;width:0;top:0}.guide.y{border-top:1px solid #e0459b;height:0;left:0}.drop-ghost{border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);pointer-events:none;z-index:40;border-radius:12px;place-items:center;animation:1s ease-in-out infinite alternate pulse;display:grid;position:absolute}.drop-ghost span{background:var(--accent);color:var(--on-accent,#fff);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}@keyframes pulse{0%{background:color-mix(in srgb, var(--accent) 6%, transparent)}to{background:color-mix(in srgb, var(--accent) 16%, transparent)}}.hover-box{pointer-events:none;border:1.5px solid color-mix(in srgb, var(--accent) 60%, transparent);z-index:30;border-radius:12px;position:absolute}.hover-tag{background:color-mix(in srgb, var(--accent) 85%, #000);color:var(--on-accent,#fff);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;max-width:260px;padding:2px 7px;font-size:11px;font-weight:600;position:absolute;top:-22px;left:-1px;overflow:hidden}.sel-box{pointer-events:none;border:2px solid var(--accent);z-index:31;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:12px;position:absolute}.sel-box.moving{border-style:dashed}.sel-box .h{background:var(--surface-1);border:2px solid var(--accent);pointer-events:auto;border-radius:3px;width:11px;height:11px;transition:transform .12s;position:absolute}.sel-box .h:hover{background:var(--accent);transform:scale(1.35)}.h-nw{cursor:nwse-resize;top:-7px;left:-7px}.h-n{cursor:ns-resize;top:-7px;left:calc(50% - 6px)}.h-ne{cursor:nesw-resize;top:-7px;right:-7px}.h-e{cursor:ew-resize;top:calc(50% - 6px);right:-7px}.h-se{cursor:nwse-resize;bottom:-7px;right:-7px}.h-s{cursor:ns-resize;bottom:-7px;left:calc(50% - 6px)}.h-sw{cursor:nesw-resize;bottom:-7px;left:-7px}.h-w{cursor:ew-resize;top:calc(50% - 6px);left:-7px}.dim-tag{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;background:#0f1729;border-radius:6px;padding:3px 8px;font-size:11.5px;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.sel-tools{background:var(--surface-1);border:1px solid var(--border-strong);pointer-events:auto;border-radius:9px;gap:2px;padding:3px;animation:.14s ease-out drop;display:flex;position:absolute;top:-40px;right:-2px;box-shadow:0 8px 22px #10182829}.sel-tools button{cursor:pointer;width:28px;height:26px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.sel-tools button:hover{background:var(--surface-2);color:var(--text-primary)}.sel-tools button.danger:hover{color:#e34948;background:#e3494824}.canvas-empty{pointer-events:none;border:0;place-items:center;display:grid;position:absolute;inset:0}.empty-cta{pointer-events:auto;text-align:center;max-width:360px;color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;font-size:13.5px;display:flex}.empty-cta b{color:var(--text-primary);font-size:16px}.empty-art{color:#fff;background:linear-gradient(135deg,#2a78d6,#6250d6);border-radius:18px;place-items:center;width:60px;height:60px;margin-bottom:4px;display:grid;box-shadow:0 10px 26px #2a78d666}.zoom-ctl{background:var(--surface-1);border:1px solid var(--border-strong);z-index:20;border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;bottom:16px;right:16px;box-shadow:0 8px 22px #10182824}.zoom-ctl button{cursor:pointer;min-width:28px;height:28px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;place-items:center;padding:0 6px;font-size:12px;font-weight:600;display:grid}.zoom-ctl button:hover,.zoom-ctl button.on{background:var(--surface-2);color:var(--text-primary)}.zoom-val{font-variant-numeric:tabular-nums;min-width:72px!important}.elements-menu{width:400px;padding:12px}.el-cats{flex-wrap:wrap;gap:4px;margin:10px 0 2px;display:flex}.el-cats button{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.el-cats button i{background:var(--el-accent,var(--accent));border-radius:50%;width:7px;height:7px}.el-cats button.on{background:var(--text-primary);color:var(--surface-1);border-color:var(--text-primary)}.elements-grid{grid-template-columns:repeat(4,1fr);gap:4px}.element-item{border-radius:10px;padding:8px 2px 6px}.element-icon{background:color-mix(in srgb, var(--el-accent) 10%, var(--surface-1));border:1px solid color-mix(in srgb, var(--el-accent) 22%, transparent);width:44px;height:40px;color:var(--text-primary);border-radius:11px;place-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:grid}.element-item:hover:not(:disabled) .element-icon{box-shadow:0 6px 16px color-mix(in srgb, var(--el-accent) 30%, transparent);background:color-mix(in srgb, var(--el-accent) 16%, var(--surface-1));transform:translateY(-2px)}.element-label{font-size:11.5px;font-weight:550}.elements-foot{border-top:1px solid var(--border);color:var(--text-muted);margin-top:10px;padding-top:8px;font-size:11.5px}.action-opts{flex-direction:column;gap:6px;display:flex}.action-opt{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.action-opt b{font-size:13.5px;display:block}.action-opt .hint{font-size:12px}.action-opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.radio-dot{border:2px solid var(--border-strong);border-radius:50%;flex:none;width:16px;height:16px}.action-opt.on .radio-dot{border:5px solid var(--accent)}.btn-styles{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.bs-prev{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;height:58px;padding:10px 8px;display:grid}.bs-prev.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bs-prev .action-btn{pointer-events:none;white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-size:11.5px;overflow:hidden}.action-btn{--btn:var(--accent);background:var(--btn);border:1.5px solid var(--btn);color:var(--on-accent,#fff);border-radius:10px}.action-btn.bs-soft{background:color-mix(in srgb, var(--btn) 14%, transparent);color:var(--btn);border-color:#0000}.action-btn.bs-outline{color:var(--btn);background:0 0}.action-btn.bs-link{color:var(--btn);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.slicer-opts label.on{background:color-mix(in srgb, var(--accent) 9%, transparent);font-weight:600}.slicer-opts .all-opt{color:var(--text-muted);border-bottom:1px solid var(--border);border-radius:0;margin-bottom:2px}.slicer-opts input{accent-color:var(--accent)}.slicer-dd-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.slicer-dd-btn .chev{transition:transform .15s}.slicer-dd-btn.open .chev{transform:rotate(180deg)}.slicer-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-content:start;gap:6px;height:100%;display:grid;overflow:auto}.tile-opt{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;color:var(--text-primary);border-radius:10px;padding:12px 8px;font-size:13px;font-weight:600;transition:all .12s}.tile-opt:hover{border-color:var(--accent)}.tile-opt.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent)}.slicer-range{flex-direction:column;justify-content:center;gap:10px;height:100%;display:flex}.range-inputs{align-items:center;gap:6px;display:flex}.range-inputs .input{flex:1;min-width:0}.dual-range{height:22px;position:relative}.dual-range input[type=range]{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.dual-range input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;background:var(--surface-1);border:2px solid var(--accent);cursor:pointer;border-radius:50%;width:16px;height:16px}.dual-range input[type=range]::-moz-range-thumb{pointer-events:auto;background:var(--surface-1);border:2px solid var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px}.dr-track{background:var(--grid-line);border-radius:2px;height:4px;position:absolute;top:9px;left:0;right:0}.dr-track span{background:var(--accent);border-radius:2px;position:absolute;top:0;bottom:0}.form-picker{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.form-picker button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;color:var(--text-secondary);--el-accent:#1baf7a;border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11.5px;display:flex}.form-picker button.on{border-color:var(--accent);background:var(--surface-1);color:var(--text-primary);box-shadow:0 0 0 2px var(--accent-soft)}.fpane{border-left:1px solid var(--border);background:var(--surface-1);flex-direction:column;width:290px;min-height:0;animation:.18s ease-out slideleft;display:flex}@keyframes slideleft{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.fpane-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 10px 10px 14px;display:flex}.fpane-body{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow:auto}.fpane-group{flex-direction:column;gap:6px;display:flex}.fpane-add{border:1.5px dashed var(--border-strong);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:600;display:flex}.fpane-add:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.fpane-collapsed{border:0;border-left:1px solid var(--border);background:var(--surface-1);cursor:pointer;width:40px;color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:14px 0;display:flex;position:relative}.fpane-collapsed:hover{background:var(--surface-2);color:var(--text-primary)}.fpane-vert{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.fpane-badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent,#fff);border-radius:9px;place-items:center;font-size:11px;font-weight:700;display:grid}.fcard{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;transition:border-color .15s;overflow:hidden}.fcard.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:inset 3px 0 0 var(--accent)}.fcard-head{cursor:pointer;align-items:center;gap:8px;padding:8px 8px 8px 10px;display:flex}.fcard-head:hover{background:var(--surface-2)}.fcard-head b{font-size:13px;display:block}.fcard-sum{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.fcard.active .fcard-sum{color:var(--accent);font-weight:600}.fcard-x{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px;display:grid}.fcard-x:hover{background:var(--surface-1);color:var(--text-primary)}.fcard-body{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:4px 10px 10px;display:flex}.fcard-opts{align-items:center;gap:6px;padding-top:6px;display:flex}.fcard-opts .select{flex:1;min-width:0}.seg.mini button{padding:3px 8px;font-size:11.5px}.fcard-list{flex-direction:column;gap:1px;max-height:220px;display:flex;overflow:auto}.fcard-list label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.fcard-list label:hover{background:var(--surface-2)}.fcard-list label.on{font-weight:600}.fcard-list input{accent-color:var(--accent)}.pages-panel{gap:0;height:100%;padding:0}.pages-panel>.insp-tabs{padding:0 8px}.pp-body{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow:auto}.pp-item{gap:10px;padding:6px}.pp-thumb{border:1px solid var(--border-strong);background:var(--surface-1);border-radius:6px;flex:none;place-items:center;width:54px;height:34px;display:grid;overflow:hidden}.pp-mini{width:100%;height:100%;color:var(--text-muted);place-items:center;font-size:12px;font-weight:700;display:grid}.pp-item.active .pp-thumb{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pp-name small{color:var(--text-muted);font-size:11px;font-weight:400;display:block}.pp-add{border:1.5px dashed var(--border-strong);color:var(--accent);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:13px;font-weight:600;display:flex}.pp-add:hover{background:var(--accent-soft);border-color:var(--accent)}.pp-tip ul{flex-direction:column;gap:5px;margin:6px 0 0;padding:0;list-style:none;display:flex}kbd{border:1px solid var(--border-strong);background:var(--surface-1);box-shadow:0 1px 0 var(--border-strong);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.format-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.format-grid button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:9px;align-items:center;gap:8px;padding:8px;font-size:12.5px;display:flex}.format-grid button.on{border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 0 2px var(--accent-soft)}.fmt-shape{border:1.5px solid;border-radius:2px;width:22px;max-height:22px;display:block}.xywh{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.xywh.two{grid-template-columns:1fr 1fr}.xywh label{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.xywh .input{min-width:0;padding:5px 6px}.color-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.color-row input[type=color]{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:6px;width:40px;height:26px;padding:0}.swatch.none{background:repeating-linear-gradient(45deg, var(--surface-2) 0 4px, var(--surface-1) 4px 8px)!important}.table-styles{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.table-styles button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:11px;display:flex}.table-styles button.on{border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 0 2px var(--accent-soft)}.ts-prev{border-radius:3px;flex-direction:column;gap:1px;width:38px;height:26px;display:flex;overflow:hidden}.ts-prev i{background:var(--surface-2);flex:1}.ts-prev i:first-child{background:var(--text-muted);opacity:.6}.ts-striped i:nth-child(3){background:var(--border-strong)}.ts-grid{border:1px solid var(--border-strong)}.ts-grid i{border-bottom:1px solid var(--border-strong)}.ts-minimal i{border-bottom:1px solid var(--border);background:0 0}.ts-minimal i:first-child{border-bottom:2px solid var(--text-muted);background:0 0}.ts-bold i:first-child{background:var(--accent);opacity:1}.insp-thumb{background:color-mix(in srgb, var(--el-accent) 12%, var(--surface-1));border:1px solid color-mix(in srgb, var(--el-accent) 25%, transparent);place-items:center;width:38px;height:34px;display:grid}.type-mini button{--el-accent:#2a78d6;place-items:center;height:38px;display:grid}table.data .dval{z-index:1;position:relative}table.data td.num{position:relative}table.data .dbar{opacity:.22;border-radius:3px;max-width:calc(100% - 8px);position:absolute;top:22%;bottom:22%;right:4px}table.data tfoot td{border-top:2px solid var(--border-strong);background:var(--surface-2);font-weight:700;position:sticky;bottom:0}table.data.d-compact td,table.data.d-compact th{padding-top:3px;padding-bottom:3px}table.data.d-comfortable td,table.data.d-comfortable th{padding-top:11px;padding-bottom:11px}table.data.t-striped tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}table.data.t-grid td,table.data.t-grid th{border:1px solid var(--grid-line)}table.data.t-minimal th{border-bottom:2px solid var(--text-primary);text-transform:none;background:0 0}table.data.t-minimal td{border-bottom-color:#0000}table.data.t-bold th{background:var(--accent);color:var(--on-accent,#fff)}table.data.t-bold tbody tr td:first-child{font-weight:650}.live-page{flex-direction:column;height:calc(100vh - 52px);display:flex}.live-head{border-bottom:1px solid var(--border);background:var(--surface-1);margin:0;padding:14px 24px 10px}.live-head .view-tabs{margin:0 0 0 16px}.live-main{flex:1;min-height:0;display:flex}.live-canvas{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}@media (width<=1100px){.se-main{grid-template-columns:280px 1fr auto}.tb-btn span{display:none}}@media (width<=900px){.se-top,.se-main{grid-template-columns:1fr}.fpane,.fpane-collapsed{display:none}}.elements-menu.dragging-out{opacity:0;pointer-events:none;transition:opacity .12s}.se-top{flex-wrap:nowrap;display:flex}.se-top>.se-group:first-child{flex:auto;overflow:hidden}.se-top>.se-group.right{flex:none}.kind-chip,.model-chip{white-space:nowrap;flex:none}.se-name{flex:0 260px;min-width:80px}.fpane{width:264px}@media (width<=1400px){.tb-btn span,.se-top .model-chip{display:none}.kind-chip{gap:0;padding:5px;font-size:0}}.frame-shield{z-index:5;cursor:grab;border-radius:12px;position:absolute;inset:0}.free-frame.drag .frame-shield{cursor:grabbing}.free-frame.interact{z-index:40}.free-frame.interact>.widget{box-shadow:0 0 0 2px #1baf7a,0 12px 30px #1018282e!important}.interact-tag{color:#fff;white-space:nowrap;z-index:41;pointer-events:none;background:#1baf7a;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:-26px;left:8px}.free-frame.is-hidden>.widget{opacity:.45;outline:1.5px dashed var(--border-strong);outline-offset:-1px}.free-frame.is-hidden:after{content:"in Live ausgeblendet";z-index:6;background:var(--surface-2);color:var(--text-muted);pointer-events:none;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:600;position:absolute;bottom:6px;right:6px}.marquee{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);z-index:60;pointer-events:none;border-radius:4px;position:absolute}.sel-box.multi{box-shadow:none;border-width:1.5px}.group-box{border:1.5px dashed var(--accent);z-index:32;pointer-events:none;border-radius:14px;position:absolute}.group-box .dim-tag{background:var(--accent);top:-30px;bottom:auto;left:0;transform:none}.group-box .sel-tools{top:-42px;right:-2px}.stage.editing .free-frame:not(.sel):hover>.widget{box-shadow:0 6px 18px #1018281a}.align-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.align-grid button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;font-size:11.5px;display:flex}.align-grid button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.align-grid button:disabled{opacity:.4;cursor:default}.al{width:22px;height:18px;display:block;position:relative}.al i{opacity:.8;background:currentColor;border-radius:2px;position:absolute}.al-l i:first-child{width:14px;height:5px;top:2px;left:0}.al-l i:nth-child(2){width:20px;height:5px;top:10px;left:0}.al-l:before,.al-t:before{content:"";background:var(--accent);position:absolute}.al-l:before{width:1.5px;top:0;bottom:0;left:-2px}.al-c i:first-child{width:14px;height:5px;top:2px;left:4px}.al-c i:nth-child(2){width:20px;height:5px;top:10px;left:1px}.al-r i:first-child{width:14px;height:5px;top:2px;right:0}.al-r i:nth-child(2){width:20px;height:5px;top:10px;right:0}.al-t i:first-child{width:6px;height:12px;top:0;left:3px}.al-t i:nth-child(2){width:6px;height:17px;top:0;left:12px}.al-t:before{height:1.5px;top:-2px;left:0;right:0}.al-m i:first-child{width:6px;height:12px;top:3px;left:3px}.al-m i:nth-child(2){width:6px;height:18px;top:0;left:12px}.al-b i:first-child{width:6px;height:12px;bottom:0;left:3px}.al-b i:nth-child(2){width:6px;height:17px;bottom:0;left:12px}.al-dh i{width:5px;height:10px;top:4px}.al-dh i:first-child{left:0}.al-dh i:nth-child(2){left:8.5px}.al-dh i:nth-child(3){right:0}.al-dv i{width:14px;height:4px;left:4px}.al-dv i:first-child{top:0}.al-dv i:nth-child(2){top:7px}.al-dv i:nth-child(3){bottom:0}.al-w i:first-child{width:18px;height:5px;top:2px;left:2px}.al-w i:nth-child(2){opacity:.5;width:18px;height:5px;top:10px;left:2px}.al-h i:first-child{width:6px;height:16px;top:1px;left:3px}.al-h i:nth-child(2){opacity:.5;width:6px;height:16px;top:1px;left:12px}.al.sm{transform:scale(.8)}.insp-thumb.multi{color:var(--accent);font-size:16px;font-weight:800}.multi-panel{flex-direction:column;min-height:0;display:flex}.w-section>.widget-body{flex-direction:column;padding:0;display:flex}.section-tabs{border-bottom:1px solid var(--border);flex:none;align-items:flex-end;gap:2px;height:40px;padding:0 10px;display:flex;overflow-x:auto}.section-tabs button{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2.5px solid #0000;border-radius:6px 6px 0 0;padding:8px 12px 9px;font-size:13px;font-weight:600}.section-tabs button:hover{color:var(--text-primary);background:var(--surface-2)}.section-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.section-body{flex:1;min-height:0;position:relative;overflow:hidden}.section-body.scroll{overflow:hidden auto}.page-shell.nested{box-sizing:border-box}.free-page.nested{overflow:visible;background:0 0!important}.section-empty{border:1.5px dashed var(--border-strong);color:var(--text-muted);pointer-events:none;border-radius:10px;place-items:center;font-size:13px;display:grid;position:absolute;inset:12px}.free-page.nested .canvas-empty{inset:0}.tab-editor{flex-direction:column;gap:4px;display:flex}.te-row{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;align-items:center;gap:4px;padding:5px 6px 5px 10px;display:flex}.te-row>span{cursor:text;flex:1;font-size:13px;font-weight:600}.te-row .input{flex:1}.te-row button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px;display:grid}.te-row button:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.te-row button:disabled{opacity:.3}.slicer-bar{border:1px solid var(--border);background:var(--surface-2);scrollbar-width:thin;border-radius:10px;gap:0;padding:3px;display:flex;overflow-x:auto}.slicer-bar button{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:none;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.slicer-bar button:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-1) 60%, transparent)}.slicer-bar button.on{background:var(--surface-1);color:var(--accent);box-shadow:0 1px 3px #1018281f}.picto{align-items:center;gap:14px;height:100%;display:flex}.picto.fill .picto-shape{aspect-ratio:1;flex:none;width:auto;height:100%;max-height:150px}.picto.row{flex-direction:column;justify-content:center;align-items:stretch;gap:8px}.picto-icons{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.picto-icons .picto-shape{width:100%;height:auto}.picto-fill{transition:y .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1),width .6s}.picto-text{flex-direction:column;min-width:0;display:flex}.picto-text b{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.1}.picto-text span{color:var(--text-secondary);font-size:12.5px}.picto-text small{color:var(--text-muted);margin-top:4px;font-size:12px}.shape-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.shape-grid button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;font-size:11px;display:flex}.shape-grid button.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-1))}.ktree{grid-template-columns:minmax(110px,34%) minmax(24px,12%) 1fr;align-items:center;height:100%;display:grid}.kt-root{background:linear-gradient(135deg, var(--kt), color-mix(in srgb, var(--kt) 60%, #6250d6));color:#fff;box-shadow:0 10px 26px color-mix(in srgb, var(--kt) 35%, transparent);border-radius:14px;flex-direction:column;gap:2px;padding:14px;display:flex}.kt-root b{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.1}.kt-cap,.kt-sub{opacity:.85;font-size:11.5px}.kt-lines{width:100%;height:100%;overflow:visible}.kt-lines path{fill:none;stroke:color-mix(in srgb, var(--kt) 55%, var(--border));stroke-width:2px}.kt-kids{flex-direction:column;justify-content:space-around;gap:6px;height:100%;padding:4px 0;display:flex}.kt-kid{border:1px solid var(--border);border-left:3px solid var(--kt);background:var(--surface-1);animation:kt-in .4s calc(var(--i) * 70ms) both;border-radius:10px;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:7px 10px;display:grid}.kt-kid.rest{border-left-color:var(--border-strong);opacity:.85}.kt-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.kt-kid b{font-size:16px;font-weight:750}.kt-share{color:var(--text-muted);grid-column:1/-1;align-items:center;gap:6px;font-size:11px;display:flex}.kt-share i{background:var(--kt);border-radius:4px;flex:none;max-width:70%;height:4px;display:block}@keyframes kt-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.traffic{justify-content:center;align-items:center;gap:14px;height:100%;display:flex}.traffic.vertical{flex-direction:column}.traffic-box{background:linear-gradient(#262d38,#12161d);border-radius:18px;gap:9px;padding:10px;display:flex;box-shadow:inset 0 1px #ffffff14,0 8px 20px #00000040}.traffic.vertical .traffic-box{aspect-ratio:1/2.7;flex-direction:column;height:min(78%,200px)}.traffic.horizontal .traffic-box{aspect-ratio:2.7;height:min(60%,72px)}.lamp{aspect-ratio:1;background:#333a45;border-radius:50%;flex:1;transition:background .3s,box-shadow .3s;box-shadow:inset 0 3px 6px #00000080}.lamp.red.on{background:radial-gradient(circle at 35% 35%,#ff8a8a,#e5484d 60%);box-shadow:0 0 18px 4px #e5484da6}.lamp.yellow.on{background:radial-gradient(circle at 35% 35%,#ffe28a,#f5b400 60%);box-shadow:0 0 18px 4px #f5b40099}.lamp.green.on{background:radial-gradient(circle at 35% 35%,#8bf0c4,#1baf7a 60%);box-shadow:0 0 18px 4px #1baf7a99}.lamp.blink{animation:1s steps(2,jump-none) infinite k-blink}@keyframes k-blink{50%{box-shadow:none;background:#3a2a2d}}.traffic-text{text-align:center;flex-direction:column;align-items:center;display:flex}.traffic.horizontal .traffic-text{text-align:left;align-items:flex-start}.traffic-text b{font-family:var(--font-display);font-size:22px;font-weight:800}.traffic-text span{color:var(--text-muted);font-size:12px}.dot{vertical-align:-1px;border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.dot.green{background:#1baf7a}.dot.yellow{background:#f5b400}.w-emoji>.widget-body{place-items:center;padding:6px;display:grid;container-type:size}.emoji-widget{place-items:center;width:100%;height:100%;display:grid}.emoji-widget span{filter:drop-shadow(0 6px 10px #00000026);font-size:min(72cqw,72cqh);line-height:1}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.emoji-grid button{background:var(--surface-2);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 0;font-size:20px}.emoji-grid button:hover{transform:scale(1.12)}.emoji-grid button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-1))}.html-widget{background:0 0;border:0;width:100%;height:100%;display:block}.w-html>.widget-body{padding:0}.textarea.code{font-family:var(--mono);font-size:12.5px}.link-widget{align-items:center;height:100%;display:flex}.link-widget a{color:var(--accent);align-items:center;gap:6px;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.link-widget a:hover span:not(.lw-arrow):not(.lw-ico){text-underline-offset:3px;text-decoration:underline}.link-widget .lw-arrow{transition:transform .15s}.link-widget a:hover .lw-arrow{transform:translate(2px,-1px)}.link-widget.ls-card a{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;width:100%;height:100%;padding:0 14px;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 8px #1018280f}.link-widget.ls-card a:hover{border-color:var(--accent);box-shadow:0 6px 18px #1018281a}.link-widget.ls-card .lw-arrow{margin-left:auto}.file-widget{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.file-head{align-items:center;gap:8px;min-width:0;display:flex}.file-head b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.file-head small{color:var(--text-muted);font-size:11.5px}.file-badge{color:#fff;letter-spacing:.02em;border-radius:5px;padding:3px 7px;font-size:10.5px;font-weight:700}.file-frame{border:1px solid var(--border);background:#fff;border-radius:8px;flex:1;width:100%}.file-sheet{border:1px solid var(--border);border-radius:8px;flex:1;min-height:0;overflow:auto}.file-text{background:var(--surface-2);border-radius:8px;flex:1;margin:0;padding:10px;font-size:12px;overflow:auto}.file-widget.card-like{text-align:center;justify-content:center;align-items:center}.file-big{color:#fff;border-radius:8px 22px 8px 8px;place-items:center;width:64px;height:76px;font-size:15px;font-weight:800;display:grid;box-shadow:0 8px 18px #0000002e}.file-widget.card-like small{color:var(--text-muted);font-size:12px}.image-wrap{border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden}.image-wrap .image-widget{width:100%;height:100%;transition:filter .2s,transform .2s;display:block}.image-overlay{mix-blend-mode:color;pointer-events:none;position:absolute;inset:0}.img-presets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.img-presets button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:4px;font-size:11.5px;display:flex}.img-presets button:hover{border-color:var(--accent)}.img-presets span{aspect-ratio:16/10;background-position:50%;background-size:cover;border-radius:6px;width:100%}.field.slider>span{justify-content:space-between;display:flex}.field.slider b{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.tool-row{flex-wrap:wrap;gap:6px}.anim-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.anim-grid button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:9px;flex-direction:column;align-items:center;gap:6px;padding:9px 2px 7px;font-size:11px;display:flex}.anim-grid button.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-1))}.anim-dot{background:var(--accent);border-radius:5px;width:16px;height:16px;display:block;position:relative;overflow:hidden}.anim-dot.anim-none{opacity:.35}.anim-grid button:hover .anim-dot.anim-pop,.widget.anim-pop{animation:.6s cubic-bezier(.2,.9,.3,1.3) both k-pop}.anim-dot.anim-pulse,.widget.anim-pulse{animation:2.2s ease-in-out infinite k-pulse}.anim-dot.anim-glow,.widget.anim-glow{animation:2.4s ease-in-out infinite k-glow}.anim-dot.anim-float,.widget.anim-float{animation:3.2s ease-in-out infinite k-float}.anim-dot.anim-blink,.widget.anim-blink{animation:1.4s ease-in-out infinite k-blinkw}.anim-dot.anim-shine:after,.widget.anim-shine:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#0000 35%,#ffffff8c 50%,#0000 65%) 0 0/250% 100%;animation:2.8s ease-in-out infinite k-shine;position:absolute;inset:0}.widget.anim-shine{position:relative}@keyframes k-pop{0%{opacity:0;transform:scale(.88)translateY(8px)}to{opacity:1;transform:none}}@keyframes k-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes k-glow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}50%{box-shadow:0 0 22px 4px color-mix(in srgb, var(--accent) 45%, transparent)}}@keyframes k-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes k-blinkw{0%,to{opacity:1}50%{opacity:.35}}@keyframes k-shine{0%{background-position:130% 0}60%,to{background-position:-30% 0}}.stage.editing .free-frame.drag>.widget,.stage.editing .free-frame.sel>.widget{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.widget[class*=anim-],.lamp.blink{animation:none!important}}.deploy-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.dl-page{border:1px solid var(--border);background:var(--surface-1);border-radius:10px}.dl-page.off{opacity:.6}.dl-head{align-items:center;gap:10px;padding:9px 12px;display:flex}.dl-head .check{flex:1}.dl-head .tag{background:var(--surface-2);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.dl-items{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:6px 8px 8px 30px;display:flex}.dl-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.dl-item:hover{background:var(--surface-2)}.dl-item.child{margin-left:22px}.dl-item small{color:var(--text-muted);margin-left:auto;font-size:11.5px}.dl-ico{color:var(--text-secondary);display:grid}.deploy-done{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px 8px 8px;display:flex;position:relative;overflow:hidden}.deploy-done h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:800}.deploy-done p{color:var(--text-secondary);margin:0}.dd-rocket{color:#fff;background:linear-gradient(135deg,#2a78d6,#6250d6 60%,#d55181);border-radius:24px;place-items:center;width:76px;height:76px;animation:1.1s cubic-bezier(.2,.9,.3,1.2) both k-launch;display:grid;box-shadow:0 16px 34px #6250d666}@keyframes k-launch{0%{opacity:0;transform:translateY(40px)scale(.6)rotate(-12deg)}60%{opacity:1;transform:translateY(-8px)scale(1.06)rotate(4deg)}to{transform:none}}.dd-pulse{color:#12925f;background:#1baf7a24;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-weight:650;animation:.5s .5s both k-pop;display:inline-flex}.dd-pulse .live-dot{animation:1.4s infinite k-ping}@keyframes k-ping{0%{box-shadow:0 0 #1baf7a99}to{box-shadow:0 0 0 10px #1baf7a00}}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-10px;left:calc(var(--i) * 3.6%);background:hsl(calc(var(--i) * 47deg) 80% 58%);width:7px;height:12px;animation:k-conf 1.8s calc(var(--i) * 35ms) cubic-bezier(.2,.6,.4,1) both;opacity:0;border-radius:2px;position:absolute}@keyframes k-conf{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(330px) rotate(calc(var(--i) * 67deg))}}.app.app-mode{grid-template-columns:1fr}.app.app-mode .main{flex-direction:column;display:flex;overflow:hidden}.lv-app{background:var(--bg);flex-direction:column;height:100%;min-height:0;display:flex}.lv-bar{background:var(--surface-1);border-bottom:1px solid var(--border);box-shadow:0 1px 0 color-mix(in srgb, var(--app) 30%, transparent);z-index:5;flex:none;align-items:center;gap:10px;min-height:56px;padding:8px 14px;display:flex;position:relative}.lv-bar:after{content:"";background:linear-gradient(90deg, var(--app), color-mix(in srgb, var(--app) 30%, #6250d6), transparent 70%);height:2px;position:absolute;bottom:-1px;left:0;right:0}.lv-home{background:var(--surface-2);cursor:pointer;width:34px;height:34px;color:var(--text-secondary);border:0;border-radius:10px;flex:none;place-items:center;display:grid}.lv-home:hover{color:var(--text-primary);background:color-mix(in srgb, var(--app) 14%, var(--surface-2))}.lv-icon{color:#fff;background:linear-gradient(135deg, var(--app), color-mix(in srgb, var(--app) 55%, #1e1b4b));width:34px;height:34px;box-shadow:0 4px 12px color-mix(in srgb, var(--app) 35%, transparent);border-radius:10px;flex:none;place-items:center;display:grid}.lv-title{flex-direction:column;min-width:0;max-width:260px;display:flex}.lv-title b{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:800;overflow:hidden}.lv-title small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.lv-tabs{background:var(--surface-2);border-radius:11px;gap:2px;min-width:0;margin-left:14px;padding:3px;display:flex;overflow-x:auto}.lv-tabs button{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.lv-tabs button:hover{color:var(--text-primary)}.lv-tabs button.on{background:var(--surface-1);color:var(--app);box-shadow:0 1px 4px #1018281f}.lv-live{color:#12925f;background:#1baf7a1f;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;font-weight:650;display:inline-flex}.lv-live .live-dot{animation:2s infinite k-ping}.lv-btn{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;width:34px;height:34px;color:var(--text-secondary);border-radius:10px;flex:none;place-items:center;display:grid;position:relative}.lv-btn:hover,.lv-btn.on{color:var(--app);border-color:color-mix(in srgb, var(--app) 50%, var(--border))}.lv-badge{background:var(--app);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.lv-body{flex:1;min-height:0;display:flex}.lv-canvas{flex:1;min-width:0;animation:.35s ease-out k-page;display:flex;overflow:auto}.lv-canvas>.stage{min-height:100%}@keyframes k-page{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lv-busy{color:var(--text-secondary);background:var(--surface-2);align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite k-spin;display:inline-block}@keyframes k-spin{to{transform:rotate(360deg)}}.lv-empty{place-items:center;height:100%;padding:24px;display:grid}.lv-body .fpane{animation:.2s ease-out slideleft}@media (width<=900px){.lv-title,.lv-live{display:none}}.launcher{flex-direction:column;gap:26px;margin-top:6px;display:flex}.ls-head{cursor:pointer;color:var(--text-primary);background:0 0;border:0;align-items:center;gap:9px;margin-bottom:10px;padding:4px 6px 4px 0;font-size:15px;display:inline-flex}.ls-head b{font-family:var(--font-display);font-weight:800}.ls-head:hover{color:var(--accent)}.launch-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 14px;display:grid}.launch-tile{cursor:pointer;color:var(--text-primary);text-align:center;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;transition:background .15s;display:flex}.launch-tile:hover{background:var(--surface-1)}.lt-icon{color:#fffffff2;background:linear-gradient(140deg, color-mix(in srgb, var(--app) 80%, #fff), var(--app) 45%, color-mix(in srgb, var(--app) 60%, #1e1b4b));width:72px;height:72px;box-shadow:0 10px 24px color-mix(in srgb, var(--app) 40%, transparent), inset 0 1px 0 #ffffff59;border-radius:22px;place-items:center;transition:transform .2s cubic-bezier(.2,.9,.3,1.3);display:grid;position:relative}.lt-icon:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff47,#0000 50%);position:absolute;inset:0}.lt-letter{font-family:var(--font-display);opacity:.85;font-size:13px;font-weight:800;position:absolute;bottom:5px;right:7px}.launch-tile:hover .lt-icon{transform:translateY(-3px)scale(1.05)}.launch-tile b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13.5px;font-weight:650;overflow:hidden}.launch-tile small{color:var(--text-muted);font-size:11.5px}.icon-btn{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:9px;place-items:center;transition:color .12s,border-color .12s,background .12s;display:grid}.icon-btn:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--surface-1))}.icon-btn:disabled{opacity:.4;cursor:default}.space-card{border-top:3px solid var(--sp,var(--accent))}.space-card.add{border-top-width:1px}.sidebar-foot{gap:10px;padding:12px 4px 2px}.sf-status{align-items:center;gap:12px;padding:0 4px;font-size:11.5px;display:flex}.sf-status>span{align-items:center;display:inline-flex}.status-dot.busy{background:#f5b400}.sf-theme{color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.sf-theme:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.user-card{border:1px solid var(--sidebar-border);background:#ffffff0a;border-radius:11px;align-items:center;gap:9px;padding:8px;display:flex}.user-card .avatar{color:#fff;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #6250d6));border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.uc-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.uc-text b{color:var(--sidebar-text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:650;overflow:hidden}.uc-text small{white-space:nowrap;text-overflow:ellipsis;opacity:.8;font-size:11px;overflow:hidden}.uc-out{color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.uc-out:hover{color:#ff8a8a;background:#e5484d29}.brand{border-bottom:1px solid var(--sidebar-border);margin:0 -4px 6px;padding:4px 8px 18px}.pp-tools button.on{color:var(--accent)}.space-grid>.app-card-wrap{display:flex}.space-grid>.app-card-wrap>.space-card{flex:1}.btn.danger-solid{color:#fff;background:#e5484d;border-color:#e5484d}.btn.danger-solid:hover{filter:brightness(1.06)}.variant-strip{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--el-accent) 5%, var(--surface-1)), var(--surface-1));padding:10px 14px 12px}.vs-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:7px;font-size:11px;font-weight:700;display:flex}.vs-title span{background:var(--surface-2);color:var(--text-secondary);letter-spacing:0;border-radius:999px;padding:0 6px;font-size:10.5px}.vs-list{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.vs-item{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.vs-item:hover{border-color:color-mix(in srgb, var(--el-accent) 55%, var(--border));transform:translateY(-1px);box-shadow:0 4px 10px #10182814}.vs-item.on{border-color:var(--el-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--el-accent) 22%, transparent);color:var(--text-primary)}.vs-thumb{height:30px;color:var(--text-primary);place-items:center;display:grid}.vs-thumb .ts-prev{width:44px}.vs-generic{color:var(--el-accent)}.vs-label{text-align:center;font-size:10.5px;font-weight:600;line-height:1.15}.kpi2{align-items:center;gap:14px;min-width:0;height:100%;display:flex}.kpi2 .value{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.05}.kpi2 .label{color:var(--text-secondary);font-size:12.5px}.kpi2 .k-body{min-width:0}.k-tile{color:#fff;background:linear-gradient(135deg, var(--k), color-mix(in srgb, var(--k) 55%, #1e1b4b));border-radius:14px;height:calc(100% + 4px);margin:-2px -6px;padding:14px 16px;position:relative;overflow:hidden}.k-tile:after{content:"";background:#ffffff24;border-radius:50%;width:110px;height:110px;position:absolute;top:-30px;right:-30px}.k-tile .label{color:#ffffffd9}.k-ico{background:color-mix(in srgb, var(--k) 16%, transparent);border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.k-ring{aspect-ratio:1;flex:none;width:auto;height:82%;max-height:110px;transform:rotate(-90deg)}.k-track{fill:none;stroke:var(--surface-2);stroke-width:9px}.k-prog{fill:none;stroke:var(--k);stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .6s}.k-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.k-delta{border-radius:999px;margin-top:6px;padding:3px 9px;font-size:12px;font-weight:650;display:inline-flex}.k-delta.up{color:#12925f;background:#1baf7a24}.k-delta.down{color:#c9373c;background:#e5484d24}.k-minimal{justify-content:center}.k-minimal .value{font-size:clamp(32px,9cqw,72px)}.w-kpi>.widget-body{container-type:inline-size}.w-text.v-headline .text-widget h1,.w-text.v-headline .text-widget h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:34px;font-weight:800;line-height:1.05}.w-text.v-callout .text-widget{border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:0 10px 10px 0;height:100%;padding:10px 14px}.w-text.v-quote .text-widget{color:var(--text-secondary);padding-left:34px;font-size:18px;font-style:italic;position:relative}.w-text.v-quote .text-widget:before{content:"“";color:var(--accent);font-family:Georgia,serif;font-size:56px;font-style:normal;position:absolute;top:-14px;left:0}.widget.w-text.v-banner{color:var(--on-accent,#fff);border:0;background:linear-gradient(120deg, var(--accent), #6250d6)!important}.widget.w-text.v-banner .text-widget,.widget.w-text.v-banner .text-widget *{color:#fff}.widget.w-text.v-note{border:0;transform:rotate(-1deg);box-shadow:0 10px 20px #92400e26;background:#fde68a!important}.widget.w-text.v-note .text-widget,.widget.w-text.v-note .text-widget *{color:#78350f;font-family:"Segoe Print", "Comic Sans MS", var(--font)}.w-image.v-rounded .image-wrap{border-radius:22px}.w-image.v-circle .image-wrap{aspect-ratio:1;border-radius:50%;width:auto;height:auto;max-height:100%;margin:auto}.w-image.v-circle .image-wrap .image-widget{object-fit:cover!important}.widget.w-image.v-polaroid,.widget.w-image.v-tilt{border:0;padding:10px 10px 34px;box-shadow:0 12px 28px #1018282e;background:#fff!important}.widget.w-image.v-tilt{transform:rotate(-3deg)}.widget.w-image.v-frame{border:0;padding:14px;box-shadow:inset 0 0 0 3px #c49a6c,0 10px 24px #00000040;background:linear-gradient(135deg,#8a6440,#5b3d22)!important}.widget.w-image.v-frame .image-wrap{border-radius:0;box-shadow:inset 0 0 8px #0006}.w-emoji.v-bubble .emoji-widget{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent) 18%, #fff), color-mix(in srgb, var(--accent) 30%, transparent));aspect-ratio:1;border-radius:50%;width:auto;height:100%;margin:auto}.w-emoji.v-bubble .emoji-widget span{font-size:min(52cqw,52cqh)}.w-emoji.v-badge .emoji-widget{aspect-ratio:1;background:linear-gradient(135deg,#f5b400,#eb6834);border-radius:26%;width:auto;height:92%;margin:auto;box-shadow:0 8px 18px #eb683459}.w-emoji.v-badge .emoji-widget span{font-size:min(48cqw,48cqh)}.traffic.dot-v,.traffic.badge-v{flex-direction:row;justify-content:flex-start;gap:14px;padding-left:4px}.signal{border-radius:50%;flex:none;width:46px;height:46px}.signal.green{background:radial-gradient(circle at 35% 35%,#8bf0c4,#1baf7a 65%);box-shadow:0 0 0 7px #1baf7a2e,0 0 22px #1baf7a8c}.signal.yellow{background:radial-gradient(circle at 35% 35%,#ffe28a,#f5b400 65%);box-shadow:0 0 0 7px #f5b4002e,0 0 22px #f5b40080}.signal.red{background:radial-gradient(circle at 35% 35%,#ff9a9a,#e5484d 65%);box-shadow:0 0 0 7px #e5484d2e,0 0 22px #e5484d8c}.signal.blink,.tbadge.blink{animation:1s ease-in-out infinite k-blinkw}.tbadge{border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.tbadge i{background:currentColor;border-radius:50%;width:9px;height:9px}.tbadge.green{color:#12925f;background:#1baf7a26}.tbadge.yellow{color:#a86f00;background:#f5b4002e}.tbadge.red{color:#c9373c;background:#e5484d26}.traffic.dot-v .traffic-text,.traffic.badge-v .traffic-text{text-align:left;align-items:flex-start}.w-kpitree.v-vertical .ktree{grid-template-rows:auto 18px 1fr;grid-template-columns:1fr;justify-items:center}.w-kpitree.v-vertical .kt-lines{display:none}.w-kpitree.v-vertical .kt-root{text-align:center;align-items:center;min-width:46%}.w-kpitree.v-vertical .ktree:after{content:"";background:color-mix(in srgb, var(--kt) 55%, var(--border));grid-row:2;width:2px;height:100%}.w-kpitree.v-vertical .kt-kids{border-top:2px solid color-mix(in srgb, var(--kt) 55%, var(--border));flex-direction:row;align-items:stretch;width:100%;padding-top:10px}.w-kpitree.v-vertical .kt-kid{flex:1;min-width:0}.w-kpitree.v-cards .kt-kid{background:color-mix(in srgb, var(--kt) 9%, var(--surface-1));border:0;border-radius:12px}.w-kpitree.v-cards .kt-root{border-radius:20px}.st-tab{align-items:center;display:inline-flex;position:relative}.st-tab>button:first-child{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2.5px solid #0000;border-radius:6px 6px 0 0;padding:8px 12px 9px;font-size:13px;font-weight:600}.st-tab>button:first-child:hover{color:var(--text-primary);background:var(--surface-2)}.st-tab.on>button:first-child{color:var(--accent);border-bottom-color:var(--accent)}.st-x{background:var(--surface-2);color:var(--text-muted);cursor:pointer;border:0;border-radius:50%;place-items:center;width:16px;height:16px;margin-left:-6px;margin-right:2px;display:none}.st-tab:hover .st-x{display:grid}.st-x:hover{color:#fff;background:#e5484d}.st-add{border:1px dashed var(--border-strong);background:var(--surface-1);color:var(--accent);cursor:pointer;border-radius:8px;flex:none;align-self:center;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.st-add:hover{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-1))}.st-input{border:1.5px solid var(--accent);width:110px;font:inherit;background:var(--surface-1);color:var(--text-primary);border-radius:6px;margin:6px 4px;padding:3px 8px;font-size:13px}.section-tabs{align-items:center}.widget.w-section.v-plain{box-shadow:none;border-color:#0000;background:0 0!important}.widget.w-section.v-outline{border:2px solid var(--accent)}.w-section.v-pills .section-tabs{border-bottom:0;gap:4px;padding-top:4px}.w-section.v-pills .st-tab>button:first-child{border:0;border-radius:999px;padding:5px 12px}.w-section.v-pills .st-tab.on>button:first-child{background:var(--accent);color:var(--on-accent,#fff)}.widget.w-section.v-colored>.widget-head{background:linear-gradient(90deg, var(--accent), #6250d6);color:var(--on-accent,#fff);margin:0;padding:10px 14px}.widget.w-section.v-colored>.widget-head h3{color:#fff}.pg{gap:10px;min-width:0;height:100%;display:flex}.pg.bar,.pg.steps{flex-direction:column;justify-content:center}.pg-text b{font-family:var(--font-display);letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:1.1;display:block}.pg-text span{color:var(--text-muted);font-size:12px}.pg-track-h{background:var(--surface-2);border-radius:999px;height:12px;overflow:hidden}.pg-track-h span{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--pg) 70%, #fff), var(--pg));height:100%;transition:width .7s cubic-bezier(.2,.8,.2,1);display:block}.pg-steps{gap:4px;display:flex}.pg-steps i{background:var(--surface-2);border-radius:5px;flex:1;height:16px}.pg-steps i.on{background:var(--pg);animation:k-pop .4s calc(var(--i) * 50ms) both}.pg.ring{justify-content:center;align-items:center;position:relative}.pg.ring svg{aspect-ratio:1;width:auto;height:100%;max-height:180px}.pg.ring.half svg{aspect-ratio:100/56;width:100%;max-height:140px}.pg-track{fill:none;stroke:var(--surface-2);stroke-width:9px;stroke-linecap:round}.pg-val{fill:none;stroke:var(--pg);stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .7s}.pg-center{flex-direction:column;align-items:center;display:flex;position:absolute}.pg.half .pg-center{bottom:6px}.pg-center b{font-family:var(--font-display);font-size:22px;font-weight:800}.pg-center span{color:var(--text-muted);font-size:11.5px}.pg.battery{align-items:center;gap:16px}.pg-bat{border:3px solid var(--text-secondary);border-radius:10px;flex:none;width:46%;max-width:160px;height:56%;max-height:64px;padding:3px;position:relative}.pg-bat:after{content:"";background:var(--text-secondary);border-radius:0 3px 3px 0;width:6px;height:40%;position:absolute;top:30%;right:-9px}.pg-bat span{background:var(--pg);border-radius:5px;height:100%;transition:width .7s;display:block}.pg-bat em{mix-blend-mode:difference;color:#fff;place-items:center;font-size:13px;font-style:normal;font-weight:800;display:grid;position:absolute;inset:0}.trend{flex-direction:column;height:100%;min-height:0;display:flex}.tr-top{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tr-top b{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:800}.tr-delta{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.tr-delta.up{color:#12925f;background:#1baf7a24}.tr-delta.down{color:#c9373c;background:#e5484d24}.tr-cap{color:var(--text-muted);font-size:11.5px}.tr-spark{width:100%;min-height:24px;color:var(--text-muted);flex:1;margin-top:6px}.heat{align-content:start;gap:3px;height:100%;font-size:11.5px;display:grid;overflow:auto}.heat-row{display:contents}.heat-x{color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding-bottom:2px;font-size:10.5px;overflow:hidden}.heat-y{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-self:center;padding-right:6px;overflow:hidden}.heat-cell{border-radius:5px;place-items:center;min-height:26px;font-size:10.5px;font-weight:600;transition:transform .12s;display:grid}.heat-cell:hover{z-index:1;transform:scale(1.08);box-shadow:0 4px 10px #1018282e}.heat-cell.round{aspect-ratio:1;border-radius:50%;min-height:0}.w-shape>.widget-body{padding:0}.widget.w-shape{box-shadow:none;overflow:visible;background:0 0!important;border:0!important}.shape-css{width:100%;height:100%}.shape-css.circle{border-radius:50%}.shape-svg{width:100%;height:100%;display:block;overflow:visible}.symbol-widget{place-items:center;width:100%;height:100%;display:grid;container-type:size}.sym-bg{color:var(--sym);place-items:center;width:min(100cqw,100cqh);height:min(100cqw,100cqh);display:grid}.sym-bg svg{width:70%;height:70%}.w-icon.v-circle .sym-bg{background:var(--sym);color:#fff;border-radius:50%}.w-icon.v-square .sym-bg{background:var(--sym);color:#fff;border-radius:24%}.w-icon.v-soft .sym-bg{background:color-mix(in srgb, var(--sym) 15%, transparent);border-radius:30%}.w-icon.v-circle .sym-bg svg,.w-icon.v-square .sym-bg svg,.w-icon.v-soft .sym-bg svg{width:55%;height:55%}.w-icon>.widget-body{padding:6px}.sym-grid{grid-template-columns:repeat(7,1fr);gap:4px;max-height:190px;display:grid;overflow:auto}.sym-grid button{aspect-ratio:1;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:8px;place-items:center;display:grid}.sym-grid button:hover{color:var(--accent);border-color:var(--accent)}.sym-grid button.on{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.dt-widget{flex-direction:column;justify-content:center;height:100%;display:flex}.dt-widget b{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:800}.dt-cap{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.dt-cal{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}.dt-mon{text-align:center;color:#fff;text-transform:uppercase;background:#e5484d;width:100%;padding:3px 0;font-size:12px;font-weight:700}.dt-cal b{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:1.1}.dt-cal small{color:var(--text-muted);padding-bottom:4px;font-size:11px}.embed-frame{background:#000;border:0;border-radius:8px;width:100%;height:100%;display:block}.w-embed>.widget-body{padding:0 8px 8px}.action-btn.bs-pill{border-radius:999px}.action-btn.bs-gradient{background:linear-gradient(120deg, var(--btn), #6250d6 70%, #d55181);box-shadow:0 8px 18px color-mix(in srgb, var(--btn) 35%, transparent);border:0}.action-btn.bs-glass{background:color-mix(in srgb, var(--btn) 22%, #ffffff59);color:var(--btn);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff8c;box-shadow:inset 0 1px #fff9,0 6px 16px #1018281f}.sql-editor-head{flex-wrap:nowrap;gap:10px;min-height:46px;padding:8px 10px 8px 12px}.sql-file-ico{background:color-mix(in srgb, var(--accent) 12%, transparent);width:26px;height:26px;color:var(--accent);border-radius:7px;flex:none;place-items:center;display:grid}.sql-title-wrap{flex-direction:column;min-width:0;display:flex}.sql-title{font-family:var(--font);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;overflow:hidden}.sql-title.untitled{color:var(--text-muted);font-weight:500}.sql-desc{color:var(--text-muted);max-width:520px;font-size:11.5px}.sql-tools{flex:none;align-items:center;gap:2px;display:flex}.tool-btn{height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12.5px;font-weight:550;display:inline-flex}.tool-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.tool-btn:disabled{opacity:.4;cursor:default}.tool-btn.icon{justify-content:center;width:28px;padding:0}.tool-btn.danger:hover{color:#e5484d;background:#e5484d1a}.tool-div{background:var(--border);width:1px;height:18px;margin:0 6px}.run-btn{background:var(--accent);height:28px;color:var(--on-accent,#fff);cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:12.5px;font-weight:650;display:inline-flex}.run-btn:hover:not(:disabled){filter:brightness(1.08)}.run-btn:disabled{opacity:.5;cursor:default}.run-btn kbd{font:inherit;background:#fff3;border-radius:4px;padding:1px 5px;font-size:10.5px;font-weight:600}.run-btn .spinner{border-color:#fff #fff6 #fff6;width:11px;height:11px}.sql-code{background:var(--surface-1);min-height:240px;display:flex}.sql-gutter{text-align:right;width:42px;font-family:var(--mono);color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);background:var(--surface-2);flex:none;max-height:420px;padding:14px 8px 14px 0;font-size:12px;line-height:1.55;overflow:hidden}.sql-gutter span{display:block}.sql-code .sql-textarea{resize:vertical;flex:1;max-height:420px;padding:14px;font-size:13px;line-height:1.55}.sql-foot{color:var(--text-muted);align-items:center;gap:12px;padding:5px 12px;font-size:11px;display:flex}.sql-foot>span:first-child{color:var(--accent);font-weight:700}.sql-search{align-items:center;gap:6px;display:flex}.sql-search .input{flex:1}.sql-search .tool-btn{border:1px solid var(--border);background:var(--surface-1);color:var(--accent)}.sql-page h1{font-size:22px}.sql-gutter{font-size:11.5px;line-height:20px}.sql-code .sql-textarea{line-height:20px}.data-head{align-items:center}.big-seg button{align-items:center;gap:7px;padding:7px 14px;font-weight:600;display:inline-flex}.src-badge{color:#fff;letter-spacing:-.02em;font-weight:800;font-family:var(--font-display);background:linear-gradient(140deg, color-mix(in srgb, var(--src) 78%, #fff), var(--src) 55%, color-mix(in srgb, var(--src) 70%, #000));box-shadow:inset 0 1px 0 #ffffff4d, 0 3px 8px color-mix(in srgb, var(--src) 30%, transparent);border-radius:28%;flex:none;place-items:center;display:grid}.src-group{margin-bottom:14px}.src-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.src-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;padding:12px;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex;position:relative}.src-card:hover{border-color:var(--src);box-shadow:0 8px 20px color-mix(in srgb, var(--src) 18%, transparent);transform:translateY(-2px)}.src-card b{font-size:13.5px;display:block}.src-card small{color:var(--text-muted);margin-top:2px;font-size:11.5px;line-height:1.3;display:block}.src-missing{color:#a86f00;font-size:10px;font-style:normal;font-weight:700;position:absolute;top:6px;right:8px}.src-head{background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.src-head b{font-size:15px;display:block}.src-head .hint{font-size:12px;display:block}.hub{flex-direction:column;gap:12px;display:flex}.hub-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.hub-empty h2{font-family:var(--font-display);font-size:24px;font-weight:800}.hub-empty p{max-width:620px;color:var(--text-secondary);margin:0 0 6px}.hub-empty-art{gap:8px;margin-bottom:8px;display:flex}.hub-empty-art .src-badge{animation:.5s both k-pop}.hub-empty-art .src-badge:nth-child(2n){transform:translateY(6px)}.hub-split{grid-template-columns:290px 1fr;align-items:start;gap:14px;display:grid}.hub-list{flex-direction:column;gap:2px;max-height:calc(100vh - 100px);padding:8px;display:flex;position:sticky;top:64px;overflow:auto}.hub-list-head{align-items:center;gap:8px;padding:4px 6px 8px;font-size:13px;display:flex}.hub-item{cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex;position:relative}.hub-item:hover{background:var(--surface-2)}.hub-item.on{background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.hub-item-text{flex-direction:column;min-width:0;display:flex}.hub-item-text b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.hub-item-text small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.hub-dot{background:#1baf7a;border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}.hub-main{flex-direction:column;gap:10px;min-width:0;display:flex}.hub-head{align-items:center;gap:14px;padding:14px 16px;display:flex}.hub-title{min-width:0}.hub-title h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:800}.hub-title .hint{white-space:nowrap;text-overflow:ellipsis;max-width:560px;font-family:var(--mono);font-size:11.5px;display:block;overflow:hidden}.hub-tabs{background:0 0}.hub-browse{grid-template-columns:280px 1fr;align-items:start;gap:10px;display:grid}.hub-tables{flex-direction:column;gap:8px;max-height:560px;padding:10px;display:flex}.hub-tlist{flex-direction:column;gap:1px;display:flex;overflow:auto}.hub-tlist button,.tpl-tables button{text-align:left;cursor:pointer;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:12.5px;display:flex;overflow:hidden}.hub-tlist button:hover,.tpl-tables button:hover{background:var(--surface-2)}.hub-tlist button.on,.tpl-tables button.on{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-weight:600}.hub-tlist .hint,.tpl-tables .hint{margin-right:-4px;font-size:11.5px}.hub-preview,.hub-query{flex-direction:column;gap:10px;min-width:0;min-height:200px;padding:12px;display:flex}.hub-hint{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:6px;max-width:320px;margin:auto;display:flex}.hub-hint b{color:var(--text-primary)}.hub-prev-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input-prefix{align-items:stretch;display:flex}.input-prefix>span{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);color:var(--text-muted);border-right:0;border-radius:8px 0 0 8px;place-items:center;padding:0 10px;font-size:12.5px;display:grid}.input-prefix .input{border-radius:0 8px 8px 0}.tab-link{align-items:center;gap:6px;margin-left:auto;display:inline-flex;color:var(--accent)!important}@media (width<=1100px){.hub-split,.hub-browse{grid-template-columns:1fr}.hub-list{max-height:none;position:static}}.job-conns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.jc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-right:4px;font-size:11px;font-weight:700}.jc-chip{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;align-items:center;gap:7px;padding:4px 6px 4px 5px;font-size:12.5px;font-weight:600;display:inline-flex}.jc-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.jc-chip button:hover{color:#fff;background:#e5484d}.jc-add{border:1px dashed var(--border-strong);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.jc-add:hover{border-style:solid;border-color:var(--accent)}.jc-pop{z-index:30;flex-direction:column;gap:4px;width:300px;padding:10px;display:flex;position:absolute;top:36px;left:0}.jc-opt{cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:6px;display:flex}.jc-opt:hover{background:var(--surface-2)}.jc-opt span{flex-direction:column;min-width:0;display:flex}.jc-opt b{font-size:13px}.jc-opt small{color:var(--text-muted);font-size:11px}.pipeline{flex-direction:column;gap:14px;padding-left:22px;display:flex;position:relative}.pipeline:before{content:"";background:linear-gradient(var(--series-3), var(--series-1));opacity:.45;border-radius:2px;width:2px;position:absolute;top:18px;bottom:18px;left:9px}.pipeline>.task-card{position:relative}.pipeline>.task-card:before{content:"";background:var(--surface-1);border:3px solid var(--series-1);border-radius:50%;width:12px;height:12px;position:absolute;top:16px;left:-19px}.pipeline>.task-card.ok:before{background:#1baf7a;border-color:#1baf7a}.pipeline>.task-card.fail:before{background:#e5484d;border-color:#e5484d}.pipe-add{border:1.5px dashed var(--border-strong);color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-left:22px;padding:12px;font-weight:650;display:flex}.pipe-add:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent)}.job-empty .btn{margin-top:10px}.tpl-group{margin-bottom:14px}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.tpl-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:12px;align-items:flex-start;gap:10px;padding:11px;transition:border-color .12s,transform .12s;display:flex}.tpl-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.tpl-card:disabled{opacity:.45;cursor:default}.tpl-card b{font-size:13px;display:block}.tpl-card small{color:var(--text-muted);margin-top:2px;font-size:11.5px;line-height:1.3;display:block}.tpl-ico{color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.tpl-card.extract .tpl-ico{background:linear-gradient(135deg,#1baf7a,#0f8a5f)}.tpl-card.transform .tpl-ico{background:linear-gradient(135deg,#2a78d6,#6250d6)}.conn-pick{flex-wrap:wrap;gap:6px;display:flex}.conn-pick button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:12.5px;font-weight:600;display:inline-flex}.conn-pick button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-1))}.tpl-tables{border:1px solid var(--border);border-radius:10px;flex-direction:column;max-height:220px;padding:4px;display:flex;overflow:auto}.tpl-sql{background:var(--surface-2);font-family:var(--mono);white-space:pre-wrap;border-radius:10px;max-height:240px;margin:0;padding:12px;font-size:12px;overflow:auto}.sql-source{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex:none;align-items:center;gap:6px;height:28px;padding:0 4px 0 8px;display:inline-flex}.sql-source select{color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;outline:none;max-width:230px;font-size:12.5px;font-weight:600}.duck-dot{background:linear-gradient(135deg,#f5b400,#eb6834);border-radius:3px;width:10px;height:10px}.data-page{position:relative}.add-sources{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, var(--surface-1)), var(--surface-1) 70%);padding:16px 18px 18px}.as-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.as-head b{font-family:var(--font-display);font-size:17px;font-weight:800}.as-groups{grid-template-columns:3fr 5fr 4fr;gap:18px;display:grid}.as-group .style-title{margin-bottom:8px}.as-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.as-tile{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.as-tile:hover{border-color:var(--src);box-shadow:0 10px 22px color-mix(in srgb, var(--src) 20%, transparent);transform:translateY(-3px)}.as-tile b{font-size:12.5px;line-height:1.2}.as-tile small{color:var(--text-muted);font-size:11px;line-height:1.2}.as-tile:hover .src-badge{transform:scale(1.06)rotate(-3deg)}.src-badge{transition:transform .2s cubic-bezier(.2,.9,.3,1.3)}.drop-veil{z-index:90;background:color-mix(in srgb, var(--accent) 16%, #0a0e168c);color:var(--on-accent,#fff);pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}.drop-veil b{font-size:22px;font-family:var(--font-display)}@media (width<=1200px){.as-groups{grid-template-columns:1fr}}.explorer{grid-template-columns:300px 1fr;align-items:start;gap:14px;display:grid}.explorer-main{flex-direction:column;gap:10px;min-width:0;display:flex}.tree{flex-direction:column;gap:1px;max-height:calc(100vh - 90px);padding:8px 6px 12px;display:flex;position:sticky;top:64px;overflow:auto}.tree-search{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-radius:9px;align-items:center;gap:6px;margin:0 2px 6px;padding:6px 8px;display:flex}.tree-search input{font:inherit;color:var(--text-primary);background:0 0;border:0;outline:none;flex:1;font-size:13px}.tree-sec{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:14px 10px 5px;font-size:10.5px;font-weight:700}.tree-hint{padding:2px 12px 6px;font-size:12px;display:block}.tree-hint.err{color:var(--danger,#e5484d)}.tree-row{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:5px 8px;font-size:13px;display:flex}.tree-row:hover,.tree-row .tree-main:hover{background:var(--surface-2)}.tree-row.on{background:color-mix(in srgb, var(--accent) 12%, var(--surface-1));color:var(--accent)}.tree-row.lvl0{padding:2px 4px}.tree-row.lvl0>b{font-weight:650}.tree-row.lvl1{color:var(--text-secondary);padding-left:18px;font-size:12.5px;font-weight:600}.tree-row.lvl2{padding-left:40px;font-size:12.5px}.tree-children .tree-row.lvl1{padding-left:26px}.tree-children .tree-row.lvl2{padding-left:48px}.tree-tw{cursor:pointer;width:20px;height:22px;color:var(--text-muted);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:grid}.tree-tw:hover{background:var(--surface-2);color:var(--text-primary)}.tree-main{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:8px;padding:3px 6px;font-weight:650;display:flex}.tree-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.use-dot{border:1.5px solid var(--border-strong);border-radius:50%;flex:none;width:7px;height:7px}.use-dot.on{background:#1baf7a;border-color:#1baf7a}.ov{flex-direction:column;gap:12px;display:flex}.ov-tiles{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.ov-tile{background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:2px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.ov-tile:after{content:"";background:color-mix(in srgb, var(--t,var(--accent)) 8%, transparent);border-radius:50%;width:90px;height:90px;position:absolute;top:-24px;right:-24px}.ov-ico{color:#fff;background:var(--t);width:34px;height:34px;box-shadow:0 6px 14px color-mix(in srgb, var(--t) 30%, transparent);border-radius:10px;place-items:center;margin-bottom:8px;display:grid}.ov-tile b{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.05}.ov-tile span:not(.ov-ico){font-size:13px;font-weight:600}.ov-tile small{color:var(--text-muted);font-size:11.5px}.ov-grid{grid-template-columns:1fr 1.3fr;gap:12px;display:grid}.ov-card{padding:16px}.ov-card-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.ov-card-head b{font-family:var(--font-display);font-size:15px;font-weight:800}.ov-donut-row{align-items:center;gap:18px;display:flex}.ov-donut{width:110px;height:110px;transform:rotate(-90deg)}.ov-donut .d-bg{fill:none;stroke:var(--surface-2);stroke-width:6px}.ov-donut .d-val{fill:none;stroke:#1baf7a;stroke-width:6px;stroke-linecap:round;transition:stroke-dasharray .6s}.ov-donut text{transform-origin:21px 21px;fill:var(--text-primary);font-size:8px;font-weight:800;font-family:var(--font-display);transform:rotate(90deg)}.ov-legend{flex-direction:column;gap:8px;font-size:13px;display:flex}.lg{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.lg.used{background:#1baf7a}.lg.unused{background:var(--border-strong)}.ov-list{flex-direction:column;gap:2px;display:flex}.ov-list button{cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:5px 6px;font-size:13px;display:flex}.ov-list button:hover{background:var(--surface-2)}.ov-list span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ov-list small{color:var(--text-muted);font-size:11.5px}.ov-bars{flex-direction:column;gap:6px;display:flex}.ov-bar{text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(120px,34%) 1fr auto;align-items:center;gap:10px;padding:6px;font-size:13px;display:grid}.ov-bar:hover{background:var(--surface-2)}.ob-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex;overflow:hidden}.ob-track{background:var(--surface-2);border-radius:6px;height:10px;overflow:hidden}.ob-track i{border-radius:inherit;min-width:3px;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.ob-val{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.tp{flex-direction:column;gap:10px;min-width:0;display:flex}.tp-head{align-items:center;gap:14px;padding:14px 16px;display:flex}.tp-title{min-width:0}.tp-title h2{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:800;overflow:hidden}.tp-title .hint{font-size:12px}.tp-facts{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.tp-facts>span{background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.tp-facts>span.hint{background:0 0;border:0}.tp-facts b{color:var(--text-primary)}.tp-hit{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))!important;color:var(--accent)!important}.tp-use{color:var(--text-muted)}.tp-use.on{color:#12925f!important;border-color:color-mix(in srgb, #1baf7a 40%, var(--border))!important}.tp-filters{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.tp-filter{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--surface-1));border-radius:9px;align-items:center;gap:2px;padding:2px 3px 2px 4px;display:inline-flex}.tp-filter select,.tp-filter input{font:inherit;color:var(--text-primary);background:0 0;border:0;outline:none;max-width:150px;padding:3px 4px;font-size:12.5px}.tp-filter input{border-left:1px solid var(--border);width:110px}.tp-filter button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.tp-filter button:hover{color:#fff;background:#e5484d}.tp-add{border:1px dashed var(--border-strong);color:var(--accent);cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:4px;padding:5px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.tp-table{padding:8px}.tp-stats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.tp-stat{flex-direction:column;gap:8px;padding:12px;display:flex}.ts-head{align-items:center;gap:8px;display:flex}.ts-head b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.ts-type{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.ts-fill{background:color-mix(in srgb, #e5484d 25%, var(--surface-2));border-radius:4px;height:6px;overflow:hidden}.ts-fill i{border-radius:inherit;background:#1baf7a;height:100%;display:block}.stat-grid{grid-template-columns:auto 1fr;gap:3px 10px;font-size:12px;display:grid}.stat-grid span{color:var(--text-muted)}.stat-grid b{text-align:right;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-weight:600;overflow:hidden}.tp-manage{align-items:flex-end;gap:8px;padding:10px 2px;display:flex}.tp-manage .field{flex:1;max-width:420px}@media (width<=1200px){.ov-tiles{grid-template-columns:repeat(2,1fr)}.ov-grid{grid-template-columns:1fr}}@media (width<=1000px){.explorer{grid-template-columns:1fr}.tree{max-height:360px;position:static}}.ov-list span.ovl-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ov-list span:not(.ovl-name){flex:none}.auto-ico{color:#fff;background:linear-gradient(140deg, color-mix(in srgb, var(--a) 75%, #fff), var(--a) 55%, color-mix(in srgb, var(--a) 70%, #000));box-shadow:0 6px 14px color-mix(in srgb, var(--a) 30%, transparent);border-radius:30%;flex:none;place-items:center;display:grid}.kind-gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.kg-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-primary);border-radius:16px;align-items:flex-start;gap:14px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.kg-card:hover{border-color:var(--a);box-shadow:0 12px 26px color-mix(in srgb, var(--a) 20%, transparent);transform:translateY(-3px)}.kg-card b{font-size:15px;font-family:var(--font-display);font-weight:800;display:block}.kg-card small{color:var(--text-secondary);margin-top:2px;font-size:12.5px;display:block}.kg-card em{color:var(--text-muted);border-left:2px solid var(--a);margin-top:8px;padding-left:8px;font-size:11.5px;font-style:normal;display:block}.auto-empty{padding:24px 0}.auto-empty h2{font-family:var(--font-display);margin-bottom:14px;font-size:22px;font-weight:800}.auto-split{grid-template-columns:300px 1fr;align-items:start;gap:14px;display:grid}.auto-list{flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:64px}.auto-stats{color:var(--text-muted);border-bottom:1px solid var(--border);gap:12px;margin-bottom:4px;padding:4px 8px 10px;font-size:12px;display:flex}.auto-stats b{color:var(--text-primary)}.auto-stats .bad b,.auto-stats .bad{color:#e5484d}.auto-item{cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.auto-item:hover{background:var(--surface-2)}.auto-item.on{background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.auto-item.paused{opacity:.55}.ai-text{flex-direction:column;flex:1;min-width:0;display:flex}.ai-text b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.ai-text small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.auto-main{min-width:0}.au-editor{flex-direction:column;gap:10px;display:flex}.au-head{border-top:3px solid var(--a);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.au-title{flex:1;min-width:220px}.au-title .title-input{font-size:19px}.au-title .hint{font-size:12px;display:block}.switch{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.switch input{display:none}.switch span{background:var(--border-strong);border-radius:999px;width:36px;height:20px;transition:background .2s;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+span{background:#1baf7a}.switch input:checked+span:after{transform:translate(16px)}.au-grid{grid-template-columns:1fr 340px;align-items:start;gap:12px;display:grid}.au-steps{flex-direction:column;gap:10px;min-width:0;display:flex}.au-step{padding:14px 16px}.au-step-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.au-step-head b{font-family:var(--font-display);font-size:15px;font-weight:800}.au-n{background:var(--accent);width:24px;height:24px;color:var(--on-accent,#fff);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.au-step-body,.sched{flex-direction:column;gap:10px;display:flex}.sched-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.sched-row .field{max-width:160px}.day-picks{gap:4px;display:flex}.day-picks button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;width:36px;height:34px;color:var(--text-secondary);border-radius:9px;font-size:12.5px;font-weight:600}.day-picks button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.sqlbox{position:relative}.sqlbox textarea{width:100%;padding-right:92px;font-size:12.5px}.sqlbox .tool-btn{background:var(--surface-1);border:1px solid var(--border);position:absolute;top:6px;right:6px}.src-select{max-width:380px}.kpi-pick{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;max-height:240px;display:grid;overflow:auto}.kp-item{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.kp-item span{flex-direction:column;min-width:0;display:flex}.kp-item b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.kp-item small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.kp-item:hover{border-color:var(--accent)}.kp-item.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.kp-item.warn{opacity:.65}.sql-peek summary{cursor:pointer;color:var(--text-muted);font-size:12px}.sql-peek pre{background:var(--surface-2);white-space:pre-wrap;border-radius:8px;max-height:160px;margin:6px 0 0;padding:10px;font-size:11.5px;overflow:auto}.cond{background:color-mix(in srgb, #e5484d 6%, var(--surface-2));border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.cond .select{width:auto}.cond .input{width:140px}.metric-row{grid-template-columns:140px 1fr auto;align-items:start;gap:8px;display:grid}.app-kpi-add summary{cursor:pointer;list-style:none;display:inline-flex}.app-kpi-add summary::-webkit-details-marker{display:none}.app-kpi-add[open] .kpi-pick{margin-top:8px}.msg-body{font-family:var(--font);font-size:14px;line-height:1.5}.ph-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ph-chip{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--surface-1));color:var(--accent);font-family:var(--mono);cursor:pointer;border-radius:7px;padding:3px 8px;font-size:12px}.ph-chip:hover{background:var(--accent);color:var(--on-accent,#fff)}.au-side{flex-direction:column;gap:10px;display:flex;position:sticky;top:64px}.au-side-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.au-side-head b{font-family:var(--font-display);font-weight:800}.au-preview,.au-runs{padding:12px}.au-runs{max-height:460px;overflow:auto}.mail-card{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;margin-bottom:8px;animation:.35s both k-pop;overflow:hidden;box-shadow:0 4px 12px #1018280f}.mail-card.fehler{border-color:#e5484d}.mc-to{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:7px 10px;font-size:12px;overflow:hidden}.mc-to span{color:var(--text-muted);margin-right:6px;font-weight:700}.mc-subj{padding:8px 10px 2px;font-size:13.5px;font-weight:700}.mc-body{white-space:pre-wrap;color:var(--text-secondary);max-height:220px;padding:2px 10px 10px;font-size:12.5px;overflow:auto}.mc-info{border-top:1px solid var(--border);color:var(--text-muted);padding:6px 10px;font-size:12px}.mail-card.gesendet .mc-info{color:#12925f}.mail-card.fehler .mc-info{color:#e5484d}.run-item{border-bottom:1px solid var(--border);padding:6px 0}.run-item summary{cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.run-line{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:2px 0 2px 16px;font-size:12px;overflow:hidden}.ch-grid{flex-direction:column;gap:8px;display:flex}.ch-card{align-items:center;gap:12px;padding:12px 14px;display:flex}.ch-text{flex-direction:column;flex:1;min-width:0;display:flex}.ch-text b{font-size:14px}.ch-text small{color:var(--text-muted);font-size:12px}.preset-row{flex-wrap:wrap;gap:6px;display:flex}@media (width<=1300px){.au-grid{grid-template-columns:1fr}.au-side{position:static}}@media (width<=1000px){.auto-split{grid-template-columns:1fr}.auto-list{position:static}}.tm-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.insp-body .tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.insp-body .tm-btn{display:none}.insp-body .tm-card em{font-size:10px}.insp-body .tm-card-btn{gap:1px;padding:5px}.insp-body .tm-card-btn b{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.insp-body .tm-card-btn:hover{box-shadow:none;transform:none}.tm-card-btn{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface-1);cursor:pointer;text-align:left;flex-direction:column;gap:3px;padding:8px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.tm-card-btn:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-2px)}.tm-card-btn.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tm-card-btn b{margin-top:4px;font-size:13px}.tm-card-btn small{color:var(--text-muted);font-size:11.5px}.insp-body .tm-card-btn small{display:none}.tm-mini{aspect-ratio:16/10;border:1px solid #7f7f7f40;border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.tm-mini.tm-split{border:0;grid-template-columns:1fr 1fr;display:grid}.tm-mini.tm-split>.tm-mini{aspect-ratio:auto;border:0;border-radius:0;height:100%}.tm-mini.tm-split>.tm-mini:first-child{border-radius:8px 0 0 8px}.tm-mini.tm-split>.tm-mini:last-child{border-radius:0 8px 8px 0}.tm-inherit{background:repeating-linear-gradient(45deg, var(--surface-2) 0 8px, var(--surface-3) 8px 16px);color:var(--text-muted);place-items:center;display:grid}.tm-side{flex-direction:column;gap:4px;width:22%;padding:8px 5px;display:flex;position:absolute;top:0;bottom:0;left:0}.tm-side b{background:#ffffff40;border-radius:2px;height:4px;display:block}.tm-side b:first-child{width:70%}.tm-card{border:1px solid;flex-direction:column;gap:4px;padding:6px 7px;display:flex;position:absolute;inset:14% 8% 14% 30%}.tm-card em{font-size:12px;font-style:normal;font-weight:800;line-height:1}.tm-bars{flex:1;align-items:flex-end;gap:3px;display:flex}.tm-bars i{border-radius:2px 2px 0 0;flex:1}.tm-btn{border-radius:4px;width:18px;height:7px;position:absolute;top:6px;right:6px}.tb-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.tb-form{flex-direction:column;gap:14px;display:flex}.tb-preview{position:sticky;top:0}.tb-preview .tm-mini{aspect-ratio:4/3;box-shadow:var(--shadow-lg)}.app-tb .tb-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}.app-tb .tb-preview{display:none}.font-picks{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.font-picks button,.pal-picks button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;display:flex}.font-picks button b{font-size:20px;line-height:1.1}.font-picks button small{font-family:var(--font);color:var(--text-muted);font-size:10.5px}.font-picks button.on,.pal-picks button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pal-picks{flex-wrap:wrap;gap:6px;display:flex}.pal-picks button{font-size:12px;font-weight:600}.pal-picks button span{gap:2px;display:flex}.pal-picks button span i{border-radius:3px;width:12px;height:12px}.sf-theme{color:var(--sidebar-text)}@media (width<=700px){.tb-grid{grid-template-columns:1fr}.font-picks{grid-template-columns:repeat(2,1fr)}}.tool-btn.on{background:var(--accent-soft);color:var(--accent)}.tool-btn:hover{background:var(--surface-3);color:var(--text-primary)}.sym-picker{flex-direction:column;gap:8px;display:flex}.sym-cats{flex-wrap:wrap;gap:4px;display:flex}.sym-cats button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;color:var(--text-secondary);border-radius:999px;padding:2px 9px;font-size:11.5px}.sym-cats button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.sym-picker .sym-grid{max-height:236px;overflow:auto}.sym-grid button svg{display:block}.w-icon.v-gradient .sym-bg{background:linear-gradient(135deg, var(--sym), var(--sym2,var(--sym)));box-shadow:0 8px 22px color-mix(in srgb, var(--sym) 40%, transparent);border-radius:26%}.w-icon.v-ring .sym-bg{border:max(3px, 5cqmin) solid var(--sym);border-radius:50%}.w-icon.v-sticker .sym-bg{background:var(--sym);border:max(3px,4cqmin) solid #fff;border-radius:50%;transform:rotate(-6deg);box-shadow:0 6px 18px #00000038}.w-icon.v-glow .sym-bg{filter:drop-shadow(0 0 6px var(--sym)) drop-shadow(0 0 14px color-mix(in srgb, var(--sym) 60%, transparent))}.w-icon.v-shadow .sym-bg svg{filter:drop-shadow(3px 4px 0 color-mix(in srgb, var(--sym) 35%, #000))}.w-icon.v-badge .sym-bg{background:linear-gradient(180deg, color-mix(in srgb, var(--sym) 18%, transparent), color-mix(in srgb, var(--sym) 30%, transparent));border:2px solid color-mix(in srgb, var(--sym) 55%, transparent);border-radius:30% 30% 50% 50%/24% 24% 60% 60%}.w-icon.v-gradient .sym-bg svg,.w-icon.v-ring .sym-bg svg,.w-icon.v-sticker .sym-bg svg,.w-icon.v-badge .sym-bg svg{width:55%;height:55%}.vs-sym{width:34px;height:34px;display:block}.process-widget{width:100%;height:100%;padding:4px}.pdiagram{font-family:var(--font);--pn-fill:var(--surface-1);--pn-stroke:var(--text-secondary);--pn-line:var(--text-muted);--pn-text:var(--text-primary);--pn-note:color-mix(in srgb, var(--accent) 7%, transparent);--pn-task:var(--accent);--pn-gw:#c98500;--pn-go:var(--good);--pn-stop:var(--danger);display:block;overflow:visible}.pdiagram .pn{cursor:default}.pdiagram .pn-start>circle:first-child{stroke:var(--pn-go)}.pdiagram .pn-end>circle:first-child,.pdiagram .pn-error>circle:first-child{stroke:var(--pn-stop)}.pdiagram .is-gw>path:first-child,.pdiagram .is-gw>path:not(:first-child),.pdiagram .is-gw>circle{stroke:var(--pn-gw)}.pdiagram :is(.pn-task,.pn-user,.pn-service,.pn-manual,.pn-subprocess)>rect:first-child{stroke:var(--pn-task)}.pn-label{text-align:center;width:100%;height:100%;color:var(--pn-text);word-break:break-word;flex-direction:column;justify-content:center;align-items:center;font-size:12px;font-weight:550;line-height:1.25;display:flex;overflow:hidden}.pn-label.below{color:var(--text-secondary);justify-content:flex-start;font-size:11px;font-weight:500}.pn-label.note{text-align:left;color:var(--text-secondary);align-items:flex-start;font-style:italic;font-weight:450}.pn-value{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;margin-top:3px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.pn-edit{resize:none;border:1.5px solid var(--accent);background:var(--surface-1);width:100%;height:100%;min-height:34px;color:var(--text-primary);font:600 12px/1.25 var(--font);text-align:center;box-shadow:0 0 0 3px var(--accent-soft);border-radius:6px;outline:none;padding:4px}.pe-line{fill:none;stroke:var(--pn-line);stroke-width:1.6px}.pe-message .pe-line{stroke-dasharray:7 5}.pe-association .pe-line{stroke-dasharray:2 4;stroke-linecap:round}.pe-hit{fill:none;stroke:#0000;stroke-width:12px}.pe-label-bg{fill:var(--surface-1);stroke:var(--border)}.pe-label{fill:var(--text-secondary);font-size:11px;font-weight:600;font-family:var(--font)}.pn-edge.sel .pe-line{stroke:var(--accent);stroke-width:2.4px}.pn-sel{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.pn.target>:first-child{stroke:var(--accent)!important;stroke-width:3px!important}.pn-port{fill:var(--surface-1);stroke:var(--accent);stroke-width:2px;cursor:crosshair}.pn-port:hover{fill:var(--accent);r:7}.pn-resize{fill:var(--surface-1);stroke:var(--accent);stroke-width:1.5px;cursor:nwse-resize}.pn-lanes{pointer-events:none}.pn-pool{fill:none;stroke:var(--border-strong);stroke-width:1.4px}.pn-pool-head{fill:color-mix(in srgb, var(--text-primary) 5%, var(--pn-fill));stroke:var(--border-strong);stroke-width:1.2px}.pn-lane{fill:#0000;stroke:var(--border-strong);stroke-width:1px}.pn-lane-head{fill:color-mix(in srgb, var(--text-primary) 3%, var(--pn-fill));stroke:var(--border-strong);stroke-width:1px}.pn-pool-name,.pn-lane-name{fill:var(--text-secondary);font-size:12px;font-weight:700;font-family:var(--font)}.pn-pool-name{fill:var(--text-primary);font-size:13px}.pv-bunt :is(.pn-task,.pn-user,.pn-service,.pn-manual,.pn-subprocess,.pn-box)>:first-child{fill:color-mix(in srgb, var(--pn-task) 13%, var(--pn-fill))}.pv-bunt .pn-start>circle:first-child{fill:color-mix(in srgb, var(--pn-go) 22%, var(--pn-fill))}.pv-bunt :is(.pn-end,.pn-error)>circle:first-child{fill:color-mix(in srgb, var(--pn-stop) 20%, var(--pn-fill))}.pv-bunt :is(.pn-timer,.pn-message,.pn-intermediate)>circle:first-child{fill:color-mix(in srgb, #6250d6 16%, var(--pn-fill));stroke:#6250d6}.pv-bunt .is-gw>path:first-child{fill:color-mix(in srgb, var(--pn-gw) 20%, var(--pn-fill))}.pv-bunt :is(.pn-store,.pn-data,.pn-db,.pn-doc)>:first-child{fill:color-mix(in srgb, #0f9fb5 14%, var(--pn-fill));stroke:#0f9fb5}.pv-bunt .pn-terminal>rect{fill:color-mix(in srgb, var(--pn-go) 18%, var(--pn-fill));stroke:var(--pn-go)}.pv-bunt .pn-decision>path{fill:color-mix(in srgb, var(--pn-gw) 18%, var(--pn-fill));stroke:var(--pn-gw)}.pv-bunt .pn-io>path{fill:color-mix(in srgb, #6250d6 14%, var(--pn-fill));stroke:#6250d6}.pv-soft .pn>:first-child{stroke-width:0!important}.pv-soft :is(.pn-task,.pn-user,.pn-service,.pn-manual,.pn-subprocess,.pn-box,.pn-terminal)>:first-child{fill:var(--pn-fill)}.pv-soft .pn-start>circle:first-child{fill:var(--pn-go)}.pv-soft :is(.pn-end,.pn-error)>circle:first-child{fill:var(--pn-stop)}.pv-soft :is(.pn-timer,.pn-message,.pn-intermediate)>circle:first-child{fill:#6250d6}.pv-soft :is(.pn-start,.pn-end,.pn-error,.pn-timer,.pn-message,.pn-intermediate)>:not(:first-child){stroke:#fff}.pv-soft .is-gw>path:first-child{fill:var(--pn-gw)}.pv-soft .is-gw>:not(:first-child){stroke:#fff!important}.pv-soft .pe-line{stroke-width:2px;stroke:color-mix(in srgb, var(--pn-line) 80%, var(--accent))}.pv-minimal{--pn-stroke:var(--text-muted);--pn-task:var(--text-muted);--pn-gw:var(--text-muted);--pn-go:var(--text-muted);--pn-stop:var(--text-secondary)}.pv-minimal .pn>:first-child{stroke-width:1.1px}.pv-minimal .pn-label{font-weight:450}.pv-blueprint{--pn-fill:#12355e;--pn-stroke:#cfe3ff;--pn-line:#9cc4f7;--pn-text:#eaf3ff;--pn-task:#cfe3ff;--pn-gw:#ffd27a;--pn-go:#8ef0c0;--pn-stop:#ff9d9d;--pn-note:#ffffff14;background-color:#0e2a4b;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:20px 20px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:10px}.pv-blueprint .pn-label.below,.pv-blueprint .pn-label.note,.pv-blueprint .pe-label,.pv-blueprint .pn-lane-name,.pv-blueprint .pn-pool-name{color:#cfe3ff;fill:#cfe3ff}.pv-blueprint .pe-label-bg{fill:#12355e;stroke:#3b6aa3}.pv-sketch{--pn-text:var(--text-primary)}.pv-sketch .pn-label{font-family:"Nunito", var(--font);font-weight:700}.pv-sketch .pn>:first-child{stroke-width:2.2px}.p-anim .pe-flow .pe-line,.p-anim .pe-message .pe-line{stroke-dasharray:7 6;animation:.9s linear infinite pflow}@keyframes pflow{to{stroke-dashoffset:-26px}}@media (prefers-reduced-motion:reduce){.p-anim .pe-line{animation:none}}.pe-back{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080c148c;padding:18px;display:grid;position:fixed;inset:0}.pe-win{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.pe-top{border-bottom:1px solid var(--border);background:var(--surface-1);align-items:center;gap:8px;padding:8px 12px;display:flex}.pe-top b{font-family:var(--font-display);font-size:15px}.pe-logo{color:#0f9488;background:#0f948829;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.pe-sep{background:var(--border);width:1px;height:20px;margin:0 2px}.pe-tip{margin-right:6px;font-size:11.5px}.select.sm{height:30px;padding:0 8px;font-size:12.5px}.pe-body{flex:1;grid-template-columns:200px 1fr 250px;min-height:0;display:grid}.pe-pal{border-right:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:12px;padding:10px;display:flex;overflow:auto}.pe-pal-grid{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;display:grid}.pe-pal-item{cursor:grab;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 4px;display:flex}.pe-pal-item:hover{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.pe-pal-item small{text-align:center;font-size:10px;line-height:1.1}.pe-pal-ico{pointer-events:none;width:40px;height:34px;display:block}.pe-canvas{background:var(--surface-2);background-image:radial-gradient(circle, var(--border-strong) 1px, transparent 1.2px);touch-action:none;-webkit-user-select:none;user-select:none;background-size:20px 20px;position:relative;overflow:hidden}.pe-canvas .pdiagram .pn{cursor:move}.pe-canvas.connecting{cursor:crosshair}.pe-ghost{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.pe-ctx{flex-direction:column;gap:4px;display:flex}.pe-ctx button{border:1px solid var(--border);background:var(--surface-1);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow);border-radius:8px;place-items:center;font-size:14px;display:grid}.pe-ctx button:hover{color:var(--accent);border-color:var(--accent)}.pe-zoom{background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;display:flex;position:absolute;bottom:12px;right:12px}.pe-empty{text-align:center;border:1.5px dashed var(--border-strong);background:var(--surface-1);width:min(460px,90%);height:fit-content;color:var(--text-secondary);pointer-events:auto;border-radius:16px;flex-direction:column;align-items:center;gap:8px;margin:auto;padding:26px;display:flex;position:absolute;inset:0}.pe-empty b{color:var(--text-primary);font-size:15px}.pe-insp{border-left:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:10px;padding:12px;display:flex;overflow:auto}.pe-lane-row{grid-template-columns:1fr 58px 26px 26px 26px;align-items:center;gap:4px;display:grid}.pe-lane-row input[type=color]{background:0 0;border:0;width:26px;height:26px;padding:0}.pe-help{background:var(--surface-2);color:var(--text-secondary);border-radius:10px;flex-direction:column;gap:6px;margin-top:8px;padding:10px;font-size:12px;display:flex}.pe-help b{color:var(--text-primary)}.pe-align button{font-size:15px}@media (width<=900px){.pe-body{grid-template-columns:1fr}.pe-pal,.pe-insp{display:none}}.pe-top .select.sm{width:auto;max-width:260px}.pe-insp .textarea{font-family:var(--font)}.pe-body{grid-template-columns:228px 1fr 260px}.pe-pal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pe-pal-item small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (width<=1350px){.pe-tip{display:none}}.pv-soft :is(.pn-store,.pn-data,.pn-db,.pn-doc,.pn-note)>:first-child{fill:color-mix(in srgb, #0f9fb5 14%, var(--pn-fill));stroke:#0f9fb5;stroke-width:1.4px!important}.bullet-list{flex-direction:column;justify-content:center;gap:10px;height:100%;padding:4px 6px;display:flex;overflow:auto}.bullet-list.compact{gap:5px}.bl-row{grid-template-columns:minmax(60px,26%) 1fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.bl-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bl-track{border-radius:4px;height:22px;position:relative;overflow:hidden}.compact .bl-track{height:14px}.bl-band{position:absolute;top:0;bottom:0;left:0}.bl-band.b3{background:color-mix(in srgb, var(--text-primary) 6%, transparent);right:0}.bl-band.b2{background:color-mix(in srgb, var(--text-primary) 10%, transparent)}.bl-band.b1{background:color-mix(in srgb, var(--text-primary) 15%, transparent)}.bl-bar{border-radius:3px;transition:width .5s;position:absolute;top:30%;bottom:30%;left:0}.bl-target{background:var(--text-primary);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:12%;bottom:12%}.bl-val{font-variant-numeric:tabular-nums;text-align:right;min-width:64px;font-weight:700}.bl-val small{color:var(--text-muted);font-size:10.5px;font-weight:500;display:block}.bl-legend{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:6px;font-size:11px;display:flex}.bl-legend em{background:var(--text-primary);border-radius:2px;width:3px;height:12px}.wordcloud{flex-wrap:wrap;place-content:center;align-items:center;gap:2px 12px;height:100%;padding:6px;font-size:clamp(10px,2.2cqmin,16px);line-height:1.05;display:flex;overflow:hidden;container-type:size}.wordcloud span{letter-spacing:-.01em;cursor:default;font-family:var(--font-display);transition:transform .15s;display:inline-block}.wordcloud span:hover{transform:scale(1.08)!important}.tilemap{place-items:center;height:100%;display:grid;position:relative;container-type:size}.tm-grid-de{aspect-ratio:1/.98;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:5px;width:min(100cqw,102cqh);display:grid}.tm-tile{background:var(--surface-2);color:var(--text-primary);cursor:default;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:clamp(9px,2.6cqmin,14px);transition:transform .15s;display:flex}.tm-tile:hover{box-shadow:var(--shadow-lg);z-index:1;transform:scale(1.06)}.tm-tile b{font-weight:800}.tm-tile small{opacity:.9;font-variant-numeric:tabular-nums;font-size:.72em}.tm-tile.empty{color:var(--text-muted);border:1px dashed var(--border-strong);background:0 0}.tm-hex .tm-tile{clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);border-radius:0}.tm-hex .tm-grid-de>:nth-child(odd){transform:translateY(0)}.tm-circles .tm-tile{border-radius:50%}.tm-note{text-align:center;margin:0;position:absolute;bottom:0;left:0;right:0}.dash-bg-grad-sky{background:linear-gradient(160deg, color-mix(in srgb, #2a78d6 22%, var(--bg)), color-mix(in srgb, #0f9fb5 12%, var(--bg)) 60%, var(--bg))}.dash-bg-grad-sunset{background:linear-gradient(150deg, color-mix(in srgb, #eb6834 22%, var(--bg)), color-mix(in srgb, #d55181 16%, var(--bg)) 55%, color-mix(in srgb, #6250d6 12%, var(--bg)))}.dash-bg-grad-mint{background:linear-gradient(160deg, color-mix(in srgb, #1baf7a 20%, var(--bg)), color-mix(in srgb, #0f9fb5 10%, var(--bg)) 70%)}.dash-bg-grad-aurora{background:radial-gradient(120% 80% at 10% 0%, #1baf7a42, transparent 60%), radial-gradient(100% 80% at 100% 10%, #6250d642, transparent 60%), radial-gradient(90% 90% at 50% 100%, #2a78d633, transparent 70%), var(--bg)}.dash-bg-dots{background:radial-gradient(circle, color-mix(in srgb, var(--text-primary) 14%, transparent) 1.2px, transparent 1.4px) 0 0 / 18px 18px, var(--bg)}.dash-bg-grid{background:linear-gradient(color-mix(in srgb, var(--text-primary) 7%, transparent) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, color-mix(in srgb, var(--text-primary) 7%, transparent) 1px, transparent 1px) 0 0 / 24px 24px, var(--bg)}.dash-bg-lines{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--text-primary) 5%, transparent) 0 2px, transparent 2px 14px), var(--bg)}.dash-bg-paper{background:radial-gradient(circle at 20% 20%,#ffffff80,#0000 60%),#f6efe2}.dash-bg-image{background-position:50%!important;background-size:cover!important}.bg-tile.dash-bg-grad-sky .bg-mini,.bg-tile.dash-bg-grad-sunset .bg-mini,.bg-tile.dash-bg-grad-mint .bg-mini,.bg-tile.dash-bg-grad-aurora .bg-mini,.bg-tile.dash-bg-dots .bg-mini,.bg-tile.dash-bg-grid .bg-mini,.bg-tile.dash-bg-lines .bg-mini,.bg-tile.dash-bg-paper .bg-mini{background:inherit}.bg-upload{cursor:pointer;margin-top:6px}.w-text.v-kicker .text-widget{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:12px;font-weight:800}.w-text.v-kicker .text-widget :is(h1,h2,h3){letter-spacing:.16em;margin:0;font-size:13px}.w-text.v-gradient .text-widget :is(h1,h2,h3,p){background:linear-gradient(110deg, var(--accent), #d55181 55%, #eb6834);color:#0000;font-family:var(--font-display);-webkit-background-clip:text;background-clip:text;font-weight:800}.w-text.v-gradient .text-widget h1{letter-spacing:-.03em;font-size:40px;line-height:1.05}.w-text.v-outline .text-widget :is(h1,h2,h3,p){color:#0000;-webkit-text-stroke:1.4px var(--text-primary);font-family:var(--font-display);font-weight:800}.w-text.v-outline .text-widget h1{letter-spacing:-.02em;font-size:44px}.w-text.v-marker .text-widget :is(strong,h1,h2,h3){background:linear-gradient(#0000 55%,#f5c4008c 55%);padding:0 .15em}.w-text.v-neon .text-widget :is(h1,h2,h3,p){color:#fff;text-shadow:0 0 4px var(--accent), 0 0 12px var(--accent), 0 0 26px var(--accent);font-family:var(--font-display);font-weight:800}.widget.w-text.v-neon{border-color:#1c1f35;background:#0b0d1a!important}.widget.w-text.v-chalk{border:6px solid #6b4a2b;background:#1f3b2d!important}.widget.w-text.v-chalk .text-widget,.widget.w-text.v-chalk .text-widget *{color:#f1f5ef;font-family:"Nunito", var(--font);text-shadow:0 0 1px #ffffff80;font-weight:700}.layers{flex-direction:column;gap:2px;display:flex;overflow:auto}.ly-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:5px 6px;display:flex}.ly-row:hover{background:var(--surface-2)}.ly-row.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.ly-row.child{margin-left:18px}.ly-row.is-hidden .ly-name{opacity:.5;text-decoration:line-through}.ly-ico{background:var(--surface-2);border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:grid}.ly-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:550;overflow:hidden}.ly-name small{color:var(--text-muted);margin-left:6px;font-size:11px;font-weight:400}.ly-tools{opacity:.55;gap:1px;display:flex}.ly-row:hover .ly-tools,.ly-row.on .ly-tools{opacity:1}.ly-tools button{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.ly-tools button:hover{background:var(--surface-3);color:var(--text-primary)}.ly-tools button.on{color:var(--accent)}.free-frame.is-locked{cursor:not-allowed}.free-frame.is-locked:after{content:"";background:color-mix(in srgb, var(--text-muted) 60%, transparent);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.sel-tools button.on{color:var(--accent);background:var(--accent-soft)}.painter-banner{z-index:30;background:var(--text-primary);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:12.5px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.painter-banner kbd{color:inherit;background:#ffffff2e;border:0}.keys-grid{grid-template-columns:1fr 1fr;gap:16px 22px;display:grid}.keys-group{flex-direction:column;gap:6px;display:flex}.keys-row{align-items:center;gap:10px;font-size:13px;display:flex}.keys-row kbd{text-align:center;min-width:92px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px}.btn,.tool-btn,.nav-btn,.chip,.seg button,.sym-cats button,.tm-card-btn,.pe-pal-item,.ly-tools button,.sel-tools button{transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,transform 80ms}.btn:active:not(:disabled),.tool-btn:active:not(:disabled),.seg button:active,.chip:active{transform:translateY(1px)scale(.985)}.btn:disabled,.tool-btn:disabled{opacity:.5;cursor:not-allowed}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page,.studio-editor,.lv-app{animation:.2s page-in}@keyframes page-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page,.studio-editor,.lv-app{animation:none}}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sel-tools.below{top:auto;bottom:-40px}
