.layout-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:0 40px 40px;--series-blue: #2a78d6;--series-orange: #eb6834;--series-green: #1baf7a;--series-yellow: #eda100;--series-pink: #e87ba4;--series-purple: #4a3aa7;--series-red: #e34948;--series-brown: #9a6a3c;--series-gray: #9a9aa3;--series-none: #dcdce1}:root[data-theme=dark] .layout-host{--series-blue: #3987e5;--series-orange: #d95926;--series-green: #199e70;--series-yellow: #c98500;--series-pink: #d55181;--series-purple: #9085e9;--series-red: #e66767;--series-brown: #b8875a;--series-gray: #a3a3ae;--series-none: #6a6a76}.layout-host .spacer{flex:1}.layout-host.pending>*{opacity:.55;transition:opacity .2s ease .15s;pointer-events:none}@media(prefers-reduced-motion:reduce){.layout-host.pending>*{transition:none}}.layout-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;font-size:13px;color:var(--text-2)}.layout-bar .lb-label{color:var(--text-3);font-size:12.5px}.layout-bar .lb-switch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer}.lb-note{color:var(--text-3);font-size:12px;font-weight:400}.layout-bar .seg button{display:inline-flex;align-items:center;gap:4px}.layout-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 20px 40px;text-align:center;color:var(--text-3);animation:pop-in .18s var(--ease-out)}.layout-empty .le-icon{color:var(--text-3)}.layout-empty h3{margin:0;color:var(--text);font-weight:600;font-size:15px}.layout-empty p{margin:0;max-width:340px;font-size:13px}.composer{width:100%;box-sizing:border-box;font:inherit;font-size:13px;color:var(--text);background:var(--bg-elev);border:1px solid var(--accent);border-radius:var(--r-sm);padding:6px 8px;outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.drag-ghost{box-shadow:var(--shadow-3)!important;opacity:.95;cursor:grabbing;transition:none!important}body.is-dragging,body.is-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.board-wrap{display:flex;flex-direction:column;min-height:0;flex:1}.board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:12px;flex:1;min-height:240px}.board-col{flex:0 0 272px;display:flex;flex-direction:column;background:var(--bg-sunken);border-radius:var(--r-lg);padding:6px;transition:box-shadow var(--t-fast)}.board-col.slim{flex-basis:150px}@media(max-width:599px){.board:not(.dragging) .board-col.slim{display:none}}.board-col.slim .board-add{font-size:12px}.board-col.drop-over{box-shadow:inset 0 0 0 2px var(--accent-ring)}.board-col-head{display:flex;align-items:center;gap:6px;padding:4px 4px 8px;min-height:28px}.board-col-head .pill{max-width:170px}.board-none{font-size:12.5px;font-weight:500;color:var(--text-2)}.board-count{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.board-cards{display:flex;flex-direction:column;gap:6px;min-height:8px}.card{background:var(--bg-elev);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;font-size:13px;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:box-shadow var(--t-fast),background var(--t-fast),opacity var(--t-fast)}.card:hover{box-shadow:var(--shadow-2)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card.dragging{opacity:.35}.card-title{font-weight:500;color:var(--text);overflow-wrap:anywhere;line-height:1.35}.card-title.untitled,.cal-name.untitled{color:var(--text-3);font-weight:400}.card-prop{min-width:0;color:var(--text-2);font-size:12.5px;overflow:hidden}.card-prop .cell-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.card-prop .pill-row{flex-wrap:wrap}.card-check{display:inline-flex;align-items:center;gap:6px}.card.hl,.cal-chip.hl{background:var(--hl-bg);box-shadow:inset 3px 0 0 var(--hl-fg),var(--shadow-1)}.card.hl:hover{box-shadow:inset 3px 0 0 var(--hl-fg),var(--shadow-2)}.card.hl-gray,.cal-chip.hl-gray{--hl-fg: var(--c-gray-fg);--hl-bg: color-mix(in srgb, var(--c-gray-bg) 55%, var(--bg-elev))}.card.hl-brown,.cal-chip.hl-brown{--hl-fg: var(--c-brown-fg);--hl-bg: color-mix(in srgb, var(--c-brown-bg) 55%, var(--bg-elev))}.card.hl-orange,.cal-chip.hl-orange{--hl-fg: var(--c-orange-fg);--hl-bg: color-mix(in srgb, var(--c-orange-bg) 55%, var(--bg-elev))}.card.hl-yellow,.cal-chip.hl-yellow{--hl-fg: var(--c-yellow-fg);--hl-bg: color-mix(in srgb, var(--c-yellow-bg) 55%, var(--bg-elev))}.card.hl-green,.cal-chip.hl-green{--hl-fg: var(--c-green-fg);--hl-bg: color-mix(in srgb, var(--c-green-bg) 55%, var(--bg-elev))}.card.hl-blue,.cal-chip.hl-blue{--hl-fg: var(--c-blue-fg);--hl-bg: color-mix(in srgb, var(--c-blue-bg) 55%, var(--bg-elev))}.card.hl-purple,.cal-chip.hl-purple{--hl-fg: var(--c-purple-fg);--hl-bg: color-mix(in srgb, var(--c-purple-bg) 55%, var(--bg-elev))}.card.hl-pink,.cal-chip.hl-pink{--hl-fg: var(--c-pink-fg);--hl-bg: color-mix(in srgb, var(--c-pink-bg) 55%, var(--bg-elev))}.card.hl-red,.cal-chip.hl-red{--hl-fg: var(--c-red-fg);--hl-bg: color-mix(in srgb, var(--c-red-bg) 55%, var(--bg-elev))}.board-drop{height:3px;border-radius:3px;background:var(--accent);margin:-1px 2px}.board-add,.board-more{display:flex;align-items:center;gap:6px;padding:6px;border-radius:var(--r-sm);color:var(--text-3);font-size:13px;text-align:left}.board-add:hover,.board-more:hover{background:var(--bg-hover);color:var(--text-2)}.board-more{justify-content:center;font-size:12px}.cal-wrap{display:flex;flex-direction:column}.cal-nav{display:flex;align-items:center;gap:2px}.cal-title{margin:0 8px 0 6px;font-size:15px;font-weight:600;color:var(--text);min-width:9em}.cal{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.cal-head,.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-wd{padding:6px 8px;font-size:12px;color:var(--text-3);border-bottom:1px solid var(--line);text-align:left}.cal-week+.cal-week{border-top:1px solid var(--line)}.cal-day{min-height:112px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;transition:background var(--t-fast)}.cal-day+.cal-day{border-left:1px solid var(--line)}.cal-day.other{background:var(--bg-sunken)}.cal-day.other .cal-num{color:var(--text-3)}.cal-day.drop-over{background:var(--accent-soft)}.cal-day-head{display:flex;align-items:center;justify-content:space-between;height:24px;pointer-events:none}.cal-day-head>*{pointer-events:auto}.cal-num{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 4px;box-sizing:border-box;border-radius:99px;font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.cal-day.today .cal-num{background:var(--accent);color:#fff;font-weight:600}.cal-add{opacity:0;transition:opacity var(--t-fast)}.cal-day:hover .cal-add,.cal-add:focus-visible{opacity:1}@media(hover:none){.cal-add{opacity:.7}}.cal-chips{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-chip{display:flex;align-items:center;gap:5px;width:100%;min-width:0;text-align:left;font:inherit;font-size:12px;line-height:1.2;padding:3px 6px;border-radius:var(--r-xs);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-1);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:box-shadow var(--t-fast),opacity var(--t-fast)}.cal-chip:hover{box-shadow:var(--shadow-2)}.cal-chip.hl{color:var(--text)}.card-title.cc,.card-prop.cc{background:var(--cc-bg);border-radius:var(--r-xs);padding:1px 6px;margin:0 -6px}.cal-chip.cc{background:var(--cc-bg);color:var(--text)}.cal-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-chip.dragging{opacity:.35}.cal-time{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.cal-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cal-more{font-size:12px;color:var(--text-2);text-align:left;padding:2px 6px;border-radius:var(--r-xs)}.cal-more:hover{background:var(--bg-hover);color:var(--text)}.cal-more-pop{display:flex;flex-direction:column;gap:4px;padding:6px;max-height:320px;overflow:auto}.cal-more-pop .menu-label{padding:2px 2px 4px}.cal-undated{margin-top:16px}.cal-undated h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-2);display:flex;align-items:baseline;gap:8px}.cal-undated-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.chart-wrap{display:flex;flex-direction:column}.chart-bar .lb-note{margin-left:4px}.chart-focus{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;max-width:280px;height:24px;padding:0 8px 0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;line-height:1;font-weight:550;animation:pop-in .16s var(--ease-out)}.chart-focus .cf-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-focus:hover{filter:brightness(.96)}.chart-focus:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chart-split{flex:1;min-height:0;display:flex;flex-direction:column}.chart-split>.layout-host{flex:0 1 auto;max-height:58%;padding-bottom:12px}.chart-table{flex:1;min-height:140px;display:flex;flex-direction:column;isolation:isolate}.chart-split.sized>.layout-host,.chart-split.solo>.layout-host{flex:1 1 0;max-height:none}.chart-split.sized>.chart-table{flex:none;height:var(--table-h);max-height:calc(100% - 120px)}.chart-split.resizing{cursor:row-resize;user-select:none;-webkit-user-select:none}.table-lead{position:sticky;left:0;width:100cqw}.table-lead>.layout-host{overflow:visible;padding:0 0 16px}.table-lead>.dash-table-bar{padding:0 0 4px}.chart-resize{position:relative;flex:none;height:9px;margin:-4px 0;z-index:4;cursor:row-resize;touch-action:none;outline:none}.chart-resize:before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--line)}.chart-resize:after{content:"";position:absolute;left:50%;top:2px;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--line-strong);opacity:0;transition:opacity var(--t-fast),background var(--t-fast)}.chart-split:hover>.chart-resize:after{opacity:.7}.chart-resize:hover:after,.chart-resize:focus-visible:after,.chart-split.resizing>.chart-resize:after{opacity:1;background:var(--accent)}.chart-resize:hover:before,.chart-resize:focus-visible:before,.chart-split.resizing>.chart-resize:before{background:var(--accent);height:2px;top:3.5px}@media(hover:none){.chart-resize{height:21px;margin:-10px 0}.chart-resize:before{top:10px}.chart-resize:after{top:8px;opacity:.7}}.chart-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch;padding-bottom:8px}.chart-card{grid-column:span 6}.chart-card.w-twoThirds{grid-column:span 4}.chart-card.w-half{grid-column:span 3}.chart-card.w-third{grid-column:span 2}.chart-grid[data-fit="2"] .chart-card.w-third{grid-column:span 3}.chart-grid[data-fit="2"] .chart-card.w-twoThirds,.chart-grid[data-fit="1"] .chart-card{grid-column:span 6}.chart-card{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.chart-card:hover,.chart-card:focus-within{border-color:var(--line-strong)}.chart-card.drop-before:before,.chart-card.drop-after:before{content:"";position:absolute;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent);pointer-events:none}.chart-card.drop-before:before{left:-10px}.chart-card.drop-after:before{right:-10px}.chart-card.drop-y:before{left:8px;right:8px;width:auto;height:3px;top:auto;bottom:auto}.chart-card.drop-y.drop-before:before{top:-10px}.chart-card.drop-y.drop-after:before{bottom:-10px}.cc-head{display:flex;align-items:flex-start;gap:8px;padding:12px 10px 4px 16px}.cc-head[draggable=true]{cursor:grab}.cc-head[draggable=true]:active{cursor:grabbing}.cc-titles{flex:1;min-width:0}.cc-title{margin:0;font-size:13.5px;font-weight:600;color:var(--text);line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-sub{font-size:12px;color:var(--text-3);min-width:0}.cc-source{all:unset;cursor:pointer;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-xs)}.cc-source:hover{color:var(--text);text-decoration:underline;text-underline-offset:2px}.cc-source:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cc-actions{display:flex;gap:2px;flex:none;transition:opacity var(--t-fast)}@media(hover:hover){.chart-card .cc-actions{opacity:.35}.chart-card:hover .cc-actions,.chart-card:focus-within .cc-actions,.cc-actions:has([aria-expanded=true]){opacity:1}}.cc-body{flex:1;min-width:0;padding:4px 16px 16px;display:flex;flex-direction:column}.chart-card .layout-empty{padding:24px 8px 16px}.chart-card .layout-empty h3{font-size:13.5px}.chart-figure{display:flex;flex-direction:column;gap:2px;padding:4px 0 2px}.chart-figure .cf-value{font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-figure .cf-sub{font-size:12.5px;color:var(--text-3)}.chart-editor .ce-body{display:flex;flex-direction:column;gap:12px;padding:12px}.ce-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ce-field .psel{align-self:flex-start;max-width:100%}.ce-label{font-size:12px;font-weight:600;color:var(--text-3)}.ce-hint{font-size:12px;color:var(--text-3)}.ce-title{width:100%}.ce-kinds,.ce-widths{align-self:flex-start}.ce-widths button{min-width:34px;justify-content:center}.ce-kinds button{display:inline-flex;align-items:center;gap:4px}.dashboard{flex:1;min-height:0;display:flex;flex-direction:column}.dashboard .layout-host{padding-top:4px}.dash-table-bar{flex:none;display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 40px 4px;font-size:13px}.dtb-source{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtb-source .cc-view{font-weight:400;color:var(--text-2)}.dtb-count{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.dtb-spacer{flex:1}.le-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.chart-box{position:relative;min-width:0}.chart-plot{position:relative}.chart-svg{display:block;overflow:visible;font-size:12px}.chart-svg .grid{stroke:var(--line);stroke-width:1}.chart-svg .grid.zero{stroke:var(--line-strong)}.chart-svg .tick{fill:var(--text-3);font-size:11.5px;font-variant-numeric:tabular-nums}.chart-svg .cat{fill:var(--text-2);font-size:12.5px}.chart-svg .cat.none,.chart-svg .tick.none{font-style:italic}.chart-svg .val{fill:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}.chart-svg .bar{fill:var(--accent);transition:fill var(--t-fast)}.chart-svg .bar.tinted,.chart-svg .mark.on .bar.tinted{fill:var(--bar)}.chart-svg .mark.on .bar.tinted{filter:brightness(.9)}.chart-svg .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-svg .dot{fill:var(--accent);stroke:var(--bg);stroke-width:2}.chart-svg .crosshair{stroke:var(--line-strong);stroke-dasharray:3 3}.chart-svg .hit{fill:transparent}.chart-svg .mark{outline:none;cursor:default}.chart-svg .mark.on .bar,.chart-svg .mark.on .dot{fill:var(--accent-strong)}.chart-svg .mark.on .hit{fill:var(--bg-hover)}.chart-svg .mark:focus-visible .hit{stroke:var(--accent);stroke-width:2}.chart-svg .slice{stroke:var(--bg);stroke-width:2;outline:none;transition:opacity var(--t-fast)}.chart-svg:has(.slice.on) .slice:not(.on){opacity:.55}.chart-svg .slice:focus-visible{stroke:var(--text)}.chart-svg .mark.pickable,.chart-svg .slice.pickable{cursor:pointer}.chart-svg .mark .bar,.chart-svg .mark .dot{transition:opacity var(--t-fast)}.chart-svg .mark.dim .bar,.chart-svg .mark.dim .dot,.chart-svg .mark.dim .val{opacity:.35}.chart-svg .slice.dim,.chart-svg:has(.slice.on) .slice.dim:not(.on){opacity:.3}.chart-svg .mark.picked .cat{fill:var(--text);font-weight:600}.legend li.dim{opacity:.45}.chart-tip .ct-hint{margin-top:4px;font-size:11.5px;color:var(--text-3)}.chart-svg .donut-total{fill:var(--text);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.chart-tip{position:absolute;z-index:10;pointer-events:none;min-width:120px;max-width:220px;padding:7px 10px;border-radius:var(--r-md);background:var(--bg-elev);box-shadow:var(--shadow-2);font-size:12.5px;animation:fade-in var(--t-fast) ease-out}.chart-tip .ct-label{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tip .ct-value{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.chart-tip .ct-sub{color:var(--text-3);font-weight:400}.chart-plot.donut{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:8px}.chart-plot.donut.side{flex-direction:row;align-items:center;justify-content:flex-start;gap:40px}.donut-fig{position:relative;flex:none}.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;min-width:220px;max-width:360px;width:100%;font-size:13px}.legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 48px;align-items:center;gap:8px;padding:3px 6px;border-radius:var(--r-xs)}.legend li.on{background:var(--bg-hover)}.legend .sw{width:10px;height:10px;border-radius:3px}.legend .lg-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.legend .lg-val{color:var(--text-2);font-variant-numeric:tabular-nums}.legend .lg-pct{color:var(--text-3);font-variant-numeric:tabular-nums;text-align:right}@media(prefers-reduced-motion:reduce){.card,.cal-chip,.board-col,.cal-day,.chart-svg .bar,.chart-svg .slice,.chart-card,.cc-actions,.chart-resize:after{transition:none}.layout-empty,.chart-tip{animation:none}}@media(max-width:760px){.layout-host{padding:0 16px 24px}.dash-table-bar{padding:6px 16px 4px}.board-col{flex-basis:240px}.cal-title{font-size:14px;min-width:0}.cal-day{min-height:76px;padding:2px}.cal-wd{padding:4px;font-size:11px}.cal-chip{padding:2px 4px;font-size:11px}.cal-time,.layout-bar .lb-seg-txt{display:none}}@media print{.layout-host{overflow:visible;padding:0}.layout-bar,.board-add,.board-more,.cal-add,.cal-nav .btn,.cc-actions,.chart-resize{display:none!important}.chart-card{break-inside:avoid;box-shadow:none}.board{flex-wrap:wrap;overflow:visible}.card,.cal-week{break-inside:avoid}.cal-day{min-height:90px}}.card-prop.keyed{display:flex;align-items:baseline;gap:6px}.card-prop.keyed .card-k{color:var(--text-3);font-size:12px;flex:none;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-prop.keyed .cell-text,.card-prop.keyed .bar-cell{min-width:0;flex:1}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: #ffffff;--bg-sunken: #f7f7f8;--pin-head-bg: var(--bg-sunken);--pin-bg: color-mix(in srgb, var(--bg-sunken) 55%, var(--bg));--bg-elev: #ffffff;--bg-hover: rgba(15, 15, 20, .045);--bg-active: rgba(15, 15, 20, .08);--bg-selected: rgba(99, 102, 241, .08);--line: rgba(15, 15, 20, .09);--skeleton: rgba(15, 15, 20, .07);--line-strong: rgba(15, 15, 20, .16);--text: #1a1a1f;--text-2: #5c5c66;--text-3: #6e6e7a;--accent: #6366f1;--accent-strong: #4f52e0;--accent-soft: rgba(99, 102, 241, .14);--accent-ring: rgba(99, 102, 241, .35);--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .12);--danger-line: rgba(229, 72, 77, .4);--success: #30a46c;--mark: rgba(250, 204, 21, .5);--star: #f59e0b;--star-off: rgba(15, 15, 20, .13);--shadow-1: 0 1px 2px rgba(15, 15, 20, .05), 0 0 0 1px rgba(15, 15, 20, .04);--shadow-2: 0 4px 12px -2px rgba(15, 15, 20, .12), 0 0 0 1px rgba(15, 15, 20, .06);--shadow-3: 0 16px 40px -8px rgba(15, 15, 20, .22), 0 0 0 1px rgba(15, 15, 20, .06);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-io: cubic-bezier(.65, 0, .35, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .11s;--t-mid: .18s;--t-slow: .26s;--row-h: 36px;--sidebar-w: 240px;--c-gray-bg: #e9e9ec;--c-gray-fg: #3f3f46;--c-brown-bg: #ece2d8;--c-brown-fg: #5c3d1f;--c-orange-bg: #fbe3cc;--c-orange-fg: #8a3d04;--c-yellow-bg: #faedb8;--c-yellow-fg: #6e5200;--c-green-bg: #d5efdd;--c-green-fg: #1b5e36;--c-blue-bg: #d8e6fb;--c-blue-fg: #1d4f91;--c-purple-bg: #e6dcf9;--c-purple-fg: #4d2a8f;--c-pink-bg: #fadbe8;--c-pink-fg: #8c2550;--c-red-bg: #fbd9d7;--c-red-fg: #8f2420;color-scheme:light}:root[data-theme=dark]{--bg: #17171b;--bg-sunken: #121215;--bg-elev: #1f1f25;--bg-hover: rgba(255, 255, 255, .055);--bg-active: rgba(255, 255, 255, .1);--bg-selected: rgba(129, 131, 255, .12);--line: rgba(255, 255, 255, .08);--skeleton: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .16);--text: #ececf1;--text-2: #a3a3ad;--text-3: #8e8e99;--accent: #8183ff;--accent-strong: #9d9eff;--accent-soft: rgba(129, 131, 255, .18);--accent-ring: rgba(129, 131, 255, .45);--danger: #ff6369;--danger-soft: rgba(255, 99, 105, .16);--mark: rgba(250, 204, 21, .32);--star: #fbbf24;--star-off: rgba(255, 255, 255, .16);--danger-line: rgba(255, 99, 105, .45);--success: #3dd68c;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-2: 0 6px 16px -4px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .07);--shadow-3: 0 20px 48px -8px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .08);--c-gray-bg: #34343b;--c-gray-fg: #c8c8d0;--c-brown-bg: #3f3128;--c-brown-fg: #d9b89c;--c-orange-bg: #4a2f16;--c-orange-fg: #f5b27a;--c-yellow-bg: #453a12;--c-yellow-fg: #e9cf6c;--c-green-bg: #1b3a2a;--c-green-fg: #7fd4a4;--c-blue-bg: #1b3050;--c-blue-fg: #8ab8f5;--c-purple-bg: #2f2550;--c-purple-fg: #b9a2f2;--c-pink-bg: #4a2236;--c-pink-fg: #f0a0c6;--c-red-bg: #4a2222;--c-red-fg: #f29a9a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:clip}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;background:#00000059;animation:fade-in var(--t-mid)}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01";overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}[tabindex="-1"]:focus-visible{outline:none}*::-webkit-scrollbar{width:14px;height:14px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:4px solid transparent;background-clip:padding-box;min-height:48px;min-width:48px}*::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:active,.sb-hover-y::-webkit-scrollbar-thumb:vertical,.sb-hover-x::-webkit-scrollbar-thumb:horizontal{background:var(--text-3);border-width:2px}.sb-hover-y::-webkit-scrollbar-track:vertical,.sb-hover-x::-webkit-scrollbar-track:horizontal{background:var(--bg-sunken)}*::-webkit-scrollbar-corner{background:transparent}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}@keyframes pop-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes row-in{0%{opacity:0;transform:translateY(-6px);background:var(--accent-soft)}60%{background:var(--accent-soft)}to{opacity:1;transform:none;background:transparent}}@keyframes flash{0%{background:var(--accent-soft)}to{background:transparent}}@keyframes check-draw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}@keyframes pill-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}@keyframes pulse-dot{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes slide-left{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ghost-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes saved-tick{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1.1)}40%{transform:scale(1)}80%{opacity:1}to{opacity:0}}@keyframes saved-tick-still{0%,99.9%{opacity:1}to{opacity:0}}.app{display:flex;height:100%}.sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;background:var(--bg-sunken);border-right:1px solid var(--line);transition:width var(--t-slow) var(--ease-out),opacity var(--t-mid);overflow:hidden}.sidebar.collapsed{width:0;opacity:0;border-right-color:transparent;visibility:hidden;transition:width var(--t-slow) var(--ease-out),opacity var(--t-mid),visibility 0s var(--t-slow)}.sidebar-inner{width:var(--sidebar-w);display:flex;flex-direction:column;height:100%}.sidebar-head{display:flex;align-items:center;gap:8px;padding:14px 12px 8px}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:-.01em;min-width:0;color:var(--text);margin:-4px auto -4px -6px;padding:4px 6px;border-radius:var(--r-sm);transition:background var(--t-fast)}.brand:hover{background:var(--bg-hover);text-decoration:none}.brand-mark{display:grid;place-items:center;width:22px;height:22px;color:var(--text);flex:none}.sidebar-section{margin:16px 8px 2px;padding:4px 4px 4px 8px;min-height:30px;font-size:12px;font-weight:600;color:var(--text-3);display:flex;align-items:center;justify-content:space-between}.sidebar-section .label{display:flex;align-items:center;gap:5px}.sidebar-section .label svg{flex:none;margin:0 3px}.sidebar-section .actions{display:flex;gap:2px;transition:opacity var(--t-fast)}@media(hover:hover){.sidebar-section .actions{opacity:.5}.sidebar-section:hover .actions,.sidebar-section:focus-within .actions{opacity:1}}.db-list{flex:1;overflow-y:auto;padding:1px 8px;display:flex;flex-direction:column;gap:2px}.dash-list{flex:none;max-height:30vh;overflow-y:auto;padding:1px 8px;display:flex;flex-direction:column;gap:2px}.dash-list .dash-new{color:var(--text-3)}.db-item{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:5px 8px;border-radius:var(--r-sm);color:var(--text-2);text-align:left;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast);position:relative}.db-item:hover{background:var(--bg-hover);color:var(--text)}.db-item:active{transform:scale(.985)}.db-item.active{background:var(--bg);box-shadow:0 0 0 1px var(--line);color:var(--text);font-weight:500}.db-item.active:hover{background:var(--bg)}.db-item .ico{width:20px;text-align:center;font-size:15px;flex:none}.db-item .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-item .more{opacity:0;width:20px;height:20px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--text-3);transition:opacity var(--t-fast),background var(--t-fast)}.db-item:hover .more,.db-item:focus-within .more,.db-item .more:focus-visible,.db-item .more[data-open=true]{opacity:1}.db-item .ico{background:none;border:0;padding:0;cursor:pointer;border-radius:var(--r-xs);font:inherit;font-size:15px}.db-item .more:hover{background:var(--bg-active);color:var(--text)}.sidebar-nav{margin:0 8px;display:flex;flex-direction:column;gap:2px}.sidebar-foot{padding:8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.storage-meter{display:block;width:100%;padding:6px 8px;border:0;border-radius:var(--r-sm);background:none;font:inherit;font-size:11px;color:var(--text-3);text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.storage-meter:hover{background:var(--bg-hover);color:var(--text-2)}.storage-meter .bar{height:3px;background:var(--line);border-radius:2px;margin-top:5px;overflow:hidden}.storage-meter .bar i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width var(--t-slow) var(--ease-out)}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);position:relative}.topbar{display:flex;align-items:center;gap:6px;padding:8px 12px;min-height:44px}.topbar .crumb{color:var(--text-2);font-size:13px;display:flex;align-items:center;gap:6px}.topbar .spacer{flex:1}.window-controls{position:fixed;top:0;right:0;z-index:90;display:flex;height:44px}.window-controls button{width:46px;height:100%;border:0;background:transparent;color:var(--text);font:10px Segoe Fluent Icons,Segoe MDL2 Assets;cursor:default}.window-controls button:hover{background:var(--bg-hover)}.window-controls button:active{background:var(--bg-active)}.window-controls button.close:hover{background:#c42b1c;color:#fff}.window-controls button.close:active{background:#c42b1c;color:#fffc}.custom-titlebar .topbar,.custom-titlebar .peek-head{padding-right:150px}.saved-indicator{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-3);min-width:64px}.saved-indicator .tick{color:var(--success);animation:saved-tick 1.6s var(--ease-out) forwards}.db-header{padding:8px 40px 0}.db-title-row{display:flex;align-items:center;gap:10px}.db-icon{width:40px;height:40px;display:grid;place-items:center;font-size:28px;border-radius:var(--r-md);transition:background var(--t-fast),transform var(--t-mid) var(--spring)}.db-icon:hover{background:var(--bg-hover);transform:scale(1.08) rotate(-4deg)}.db-title{font-size:28px;font-weight:700;letter-spacing:-.02em;border:0;background:transparent;padding:2px 6px;margin-left:-6px;border-radius:var(--r-sm);width:100%;min-width:0}.db-title:hover{background:var(--bg-hover)}.db-title:focus{background:var(--bg-hover)}.db-desc{color:var(--text-2);border:0;background:transparent;padding:2px 6px;margin-left:-6px;border-radius:var(--r-sm);width:100%;font-size:14px}.db-desc:focus,.db-desc:hover{background:var(--bg-hover)}.db-title:focus-visible,.db-desc:focus-visible{outline:2px solid var(--accent);outline-offset:0}.db-desc::placeholder,.db-title::placeholder{color:var(--text-3)}.toolbar{display:flex;align-items:center;gap:2px;padding:10px 40px 0;border-bottom:1px solid var(--line);margin:0}.view-tabs{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.view-tabs::-webkit-scrollbar{display:none}.view-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 8px;font-size:13px;color:var(--text-2);border-radius:var(--r-sm) var(--r-sm) 0 0;position:relative;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast);font-weight:500}.view-tab:hover{color:var(--text);background:var(--bg-hover)}.view-tab.active{color:var(--text)}.view-tab.active:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--text);border-radius:2px 2px 0 0;animation:bar-grow var(--t-mid) var(--ease-out)}.view-tab:not(.active):not(.renaming){flex:0 1 auto;min-width:calc(36px + 5ch)}.view-tab.active,.view-tab.renaming{flex:none}.vt-label{display:grid;overflow:hidden;min-width:0}.vt-label>span{grid-area:1 / 1;white-space:nowrap;text-align:start}.vt-full{visibility:hidden}.view-tab .vt-icon{color:var(--text-3);flex:none}.view-tabs>.btn{flex:none}.view-tab.active .vt-icon{color:var(--text)}.toolbar-actions{display:flex;align-items:center;gap:2px;padding-bottom:4px}.toolbar.compact .tb-label{display:none}.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--text-2);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.btn:hover{background:var(--bg-hover);color:var(--text)}.btn:active{transform:scale(.96)}.btn.icon{width:28px;padding:0;justify-content:center}.btn.sm{height:24px;font-size:12px;padding:0 6px}.btn.active{color:var(--accent);background:var(--accent-soft)}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #6366f159,inset 0 1px #ffffff26}.btn.primary:hover{background:var(--accent-strong);color:#fff}.btn.primary:active{transform:scale(.97)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.btn.ghost{color:var(--text-3)}.btn .kbd{margin-left:2px}.btn-split{display:inline-flex}.btn-split .btn:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.btn-split .btn:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0;border-left:1px solid rgba(255,255,255,.25);width:24px;padding:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--accent);color:#fff;font-size:10px;font-weight:600}.search-wrap{display:inline-flex;align-items:center;gap:6px;height:28px;border-radius:var(--r-sm);padding:0 6px;transition:width var(--t-slow) var(--ease-out),background var(--t-fast),box-shadow var(--t-fast);width:28px;overflow:hidden}.search-wrap.open{width:200px;background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--line)}.search-wrap input{border:0;background:transparent;outline:none;flex:1;min-width:0;font-size:13px}.search-wrap input::placeholder{color:var(--text-3)}.search-clear{flex:none;width:18px;height:18px;margin-right:-2px;border-radius:50%;display:grid;place-items:center;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.search-clear:hover{background:var(--bg-active);color:var(--text)}.search-sugs .menu-item{cursor:default}.search-sugs code{font-family:var(--mono);font-size:11.5px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:4px;background:var(--bg-active);color:var(--text-2);font-size:10.5px;font-family:var(--mono);font-weight:500;line-height:1}.table-scroll{flex:1;overflow:auto;position:relative;padding:0 40px;container-type:inline-size}.table-scroll:focus{outline:none}.table-scroll.kb-focus:focus:not(.has-focus){box-shadow:inset 0 0 0 2px var(--accent)}.thead .th:focus-visible,.tfoot .tf:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:0}.group-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-spacer{height:120px}.table{display:inline-block;min-width:100%}.thead{display:flex;position:sticky;top:0;z-index:5;background:var(--bg);box-shadow:inset 0 -1px 0 var(--line)}.thead .th{display:flex;align-items:center;gap:6px;height:var(--row-h);padding:0 8px;font-size:12.5px;font-weight:500;color:var(--text-2);border-right:1px solid var(--line);position:relative;-webkit-user-select:none;user-select:none;flex:none;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap;overflow:hidden}.thead .th:hover{background:var(--bg-hover);color:var(--text)}.thead .th.open{background:var(--bg-active);color:var(--text)}.thead .th.dragging{opacity:.4}.thead .th.drop-before:before,.thead .th.drop-after:after{content:"";position:absolute;top:4px;bottom:4px;width:2px;background:var(--accent);border-radius:2px;z-index:2}.thead .th.drop-before:before{left:-1px}.thead .th.drop-after:after{right:-1px}.th .th-ico{color:var(--text-3);flex:none}.th .th-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.th .th-sort{color:var(--accent);flex:none;opacity:.9}.th .resizer{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:3}.th .resizer:after{content:"";position:absolute;left:2px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent);opacity:0;transition:opacity var(--t-fast)}.th .resizer:hover:after,.th .resizer.active:after{opacity:1}.th.gutter{width:44px;padding:0;justify-content:center;border-right:0}.th.add-col{width:44px;border-right:0;justify-content:center;color:var(--text-3);cursor:pointer}.th.add-col:hover{color:var(--text)}.tbody{display:flex;flex-direction:column}.tbody.virtual{position:relative}.tbody.virtual .tr{height:var(--row-h)}.tbody.virtual .tr.pinned{position:absolute;left:0;right:0;z-index:1;background:var(--bg)}.tbody.virtual .tr.pinned.selected{background:var(--bg-selected)}.tbody.virtual:before,.tbody.virtual:after{content:"";position:absolute;left:0;right:0;z-index:0;pointer-events:none;background:var(--skeleton);-webkit-mask-image:var(--ghost),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(255,255,255,.9) 0);mask-image:var(--ghost),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(255,255,255,.9) 0);-webkit-mask-size:var(--ghost-w) var(--row-h),100% var(--row-h);mask-size:var(--ghost-w) var(--row-h),100% var(--row-h);-webkit-mask-repeat:repeat-y;mask-repeat:repeat-y;animation:ghost-pulse 1.6s ease-in-out infinite}.tbody.virtual:before{top:0;height:var(--vpad-top, 0px)}.tbody.virtual:after{bottom:0;height:var(--vpad-bottom, 0px)}.tbody.ghost-only{overflow:hidden}.tbody.ghost-only:before{height:100%}.tr{display:flex;align-items:stretch;position:relative;min-height:var(--row-h);box-shadow:inset 0 -1px 0 var(--line);transition:background var(--t-fast)}.tr:hover{background:var(--bg-hover)}.tr.selected,.tr.selected:hover{background:var(--bg-selected)}.tr.menu-open{background:var(--bg-hover)}.td.menu-cell{box-shadow:inset 0 0 0 1.5px var(--accent-ring)}.tr.new{animation:row-in .6s var(--ease-out)}.tr.dragging{opacity:.35}.tr.drop-before{box-shadow:inset 0 2px 0 var(--accent),inset 0 -1px 0 var(--line)}.tr.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.tr.hl{background:var(--hl-bg);box-shadow:inset 3px 0 0 var(--hl-fg),inset 0 -1px 0 var(--line)}.tr.hl:hover{background:var(--hl-bg-hover)}.tbody.virtual .tr.pinned.hl{background:var(--hl-bg)}.tr.hl.selected,.tr.hl.selected:hover{background:var(--bg-selected)}.tr.hl-gray{--hl-fg: var(--c-gray-fg);--hl-bg: color-mix(in srgb, var(--c-gray-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-gray-bg) 80%, var(--bg))}.tr.hl-brown{--hl-fg: var(--c-brown-fg);--hl-bg: color-mix(in srgb, var(--c-brown-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-brown-bg) 80%, var(--bg))}.tr.hl-orange{--hl-fg: var(--c-orange-fg);--hl-bg: color-mix(in srgb, var(--c-orange-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-orange-bg) 80%, var(--bg))}.tr.hl-yellow{--hl-fg: var(--c-yellow-fg);--hl-bg: color-mix(in srgb, var(--c-yellow-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-yellow-bg) 80%, var(--bg))}.tr.hl-green{--hl-fg: var(--c-green-fg);--hl-bg: color-mix(in srgb, var(--c-green-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-green-bg) 80%, var(--bg))}.tr.hl-blue{--hl-fg: var(--c-blue-fg);--hl-bg: color-mix(in srgb, var(--c-blue-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-blue-bg) 80%, var(--bg))}.tr.hl-purple{--hl-fg: var(--c-purple-fg);--hl-bg: color-mix(in srgb, var(--c-purple-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-purple-bg) 80%, var(--bg))}.tr.hl-pink{--hl-fg: var(--c-pink-fg);--hl-bg: color-mix(in srgb, var(--c-pink-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-pink-bg) 80%, var(--bg))}.tr.hl-red{--hl-fg: var(--c-red-fg);--hl-bg: color-mix(in srgb, var(--c-red-bg) 55%, var(--bg));--hl-bg-hover: color-mix(in srgb, var(--c-red-bg) 80%, var(--bg))}.tr .gutter{width:44px;flex:none;display:flex;align-items:center;justify-content:center;gap:2px;position:sticky;left:0}.tr .gutter .row-handle{opacity:0;width:14px;height:20px;display:grid;place-items:center;color:var(--text-3);cursor:grab;border-radius:3px;transition:opacity var(--t-fast)}.tr:hover .gutter .row-handle{opacity:1}.tr .gutter .row-check{opacity:0;transition:opacity var(--t-fast)}.tr:hover .gutter .row-check,.tr:focus-within .gutter .row-check,.tr.selected .gutter .row-check,.tbody.selecting .gutter .row-check{opacity:1}.tr .gutter .row-check:hover{background:var(--bg-active)}.tr .trailer{flex:1;min-width:44px}.td{flex:none;position:relative;display:flex;align-items:center;min-height:var(--row-h);padding:0 8px;border-right:1px solid var(--line);font-size:14px;overflow:hidden;cursor:default;transition:box-shadow var(--t-fast)}.td.focused{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 1px var(--accent-ring);z-index:2;border-radius:2px}.td.editing{overflow:visible;z-index:10}.td.flash{animation:flash .7s var(--ease-out)}.td.readonly{color:var(--text-2);cursor:default}.td .cell-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}mark.hit{background:var(--mark);color:inherit;border-radius:2px;padding:1px 0;margin:-1px 0}.pill mark.hit,.date-chip.overdue mark.hit,.date-chip.today mark.hit{background:transparent;text-decoration:underline 2px currentColor;text-underline-offset:2px}.s-keys.syntax .s-key .kbd{min-width:0;padding:0 7px}.cell-text.soft-invalid{color:var(--text-2);text-decoration:underline dotted var(--danger);text-underline-offset:3px}.td.title-cell{font-weight:500}.td .open-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%) translate(4px);opacity:0;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 6px;border-radius:var(--r-xs);background:var(--bg-elev);color:var(--text-2);font-size:11px;font-weight:500;box-shadow:var(--shadow-1);transition:opacity var(--t-fast),transform var(--t-fast) var(--ease-out)}.tr:hover .td .open-btn,.td .open-btn:focus-visible,.td.focused .open-btn{opacity:1;transform:translateY(-50%)}.td .open-btn:hover{color:var(--accent)}.td.num{justify-content:flex-end;font-variant-numeric:tabular-nums}.td .placeholder{color:var(--text-3);font-size:13px;opacity:0;transition:opacity var(--t-fast)}.tr:hover .td .placeholder{opacity:1}.cell-editor{position:absolute;left:-1px;top:-1px;min-width:calc(100% + 2px);min-height:calc(100% + 2px);z-index:20;background:var(--bg-elev);border-radius:var(--r-xs);box-shadow:var(--shadow-3),0 0 0 2px var(--accent);padding:7px 8px;animation:fade-in var(--t-fast) var(--ease-out)}.ime-catcher{position:fixed;left:0;top:0;width:1px;min-height:1px;height:auto;z-index:20;margin:0;padding:0;border:0;outline:0;resize:none;overflow:hidden;opacity:0;pointer-events:none;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.45}.ime-catcher.open{opacity:1;padding:7px 8px;background:var(--bg-elev);border-radius:var(--r-xs);box-shadow:var(--shadow-3),0 0 0 2px var(--accent)}.cell-editor textarea,.cell-editor input{width:100%;border:0;outline:0;background:transparent;resize:none;padding:0;font-size:14px;line-height:1.45;display:block}.cell-editor textarea{min-height:22px}.cell-editor.num input{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:4px;font-size:12.5px;font-weight:500;white-space:nowrap;line-height:1;background:var(--c-gray-bg);color:var(--c-gray-fg);max-width:100%;transition:transform var(--t-fast) var(--spring),filter var(--t-fast)}.pill.new{animation:pill-pop var(--t-slow) var(--spring)}.pill span{overflow:hidden;text-overflow:ellipsis}.pill .x{display:grid;place-items:center;width:14px;height:14px;border-radius:3px;opacity:.6;margin-right:-3px}.pill .x:hover{opacity:1;background:#0000001a}.pill.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85;flex:none}.pill-row{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;align-items:center}.pill-row.wrap{flex-wrap:wrap}.c-gray{background:var(--c-gray-bg);color:var(--c-gray-fg)}.c-brown{background:var(--c-brown-bg);color:var(--c-brown-fg)}.c-orange{background:var(--c-orange-bg);color:var(--c-orange-fg)}.c-yellow{background:var(--c-yellow-bg);color:var(--c-yellow-fg)}.c-green{background:var(--c-green-bg);color:var(--c-green-fg)}.c-blue{background:var(--c-blue-bg);color:var(--c-blue-fg)}.c-purple{background:var(--c-purple-bg);color:var(--c-purple-fg)}.c-pink{background:var(--c-pink-bg);color:var(--c-pink-fg)}.c-red{background:var(--c-red-bg);color:var(--c-red-fg)}.swatch{width:14px;height:14px;border-radius:4px;flex:none}.checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line-strong);background:var(--bg-elev);display:grid;place-items:center;flex:none;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--spring);cursor:pointer}.checkbox:hover{border-color:var(--accent)}.checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox[aria-disabled=true]{cursor:default}.checkbox:active{transform:scale(.88)}.checkbox.on{background:var(--accent);border-color:var(--accent)}.checkbox svg{width:11px;height:11px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20}.checkbox.on svg{animation:check-draw .22s var(--ease-out) forwards}.checkbox.sm{width:14px;height:14px}.checkbox.sm svg{width:9px;height:9px}.bar-cell{display:flex;align-items:center;gap:8px;width:100%}.bar-cell .track{flex:1;height:5px;border-radius:3px;background:var(--line);overflow:hidden}.bar-cell .track i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width var(--t-mid) var(--ease-out)}.bar-cell .val{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.rating{display:inline-flex;align-items:center;gap:1px;flex:none}.rating .star{display:grid;place-items:center;width:17px;height:20px}.rating .star svg{width:15px;height:15px;fill:var(--star-off);transition:fill var(--t-fast),transform var(--t-fast) var(--spring)}.rating .star.on svg{fill:var(--star)}.rating.live .star{cursor:pointer}.rating.live .star:hover svg{transform:scale(1.18)}.rating.live .star:active svg{transform:scale(.9)}.rating.live.hovering .star.on svg{fill:color-mix(in srgb,var(--star) 70%,transparent)}.td .rating.unrated{opacity:0;transition:opacity var(--t-fast)}.tr:hover .td .rating.unrated,.td.focused .rating.unrated,.td .rating.unrated.hovering{opacity:1}@media(hover:none){.td .rating.unrated{opacity:.45}}.td .rating{min-width:0;max-width:100%}.td .rating .star{flex:0 1 auto;min-width:0}.rating .star svg{max-width:100%}.cell-editor.rating-editor{display:flex;align-items:center;padding:0 8px;outline:0}.peek .rating .star{width:19px}.peek .rating .star svg{width:17px;height:17px}.id-cell{font-variant-numeric:tabular-nums;color:var(--text-2);letter-spacing:.01em}.date-chip{font-variant-numeric:tabular-nums}.date-chip.overdue{color:var(--danger)}.date-chip.today{color:var(--accent);font-weight:500}.add-row{display:flex;align-items:center;gap:6px;height:var(--row-h);padding:0 8px 0 12px;color:var(--text-3);font-size:13px;width:100%;box-shadow:inset 0 -1px 0 var(--line);transition:background var(--t-fast),color var(--t-fast);text-align:left;position:sticky;left:0}.add-row:hover{background:var(--bg-hover);color:var(--text)}.tfoot{display:flex;align-items:stretch;height:32px;position:sticky;bottom:0;background:var(--bg);z-index:4}.tfoot .tf{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 8px;font-size:12px;color:var(--text-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast),color var(--t-fast);border-right:1px solid transparent}.tfoot .tf:hover{background:var(--bg-hover);color:var(--text)}.tfoot .tf .lbl{opacity:0;transition:opacity var(--t-fast);font-weight:500}.tfoot .tf:hover .lbl,.tfoot .tf.has .lbl{opacity:1}.tfoot .tf .val{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:500}.tfoot .tf.gutter{width:44px;padding:0}.group{margin-top:18px}.group:first-child{margin-top:6px}.group-head{display:flex;align-items:center;gap:8px;height:34px;padding:0 4px;position:sticky;left:0;cursor:pointer;border-radius:var(--r-sm);width:fit-content;transition:background var(--t-fast)}.group-head:hover{background:var(--bg-hover)}.group-head .chev{color:var(--text-3);transition:transform var(--t-mid) var(--ease-out);display:grid;place-items:center}.group.collapsed .group-head .chev{transform:rotate(-90deg)}.group-head .count{color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums}.group-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-slow) var(--ease-out)}.group.collapsed .group-body{grid-template-rows:0fr}.group-body>div{overflow:clip;min-height:0}.group-body .tfoot{position:relative}.empty{position:sticky;left:0;box-sizing:border-box;width:100cqw;padding:112px 20px 48px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:10px;animation:pop-in var(--t-slow) var(--ease-out)}.empty .big{font-size:36px}.empty h3{margin:0;color:var(--text);font-weight:600;font-size:15px}.empty p{margin:0;max-width:320px;font-size:13px}.empty.page-empty{position:static;width:auto}.k-number{--k-fg: var(--c-blue-fg);--k-bg: var(--c-blue-bg)}.k-text{--k-fg: var(--c-gray-fg);--k-bg: var(--c-gray-bg)}.k-date{--k-fg: var(--c-orange-fg);--k-bg: var(--c-orange-bg)}.k-yesno{--k-fg: var(--c-green-fg);--k-bg: var(--c-green-bg)}.k-logic{--k-fg: var(--c-purple-fg);--k-bg: var(--c-purple-bg)}.k-any{--k-fg: var(--text-2);--k-bg: var(--bg-active)}.fb-modal .modal-body{gap:12px}.fb{display:flex;flex-direction:column;gap:12px;min-width:0}.fb-top{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.fb-name{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px;max-width:320px}.fb-name span{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.fb-name input{height:32px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);font-size:14px;font-weight:500;outline:0;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.fb-name input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.fb-tools{display:flex;gap:4px;margin-left:auto}.fb-tools .btn:disabled{opacity:.4;pointer-events:none}.fb-area{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:88px;padding:16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-sunken);align-content:flex-start}.fb-hint{font-size:12.5px;color:var(--text-3)}.fp{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:8px;font-size:13px;white-space:nowrap;border:1px solid transparent;transition:box-shadow var(--t-fast),transform var(--t-fast),background var(--t-fast);max-width:100%}.fp:hover{transform:translateY(-1px)}.fb-area.picking .fp.sel,.fp:focus-visible{outline:0;box-shadow:0 0 0 2px var(--bg-sunken),0 0 0 4px var(--accent)}.fp-col{background:var(--k-bg);color:var(--k-fg);font-weight:600}.fp-col svg{flex:none}.fp-missing{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line);text-decoration:line-through}.fp-val{background:var(--bg-elev);color:var(--k-fg);border-color:color-mix(in srgb,var(--k-fg) 30%,transparent);font-family:var(--mono);font-size:12.5px;font-weight:500}.fp-txt{gap:0}.fp-txt:before,.fp-txt:after{content:'"';opacity:.5}.fp-empty{color:var(--text-3);border-style:dashed;border-color:var(--line-strong);font-family:var(--font);font-style:italic}.fp-slot{border:1.5px dashed color-mix(in srgb,var(--k-fg) 55%,transparent);color:var(--k-fg);background:transparent;font-size:12.5px;font-weight:500;min-width:68px;justify-content:center}.fp-slot:before{content:"+";font-weight:600;opacity:.8}.fp-slot:hover{background:var(--k-bg)}.fp-op{height:26px;min-width:26px;padding:0 8px;border-radius:999px;justify-content:center;background:var(--bg-elev);border-color:var(--line);font-weight:600;color:var(--text)}.fp-op.word{font-weight:500;font-size:12.5px;color:var(--text-2)}.fp-unit{height:26px;background:var(--bg-elev);border-color:var(--line-strong);color:var(--text-2);font-size:12.5px}.fp-unit:after{content:"▾";font-size:9px;opacity:.7}.fp-more,.fp-add{width:26px;height:26px;padding:0;justify-content:center;border-radius:50%;border:1px dashed var(--line-strong);color:var(--text-3);background:transparent}.fp-more:hover,.fp-add:hover{border-color:var(--accent);color:var(--accent)}.fp-add{width:22px;height:22px}.fp-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;padding:3px 6px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev) 55%,transparent);max-width:100%}.fp-block{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;border-radius:11px;background:color-mix(in srgb,var(--k-bg) 55%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--k-fg) 28%,transparent);max-width:100%}.fp-block.b-logic{--k-fg: var(--c-purple-fg);--k-bg: var(--c-purple-bg)}.fp-block.b-number{--k-fg: var(--c-blue-fg);--k-bg: var(--c-blue-bg)}.fp-block.b-text{--k-fg: var(--c-gray-fg);--k-bg: var(--c-gray-bg)}.fp-block.b-date{--k-fg: var(--c-orange-fg);--k-bg: var(--c-orange-bg)}.fp-head{height:24px;padding:0 7px;border-radius:7px;color:var(--k-fg);font-weight:700;font-size:12.5px}.fp-head:hover{background:var(--bg-elev)}.fp-word{color:var(--k-fg);font-weight:600;font-size:12.5px}.fp-listitem{display:inline-flex;align-items:center;gap:6px}.fp-block.lines{display:inline-grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:6px;padding:7px 9px}.fp-block.lines>.fp-head,.fp-block.lines>.fp-word{justify-self:start}.fp-block.lines>.fp-word{padding-left:7px}.fp-cell{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.fb-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-2);min-height:28px}.fb-result svg{flex:none}.fb-result.bad{color:var(--danger)}.fb-result.todo{color:var(--c-orange-fg)}.fb-result .muted{color:var(--text-3)}.fb-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:var(--k-bg);color:var(--k-fg);font-weight:600;font-size:12px}.fb-note{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;padding:8px 10px;border-radius:var(--r-md);background:var(--c-yellow-bg);color:var(--c-yellow-fg)}.fb-note svg{flex:none;margin-top:2px}.fb-note code{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.fb-text{display:flex;flex-direction:column;gap:4px}.fb-text-row{display:flex;align-items:flex-start;gap:6px}.fb-text textarea{flex:1;min-width:0;resize:none;overflow:hidden;padding:7px 9px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--bg-sunken);color:var(--text-2);font-family:var(--mono);font-size:12px;line-height:1.5;outline:0}.fb-text textarea:focus{border-color:var(--accent);color:var(--text)}.fb-text textarea.bad{border-color:var(--danger)}.fb-text-bad{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--danger)}.fb-text-bad svg{flex:none}.fb-preview{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}.fb-preview table{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}.fb-preview th,.fb-preview td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.fb-preview th{font-weight:500;color:var(--text-3);font-size:11.5px;background:var(--bg-sunken)}.fb-preview tr:last-child td{border-bottom:0}.fb-preview .out{background:var(--accent-soft);color:var(--text);font-weight:500}.fb-preview th.out{color:var(--accent);font-weight:600}.fb-preview .num{text-align:right}.fb-preview .muted{color:var(--text-3)}.fb-style{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap}.fb-style-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.fb-style .fb-chips{padding:0}.fb-box{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:5px;border-radius:4px;border:1.5px solid var(--text-3);color:var(--text-3);font-size:9px}.fb-chip.on .fb-box{background:var(--accent);border-color:var(--accent);color:#fff}.fb-words{display:flex;gap:10px;flex-wrap:wrap;flex-basis:100%}.fb-words label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2)}.fb-words input{width:150px;height:30px;padding:0 9px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);outline:0;font-size:13px}.fb-words input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.popover.fb-pick{z-index:130}.fb-pick-list{max-height:min(340px,50vh);overflow-y:auto;padding:0 5px 5px}.fb-pick .menu-item{min-height:34px}.fb-pick .menu-item.fb-dim{opacity:.5}.fb-ico{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;flex:none;font-size:11.5px;font-weight:700;background:var(--k-bg);color:var(--k-fg)}.fb-none{padding:10px 8px;font-size:12.5px;color:var(--text-3)}.fb-chips{display:flex;flex-wrap:wrap;gap:5px;padding:2px 8px 6px}.fb-chip{height:28px;min-width:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:500;color:var(--text);transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.fb-chip:hover,.fb-chip:focus-visible,.fb-chip.on{outline:0;border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.fb-chip:focus{outline:0;box-shadow:0 0 0 2px var(--accent-ring);border-color:var(--accent);color:var(--accent)}.fb-done{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 8px 4px;margin-top:2px;border-top:1px solid var(--line);font-size:11.5px;color:var(--text-3)}.fb-valrow{display:flex;gap:6px;padding:2px 6px}.fb-valrow .btn{height:30px}.fb-valhint{font-size:11.5px;color:var(--text-3);padding:4px 8px 6px}.fb-valhint.bad{color:var(--danger)}@media(prefers-reduced-motion:reduce){.fp,.fp:hover{transition:none;transform:none}}@media(max-width:560px){.fb-area{padding:10px}.fb-tools{margin-left:0}}.menu-item .mi-sub.mi-words{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .mi-sub.bad{color:var(--danger)}.th-warn{color:var(--danger);flex:none;display:inline-flex}.popover{position:fixed;z-index:100;background:var(--bg-elev);border-radius:var(--r-lg);box-shadow:var(--shadow-3);min-width:220px;max-width:min(92vw,420px);animation:pop-in var(--t-mid) var(--ease-out);transform-origin:top left;overflow:hidden;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain}.popover.from-bottom{transform-origin:bottom left}.popover .scroll{max-height:60vh;overflow-y:auto}.menu{padding:5px;display:flex;flex-direction:column;gap:1px}.menu-label{padding:6px 8px 4px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.menu-sep{height:1px;background:var(--line);margin:4px -5px}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:var(--r-sm);font-size:13px;color:var(--text);text-align:left;transition:background var(--t-fast),transform var(--t-fast);min-height:30px}.menu-item:hover,.menu-item.hl{background:var(--bg-hover)}.menu-item:active{transform:scale(.985)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-item .mi-ico{color:var(--text-2);width:16px;display:grid;place-items:center;flex:none}.menu-item.danger .mi-ico{color:var(--danger)}.menu-item .mi-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .mi-sub{font-size:11.5px;color:var(--text-3);display:block;font-weight:400;white-space:normal;line-height:1.3}.menu-item .mi-right{color:var(--text-3);font-size:12px;display:inline-flex;align-items:center;gap:4px}.menu-item .check,.menu-item.selected{color:var(--accent)}.menu-input{width:100%;height:30px;padding:0 9px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);outline:0;font-size:13px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.menu-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.menu-input::placeholder{color:var(--text-3)}.menu-row{display:flex;align-items:center;gap:6px;padding:4px 8px}.menu-row label{font-size:12px;color:var(--text-2);min-width:60px}.seg{display:inline-flex;background:var(--bg-sunken);border-radius:var(--r-sm);padding:2px;gap:2px}.seg button{height:22px;padding:0 8px;border-radius:4px;font-size:12px;color:var(--text-2);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.seg button.on{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-1)}.select-native{height:28px;padding:0 24px 0 8px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);outline:0;font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 9px) 12px;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer;max-width:100%}.select-native:focus{border-color:var(--accent)}.color-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;padding:4px 8px 8px}.color-grid button{aspect-ratio:1;border-radius:5px;transition:transform var(--t-fast) var(--spring),box-shadow var(--t-fast)}.color-grid button:hover{transform:scale(1.15)}.color-grid button.on{box-shadow:0 0 0 2px var(--bg-elev),0 0 0 3.5px var(--accent)}.opt-picker{width:260px}.opt-picker .chosen{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:var(--bg-sunken);border-bottom:1px solid var(--line);min-height:38px;align-items:center}.opt-picker .chosen input{flex:1;min-width:60px;border:0;background:transparent;outline:0;font-size:13px}.opt-picker .opt{display:flex;align-items:center;gap:8px}.opt-picker .opt .drag{color:var(--text-3);opacity:0;cursor:grab}.opt-picker .opt:hover .drag{opacity:1}.opt-picker .opt .edit{opacity:0;margin-left:auto;color:var(--text-3);width:20px;height:20px;display:grid;place-items:center;border-radius:4px}.opt-picker .opt:hover .edit{opacity:1}.opt-picker .opt .edit:hover{background:var(--bg-active);color:var(--text)}.psel{display:inline-flex;align-items:center;gap:5px;height:26px;max-width:100%;min-width:0;padding:0 8px 0 10px;border-radius:99px;background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;color:var(--text);white-space:nowrap;transition:background var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}.psel:hover{background:var(--bg-active)}.psel.open,.psel:focus-visible{outline:0;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-soft)}.psel.accent{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring);color:var(--accent-strong)}.psel.accent:hover{background:#6366f133}.psel.accent.open,.psel.accent:focus-visible{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-soft)}.psel-txt{min-width:0;overflow:hidden;text-overflow:ellipsis}.psel-ph{color:var(--text-3)}.psel-chev{flex:none;opacity:.6;transition:transform var(--t-fast) var(--ease-out)}.psel.open .psel-chev{transform:rotate(180deg)}.psel-lead{flex:none;display:inline-grid;place-items:center;min-width:16px;color:var(--text-2);font-family:var(--mono);font-size:12px;line-height:1}.psel.accent .psel-lead{color:inherit}.psel .pill{height:18px}.psel-pop{min-width:180px}.psel-pop .menu{max-height:min(320px,60vh)}.psel-pop .menu-item:focus-visible{outline:0;background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--line-strong)}.psel-pop .menu-item.selected .psel-lead{color:var(--accent)}.psel.lc .psel-txt,.psel-pop.lc .mi-txt{text-transform:lowercase}:root[data-theme=dark] .psel.accent{color:var(--accent)}.rule{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 8px;padding:8px;border-radius:10px;background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--line)}.rule-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.rule-line .select-native{flex:1;min-width:0}.rule .psel{flex:none;background:var(--bg-elev);box-shadow:0 1px 2px #0f0f140d,inset 0 0 0 1px var(--line-strong)}.rule .psel:hover{background:var(--bg-elev);box-shadow:0 1px 2px #0f0f140d,inset 0 0 0 1px var(--text-3)}.rule .psel.accent{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}.rule .psel.open,.rule .psel:focus-visible{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-soft)}.rule-line .psel.prop{max-width:170px}.rule-line .rule-x{margin-left:auto;width:24px;height:24px}.rule-line .menu-input{flex:1;min-width:0}.rule .rule-value{height:30px;background:var(--bg-elev);border-color:var(--line-strong)}.rule-line .btn.icon{flex:none}.rule .seg{flex:none;margin-left:auto;background:var(--bg-active)}.rule .seg+.rule-x{margin-left:0}.rule-join{display:flex;align-items:center;gap:8px;margin:0 8px;height:22px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.rule-join:before,.rule-join:after{content:"";flex:1;height:1px;background:var(--line)}.rule-list{display:flex;flex-direction:column;padding:4px 0 6px}.rule-suffix{flex:none;font-size:12.5px;color:var(--text-2)}.conj{display:flex;align-items:center;gap:6px;padding:8px 10px 2px;font-size:12.5px;color:var(--text-2)}.hl-rule{padding:6px 0 4px;transition:opacity var(--t-fast)}.hl-rule+.hl-rule{border-top:1px solid var(--line)}.hl-rule.off .rule,.hl-rule.off .conj,.hl-rule.off .hl-add{opacity:.5}.hl-head{display:flex;align-items:center;gap:6px;padding:2px 8px 4px}.hl-head .menu-input{flex:1;min-width:0}.hl-head .btn.icon,.hl-head .switch{flex:none}.hl-head .btn.icon.sm{width:22px;height:22px}.hl-head .btn[disabled]{opacity:.3;pointer-events:none}.hl-swatch{width:24px;height:24px;border-radius:6px;box-shadow:inset 0 0 0 1px #00000014;transition:transform var(--t-fast) var(--spring),box-shadow var(--t-fast)}.hl-swatch:hover{transform:scale(1.08)}.hl-swatch.on{box-shadow:0 0 0 2px var(--bg-elev),0 0 0 3.5px var(--accent)}.hl-rule .color-grid{padding-left:8px;padding-right:8px}.hl-add{margin:0 8px 2px;height:24px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-2)}.swatch.sm{width:10px;height:10px;border-radius:3px}.chip.off{opacity:.55}.rule-bar{display:flex;align-items:stretch;flex-wrap:wrap;margin:14px 40px 12px;border-radius:10px;background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--line);animation:fade-in var(--t-mid)}.rule-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px 12px;min-height:40px}.rule-group+.rule-group{box-shadow:-1px 0 0 var(--line)}.rule-label{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px;margin:0 2px 0 -6px;border-radius:var(--r-sm);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.rule-label:hover{background:var(--bg-hover);color:var(--text)}.rule-group.unused{flex:none;flex-wrap:nowrap}.rule-group.unused .rule-label{opacity:.8}.rule-bar .chip{box-shadow:0 1px 2px #0f0f140f,0 0 0 1px var(--line)}.rule-bar .chip.accent{box-shadow:inset 0 0 0 1px var(--accent-ring)}.rule-add{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm);color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line-strong);background:none;transition:color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.rule-add:hover{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}.rule-end{margin-left:auto;display:flex;align-items:center;padding:0 8px}.rule-reset{height:26px;padding:0 8px;border-radius:var(--r-sm);font-size:12.5px;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.rule-reset:hover{background:var(--bg-hover);color:var(--text)}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:99px;background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--line-strong);font-size:12.5px;color:var(--text);transition:background var(--t-fast),box-shadow var(--t-fast);animation:pop-in var(--t-mid) var(--ease-out)}.chip:hover{background:var(--bg-hover)}.chip.accent{box-shadow:inset 0 0 0 1px var(--accent-ring);color:var(--accent);background:var(--accent-soft)}.chip b{font-weight:500}.chip .x{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:var(--text-3);margin-right:-3px}.chip .x:hover{background:var(--bg-active);color:var(--text)}.selbar{position:absolute;left:50%;bottom:20px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;padding:6px 6px 6px 14px;background:var(--text);color:var(--bg);border-radius:12px;box-shadow:var(--shadow-3);animation:toast-in var(--t-slow) var(--spring);font-size:13px;font-weight:500}.selbar .btn{color:inherit;opacity:.85}.selbar .btn:hover{background:#ffffff24;opacity:1}:root[data-theme=dark] .selbar .btn:hover{background:#0000002e}.selbar .sep{width:1px;height:18px;background:currentColor;opacity:.2;margin:0 4px}.peek-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f0f142e;animation:fade-in var(--t-mid)}:root[data-theme=dark] .peek-backdrop{background:#00000073}.peek{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);z-index:81;background:var(--bg);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:slide-left var(--t-slow) var(--ease-out);border-left:1px solid var(--line)}.peek.closing{animation:slide-left var(--t-mid) var(--ease-in) reverse forwards}.peek-head{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--line)}.peek-body{flex:1;overflow-y:auto;padding:24px 36px 60px}.peek-title{width:100%;border:0;background:transparent;font-size:26px;font-weight:700;letter-spacing:-.02em;outline:0;padding:4px 0;resize:none;line-height:1.25}.peek-title::placeholder{color:var(--text-3)}.peek-save{margin-top:14px;min-height:18px;font-size:12px;color:var(--text-3);display:flex;align-items:center}.peek-saved,.peek-saving{display:inline-flex;align-items:center;gap:5px;animation:fade-in .2s var(--ease-out)}.peek-saved svg{color:var(--success)}.peek-saving .spinner{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--line-strong);border-top-color:var(--text-2);animation:spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.peek-saved,.peek-saving,.peek-saving .spinner{animation:none}}.peek-title.cc{background:var(--cc-bg);border-radius:var(--r-md);padding:4px 10px;margin-left:-10px;width:calc(100% + 20px)}.props{display:flex;flex-direction:column;margin-top:16px}.prop-row{display:flex;align-items:flex-start;min-height:34px;gap:8px;border-radius:var(--r-sm);transition:background var(--t-fast)}.prop-row .pname{width:150px;flex:none;display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:13px;padding:7px 6px;overflow:hidden}.prop-row .pname span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-row .pval{flex:1;min-width:0;position:relative;display:flex;align-items:center;min-height:34px;padding:0 6px;border-radius:var(--r-sm);transition:background var(--t-fast)}.prop-row .pval:hover{background:var(--bg-hover)}.prop-row .pval.cc,.prop-row .pval.cc:hover{background:var(--cc-bg)}.prop-row .pval.cc:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.prop-row .pval:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.prop-row .pval.editing{background:transparent;overflow:visible;z-index:10}.notes{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.notes textarea{width:100%;min-height:160px;border:0;outline:0;background:transparent;resize:vertical;font-size:14.5px;line-height:1.6;padding:4px 0}.notes textarea::placeholder{color:var(--text-3)}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f0f144d;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;animation:fade-in var(--t-fast);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmd{width:min(560px,92vw);background:var(--bg-elev);border-radius:var(--r-xl);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--t-mid) var(--ease-out)}.cmd-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.cmd-input input{flex:1;border:0;outline:0;background:transparent;font-size:16px}.cmd-input input::placeholder{color:var(--text-3)}.cmd-scope{display:inline-flex;align-items:center;gap:5px;flex:none;max-width:40%;height:26px;padding:0 4px 0 8px;margin-right:-2px;border-radius:var(--r-sm);background:var(--bg-active);font-size:13px;font-weight:500}.cmd-scope .cmd-scope-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-scope button{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:4px;background:transparent;color:var(--text-3);cursor:pointer}.cmd-scope button:hover{background:var(--bg-hover);color:var(--text)}.cmd-list{max-height:360px;overflow-y:auto;padding:6px}.cmd.with-preview{width:min(900px,94vw);transition:width var(--t-fast)}.cmd-body{display:flex;min-height:0}.cmd-body .cmd-list{flex:1;min-width:0}.cmd-preview{width:340px;flex:none;max-height:360px;overflow-y:auto;border-left:1px solid var(--line);padding:14px 16px;font-size:13px}.cmd-preview.empty{display:grid;place-items:center;color:var(--text-3);font-size:12px}.cmd-preview .cp-db{font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-preview .cp-title{font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.3;margin:4px 0 10px;overflow-wrap:anywhere}.cmd-preview .cp-props{margin:0;display:flex;flex-direction:column;gap:2px}.cmd-preview .cp-prop{display:flex;gap:8px;align-items:flex-start;min-height:26px}.cmd-preview .cp-prop dt{width:110px;flex:none;display:flex;align-items:center;gap:5px;color:var(--text-2);font-size:12px;padding-top:5px;overflow:hidden}.cmd-preview .cp-prop dt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-preview .cp-prop dd{flex:1;min-width:0;margin:0;display:flex;align-items:center;min-height:26px;overflow-wrap:anywhere}.cmd-preview .cp-more{font-size:11.5px;color:var(--text-3);padding:2px 0}.cmd-preview .cp-notes{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--text-2);font-size:12.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.cmd-preview .cp-meta{margin-top:10px;font-size:11.5px;color:var(--text-3)}@media(max-width:760px){.cmd.with-preview{width:min(560px,92vw)}.cmd-preview{display:none}}@media(prefers-reduced-motion:reduce){.cmd.with-preview{transition:none}}.cmd-foot{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--text-3)}.cmd-foot span{display:inline-flex;align-items:center;gap:4px}.cmd-list.stale{opacity:.7;transition:opacity var(--t-fast)}.cmd .mi-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd .mi-where{color:var(--text-2)}.cmd code{font-family:var(--mono);font-size:11.5px}.cmd-empty{padding:12px 16px 16px;text-align:center}.cmd-empty p{margin:4px auto 0;max-width:380px;font-size:12px;line-height:1.4;color:var(--text-3)}.switch{position:relative;width:34px;height:20px;border-radius:99px;background:var(--line-strong);flex:none;transition:background var(--t-mid) var(--ease-out),box-shadow var(--t-fast);cursor:pointer}.switch:hover{box-shadow:0 0 0 3px var(--bg-active)}.switch .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f0f144d;transition:transform var(--t-mid) var(--spring)}.switch.on{background:var(--accent)}.switch.on:hover{box-shadow:0 0 0 3px var(--accent-soft)}.switch.on .knob{transform:translate(14px)}.switch:disabled{opacity:.5;cursor:default}.switch:active .knob{width:19px}.switch.on:active .knob{transform:translate(11px)}.menu-note{padding:2px 8px 6px;font-size:11.5px;color:var(--text-3);line-height:1.35}.menu-note b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.menu-note.warn{color:var(--danger)}.seg.stepper{align-items:center}.seg.stepper button{width:24px;padding:0;font-size:14px}.seg.stepper button:disabled{opacity:.35;cursor:default}.stepper-val{min-width:22px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text)}.menu-toggle{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-sm);transition:background var(--t-fast)}.menu-toggle:hover{background:var(--bg-hover)}.menu-toggle>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.menu-toggle b{font-weight:500;font-size:13px}.menu-toggle span{font-size:11.5px;color:var(--text-3);line-height:1.3}.time-field{display:flex;align-items:center;gap:6px;color:var(--text-3)}.time-field .menu-input{flex:1;min-width:0}.menu-input.invalid{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.btn.outline{box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--bg-elev);color:var(--text)}.btn.outline:hover{background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.danger-btn{color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-line);background:var(--bg-elev)}.danger-btn:hover{background:var(--danger-soft);color:var(--danger)}.danger-btn.armed{background:var(--danger);color:#fff;box-shadow:0 0 0 3px var(--danger-soft);animation:pop-in var(--t-mid) var(--ease-out)}.danger-btn.armed:hover{background:var(--danger);color:#fff}.meter{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.meter i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width var(--t-slow) var(--ease-out)}.meter.warn i{background:var(--danger)}.settings{flex:1;overflow-y:auto;animation:fade-in var(--t-mid)}.s-inner{max-width:720px;margin:0 auto;padding:8px 40px 72px;animation:pop-in var(--t-slow) var(--ease-out)}.s-back{margin-left:-8px;color:var(--text-3)}.s-title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}.s-lead{margin:0;color:var(--text-2);font-size:14px}.s-section{margin-top:36px}.s-head{margin-bottom:10px}.s-head h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em}.s-head p{margin:2px 0 0;font-size:13px;color:var(--text-3)}.s-card{background:var(--bg-elev);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.s-section.danger .s-card{box-shadow:0 1px 2px #0f0f140d,0 0 0 1px var(--danger-line)}.s-section.danger .s-head h2{color:var(--danger)}.s-row{display:flex;align-items:center;gap:24px;padding:14px 18px}.s-row+.s-row{border-top:1px solid var(--line)}.s-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.s-label b{font-weight:500;font-size:14px}.s-label span{font-size:12.5px;color:var(--text-3);line-height:1.4}.s-sample{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.s-ctl{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.s-ctl .select-native{width:240px;max-width:100%}.s-meter{display:flex;flex-direction:column;gap:6px;width:200px}.s-meter .meter{width:100%}.s-meter-val{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.s-keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 18px;padding:10px 18px}.s-key{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--text-2)}.s-key .kbd{min-width:54px;justify-content:center}.h-release+.h-release{border-top:1px solid var(--line);padding-top:14px}.h-release h3{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.h-release time{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-3)}.h-current{font-style:normal;font-size:11px;font-weight:500;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.h-release ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--text-2);line-height:1.45}.h-release li::marker{color:var(--text-3)}.h-release li.fix::marker{color:var(--success)}.s-label span span{display:block}.s-label .s-path{color:var(--text-2);overflow-wrap:anywhere}.s-label .s-warn{color:var(--danger)}.v-note{margin:0 0 14px;font-size:13px;color:var(--text-2)}.v-empty{margin:0;font-size:13px;color:var(--text-3)}.v-day+.v-day{margin-top:14px}.v-day h3{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.v-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:13px}.v-row+.v-row{border-top:1px solid var(--line)}.v-row b{width:72px;flex:none;font-weight:500;font-variant-numeric:tabular-nums}.v-row span{flex:1;min-width:0;color:var(--text-2);font-variant-numeric:tabular-nums}.s-foot{margin-top:40px;text-align:center;font-size:12px;color:var(--text-3)}@media(max-width:760px){.s-inner{padding-left:16px;padding-right:16px}.s-row{flex-direction:column;align-items:stretch;gap:10px}.s-ctl{max-width:none;justify-content:flex-start}}.toasts{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;background:var(--bg-elev);border-radius:var(--r-lg);box-shadow:var(--shadow-3);font-size:13px;animation:toast-in var(--t-slow) var(--spring);min-width:220px}.toast.out{animation:toast-out var(--t-mid) var(--ease-in) forwards}.toast .t-ico{color:var(--success);display:grid;place-items:center}.toast .t-ico.warn{color:var(--danger)}.toast .t-msg{flex:1}.toast .btn{height:24px}[data-tip]{position:relative}.tip{position:fixed;left:0;top:0;padding:4px 8px;border-radius:6px;background:var(--text);color:var(--bg);font-size:11.5px;font-weight:500;white-space:nowrap;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity var(--t-fast),transform var(--t-fast);z-index:300}.tip.on{opacity:1;transform:translateY(0)}.crash{height:100%;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text)}.crash-card{max-width:520px;width:100%;background:var(--bg-elev);border-radius:var(--r-xl);box-shadow:var(--shadow-3);padding:28px;display:flex;flex-direction:column;gap:12px}.crash-card h1{margin:0;font-size:20px}.crash-card p{margin:0;color:var(--text-2)}.crash-card pre{margin:0;padding:10px 12px;background:var(--bg-sunken);border-radius:var(--r-sm);font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto;color:var(--danger)}.crash-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.shake{animation:shake .4s var(--ease-io)}.spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.saved-indicator .tick{animation:saved-tick-still 1.6s linear forwards!important}}@media(max-width:760px){.db-header,.toolbar{padding-left:16px;padding-right:16px}.rule-bar{margin-left:16px;margin-right:16px}.table-scroll{padding:0 16px}.db-title{font-size:22px}.toolbar{flex-wrap:wrap;row-gap:2px}.view-tabs{flex:1 1 100%}.toolbar-actions{flex:1 1 100%;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.toolbar-actions::-webkit-scrollbar{display:none}.sidebar{position:fixed;inset:0 auto 0 0;z-index:90;box-shadow:var(--shadow-3);max-width:85vw}.sidebar-backdrop{display:block}}.db-item.nested{padding-left:6px}.db-item .rename{border:0;background:transparent;outline:0;font:inherit;padding:0;color:var(--text)}.db-item.drop-before{box-shadow:0 -2px 0 0 var(--accent)}.db-item.tint{--tint-mark: color-mix(in srgb, var(--tint-fg) 55%, var(--tint-bg))}.tint-dot{display:none;width:8px;height:8px;border-radius:50%;flex:none;background:var(--tint-mark)}.colors-icon .db-item.tint .ico{background:var(--tint-bg);height:22px;width:22px;margin:-1px;display:grid;place-items:center;font-size:13px;border-radius:var(--r-xs)}.colors-dot .tint-dot{display:block}.colors-stripe .db-item.tint:after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--tint-mark)}.colors-open .tint-dot{display:block;width:6px;height:6px}.colors-open .db-item.tint.active{background:var(--tint-bg);color:var(--tint-fg);box-shadow:none}.colors-open .db-item.tint.active .tint-dot{display:none}.colors-open .db-item.tint.active .more{color:inherit}.colors-open .db-item.tint.active .more:hover{background:color-mix(in srgb,var(--tint-fg) 15%,transparent)}.colors-text .db-item.tint{color:var(--tint-fg)}.colors-text .db-item.active:before{content:"";position:absolute;left:-5px;top:7px;bottom:7px;width:3px;border-radius:2px;background:var(--accent)}.db-item.tint-gray{--tint-fg: var(--c-gray-fg);--tint-bg: var(--c-gray-bg)}.db-item.tint-brown{--tint-fg: var(--c-brown-fg);--tint-bg: var(--c-brown-bg)}.db-item.tint-orange{--tint-fg: var(--c-orange-fg);--tint-bg: var(--c-orange-bg)}.db-item.tint-yellow{--tint-fg: var(--c-yellow-fg);--tint-bg: var(--c-yellow-bg)}.db-item.tint-green{--tint-fg: var(--c-green-fg);--tint-bg: var(--c-green-bg)}.db-item.tint-blue{--tint-fg: var(--c-blue-fg);--tint-bg: var(--c-blue-bg)}.db-item.tint-purple{--tint-fg: var(--c-purple-fg);--tint-bg: var(--c-purple-bg)}.db-item.tint-pink{--tint-fg: var(--c-pink-fg);--tint-bg: var(--c-pink-bg)}.db-item.tint-red{--tint-fg: var(--c-red-fg);--tint-bg: var(--c-red-bg)}.swatch.none{box-shadow:inset 0 0 0 1.5px var(--line-strong);background:transparent}.folder{display:flex;flex-direction:column;gap:2px;border-radius:var(--r-sm);transition:background var(--t-fast)}.folder.drop{background:var(--accent-soft)}.folder-head .chev{display:grid;place-items:center;color:var(--text-3);transition:transform var(--t-fast)}.folder-head .chev svg{transform:rotate(90deg);transition:transform var(--t-fast)}.folder.collapsed .folder-head .chev svg{transform:rotate(0)}.folder-body{display:flex;flex-direction:column;gap:2px;margin-left:17px;padding-left:5px;border-left:1px solid var(--line)}.folder-empty{padding:4px 8px 6px 6px;font-size:11.5px;color:var(--text-3);font-style:italic}.db-list.drop{background:var(--accent-soft);border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){.folder-head .chev svg{transition:none}}.ctx-menu{min-width:180px}.ctx-menu .menu-item:disabled{opacity:.4;cursor:default}.ctx-menu .menu-item:disabled:hover{background:transparent}.ctx-menu .ctx-back{font-weight:500}.ctx-menu .ctx-back+.menu-item{margin-top:2px}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:0 4px 6px}.icon-grid button{aspect-ratio:1;min-width:0;font-size:16px;border-radius:var(--r-xs);display:grid;place-items:center;transition:background var(--t-fast),transform var(--t-fast)}.icon-grid button:hover{background:var(--bg-hover);transform:scale(1.1)}.icon-grid button.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.icon-grid button.hl{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--line-strong)}.icon-search{padding:6px 6px 2px}.icon-scroll{position:relative;height:min(256px,45vh);padding:0 2px;overflow-y:auto;overscroll-behavior:contain}.icon-tabs{display:flex;gap:2px;padding:5px 6px 6px;border-top:1px solid var(--line)}.icon-tabs button{flex:1;min-width:0;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.icon-tabs button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-tabs button.active{color:var(--accent);background:var(--accent-soft)}.icon-tabs button:disabled{opacity:.35}.icon-note{padding:10px 8px 12px;font-size:12.5px;color:var(--text-3)}@media(hover:none),(pointer:coarse){.db-item .more{opacity:1;width:32px;height:32px;margin:-6px -6px -6px 0}.tr .gutter .row-handle{display:none}.tr .gutter .row-check{opacity:.6;align-self:stretch;flex:1;display:grid;place-items:center}.tr.selected .gutter .row-check,.tr:focus-within .gutter .row-check,.tbody.selecting .gutter .row-check{opacity:1}.td .open-btn{opacity:1;transform:translateY(-50%);right:2px;width:32px;height:32px;padding:0;justify-content:center;gap:0;font-size:0;color:var(--text-3)}.tfoot .tf .lbl{opacity:.7}.tfoot .tf.has .lbl{opacity:1}.opt-picker .opt .edit{opacity:1;width:32px;height:32px;margin:-6px -4px -6px auto}.search-clear,.chip .x{position:relative}.search-clear:before,.chip .x:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.tip{display:none}}.app-loading{height:100%;background:var(--bg);display:flex;align-items:center;justify-content:center}.app-loading-inner{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--text-2);font-size:13px;opacity:0;animation:fade-in .2s ease-out .12s forwards}.app-loading-inner svg{color:var(--text);margin-bottom:4px}.app-loading-bar{position:relative;width:140px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.app-loading-bar i{position:absolute;inset:0 auto 0 0;width:40%;border-radius:inherit;background:var(--accent);animation:app-loading-slide 1.1s ease-in-out infinite}@keyframes app-loading-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.app-loading-bar i{animation:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f0f144d;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in var(--t-fast);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=dark] .modal-backdrop{background:#00000080}.modal{display:flex;flex-direction:column;max-height:min(92vh,900px);background:var(--bg-elev);border-radius:var(--r-xl);box-shadow:var(--shadow-3);animation:pop-in var(--t-mid) var(--ease-out);outline:0}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 12px 20px;border-bottom:1px solid var(--line)}.modal-titles{flex:1;min-width:0}.modal-titles h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.modal-titles p{margin:3px 0 0;font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{flex:1;min-height:0;overflow:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--line)}.imp-foot-note{flex:1;font-size:12.5px;color:var(--text-3);display:inline-flex;align-items:center;gap:6px}.imp-foot-note svg{color:var(--danger)}.imp-opts{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:flex-end}.imp-opt{display:flex;flex-direction:column;gap:5px}.imp-opt>span{font-size:11.5px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.imp-name{flex:1;min-width:200px}.imp-name .menu-input{height:28px}.imp-switch{flex-direction:row;align-items:center;gap:10px;height:28px}.imp-switch>span{text-transform:none;letter-spacing:0;font-size:13px;color:var(--text-2);font-weight:400}.imp-warn{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.imp-warn li{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--text);font-size:12.5px;line-height:1.4}.imp-warn li svg{flex:none;margin-top:2px;color:var(--danger)}.imp-grid-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.imp-grid{border-collapse:separate;border-spacing:0;font-size:13px;min-width:100%;table-layout:fixed}.imp-grid th,.imp-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0 10px;height:32px;text-align:left;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.imp-grid th{position:sticky;top:0;z-index:2;background:var(--bg-elev);padding:8px 10px;height:auto;vertical-align:top;min-width:170px}.imp-grid th:last-child,.imp-grid td:last-child{border-right:0}.imp-grid tbody tr:last-child td{border-bottom:0}.imp-grid tr.imp-pad td{padding:0;border:0;height:auto}.imp-reading{display:flex;align-items:center;justify-content:center;min-height:240px;font-size:13px;color:var(--text-3)}.imp-grid .num{text-align:right;font-variant-numeric:tabular-nums}.imp-grid .title-cell{font-weight:500}.imp-grid .skipped{background:var(--bg-sunken);color:var(--text-3)}.imp-grid td.skipped .imp-raw{text-decoration:line-through;opacity:.6}.imp-grid td.lost{background:var(--danger-soft);color:var(--danger)}.imp-grid td.lost .imp-raw{text-decoration:line-through}.imp-rownum{width:36px;min-width:0!important;color:var(--text-3);font-size:11px;text-align:right!important;font-variant-numeric:tabular-nums;background:var(--bg-elev);position:sticky;left:0;z-index:1}.imp-grid th.imp-rownum{z-index:3}.imp-col-head{display:flex;align-items:center;gap:6px}.imp-include{display:inline-flex;flex:none;cursor:pointer}.imp-include input{margin:0;accent-color:var(--accent)}.imp-col-name{flex:1;min-width:0;height:26px;padding:0 6px;border-radius:var(--r-xs);border:1px solid transparent;background:transparent;font-weight:600;font-size:13px;outline:0;transition:border-color var(--t-fast),background var(--t-fast)}.imp-col-name:hover{border-color:var(--line)}.imp-col-name:focus{border-color:var(--accent);background:var(--bg)}.imp-col-name:disabled{color:var(--text-3);font-weight:500}.imp-col-type{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--text-3)}.imp-col-type .select-native{flex:1;min-width:0;height:26px}.imp-col-note{margin-top:5px;font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.imp-col-note.bad{color:var(--danger);font-weight:500}.imp-note-fix{all:unset;cursor:pointer;color:var(--text-2);text-decoration:underline;text-underline-offset:2px}.imp-note-fix:hover{color:var(--text)}.imp-note-fix:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.imp-more{margin:0;font-size:12px;color:var(--text-3)}.imp-more-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.imp-tables tbody tr{cursor:pointer}.imp-tables tbody tr:hover td{background:var(--bg-hover)}.imp-tables th{min-width:0;padding:8px 10px;font-size:12px;color:var(--text-3);font-weight:500}.imp-pick{width:32px;text-align:center!important}.imp-pick input{margin:0;accent-color:var(--accent);vertical-align:middle}.imp-clash,.imp-dim{color:var(--text-3);font-weight:400;font-size:12px}@media(max-width:640px){.modal-backdrop{padding:8px}.modal-body{padding:12px 14px}.modal-head,.modal-foot{padding-left:14px;padding-right:14px}}.td.in-range{background-image:linear-gradient(var(--accent-soft),var(--accent-soft))}.td.cc{isolation:isolate;padding:0 11px}.td.cc:before{content:"";position:absolute;top:4px;right:3px;bottom:4px;left:3px;z-index:-1;border-radius:var(--r-sm);background:var(--cc-bg);pointer-events:none}.cc-gray{--cc-bg: color-mix(in srgb, var(--c-gray-bg) 85%, var(--bg))}.cc-brown{--cc-bg: color-mix(in srgb, var(--c-brown-bg) 85%, var(--bg))}.cc-orange{--cc-bg: color-mix(in srgb, var(--c-orange-bg) 85%, var(--bg))}.cc-yellow{--cc-bg: color-mix(in srgb, var(--c-yellow-bg) 85%, var(--bg))}.cc-green{--cc-bg: color-mix(in srgb, var(--c-green-bg) 85%, var(--bg))}.cc-blue{--cc-bg: color-mix(in srgb, var(--c-blue-bg) 85%, var(--bg))}.cc-purple{--cc-bg: color-mix(in srgb, var(--c-purple-bg) 85%, var(--bg))}.cc-pink{--cc-bg: color-mix(in srgb, var(--c-pink-bg) 85%, var(--bg))}.cc-red{--cc-bg: color-mix(in srgb, var(--c-red-bg) 85%, var(--bg))}.td.wrap .cell-text{white-space:pre-wrap;overflow-wrap:anywhere;text-overflow:clip;padding:7px 0;line-height:1.45}.td.wrap .pill-row{padding:7px 0}.tbody.virtual.measured .tr{height:auto}.tr:hover,.tr.menu-open{--pin-tint: var(--bg-hover)}.tr.hl{--pin-tint: var(--hl-bg)}.tr.hl:hover{--pin-tint: var(--hl-bg-hover)}.tr.selected,.tr.selected:hover,.tr.hl.selected,.tr.hl.selected:hover{--pin-tint: var(--bg-selected)}.td.pin{background-color:var(--pin-bg)}.td.pin,.has-pins .tr .gutter{position:sticky;z-index:3;background-image:linear-gradient(var(--pin-tint, transparent),var(--pin-tint, transparent));box-shadow:inset 0 -1px 0 var(--line)}.has-pins .tr .gutter{background-color:var(--bg);left:0;box-shadow:inset 0 -1px 0 var(--line),-44px 0 0 var(--bg)}.has-pins .tr.hl .gutter{box-shadow:inset 3px 0 0 var(--hl-fg),inset 0 -1px 0 var(--line),-44px 0 0 var(--bg)}.td.pin.in-range{background-image:linear-gradient(var(--accent-soft),var(--accent-soft)),linear-gradient(var(--pin-tint, transparent),var(--pin-tint, transparent))}.td.pin.focused{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 1px var(--accent-ring);z-index:4}.td.pin.editing{z-index:10}.thead .th.pin,.tfoot .tf.pin,.has-pins .th.gutter,.has-pins .tf.gutter{position:sticky;z-index:3;background:var(--bg)}.thead .th.pin{background:var(--pin-head-bg)}.th .th-pin{flex:none;display:inline-flex;color:var(--text-3)}.has-pins .th.gutter,.has-pins .tf.gutter{left:0;box-shadow:-44px 0 0 var(--bg)}.has-pins .thead .th.gutter{box-shadow:inset 0 -1px 0 var(--line),-44px 0 0 var(--bg)}.thead .th.pin{box-shadow:inset 0 -1px 0 var(--line)}.thead .th.pin:hover{background:linear-gradient(var(--bg-hover),var(--bg-hover)),var(--pin-head-bg)}.thead .th.pin.open{background:linear-gradient(var(--bg-active),var(--bg-active)),var(--pin-head-bg)}.tfoot .tf.pin:hover{background:linear-gradient(var(--bg-hover),var(--bg-hover)),var(--bg)}.th.pin-edge,.td.pin-edge{border-right:2px solid var(--line-strong)}.table-scroll[data-scrolled]{--pin-shadow: 6px 0 8px -6px rgba(15, 15, 20, .22)}:root[data-theme=dark] .table-scroll[data-scrolled]{--pin-shadow: 6px 0 10px -6px rgba(0, 0, 0, .7)}.table-scroll[data-scrolled] .td.pin-edge{box-shadow:inset 0 -1px 0 var(--line),var(--pin-shadow)}.table-scroll[data-scrolled] .td.pin-edge.focused{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 1px var(--accent-ring),var(--pin-shadow)}.table-scroll[data-scrolled] .th.pin-edge{box-shadow:inset 0 -1px 0 var(--line),var(--pin-shadow)}.table-scroll[data-scrolled] .tf.pin-edge{box-shadow:var(--pin-shadow)}.find-bar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 40px 8px;padding:8px 10px 6px;border-radius:var(--r-lg);background:var(--bg-sunken);animation:fade-in var(--t-mid) var(--ease-out)}.find-bar .fr-group{display:flex;align-items:center;gap:4px;flex:1 1 240px;min-width:0}.find-bar .menu-input{flex:1;min-width:90px;background:var(--bg)}.find-bar .btn.sm:not(.icon){flex:none}.find-bar .fr-count{flex:none;min-width:62px;padding:0 4px;text-align:right;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.find-bar .fr-scope{flex:none;max-width:180px}.find-bar .fr-close{flex:none;margin-left:-6px}.find-bar .fr-note{flex-basis:100%;margin:0;font-size:11.5px;line-height:1.35;color:var(--text-3)}@media(max-width:760px){.find-bar{margin:0 16px 8px}}.bulk-field{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.bulk-field>label{font-size:12px;font-weight:500;color:var(--text-2)}.bulk-field .menu-input{width:100%}.bulk-value{width:100%;min-height:32px;display:flex;align-items:center;padding:4px 9px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunken);text-align:left;transition:border-color var(--t-fast)}.bulk-value:hover{border-color:var(--line-strong)}.bulk-value .pill-row{flex-wrap:wrap}.bulk-ph{color:var(--text-3);font-size:13px}.bulk-error{font-size:12px;color:var(--danger)}.bulk-rating{display:flex;align-items:center;gap:10px;min-height:32px}.bulk-note,.modal-note{margin:0;color:var(--text-2)}.modal-backdrop~.popover{z-index:130}.print-view{display:none;--bg: #ffffff;--text: #1a1a1f;--text-2: #5c5c66;--text-3: #6e6e7a;--line: rgba(15, 15, 20, .12);--line-strong: rgba(15, 15, 20, .28);--star: #f59e0b;--star-off: rgba(15, 15, 20, .18);--accent: #4f52e0;--accent-soft: rgba(99, 102, 241, .14);--danger: #c4282d;--success: #30a46c;--mark: transparent;--bg-elev: #ffffff;--bg-sunken: #f4f4f6;--bg-hover: rgba(15, 15, 20, .045);--bg-active: rgba(15, 15, 20, .08);--bg-selected: rgba(99, 102, 241, .08);--c-gray-bg: #e9e9ec;--c-gray-fg: #3f3f46;--c-brown-bg: #ece2d8;--c-brown-fg: #5c3d1f;--c-orange-bg: #fbe3cc;--c-orange-fg: #8a3d04;--c-yellow-bg: #faedb8;--c-yellow-fg: #6e5200;--c-green-bg: #d5efdd;--c-green-fg: #1b5e36;--c-blue-bg: #d8e6fb;--c-blue-fg: #1d4f91;--c-purple-bg: #e6dcf9;--c-purple-fg: #4d2a8f;--c-pink-bg: #fadbe8;--c-pink-fg: #8c2550;--c-red-bg: #fbd9d7;--c-red-fg: #8f2420;color-scheme:light;color:var(--text);background:var(--bg);font:9pt/1.35 var(--font)}.pv-head h1{margin:0 0 3pt;font-size:15pt;font-weight:600;letter-spacing:-.01em}.pv-head p{margin:0 0 2pt;font-size:8.5pt;color:var(--text-2)}.pv-head .pv-rules{color:var(--text)}.pv-empty{color:var(--text-2)}.pv-table{width:100%;margin-top:8pt;border-collapse:collapse;table-layout:fixed}.pv-table thead{display:table-header-group}.pv-table th{padding:4pt 5pt;text-align:left;font-size:8pt;font-weight:600;color:var(--text-2);border-bottom:1pt solid var(--line-strong);overflow-wrap:anywhere}.pv-table td{padding:3pt 5pt;vertical-align:top;border-bottom:.5pt solid var(--line);overflow-wrap:anywhere}.pv-table tr{break-inside:avoid;page-break-inside:avoid}.pv-table .num{text-align:right;font-variant-numeric:tabular-nums}.pv-table td.title{font-weight:500}.pv-table .cell-text{white-space:pre-wrap}.pv-table .pill-row{flex-wrap:wrap;overflow:visible}.pv-table .pill{height:auto;min-height:14pt;padding:1pt 5pt;font-size:8pt;white-space:normal}.pv-table .checkbox{width:11pt;height:11pt}.pv-table .rating{white-space:nowrap;flex-wrap:nowrap;gap:0;max-width:100%}.pv-table .rating .star{width:9pt;height:10pt;flex:none}.pv-table .rating .star svg{width:8pt;height:8pt}.pv-table a{color:var(--accent)}.pv-table .pv-group td{padding-top:10pt;font-weight:600;border-bottom:1pt solid var(--line-strong);break-after:avoid;page-break-after:avoid}.pv-table .pv-count{margin-left:4pt;font-weight:400;color:var(--text-3)}.pv-table .pv-total td{font-weight:600;border-top:1pt solid var(--line-strong);border-bottom:0}.pv-table .pv-lbl{font-weight:400;color:var(--text-3);font-size:7.5pt}.pv-table .pv-val{white-space:nowrap}.pv-table td.nowrap,.pv-table td.nowrap .cell-text{white-space:nowrap;overflow-wrap:normal}.pv-table tr.hl td{background:color-mix(in srgb,var(--hl-bg) 70%,#fff)}.pv-table tr.hl td:first-child{border-left:2.5pt solid var(--hl-fg)}.pv-table tr.hl-gray{--hl-bg: var(--c-gray-bg);--hl-fg: var(--c-gray-fg)}.pv-table tr.hl-brown{--hl-bg: var(--c-brown-bg);--hl-fg: var(--c-brown-fg)}.pv-table tr.hl-orange{--hl-bg: var(--c-orange-bg);--hl-fg: var(--c-orange-fg)}.pv-table tr.hl-yellow{--hl-bg: var(--c-yellow-bg);--hl-fg: var(--c-yellow-fg)}.pv-table tr.hl-green{--hl-bg: var(--c-green-bg);--hl-fg: var(--c-green-fg)}.pv-table tr.hl-blue{--hl-bg: var(--c-blue-bg);--hl-fg: var(--c-blue-fg)}.pv-table tr.hl-purple{--hl-bg: var(--c-purple-bg);--hl-fg: var(--c-purple-fg)}.pv-table tr.hl-pink{--hl-bg: var(--c-pink-bg);--hl-fg: var(--c-pink-fg)}.pv-table tr.hl-red{--hl-bg: var(--c-red-bg);--hl-fg: var(--c-red-fg)}.pv-table td.cc{background:color-mix(in srgb,var(--cc-bg) 85%,#fff)}.pv-table td.cc-gray{--cc-bg: var(--c-gray-bg)}.pv-table td.cc-brown{--cc-bg: var(--c-brown-bg)}.pv-table td.cc-orange{--cc-bg: var(--c-orange-bg)}.pv-table td.cc-yellow{--cc-bg: var(--c-yellow-bg)}.pv-table td.cc-green{--cc-bg: var(--c-green-bg)}.pv-table td.cc-blue{--cc-bg: var(--c-blue-bg)}.pv-table td.cc-purple{--cc-bg: var(--c-purple-bg)}.pv-table td.cc-pink{--cc-bg: var(--c-pink-bg)}.pv-table td.cc-red{--cc-bg: var(--c-red-bg)}@media print{@page{margin:12mm 10mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body,#root{height:auto!important;overflow:visible!important;background:#fff!important}html.print-view-on body>:not(.print-view){display:none!important}html.print-view-on .print-view{display:block}.sidebar,.sidebar-backdrop,.topbar,.toolbar,.rule-bar,.selbar,.toasts,.tip,.window-controls,.find-bar,.add-row,.popover{display:none!important}.app,.main,.table-scroll{display:block!important;height:auto!important;overflow:visible!important}.db-desc:placeholder-shown{display:none}}
