:root:has(.fc,.fch){--fc-panel:var(--surface-solid);--fc-sunk:color-mix(in srgb, var(--bg-2) 70%, var(--surface-solid));--accent:#6366f1;--accent-2:#818cf8;--accent-soft:#6366f11f;--fc-violet:#6366f1;--fc-sky:#0ea5e9;--fc-stage:#0e0e10;--fc-stage-line:#232327;--fc-tile:#18181b;--fc-tile-ink:#a1a1aa;--fc-clip:#34343a;--fc-clip-media:#2a2a2f;--fc-transport:#d4d4d8;--fc-transport-hover:#26262b;--fc-k-video:linear-gradient(180deg, #4f46e5, #3730a3);--fc-k-audio:linear-gradient(180deg, #0f766e, #115e59);--fc-k-text:linear-gradient(180deg, #7c3aed, #5b21b6);--fc-k-graphic:linear-gradient(180deg, #d97706, #92400e)}:root[data-theme=dark]:has(.fc,.fch){--bg:#17171a;--bg-2:#131315;--bg-3:#1d1d21;--surface:#202024eb;--surface-solid:#1f1f23;--surface-2:#ffffff0d;--ink:#fafafa;--ink-2:#a1a1aa;--ink-3:#71717a;--line:#ffffff13;--line-2:#ffffff24;--accent:#818cf8;--accent-2:#a5b4fc;--accent-soft:#818cf829;--fc-violet:#818cf8;--fc-sky:#38bdf8;--shadow-sm:0 1px 2px #00000073;--shadow:0 2px 6px #00000059, 0 18px 40px -12px #0009;--shadow-lg:0 4px 12px #0006, 0 40px 90px -20px #000000bf;--fc-panel:#1c1c20;--fc-sunk:#161619;--fc-stage:#0e0e10;--fc-stage-line:#26262b;--fc-tile:#232327;--fc-clip:#34343a;--fc-clip-media:#2a2a2f;--fc-transport-hover:#26262b}.fc{--fc-radius:16px;background:var(--bg-2);height:100svh;color:var(--ink);-webkit-user-select:none;user-select:none;grid-template:"top top top"52px"lib prev insp"minmax(0,1fr)"tl tl tl"minmax(220px,36svh)/300px minmax(0,1fr) 300px;gap:8px;padding:0 8px 8px;display:grid;overflow:hidden}.fc input,.fc textarea,.fc select{-webkit-user-select:text;user-select:text}.fc button{font:inherit}.fc-top{grid-area:top;align-items:center;gap:12px;padding:0 4px;display:flex}.fc-back{color:var(--ink-2);border-radius:12px;align-items:center;gap:6px;padding:6px 8px;display:flex}.fc-back:hover{background:var(--fc-panel);color:var(--ink)}.fc-name{min-width:120px;max-width:340px;color:var(--ink);font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 10px;font-size:15px;font-weight:600}.fc-name:hover{border-color:var(--line)}.fc-name:focus{border-color:var(--fc-violet);background:var(--fc-panel);outline:none}.fc-history{gap:2px;display:flex}.fc-history button,.fc-buttons button,.fc-full{width:34px;height:34px;color:var(--ink-2);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.fc-history button:hover:not(:disabled),.fc-buttons button:hover,.fc-full:hover{background:var(--fc-panel);color:var(--ink)}.fc-history button:disabled{opacity:.35;cursor:default}.fc-save{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:flex}.fc-save:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px}.fc-save.is-saving:before,.fc-save.is-dirty:before{background:#f5a524;animation:1.2s ease-in-out infinite pulse}.fc-save.is-error:before{background:var(--danger)}.fc-top-right{align-items:center;gap:10px;margin-left:auto;display:flex}.fc-badge{background:color-mix(in srgb, var(--fc-violet) 12%, transparent);color:var(--fc-violet);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.fc-lib,.fc-preview,.fc-insp,.fc-timeline{background:var(--fc-panel);border:1px solid var(--line);border-radius:var(--fc-radius);min-height:0;overflow:hidden}.fc-lib{grid-area:lib;grid-template-columns:64px minmax(0,1fr);display:grid}.fc-rail{border-right:1px solid var(--line);background:var(--fc-sunk);flex-direction:column;gap:4px;padding:8px 6px;display:flex}.fc-rail button{color:var(--ink-3);background:0 0;border:0;border-radius:12px;justify-items:center;gap:3px;padding:8px 2px;font-size:10.5px;font-weight:600;display:grid}.fc-rail button:hover{color:var(--ink)}.fc-rail button.is-on{background:var(--fc-panel);color:var(--fc-violet);box-shadow:var(--shadow-sm)}.fc-lib-body{padding:12px;overflow:auto}.fc-lib-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.fc-lib-head h2{font-size:15px}.fc-lib-note{color:var(--ink-3);margin:-2px 0 12px;font-size:12.5px}.fc-media{outline-offset:-2px;border-radius:12px;outline:2px dashed #0000;min-height:100%;transition:outline-color .2s}.fc-media.is-over{outline-color:var(--fc-violet)}.fc-drop{border:1.5px dashed var(--line-2);background:var(--fc-sunk);width:100%;color:var(--ink-2);text-align:center;border-radius:14px;gap:6px;padding:36px 16px;font-size:13px;display:grid}.fc-drop b{color:var(--ink);font-size:15px}.fc-drop:hover{border-color:var(--fc-violet)}.fc-job{background:var(--fc-sunk);border-radius:10px;gap:4px;margin-bottom:8px;padding:8px 10px;font-size:12.5px;display:grid;position:relative;overflow:hidden}.fc-job span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fc-job i{background:var(--fc-violet);border-radius:3px;height:3px;transition:width .3s}.fc-job.is-error{color:var(--danger)}.fc-assets{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.fc-asset{cursor:grab;gap:5px;display:grid;position:relative}.fc-asset-pic{aspect-ratio:16/9;background:var(--fc-tile);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.fc-asset-pic img{object-fit:cover;width:100%;height:100%}.fc-asset-ico{color:var(--fc-tile-ink);font-size:20px}.k-audio .fc-asset-pic{background:linear-gradient(135deg,#0f5f4c,#10302a)}.fc-asset-pic em{color:#fff;font-variant-numeric:tabular-nums;background:#0009;border-radius:5px;padding:1px 5px;font-size:10.5px;font-style:normal;position:absolute;bottom:5px;right:5px}.fc-used{background:var(--fc-violet);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:6px;box-shadow:0 0 0 2px #fff}.fc-asset-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.fc-asset-add{background:var(--fc-violet);color:#fff;opacity:0;width:26px;height:26px;transition:all .2s var(--ease-out);border:0;border-radius:8px;font-size:17px;line-height:1;position:absolute;top:6px;right:6px;transform:scale(.8)}.fc-asset:hover .fc-asset-add,.fc-asset-add:focus-visible,.fc-asset-add.relink{opacity:1;transform:none}.fc-asset.is-missing .fc-asset-pic{opacity:.45;background:repeating-linear-gradient(45deg,#2b2b2b 0 8px,#1a1a1a 8px 16px)}.fc-asset-add.relink{background:#f5a524}.fc-text-presets{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fc-text-presets button{border:1px solid var(--line);background:var(--fc-tile);width:100%;transition:transform .25s var(--ease-spring), border-color .2s;border-radius:12px;justify-items:center;gap:2px;padding:14px 10px;font-size:20px;line-height:1.15;display:grid}.fc-text-presets button:hover{border-color:var(--fc-violet);transform:translateY(-2px)}.fc-text-presets small{font:500 11px var(--font-sans), sans-serif;color:var(--fc-tile-ink);-webkit-text-stroke:0}.fc-tiles{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.fc-tiles button{border:1px solid var(--line);background:var(--fc-sunk);width:100%;color:var(--ink-2);text-align:center;transition:border-color .2s, transform .25s var(--ease-spring);border-radius:12px;gap:6px;padding:6px 6px 8px;font-size:12px;font-weight:600;display:grid}.fc-tiles button:hover{border-color:var(--fc-violet);transform:translateY(-2px)}.fc-tiles button.is-on{border-color:var(--fc-violet);color:var(--fc-violet);box-shadow:0 0 0 2px color-mix(in srgb, var(--fc-violet) 30%, transparent)}.fc-tiles.filters img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%}.fc-tr-demo,.fc-anim-demo{aspect-ratio:16/9;background:linear-gradient(135deg,#3b5bff,#1a2780);border-radius:8px;position:relative;overflow:hidden}.fc-tr-demo i{position:absolute;inset:0}.fc-tr-demo i:last-child{background:linear-gradient(135deg,#ff9a4a,#c2355a);animation:none}.fx-crossfade .fc-tr-demo i:last-child,.fx-dip-black .fc-tr-demo i:last-child,.fx-dip-white .fc-tr-demo i:last-child{animation-name:demo-fade}.fx-dip-black .fc-tr-demo{box-shadow:inset 0 0 0 100px #0000}.fx-slide .fc-tr-demo i:last-child,.fx-push .fc-tr-demo i:last-child{animation-name:demo-slide}.fx-push .fc-tr-demo i:first-child{animation:2.4s ease-in-out infinite demo-push}.fx-wipe .fc-tr-demo i:last-child{animation-name:demo-wipe}.fx-zoom .fc-tr-demo i:last-child{animation-name:demo-zoom}.fx-blur .fc-tr-demo i:last-child{animation-name:demo-blur}.fx-iris .fc-tr-demo i:last-child{animation-name:demo-iris}@keyframes demo-fade{0%,30%{opacity:0}70%,to{opacity:1}}@keyframes demo-slide{0%,30%{transform:translate(100%)}70%,to{transform:none}}@keyframes demo-push{0%,30%{transform:none}70%,to{transform:translate(-100%)}}@keyframes demo-wipe{0%,30%{clip-path:inset(0 100% 0 0)}70%,to{clip-path:inset(0)}}@keyframes demo-zoom{0%,30%{opacity:0;transform:scale(1.4)}70%,to{opacity:1;transform:none}}@keyframes demo-blur{0%,30%{filter:blur(8px);opacity:0}70%,to{filter:none;opacity:1}}@keyframes demo-iris{0%,30%{clip-path:circle(0%)}70%,to{clip-path:circle(75%)}}.fc-anim-demo{background:var(--fc-tile);place-items:center;display:grid}.fc-anim-demo i{aspect-ratio:16/9;width:34%;animation:1.8s var(--ease-out) infinite;background:linear-gradient(135deg,#8a6bff,#3b5bff);border-radius:4px}.an-fade .fc-anim-demo i{animation-name:an-fade}.an-slide-left .fc-anim-demo i{animation-name:an-sl}.an-slide-right .fc-anim-demo i{animation-name:an-sr}.an-slide-up .fc-anim-demo i{animation-name:an-su}.an-slide-down .fc-anim-demo i{animation-name:an-sd}.an-zoom-in .fc-anim-demo i{animation-name:an-zi}.an-zoom-out .fc-anim-demo i{animation-name:an-zo}.an-pop .fc-anim-demo i{animation-name:an-pop;animation-timing-function:var(--ease-spring)}.an-spin .fc-anim-demo i{animation-name:an-spin}.an-blur .fc-anim-demo i{animation-name:an-blur}@keyframes an-fade{0%{opacity:0}60%,to{opacity:1}}@keyframes an-sl{0%{opacity:0;transform:translate(120%)}60%,to{opacity:1;transform:none}}@keyframes an-sr{0%{opacity:0;transform:translate(-120%)}60%,to{opacity:1;transform:none}}@keyframes an-su{0%{opacity:0;transform:translateY(120%)}60%,to{opacity:1;transform:none}}@keyframes an-sd{0%{opacity:0;transform:translateY(-120%)}60%,to{opacity:1;transform:none}}@keyframes an-zi{0%{opacity:0;transform:scale(.4)}60%,to{opacity:1;transform:none}}@keyframes an-zo{0%{opacity:0;transform:scale(1.8)}60%,to{opacity:1;transform:none}}@keyframes an-pop{0%{transform:scale(0)}50%,to{transform:none}}@keyframes an-spin{0%{transform:rotate(-180deg)scale(0)}60%,to{transform:none}}@keyframes an-blur{0%{filter:blur(6px);opacity:0}60%,to{filter:none;opacity:1}}.fc-seg{background:var(--fc-sunk);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:4px;display:grid}.fc-seg button{color:var(--ink-2);background:0 0;border:0;border-radius:9px;padding:7px;font-size:13px;font-weight:600}.fc-seg button[aria-checked=true]{background:var(--fc-panel);color:var(--fc-violet);box-shadow:var(--shadow-sm)}.fc-preview{background:var(--fc-stage);border-color:var(--fc-stage-line);grid-area:prev;grid-template-rows:minmax(0,1fr) auto;display:grid}.fc-stage-wrap{place-items:center;min-height:0;padding:14px;display:grid}.fc-stage{background:#000;position:relative;box-shadow:0 10px 40px #00000080}.fc-stage canvas{width:100%;height:100%}.fc-stage canvas.can-move{cursor:move}.fc-stage:fullscreen canvas{object-fit:contain}.fc-stage-empty{color:var(--fc-transport);text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:6px;font-size:13px;display:grid;position:absolute;inset:0}.fc-stage-empty b{color:#fff;font-size:15px}.fc-transport{color:var(--fc-transport);grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 12px 10px;display:grid}.fc-tc{font-variant-numeric:tabular-nums;font-size:12.5px}.fc-tc b{color:#fff}.fc-buttons{align-items:center;gap:4px;display:flex}.fc-buttons button,.fc-full{color:var(--fc-transport)}.fc-buttons button:hover,.fc-full:hover{background:var(--fc-transport-hover);color:#fff}.fc-buttons .fc-play{color:#000;background:#fff;border-radius:50%;width:44px;height:44px}.fc-buttons .fc-play:hover{color:#000;background:#e5e5e5}.fc-full{justify-self:end}.fc-insp{grid-area:insp;overflow:auto}.fi{padding:12px}.fi-title{border-bottom:1px solid var(--line);gap:2px;padding:2px 34px 12px 2px;display:grid;position:relative}.fi-title b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.fi-title small{color:var(--ink-3);font-size:12px}.fi-del{width:30px;height:30px;color:var(--ink-3);background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:0;right:0}.fi-del:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.fi-sec{border-bottom:1px solid var(--line);gap:10px;padding:14px 2px;display:grid}.fi-sec header{justify-content:space-between;align-items:center;display:flex}.fi-sec h3{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px}.fi-reset,.fi-mute{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:8px;padding:3px 9px;font-size:12px}.fi-mute.is-on{background:var(--danger);border-color:var(--danger);color:#fff}.fi-slider{gap:4px;display:grid}.fi-slider>span{color:var(--ink-2);cursor:default;justify-content:space-between;font-size:12.5px;display:flex}.fi-slider b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.fi-slider input,.tl-zoom{appearance:none;background:linear-gradient(90deg, var(--fc-violet) var(--pct,50%), var(--line-2) var(--pct,50%));border-radius:4px;outline:none;width:100%;height:4px}.fi-slider input::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--fc-violet);background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0000004d}.tl-zoom::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--fc-violet);background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0000004d}.fi-slider input::-moz-range-thumb{border:2px solid var(--fc-violet);background:#fff;border-radius:50%;width:12px;height:12px}.tl-zoom::-moz-range-thumb{border:2px solid var(--fc-violet);background:#fff;border-radius:50%;width:12px;height:12px}.fi-row{color:var(--ink-2);justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.fi-row select,.fx-row select{border:1px solid var(--line-2);background:var(--fc-sunk);color:var(--ink);font:inherit;border-radius:9px;padding:6px 8px;font-size:13px}.fi-row input[type=color]{border:1px solid var(--line-2);background:0 0;border-radius:8px;width:36px;height:28px;padding:2px}.fi-grid2{grid-template-columns:1fr 1fr;align-items:center;gap:10px;display:grid}.fi-text{resize:vertical;border:1px solid var(--line-2);background:var(--fc-sunk);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:9px 10px;font-size:14px}.fi-text:focus{border-color:var(--fc-violet);outline:none}.fi-chips{gap:4px;display:flex}.fi-chips.wrap{flex-wrap:wrap}.fi-chips button{border:1px solid var(--line);background:var(--fc-sunk);color:var(--ink-2);white-space:nowrap;border-radius:9px;flex:1;padding:6px 8px;font-size:12.5px;font-weight:600}.fi-chips.wrap button{flex:none}.fi-chips button.is-on{background:var(--fc-violet);border-color:var(--fc-violet);color:#fff}.fi-toggles{flex-wrap:wrap;gap:6px;display:flex}.fi-toggle{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:5px 10px 5px 6px;font-size:12.5px;display:flex}.fi-toggle span{background:var(--line-2);border-radius:999px;width:26px;height:15px;transition:background-color .2s;position:relative}.fi-toggle span:after{content:"";width:11px;height:11px;transition:transform .25s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.fi-toggle.is-on span{background:var(--fc-violet)}.fi-toggle.is-on span:after{transform:translate(11px)}.fi-note{color:var(--ink-3);font-size:12px}.fi-wide{width:100%}.fi-anim{gap:8px;display:grid}.fi-empty{text-align:center;color:var(--ink-2);justify-items:center;gap:8px;padding:24px 16px;font-size:13px;display:grid}.fi-keys{gap:6px;margin:0;display:grid}.fi-keys div{justify-content:space-between;font-size:12.5px;display:flex}.fi-keys dt{background:var(--fc-sunk);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:11.5px}.fi-keys dd{color:var(--ink-3);margin:0}.fc-timeline{grid-area:tl;grid-template-rows:auto minmax(0,1fr);display:grid}.tl-tools{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:6px 8px;display:flex}.tl-tools button{height:32px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.tl-tools button:hover:not(:disabled){background:var(--fc-sunk);color:var(--ink)}.tl-tools button:disabled{opacity:.35}.tl-tools button.is-on{color:var(--fc-violet);background:color-mix(in srgb, var(--fc-violet) 12%, transparent)}.tl-sep{background:var(--line-2);width:1px;height:20px;margin:0 4px}.tl-grow{flex:1}.tl-zoom{--pct:50%;width:140px}.tl-add{position:relative}.tl-add-menu{z-index:20;background:var(--fc-panel);border:1px solid var(--line);min-width:160px;box-shadow:var(--shadow-lg);border-radius:12px;padding:6px;display:none;position:absolute;top:100%;left:0}.tl-add:hover .tl-add-menu,.tl-add:focus-within .tl-add-menu{display:grid}.tl-add-menu button{justify-content:flex-start}.tl-scroll{overscroll-behavior:contain;position:relative;overflow:auto}.tl-inner{min-width:100%;position:relative}.tl-top{z-index:6;height:28px;display:flex;position:sticky;top:0}.tl-corner{z-index:2;background:var(--fc-panel);border-bottom:1px solid var(--line);border-right:1px solid var(--line);width:148px;color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;align-items:center;padding:0 12px;font-size:11.5px;display:flex;position:sticky;left:0}.tl-ruler{background:var(--fc-panel);border-bottom:1px solid var(--line);cursor:ew-resize;background-image:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 30px);background-position:0 100%;background-repeat:repeat-x;background-size:auto 6px;flex:none;height:28px;position:relative}.tl-ruler span{border-left:1px solid var(--line-2);height:100%;color:var(--ink-3);font-variant-numeric:tabular-nums;pointer-events:none;padding:6px 0 0 4px;font-size:10.5px;position:absolute;top:0}.tl-row{border-bottom:1px solid var(--line);display:flex;position:absolute;left:0;right:0}.tl-head{z-index:4;background:var(--fc-panel);border-right:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:4px;width:148px;padding:0 6px 0 10px;display:flex;position:sticky;left:0}.tl-name{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.tl-name i{letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb, var(--fc-violet) 14%, transparent);color:var(--fc-violet);border-radius:5px;margin-left:5px;padding:1px 5px;font-size:9.5px;font-style:normal}.tl-head-btns{gap:1px;display:flex}.tl-head-btns button{width:22px;height:22px;color:var(--ink-3);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.tl-head-btns button:hover{color:var(--ink);background:var(--fc-sunk)}.tl-head-btns button.is-on{color:#fff;background:var(--fc-violet)}.tl-lane{background:var(--fc-sunk);flex:none;height:100%;position:relative}.is-main .tl-lane{background:color-mix(in srgb, var(--fc-violet) 5%, var(--fc-sunk))}.tl-lane.is-hidden .tl-clip{opacity:.4}.tl-lane.is-locked{background-image:repeating-linear-gradient(-45deg, transparent 0 8px, color-mix(in srgb, var(--ink) 4%, transparent) 8px 10px)}.tl-lane.is-locked .tl-clip{cursor:not-allowed}.tl-hint{color:var(--ink-3);pointer-events:none;white-space:nowrap;font-size:12px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tl-clip{cursor:grab;background:var(--fc-clip);touch-action:none;border-radius:8px;position:absolute;top:3px;bottom:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.tl-clip:active{cursor:grabbing}.tl-clip.k-video,.tl-clip.k-image{background:var(--fc-k-video)}.tl-clip.k-audio{background:var(--fc-k-audio)}.tl-clip.k-text{background:var(--fc-k-text)}.tl-clip.k-graphic{background:var(--fc-k-graphic)}.tl-clip.is-selected{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--fc-violet);z-index:2}.tl-clip.is-missing{background:repeating-linear-gradient(45deg,#5a2330 0 8px,#3d1a26 8px 16px)}.tl-clip.is-muted .tl-wave{opacity:.25}.tl-strip{opacity:.9;display:flex;position:absolute;inset:0;overflow:hidden}.tl-strip img{object-fit:cover;border-right:1px solid #00000059;flex:none;height:100%}.tl-wave{width:100%;height:70%;position:absolute;bottom:0;left:0;right:0}.tl-wave path{stroke:#6ff2c4;stroke-width:1.4px;opacity:.9}.tl-wave.compact{height:30%}.tl-wave.compact path{stroke:#9db1ff}.tl-label{color:#fff;text-shadow:0 1px 3px #000c;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex;position:absolute;top:4px;left:6px;right:6px;overflow:hidden}.tl-label i{background:#00000073;border-radius:4px;padding:0 4px;font-style:normal}.tl-trans{pointer-events:none;background:linear-gradient(90deg,#ffffffd9,#0000);width:12px;position:absolute;top:0;bottom:0;left:0}.tl-fade{pointer-events:none;position:absolute;top:0;bottom:0}.tl-fade.in{background:linear-gradient(to top right,#00000073 50%,#0000 50%);left:0}.tl-fade.out{background:linear-gradient(to top left,#00000073 50%,#0000 50%);right:0}.tl-handle{cursor:ew-resize;z-index:2;width:9px;position:absolute;top:0;bottom:0}.tl-handle.l{left:0}.tl-handle.r{right:0}.tl-clip:hover .tl-handle,.tl-clip.is-selected .tl-handle{background:#ffffffd9}.tl-handle:after{content:"";background:#1a1a1a;border-radius:2px;width:2px;position:absolute;top:35%;bottom:35%;left:3.5px}.tl-drop{background:var(--fc-violet);width:2px;box-shadow:0 0 8px var(--fc-violet);pointer-events:none;position:absolute;top:0;bottom:0}.tl-playhead{z-index:7;pointer-events:none;background:#ff4d6d;width:2px;margin-left:-1px;position:absolute;top:0;left:0}.tl-playhead:before{content:"";background:#ff4d6d;border-radius:3px 3px 6px 6px;width:12px;height:14px;position:absolute;top:0;left:-5px}.fx-dialog{border:1px solid var(--line);background:var(--surface-solid);width:min(520px,92vw);color:var(--ink);box-shadow:var(--shadow-lg);border-radius:24px;padding:22px}.fx-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.fx-dialog[open]{animation:film-pop .35s var(--ease-out)}.fx-dialog header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.fx-dialog h2{font-family:var(--font-serif), serif;font-size:28px;font-weight:400}.fx-x{background:var(--bg-2);width:34px;height:34px;color:var(--ink);border:0;border-radius:50%;font-size:20px}.fx-res{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:0;display:grid}.fx-res legend,.fx-row span{color:var(--ink-3);margin-bottom:6px;font-size:12px}.fx-res label{border:1.5px solid var(--line-2);cursor:pointer;border-radius:14px;gap:2px;padding:12px;display:grid}.fx-res input{opacity:0;position:absolute}.fx-res label.is-on{border-color:var(--fc-violet);background:color-mix(in srgb, var(--fc-violet) 8%, transparent)}.fx-res label.is-locked{opacity:.55;cursor:not-allowed}.fx-res b{font-size:16px}.fx-res small{color:var(--ink-3);font-size:11.5px}.fx-pro{background:var(--fc-violet);color:#fff;vertical-align:2px;border-radius:6px;padding:1px 6px;font-size:10px}.fx-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fx-row label{display:grid}.fx-summary{color:var(--ink-2);margin:14px 0 6px;font-size:13px}.fx-note{color:var(--ink-2);background:var(--bg-2);border-radius:12px;margin:8px 0;padding:10px 12px;font-size:13px}.fx-warn{color:var(--danger);margin:8px 0;font-size:13px}.fx-dialog footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.fx-run{gap:10px;display:grid}.fx-bar{background:var(--bg-2);border-radius:10px;height:10px;overflow:hidden}.fx-bar i{background:linear-gradient(90deg, var(--fc-violet), #a48bff);border-radius:10px;height:100%;transition:width .3s;display:block}.fx-done video{background:#000;border-radius:14px;width:100%;max-height:300px}.fx-done p{color:var(--ink-2);margin-top:8px;font-size:13.5px}.fc-toast{z-index:60;color:#fff;box-shadow:var(--shadow-lg);animation:rise .3s var(--ease-out);background:#161616;border-radius:12px;padding:10px 16px;font-size:13.5px;position:fixed;bottom:24px;left:50%;translate:-50%}@media (max-width:1280px){.fc{grid-template-columns:260px minmax(0,1fr) 270px}}@media (max-width:1024px){.fc{grid-template:"top top"52px"lib prev"minmax(240px,1fr)"insp insp"minmax(0,180px)"tl tl"minmax(200px,32svh)/220px minmax(0,1fr)}.fc-lib{grid-template-columns:54px minmax(0,1fr)}.fc-badge{display:none}}.fch{background:var(--bg);min-height:100svh}.fch-top{max-width:var(--maxw);padding:18px var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.fch-app{align-items:center;gap:10px;display:flex}.fch-app b{font-size:18px}.fch-plan{background:var(--bg-2);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.fch-plan.plan-pro,.fch-plan.plan-team{background:var(--fc-violet);color:#fff}.fch-main{max-width:var(--maxw);padding:20px var(--gutter) 80px;gap:48px;margin:0 auto;display:grid}.fch-hero{background:radial-gradient(80% 120% at 0% 0%, color-mix(in srgb, var(--fc-violet) 16%, transparent), transparent 60%), var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:40px;padding:36px;display:grid}.fch-hero .kicker{color:var(--fc-violet)}.fch-hero h1{font-family:var(--font-serif), serif;letter-spacing:-.03em;margin:10px 0 14px;font-size:clamp(36px,4.4vw,60px);font-weight:400;line-height:1.02}.fch-hero h1 em{color:var(--fc-violet)}.fch-sub{color:var(--ink-2);max-width:46ch}.fch-new{gap:14px;display:grid}.fch-name{color:var(--ink-3);gap:6px;font-size:12.5px;display:grid}.fch-name input{border:1px solid var(--line-2);background:var(--bg);height:46px;color:var(--ink);font:inherit;border-radius:14px;padding:0 14px;font-size:15px}.fch-name input:focus{border-color:var(--fc-violet);box-shadow:0 0 0 4px color-mix(in srgb, var(--fc-violet) 16%, transparent);outline:none}.fch-shapes{border:0;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;display:grid}.fch-shapes legend{color:var(--ink-3);margin-bottom:6px;font-size:12.5px}.fch-shapes label{border:1.5px solid var(--line-2);text-align:center;cursor:pointer;border-radius:14px;justify-items:center;gap:4px;padding:12px 6px;transition:border-color .2s,background-color .2s;display:grid}.fch-shapes label.is-on{border-color:var(--fc-violet);background:color-mix(in srgb, var(--fc-violet) 8%, transparent)}.fch-shapes input{opacity:0;position:absolute}.fch-shapes b{font-size:13px}.fch-shapes small{color:var(--ink-3);font-size:10.5px}.fch-shape-ico{height:30px;color:var(--ink-3);border:2px solid;border-radius:5px;display:block}.is-on .fch-shape-ico{color:var(--fc-violet)}.shape-16x9{aspect-ratio:16/9}.shape-9x16{aspect-ratio:9/16}.shape-1x1{aspect-ratio:1}.shape-4x5{aspect-ratio:4/5}.fch-err{color:var(--danger);font-size:13px}.fch-row{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.fch-row h2{font-family:var(--font-serif), serif;font-size:30px;font-weight:400}.fch-count{color:var(--ink-3);font-size:13px}.fch-empty{border:1.5px dashed var(--line-2);color:var(--ink-2);text-align:center;border-radius:20px;padding:28px}.fch-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.fch-card{position:relative}.fch-open{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .4s var(--ease-spring), box-shadow .3s;border-radius:20px;gap:4px;padding:12px 12px 16px;display:grid}.fch-open:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.fch-shape{aspect-ratio:auto;background:radial-gradient(120% 120% at 20% 0,#3a2a8f,#160f3a 55%,#0b0b0f);border-radius:14px;place-items:center;height:130px;margin-bottom:8px;display:grid}.fch-open b{font-size:15px}.fch-open small{color:var(--ink-3);font-size:12px}.fch-del{color:#fff;opacity:0;background:#00000059;border:0;border-radius:10px;place-items:center;width:32px;height:32px;transition:opacity .2s;display:grid;position:absolute;top:20px;right:20px}.fch-card:hover .fch-del,.fch-del:focus-visible{opacity:1}.fch-del:hover{background:var(--danger)}@media (max-width:900px){.fch-hero{grid-template-columns:1fr;padding:24px}.fch-shapes{grid-template-columns:repeat(2,1fr)}}.dark-style{background:var(--fc-sunk);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.dark-style button{color:var(--ink-2);font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:12.5px;font-weight:600;display:flex}.dark-style button[aria-checked=true]{background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line-2)}.ds-swatch{border:1px solid #ffffff40;border-radius:50%;width:14px;height:14px}.ds-pitch{background:#000}.ds-slate{background:#2a2a2f}.dark-style.is-compact button{padding:5px 9px;font-size:12px}:root:not([data-theme=dark]) .dark-style.is-compact{display:none}.fch-tools{align-items:center;gap:10px;display:flex}.fc-job-chip{border:1px solid color-mix(in srgb, var(--fc-violet) 40%, transparent);background:color-mix(in srgb, var(--fc-violet) 10%, transparent);height:32px;color:var(--fc-violet);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.fc-job-chip i{background:color-mix(in srgb, var(--fc-violet) 22%, transparent);transform-origin:0;transform:scaleX(var(--p,0));transition:transform .3s;position:absolute;inset:0}.fc-job-chip.is-done{background:var(--fc-violet);color:#fff}.fc-engine{border:1px solid var(--fc-stage-line);letter-spacing:.08em;opacity:.7;border-radius:5px;margin-left:10px;padding:1px 6px;font-size:10px;font-style:normal}.fc-menu{z-index:80;background:var(--surface-solid);border:1px solid var(--line-2);min-width:220px;box-shadow:var(--shadow-lg);animation:menu-in .14s var(--ease-out);border-radius:14px;padding:6px;position:fixed}.fc-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;font-size:13px;display:flex}.fc-menu button:hover:not(:disabled),.fc-menu button:focus-visible{background:color-mix(in srgb, var(--fc-violet) 14%, transparent);outline:none}.fc-menu button:disabled{opacity:.4}.fc-menu button.is-danger{color:var(--danger)}.fc-menu kbd{color:var(--ink-3);font:11px ui-monospace,monospace}.fc-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.tl-box{z-index:8;border:1px solid var(--fc-violet);background:color-mix(in srgb, var(--fc-violet) 14%, transparent);pointer-events:none;border-radius:4px;position:absolute}.tl-key{z-index:3;cursor:pointer;background:#ffd84d;border:1.5px solid #000;width:11px;height:11px;margin-left:-5.5px;padding:0;position:absolute;bottom:3px;transform:rotate(45deg)}.tl-key:hover{background:#fff}.tl-vol{pointer-events:none;width:100%;height:calc(100% - 8px);position:absolute;inset:4px 0;overflow:visible}.tl-vol polyline{fill:none;stroke:#ffd84d;stroke-width:1.5px;vector-effect:non-scaling-stroke;opacity:.9}.tl-vol .tl-vol-hit{stroke:#0000;stroke-width:10px;pointer-events:stroke;cursor:ns-resize}.tl-vol.is-animated .tl-vol-hit{cursor:default}.tl-clip.is-freeze{background:repeating-linear-gradient(135deg, var(--fc-clip-media) 0 10px, color-mix(in srgb, #4aa3ff 22%, var(--fc-clip-media)) 10px 20px)}.tl-clip.is-freeze .tl-strip{opacity:.55}.tl-range{background:color-mix(in srgb, var(--fc-violet) 22%, transparent);border-left:2px solid var(--fc-violet);border-right:2px solid var(--fc-violet);pointer-events:none;position:absolute;top:0;bottom:0}.tl-markline{z-index:5;border-left:1px dashed var(--fc-violet);pointer-events:none;width:0;position:absolute;top:0}.tl-marks{color:var(--fc-violet);font-variant-numeric:tabular-nums;padding:0 8px;font-size:12px;font-weight:600}.fi-keyrow{grid-template-columns:1fr 24px;align-items:end;gap:6px;display:grid}.fi-kf{background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;margin-bottom:-6px;display:grid}.fi-kf svg path{fill:none;stroke:var(--ink-3);stroke-width:1.4px}.fi-kf.is-anim svg path{stroke:#e3b500}.fi-kf.is-on svg path{fill:#ffd84d;stroke:#e3b500}.fi-kf:hover:not(:disabled){background:var(--fc-sunk)}.fi-kf:disabled{opacity:.35}.fi-keybar{background:color-mix(in srgb, #ffd84d 10%, var(--fc-sunk));border:1px solid #ffd84d4d;border-radius:10px;align-items:center;gap:6px;margin:12px 0 0;padding:6px 8px;font-size:12.5px;display:flex}.fi-keybar button{background:var(--fc-panel);width:24px;height:24px;color:var(--ink);border:0;border-radius:6px;font-size:16px;line-height:1}.fi-keybar button:disabled{opacity:.35}.fi-keybar span{text-align:center;color:var(--ink-2);flex:1}.fi-keybar select{border:1px solid var(--line-2);background:var(--fc-panel);color:var(--ink);font:inherit;border-radius:7px;padding:3px 6px;font-size:12px}.fx-presets{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px;padding:0;display:grid}.fx-presets legend,.fx-scope legend{color:var(--ink-3);margin-bottom:6px;font-size:12px}.fx-presets button{border:1.5px solid var(--line-2);color:var(--ink);text-align:left;background:0 0;border-radius:14px;justify-items:start;gap:2px;padding:10px 12px;display:grid}.fx-presets button.is-on{border-color:var(--fc-violet);background:color-mix(in srgb, var(--fc-violet) 8%, transparent)}.fx-presets button:disabled{opacity:.5;cursor:not-allowed}.fx-presets b{font-size:13.5px}.fx-presets small{color:var(--ink-3);font-size:11.5px}.fx-row.three{grid-template-columns:repeat(3,1fr)}.fx-scope{border:0;gap:6px;margin:14px 0 0;padding:0;font-size:13.5px;display:grid}.fx-scope label{align-items:center;gap:8px;display:flex}.fx-scope label.is-off{color:var(--ink-3)}.fx-link{color:var(--fc-violet);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.fx-dialog{width:min(600px,94vw);max-height:92svh;overflow:auto}@media (max-width:640px){.fx-presets,.fx-row.three{grid-template-columns:1fr 1fr}}.fi-font-btn{border:1px solid var(--line-2);background:var(--fc-sunk);min-width:112px;max-width:136px;color:var(--ink);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:inline-flex}.fi-font-btn:hover{border-color:var(--fc-violet)}.fi-font-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-font-pop{z-index:85;background:var(--surface-solid);border:1px solid var(--line-2);width:260px;max-height:350px;box-shadow:var(--shadow-lg);color:var(--ink);animation:menu-in .14s var(--ease-out);border-radius:14px;grid-template-rows:auto auto minmax(0,1fr);gap:6px;padding:8px;display:grid;position:fixed}.fc-font-search{border:1px solid var(--line-2);background:var(--fc-sunk);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:7px 10px;font-size:12.5px}.fc-font-search:focus{border-color:var(--fc-violet);outline:none}.fc-font-cats{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.fc-font-cats::-webkit-scrollbar{display:none}.fc-font-cats button,.fc-title-cats button{border:1px solid var(--line);background:var(--fc-sunk);color:var(--ink-2);border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:600}.fc-font-cats button.is-on,.fc-title-cats button.is-on{background:var(--fc-violet);border-color:var(--fc-violet);color:#fff}.fc-font-list{gap:2px;max-height:240px;display:grid;overflow-y:auto}.fc-font-list button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:14px;display:flex}.fc-font-list button:hover,.fc-font-list button:focus-visible{background:color-mix(in srgb, var(--fc-violet) 14%, transparent);outline:none}.fc-font-list button.is-on{background:color-mix(in srgb, var(--fc-violet) 18%, transparent);color:var(--fc-violet)}.fc-font-list small{font:500 10.5px var(--font-sans), sans-serif;color:var(--ink-3)}.fc-font-empty{text-align:center;color:var(--ink-3);margin:0;padding:16px 8px;font-size:12.5px}.fi-text-anim{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.fc-lib-subhead{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin:18px 0 8px;padding-top:14px;display:flex}.fc-lib-subhead h3{font-size:13.5px;font-weight:700}.fc-lib-subhead span{background:var(--fc-sunk);color:var(--ink-3);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.fc-title-cats{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.fc-title-templates{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fc-title-templates button{border:1px solid var(--line);background:var(--fc-sunk);width:100%;color:var(--ink);text-align:left;transition:transform .22s var(--ease-spring), border-color .2s;border-radius:12px;gap:6px;padding:8px;display:grid}.fc-title-templates button:hover{border-color:var(--fc-violet);transform:translateY(-2px)}.fc-tt-preview{background:var(--fc-tile);text-align:center;border-radius:8px;place-content:center;justify-items:center;gap:2px;min-height:54px;padding:8px 10px;display:grid;overflow:hidden}.fc-tt-preview b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;line-height:1.15;overflow:hidden}.fc-tt-preview em{opacity:.85;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-style:normal;overflow:hidden}.fc-tt-meta{justify-content:space-between;align-items:baseline;gap:6px;padding:0 2px;display:flex}.fc-tt-meta b{color:var(--ink);font-size:12px;font-weight:600}.fc-tt-meta small{color:var(--ink-3);font-size:10.5px}.fc-rail{scrollbar-width:none;overflow-y:auto}.fc-rail button span{letter-spacing:.01em;font-size:10px}.fc-count{background:var(--accent-soft);min-width:24px;color:var(--fc-violet);text-align:center;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.fc-chipbar{flex-wrap:wrap;gap:4px;margin:0 0 10px;display:flex}.fc-chipbar button{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.fc-chipbar button.is-on{background:var(--fc-violet);border-color:var(--fc-violet);color:#fff}.fc-seg.three{grid-template-columns:repeat(3,1fr)}.fc-tiles.thumbs button{padding:5px 5px 7px;font-size:11.5px;line-height:1.25}.fc-tiles.thumbs button>span:last-child{min-height:2.5em;display:block}.fc-thumb{aspect-ratio:16/9;background:var(--fc-tile);object-fit:cover;border-radius:8px;width:100%;display:block;overflow:hidden}.fc-thumb-none{color:var(--ink-3);border:1px dashed var(--line-2);place-items:center;font-size:12px;display:grid}.fc-tiles.banners{grid-template-columns:1fr}.fc-tiles.banners button{text-align:left}.fc-tiles.banners .fc-thumb{border-radius:9px}.fc-tiles.banners button>span:last-child{min-height:0}.fc-wide{justify-content:center;width:100%;margin-top:10px}.fc-tip{margin-top:12px}.fc-vfx{gap:6px;display:grid}.fc-vfx button{border:1px solid var(--line);background:var(--fc-sunk);color:var(--ink-2);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}.fc-vfx button.is-on{border-color:var(--fc-violet);color:var(--fc-violet);background:var(--accent-soft)}.fc-sfx{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fc-sfx li{border:1px solid var(--line);background:var(--fc-sunk);border-radius:10px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.fc-sfx li span{line-height:1.2;display:grid}.fc-sfx b{font-size:12.5px}.fc-sfx small{color:var(--ink-3);font-size:11px}.fc-sfx-play{background:var(--fc-violet);color:#fff;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.fc-sfx-add{border:1px solid var(--line-2);color:var(--ink);background:0 0;border-radius:8px;padding:5px 11px;font-size:12px;font-weight:600}.fc-sfx-add:hover{border-color:var(--fc-violet);color:var(--fc-violet)}.fc-kinetic{gap:6px;margin:0 0 6px;padding:0;list-style:none;display:grid}.fc-kinetic button{border:1px solid var(--line);background:linear-gradient(135deg,#27272a,#18181b);border-radius:12px;justify-items:center;gap:3px;width:100%;padding:12px 8px 8px;display:grid;overflow:hidden}.fc-kinetic button:hover{border-color:var(--fc-violet)}.fc-kinetic small{font:500 11px var(--font-sans), sans-serif;color:#a1a1aa}.fc-kin{white-space:nowrap;font-size:22px;line-height:1.15}.fc-kin i{font-style:inherit;display:inline-block}.fc-kinetic button:hover .fc-kin i{animation:kin-rise .6s var(--ease-out) both;animation-delay:calc(var(--i) * 40ms)}.fc-kinetic button:hover .kin-wave i{animation:1.2s ease-in-out infinite kin-wave;animation-delay:calc(var(--i) * 70ms)}.fc-kinetic button:hover .kin-typewriter i{animation:10ms both kin-type;animation-delay:calc(var(--i) * 60ms)}.fc-kinetic button:hover .kin-expand{animation:kin-expand .9s var(--ease-out) both}.fc-kinetic button:hover .kin-expand i{animation:none}@keyframes kin-rise{0%{opacity:0;transform:translateY(60%)}}@keyframes kin-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-22%)}}@keyframes kin-type{0%{opacity:0}}@keyframes kin-expand{0%{letter-spacing:.5em;opacity:0}}.fi-tabs{z-index:3;background:var(--fc-panel);border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin:8px -12px 0;padding:6px 8px;display:flex;position:sticky;top:-12px;overflow-x:auto}.fi-tabs button{color:var(--ink-3);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-flex}.fi-tabs button:hover{color:var(--ink);background:var(--fc-sunk)}.fi-tabs button.is-on{color:var(--fc-violet);background:var(--accent-soft)}.fi-tabs button:not(.is-on) span{display:none}.fi-sec h3{align-items:center;gap:6px;display:flex}.fi-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.fi-select{border:1px solid var(--line-2);background:var(--fc-sunk);width:100%;color:var(--ink);border-radius:9px;padding:7px 9px;font-size:13px}.fi-field{color:var(--ink-2);gap:4px;font-size:12px;display:grid}.fi-field input,.fi-field textarea{border:1px solid var(--line-2);background:var(--fc-sunk);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:9px;padding:7px 9px;font-size:13px}.fi-field input:focus,.fi-field textarea:focus,.fi-select:focus{border-color:var(--fc-violet);outline:none}.fi-stops{align-items:center;gap:6px;display:flex}.fi-stops input{border:1px solid var(--line-2);background:0 0;border-radius:8px;width:36px;height:28px;padding:0}.fi-stops button{border:1px solid var(--line-2);width:28px;height:28px;color:var(--ink-2);background:0 0;border-radius:8px}.fi-ease{grid-template-columns:96px 1fr;align-items:center;gap:10px;display:grid}.fi-ease select{border:1px solid var(--line-2);background:var(--fc-sunk);color:var(--ink);border-radius:9px;padding:6px 8px;font-size:12.5px}.fi-keyhint{align-items:center;gap:6px;display:flex}.fi-keys-panel{gap:8px;display:grid}.fi-aspects{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.fi-aspects button{border:1px solid var(--line);background:var(--fc-sunk);color:var(--ink-2);border-radius:10px;justify-items:center;gap:2px;padding:7px 2px;display:grid}.fi-aspects b{font-size:11px}.fi-aspects small{color:var(--ink-3);font-size:9.5px}.fi-aspects button.is-on{border-color:var(--fc-violet);color:var(--fc-violet);background:var(--accent-soft)}.fi-wheels{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fc-curve{gap:8px;display:grid}.fc-curve svg{background:var(--fc-sunk);touch-action:none;border-radius:10px;width:100%;height:auto}.fc-curve.is-compact svg{border-radius:8px}.fc-curve-box{fill:none;stroke:var(--line-2)}.fc-curve-grid line{stroke:var(--line)}.fc-curve-lin{stroke:var(--ink-3);stroke-dasharray:3 4;opacity:.5}.fc-curve-arm{stroke:var(--fc-sky);stroke-width:1.5px}.fc-curve-path{fill:none;stroke:var(--fc-violet);stroke-width:2.5px;stroke-linecap:round}.fc-curve-h{fill:var(--fc-panel);stroke:var(--fc-sky);stroke-width:2px;cursor:grab}.fc-curve-h:hover{fill:var(--fc-sky)}.fc-curve-presets{flex-wrap:wrap;gap:4px;display:flex}.fc-curve-presets button{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:999px;padding:3px 8px;font-size:11px}.fc-curve-presets button.is-on{border-color:var(--fc-violet);color:var(--fc-violet)}.fc-curve-code{font:11px var(--font-mono,ui-monospace), monospace;color:var(--ink-3)}.fc-wheel{justify-items:center;gap:6px;display:grid}.fc-wheel-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);cursor:default;font-size:11px;font-weight:700}.fc-wheel-ring{aspect-ratio:1;width:100%;max-width:92px;box-shadow:inset 0 0 0 1px #00000059, 0 0 0 1px var(--line-2);cursor:crosshair;touch-action:none;background:radial-gradient(circle,gray 0%,#80808000 72%),conic-gradient(from 90deg,red,#f0f,#00f,#0ff,#0f0,#ff0,red);border-radius:50%;position:relative}.fc-wheel-ring:focus-visible{outline:2px solid var(--fc-violet);outline-offset:2px}.fc-wheel-ring:after{content:"";background:#00000080;border-radius:50%;width:4px;height:4px;margin:-2px;position:absolute;top:50%;left:50%}.fc-wheel-puck{pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;margin:-7px;position:absolute;box-shadow:0 0 0 2px #111,0 2px 6px #00000080}.fc-wheel-master{appearance:none;background:linear-gradient(90deg,#000,#fff);border-radius:4px;width:100%;height:4px}.fc-wheel-master::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fc-violet);border:2px solid #fff;border-radius:50%;width:12px;height:12px}.fc-ramp svg{background:var(--fc-sunk);cursor:copy;touch-action:none;border-radius:10px;width:100%;height:120px}.fc-ramp-grid line{stroke:var(--line)}.fc-ramp-grid.one line{stroke:var(--line-2);stroke-dasharray:4 4}.fc-ramp-grid text{fill:var(--ink-3);font-size:8px}.fc-ramp-fill{fill:var(--accent-soft)}.fc-ramp-path{fill:none;stroke:var(--fc-violet);stroke-width:2px;vector-effect:non-scaling-stroke}.fc-ramp-pt{fill:var(--fc-panel);stroke:var(--fc-sky);stroke-width:2px;cursor:grab;vector-effect:non-scaling-stroke}.tl-toolset{background:var(--fc-sunk);border-radius:10px;gap:2px;padding:2px;display:flex}.tl-tools .tl-toolset button{border-radius:8px;justify-content:center;width:30px;height:28px;padding:0}.tl-tools .tl-toolset button.is-on{background:var(--fc-panel);color:var(--fc-violet);box-shadow:var(--shadow-sm)}.tl-tc{font:600 12px var(--font-mono,ui-monospace), ui-monospace, monospace;color:var(--ink);letter-spacing:.02em}.tl-tr{z-index:3;color:#fff;white-space:nowrap;cursor:pointer;background:#0f0f12d1;border:1px solid #ffffff59;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:24px;margin-top:-12px;padding:0 6px;font-size:10.5px;font-weight:700;display:flex;position:absolute;top:50%;overflow:hidden;box-shadow:0 2px 8px #0006}.tl-tr:hover{border-color:var(--fc-sky)}.tl-tr.is-edge{border-style:dashed}.tl-tr-h{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.tl-tr-h.l{left:0}.tl-tr-h.r{right:0}.tl-tr:hover .tl-tr-h{background:var(--fc-sky)}.tl-anim{pointer-events:none;height:3px;position:absolute;bottom:0}.tl-anim.in{background:linear-gradient(90deg,#fff,#fff3);left:0}.tl-anim.out{background:linear-gradient(270deg,#fff,#fff3);right:0}.tl-snapline{z-index:8;border-left:1px dashed var(--fc-sky);pointer-events:none;width:0;margin-left:-.5px;position:absolute;top:0}.tl-snapline:before{content:"";background:var(--fc-sky);border-radius:50%;width:7px;height:7px;position:absolute;top:2px;left:-4px}.tl-blade{pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #fffc}.tool-blade .tl-clip{cursor:crosshair}.tool-hand .tl-scroll,.tool-hand .tl-clip{cursor:grab}.tl-scroll.is-panning,.tl-scroll.is-panning *{cursor:grabbing!important}.tool-slip .tl-clip{cursor:col-resize}.tool-slide .tl-clip{cursor:ew-resize}.tl-name.k-video svg{color:#818cf8}.tl-name.k-text svg{color:#c4b5fd}.tl-name.k-audio svg{color:#5eead4}.tl-label svg{flex:none}.fc-shuttle{background:var(--fc-violet);color:#fff;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700}.shape-2x35x1{aspect-ratio:2.35}
:root:has(.gr,.grh){--fc-panel:var(--surface-solid);--fc-sunk:color-mix(in srgb, var(--bg-2) 70%, var(--surface-solid));--fc-violet:#0e9f6e;--accent:#0e9f6e;--accent-2:#10b981;--accent-soft:#10b9811f;--gr-accent:#0e9f6e;--gr-cell:#fff;--gr-line:#e2e4e8;--gr-head:#f6f7f8;--gr-head-ink:#5f6368;--gr-head-sel:#dff5ec;--gr-head-sel-ink:#0a6b4c;--gr-ink:#1d2025;--gr-sel:#10b9811c;--gr-err:#d93036;--gr-chrome:#fbfbfc}:root[data-theme=dark]:has(.gr,.grh){--bg:#17171a;--bg-2:#131315;--bg-3:#1d1d21;--surface:#202024eb;--surface-solid:#1f1f23;--surface-2:#ffffff0e;--ink:#fafafa;--ink-2:#a1a1aa;--ink-3:#71717a;--line:#ffffff14;--line-2:#ffffff26;--shadow-sm:0 1px 2px #00000073;--shadow:0 2px 6px #00000059, 0 18px 40px -12px #0009;--shadow-lg:0 4px 12px #0006, 0 40px 90px -20px #000000bf;--fc-panel:#1d1d21;--fc-sunk:#161619;--fc-violet:#34d399;--accent:#34d399;--accent-2:#6ee7b7;--accent-soft:#34d39926;--gr-accent:#34d399;--gr-cell:#18181b;--gr-line:#2a2a2f;--gr-head:#1f1f23;--gr-head-ink:#a1a1aa;--gr-head-sel:#14382b;--gr-head-sel-ink:#6ee7b7;--gr-ink:#f4f4f5;--gr-sel:#34d39924;--gr-err:#ff7a7a;--gr-chrome:#17171a}.grh .fch-hero{background:radial-gradient(80% 120% at 0% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%), var(--surface-solid)}.grh-templates{grid-template-columns:repeat(3,minmax(0,1fr))}.grh-thumb{background:var(--gr-cell);border:1px solid var(--line-2);border-radius:8px;width:58px;height:40px;margin-bottom:6px;transition:transform .3s cubic-bezier(.34,1.4,.64,1);display:block}.grh-thumb .m{fill:var(--gr-line)}.grh-thumb .a{fill:var(--accent)}.grh-thumb .s{fill:color-mix(in srgb, var(--accent) 40%, transparent)}.grh-thumb .warn{fill:#f59e0b}.grh-thumb .ln,.grh-thumb .ln-d{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.grh-thumb .ln-d{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:2 2}.grh-thumb .ring-m,.grh-thumb .ring-a{fill:none;stroke-width:4px;stroke:var(--gr-line)}.grh-thumb .ring-a{stroke:var(--accent)}.is-on .grh-thumb{border-color:var(--accent)}.grh-templates label:hover .grh-thumb{transform:translateY(-2px)}.grh-card-art{background:linear-gradient(var(--gr-line) 1px, transparent 1px) 0 0 / 100% 14px, linear-gradient(90deg, var(--gr-line) 1px, transparent 1px) 0 0 / 28px 100%, var(--gr-cell)}@media (max-width:720px){.grh-templates{grid-template-columns:repeat(2,minmax(0,1fr))}}.gr{background:var(--gr-chrome);height:100svh;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.gr-top{flex:none;align-items:center;gap:12px;height:52px;padding:0 12px;display:flex}.gr-home{border-radius:12px;place-items:center;width:38px;height:38px;transition:background .15s;display:grid}.gr-home:hover{background:var(--surface-2)}.gr-title{align-items:center;gap:10px;min-width:0;display:flex}.gr-name{field-sizing:content;min-width:80px;max-width:340px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.2}.gr-name:hover{border-color:var(--line-2)}.gr-name:focus{border-color:var(--accent);background:var(--gr-cell);outline:none}.gr-save{color:var(--ink-3);white-space:nowrap;font-size:12px}.gr-save.is-error{color:var(--gr-err);font-weight:600}.gr-save.is-saved:before{content:"✓ ";color:var(--accent)}.gr-file{gap:4px;margin-left:6px;display:flex}.gr-top-end{align-items:center;gap:10px;margin-left:auto;display:flex}.gr-mark{opacity:.85;display:flex}.gr-toolbar{background:var(--surface-solid);border:1px solid var(--line);scrollbar-width:none;border-radius:14px;flex:none;align-items:center;gap:2px;margin:0 8px;padding:5px 8px;display:flex;overflow-x:auto}.gr-tb{min-width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-family:inherit;font-size:13px;font-weight:500;line-height:1;transition:background .12s,color .12s;display:inline-flex}.gr-tb:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.gr-tb:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.gr-tb:disabled{opacity:.35;cursor:default}.gr-tb.is-on,.gr-tb.is-open{background:var(--accent-soft);color:var(--accent)}.gr-tb-text{padding:0 10px}.gr-fmt{justify-content:space-between;min-width:118px}.gr-sep{background:var(--line-2);flex:none;width:1px;height:20px;margin:0 5px}.gr-size{border:1px solid var(--line-2);background:var(--gr-cell);height:30px;color:var(--ink);border-radius:8px;flex:none;margin:0 2px;padding:0 6px;font-family:inherit;font-size:13px;font-weight:500}.gr-color-btn{place-items:center;display:inline-grid;position:relative}.gr-color-btn i{height:3px;box-shadow:0 0 0 1px var(--line-2);border-radius:2px;position:absolute;bottom:-4px;left:1px;right:1px}.gr-bar{flex:none;align-items:flex-start;gap:6px;margin:6px 8px;display:flex}.gr-namebox{border:1px solid var(--line-2);background:var(--gr-cell);width:96px;height:32px;color:var(--ink);border-radius:10px;flex:none;padding:0 10px;font:600 13px/1 ui-monospace,Geist Mono,SFMono-Regular,Menlo,monospace}.gr-namebox:focus{border-color:var(--accent);outline:none}.gr-bar>.gr-tb{color:var(--ink-3)}.gr-bar-input{flex:1;min-width:0}.gr-bar-input .gr-fx-mirror,.gr-bar-input .gr-fx-input{white-space:pre-wrap;word-break:break-all;border-radius:10px;min-height:32px;max-height:120px;padding:7px 10px}.gr-bar-input .gr-fx-input{border:1px solid var(--line-2);background:0 0}.gr-bar-input .gr-fx-mirror{background:var(--gr-cell);border:1px solid #0000}.gr-bar-input .gr-fx-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.gr-bar-input.is-spill .gr-fx-mirror{color:var(--ink-3)}.gr-fx{font:400 13px/18px ui-monospace,Geist Mono,SFMono-Regular,Menlo,monospace;position:relative}.gr-fx-mirror,.gr-fx-input{font:inherit;letter-spacing:0;tab-size:4;box-sizing:border-box;overflow:hidden}.gr-fx-mirror{color:var(--ink);pointer-events:none}.gr-fx-input{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--ink);-webkit-text-fill-color:transparent;margin:0;position:absolute;inset:0}.gr-fx-input::selection{background:color-mix(in srgb, var(--accent) 30%, transparent);-webkit-text-fill-color:transparent}.gr-ac,.gr-sig{z-index:40;font-family:var(--font-sans,inherit);background:var(--surface-solid);border:1px solid var(--line-2);box-shadow:var(--shadow-lg);border-radius:12px;position:absolute;top:calc(100% + 6px);left:0}.gr-ac{width:340px;margin:0;padding:5px;list-style:none}.gr-ac li{cursor:pointer;border-radius:8px;gap:1px;padding:6px 9px;display:grid}.gr-ac li.is-on{background:var(--accent-soft)}.gr-ac b{color:var(--ink);font:600 12.5px ui-monospace,Geist Mono,monospace}.gr-ac small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.gr-sig{width:max-content;max-width:min(460px,80vw);color:var(--ink-2);white-space:normal;padding:8px 11px;font:500 12px/1.45 ui-monospace,Geist Mono,monospace}.gr-sig .is-arg{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-weight:700}.gr-sig small{font-family:var(--font-sans,system-ui);color:var(--ink-3);margin-top:3px;display:block}.gr-find{background:var(--surface-solid);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;flex:none;align-items:center;gap:6px;margin:0 8px 6px;padding:5px 8px;display:flex}.gr-find input:not([type]){border:1px solid var(--line-2);background:var(--gr-cell);min-width:160px;height:30px;color:var(--ink);border-radius:8px;padding:0 10px;font-family:inherit;font-size:13px}.gr-find input:focus{border-color:var(--accent);outline:none}.gr-find-ico{color:var(--ink-3);display:grid}.gr-find-count{min-width:70px;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.gr-find-case{color:var(--ink-2);align-items:center;gap:5px;margin-right:6px;font-size:12.5px;display:flex}.gr-grid{border:1px solid var(--line);background:var(--gr-cell);min-width:0;min-height:0;font-family:var(--font-sans,"Geist", system-ui, sans-serif);border-bottom:0;border-radius:14px 14px 0 0;flex:1;margin:0;position:relative;overflow:hidden}.gr-canvas{display:block;position:absolute;inset:0}.gr-scroll{touch-action:pan-x pan-y;cursor:cell;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;position:absolute;inset:0;overflow:auto}.gr-focus{opacity:0;width:1px;height:1px;position:absolute;top:0;left:-9999px}.gr-cell-editor{z-index:5;font-family:var(--font-sans,"Geist", system-ui, sans-serif);line-height:1.35;position:absolute}.gr-cell-editor .gr-fx-mirror,.gr-cell-editor .gr-fx-input{min-height:inherit;white-space:pre;line-height:inherit;padding:4px 5px}.gr-cell-editor.is-wrap .gr-fx-mirror,.gr-cell-editor.is-wrap .gr-fx-input{white-space:pre-wrap;word-break:break-word}.gr-cell-editor .gr-fx-mirror{background:var(--gr-cell);box-shadow:0 0 0 2px var(--gr-accent), 0 6px 22px -6px #00000059;border-radius:1px;align-items:center;display:flex}.gr-cell-editor .gr-fx-input{background:0 0;border:0;outline:none}.gr-foot{background:var(--gr-head);border:1px solid var(--line);border-radius:0 0 14px 14px;flex:none;align-items:center;gap:6px;height:40px;margin:0 8px 8px;padding:0 6px;display:flex}.gr-tab-add{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.gr-tab-add:hover{background:var(--surface-2);color:var(--ink)}.gr-tabs{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.gr-tab{height:30px;color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:30px}.gr-tab:hover{background:var(--surface-2)}.gr-tab.is-active{background:var(--gr-cell);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent), var(--shadow-sm);font-weight:650}.gr-tab-edit{border:1px solid var(--accent);background:var(--gr-cell);width:140px;color:var(--ink);outline:none}.gr-stats{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;gap:16px;margin-left:auto;font-size:12px;display:flex}.gr-stats b{color:var(--ink);font-weight:600}.gr-zoom{border:1px solid var(--line-2);border-radius:8px;flex:none;align-items:center;margin-left:10px;display:flex;overflow:hidden}.gr-zoom button{min-width:26px;height:26px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-family:inherit;font-size:13px;font-weight:600}.gr-zoom button:hover{background:var(--surface-2)}.gr-zoom-val{font-variant-numeric:tabular-nums;min-width:48px!important;font-size:12px!important}.gr-menu,.gr-pop{z-index:100;background:var(--surface-solid);border:1px solid var(--line-2);min-width:220px;box-shadow:var(--shadow-lg);color:var(--ink);border-radius:14px;padding:5px;animation:.14s ease-out gr-pop;position:fixed}.gr-pop.is-wide{width:330px}@keyframes gr-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.gr-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}.gr-menu button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1.3;display:flex}.gr-menu button:hover:not(:disabled),.gr-menu button:focus-visible{background:var(--accent-soft);outline:none}.gr-menu button:disabled{opacity:.4;cursor:default}.gr-menu button.is-danger{color:var(--gr-err)}.gr-menu kbd{color:var(--ink-3);margin-left:auto;font:11px ui-monospace,monospace}.gr-list{gap:1px;display:grid}.gr-list>button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:1px;padding:8px 10px;font-family:inherit;font-size:13px;display:grid}.gr-list>button:hover,.gr-list>button.is-on{background:var(--accent-soft)}.gr-list b{font-weight:600}.gr-list small{color:var(--ink-3);font-size:11.5px}.gr-list-row{grid-template-columns:repeat(4,1fr)}.gr-list-row>button{justify-items:center}.gr-bd-ico{border:1px dashed var(--line-2);width:26px;height:26px;position:relative}.bd-all{border:2px solid var(--ink);background:linear-gradient(var(--ink), var(--ink)) center / 2px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) center / 100% 2px no-repeat}.bd-outer{border:2px solid var(--ink)}.bd-bottom{border-bottom:2px solid var(--ink)}.gr-colors{gap:8px;padding:6px;display:grid}.gr-color-none,.gr-color-custom{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:13px;display:flex}.gr-color-none:hover,.gr-color-custom:hover{background:var(--surface-2)}.gr-color-custom input{background:0 0;border:0;width:22px;height:22px;padding:0}.gr-swatches{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.gr-swatch{aspect-ratio:1;border:1px solid var(--line-2);cursor:pointer;border-radius:7px;transition:transform .1s}.gr-swatch:hover{transform:scale(1.1)}.gr-swatch.is-on{outline:2px solid var(--accent);outline-offset:2px}.gr-fnpick{gap:8px;display:grid}.gr-fnpick input{border:1px solid var(--line-2);background:var(--gr-cell);height:34px;color:var(--ink);border-radius:9px;padding:0 10px;font-family:inherit;font-size:13px}.gr-fnpick input:focus{border-color:var(--accent);outline:none}.gr-fncats{flex-wrap:wrap;gap:4px;display:flex}.gr-fncats button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;padding:4px 9px;font-family:inherit;font-size:11.5px;font-weight:500}.gr-fncats button.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.gr-fnpick ul{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.gr-fnpick li button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:2px;padding:7px 8px;display:grid}.gr-fnpick li button:hover{background:var(--accent-soft)}.gr-fnpick code{font:600 12px ui-monospace,Geist Mono,monospace}.gr-fnpick small{color:var(--ink-3);font-size:11.5px}.gr-empty{color:var(--ink-3);padding:12px;font-size:12.5px}.gr-toast{z-index:120;background:var(--ink);max-width:min(560px,100vw - 32px);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:12px;padding:10px 16px;font-size:13px;animation:.18s ease-out gr-pop;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}@media (max-width:760px){.gr-file span,.gr-top-end .dark-style,.gr-mark,.gr-stat-x{display:none}.gr-namebox{width:70px}.gr-stats{gap:10px}.gr-zoom{display:none}}@media (prefers-reduced-motion:reduce){.gr-menu,.gr-pop,.gr-toast{animation:none}}:root:has(.gr,.grh){--gr-spring:cubic-bezier(.34, 1.4, .64, 1)}.gr-logo{transition:transform .35s var(--gr-spring);display:block}.gr-home:hover .gr-logo{transform:rotate(-8deg)scale(1.06)}.gr-top{height:58px}.gr-titlebox{flex-direction:column;gap:0;min-width:0;display:flex}.gr-title .gr-name{padding:2px 8px;font-size:15px}.gr-menubar{gap:1px;margin-left:2px;display:flex}.gr-menubar>button{height:24px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 8px;font-family:inherit;font-size:13px;font-weight:500;line-height:24px}.gr-menubar>button:hover,.gr-menubar>button.is-open{background:var(--surface-2);color:var(--ink)}.gr-cmdk{min-width:210px;border:1px solid var(--line-2)!important;background:var(--gr-cell)!important;justify-content:flex-start!important;gap:8px!important}.gr-cmdk span{text-align:left;color:var(--ink-3);flex:1}.gr kbd,.gr-menu kbd,.gr-palette kbd{font:500 10.5px/1 var(--font-sans,system-ui), sans-serif;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-3);white-space:nowrap;border-radius:5px;padding:3px 5px}.gr-grow{flex:1}.gr-btn{border:1px solid var(--line-2);background:var(--gr-cell);height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:transform .25s var(--gr-spring), background .15s, filter .15s;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.gr-btn:hover:not(:disabled){background:var(--surface-2)}.gr-btn:active:not(:disabled){transform:scale(.96)}.gr-btn:disabled{opacity:.45;cursor:default}.gr-btn.is-primary{color:#fff;background:linear-gradient(135deg,#10b981,#0d9488);border-color:#0000;box-shadow:0 6px 16px -8px #10b981cc}.gr-btn.is-primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(135deg,#10b981,#0d9488)}.gr-btn.is-ghost{background:0 0;border-color:#0000}.gr-btn.is-ghost:hover:not(:disabled){background:var(--surface-2)}.gr-btn.is-danger{color:var(--gr-err)}.gr-btn.is-sm{border-radius:8px;height:28px;padding:0 10px;font-size:12.5px}.gr-chip{border:1px solid var(--line-2);background:var(--gr-cell);height:26px;color:var(--ink-2);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:4px;padding:0 9px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.gr-chip:hover{color:var(--ink)}.gr-chip.is-on{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft);color:var(--accent)}.gr-input{border:1px solid var(--line-2);background:var(--gr-cell);width:100%;min-height:34px;color:var(--ink);box-sizing:border-box;border-radius:9px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:400}select.gr-input{padding-right:6px}.gr-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.gr-input[aria-invalid=true]{border-color:var(--gr-err)}.gr-input.is-sm{min-height:28px;font-size:12px}.gr-input.is-tiny{width:56px;min-height:28px}.gr-input.is-mono{font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12.5px}.gr-field{gap:5px;min-width:0;display:grid}.gr-field>span{color:var(--ink-2);font-size:12px;font-weight:600}.gr-form{align-content:start;gap:10px;min-width:0;display:grid}.gr-check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.gr-check input,.gr-radios input,.gr-checklist input{accent-color:var(--accent);width:15px;height:15px}.gr-hint{color:var(--ink-3);margin:0;font-size:12px;line-height:1.5}.gr-hint code{background:var(--surface-2);border-radius:4px;padding:0 3px;font-size:11.5px}.gr-pop-h{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:6px 4px 4px;font-size:10.5px;font-weight:700}.gr-seg{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.gr-seg.is-wrap{flex-wrap:wrap}.gr-seg button{height:26px;color:var(--ink-2);cursor:pointer;transition:background .2s var(--gr-spring);background:0 0;border:0;border-radius:7px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;line-height:1}.gr-seg button.is-on{background:var(--gr-cell);color:var(--ink);box-shadow:var(--shadow-sm)}.gr-op-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gr-op-row>.gr-input{flex:1;min-width:90px}.gr-op-row input[type=color],.gr-field input[type=color]{border:1px solid var(--line-2);background:var(--gr-cell);border-radius:8px;width:38px;height:30px;padding:2px}.gr-cols2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.gr-radios{border:0;gap:7px;margin:0;padding:0;font-size:13px;display:grid}.gr-radios legend{color:var(--ink-2);margin-bottom:6px;font-size:12px;font-weight:650}.gr-radios label{cursor:pointer;align-items:center;gap:8px;display:flex}.gr-list-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid!important}.gr-list-grid>button{text-align:center;flex-direction:column;align-items:center!important;padding:8px 4px!important}.gr-list-grid small{line-height:1.2;font-size:10.5px!important}.gr-borders{gap:8px;display:grid}.gr-menu-ico{width:18px;height:18px;color:var(--ink-3);flex:none;place-items:center;display:inline-grid}.gr-list>button>.gr-menu-ico{margin-right:2px}.gr-list>button:has(>.gr-menu-ico){align-items:center;gap:8px;display:flex}.gr-menu button .gr-menu-more{color:var(--ink-3);margin-left:auto;display:inline-flex}.gr-msub.is-on{background:var(--surface-2)}.gr-locked{color:#d97706!important}.bd-inner{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent);background:linear-gradient(currentColor,currentColor) 50% 0/2px 100% no-repeat,linear-gradient(currentColor,currentColor) 0/100% 2px no-repeat}.bd-top{box-shadow:inset 0 2px 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.bd-left{box-shadow:inset 2px 0 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.bd-right{box-shadow:inset -2px 0 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.bd-topBottom{box-shadow:inset 0 2px 0 currentColor, inset 0 -2px 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.bd-thickBottom{box-shadow:inset 0 -4px 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.bd-doubleBottom{box-shadow:inset 0 -2px 0 currentColor, inset 0 -5px 0 transparent, inset 0 -6px 0 currentColor, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent)}.gr-ac li{grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;display:grid}.gr-cat{background:var(--surface-2);color:var(--ink-3);border-radius:99px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700}.gr-cat.c-math{color:#2a78d6;background:#2a78d624}.gr-cat.c-statistics{color:#6250d6;background:#6250d624}.gr-cat.c-lookup,.gr-cat.c-arrays{color:#13865d;background:#1baf7a24}.gr-cat.c-text{color:#c4501f;background:#eb683424}.gr-cat.c-datetime{color:#a46e00;background:#eda10029}.gr-cat.c-financial{color:#b84a74;background:#e87ba429}.gr-cat.c-logical,.gr-cat.c-information{color:var(--ink-2);background:#71717a29}.gr-live{background:var(--accent-soft);color:var(--accent);font:600 12px/1.6 var(--font-sans,system-ui), sans-serif;font-variant-numeric:tabular-nums;border-radius:6px;margin-left:8px;padding:1px 8px;display:inline-block}.gr-sig.is-live{padding:4px 6px}.gr-main{flex:1;gap:8px;min-height:0;margin:0 8px;display:flex}.gr-dock{border:1px solid var(--line);background:var(--surface-solid);width:330px;min-height:0;animation:gr-dock-in .32s var(--gr-spring);border-radius:14px;flex-direction:column;flex:none;margin-bottom:8px;display:flex}@keyframes gr-dock-in{0%{opacity:0;transform:translate(14px)}}.gr-dock header{align-items:center;gap:8px;padding:10px 8px 6px 14px;display:flex}.gr-dock h2{flex:1;margin:0;font-size:14px}.gr-dock-body{scrollbar-width:thin;flex:1;min-height:0;padding:4px 14px 14px;overflow:auto}.gr-dock-list{gap:10px;display:grid}.gr-dock-foot{justify-content:flex-end;gap:6px;padding-top:6px;display:flex}.gr-quick{grid-template-columns:1fr 1fr;gap:6px;display:grid}.gr-quick button{border:1px solid var(--line);background:var(--gr-cell);height:34px;color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:600;display:flex}.gr-quick button:hover{color:var(--ink);border-color:var(--line-2)}.gr-rules{gap:4px;margin:0;padding:0;list-style:none;display:grid}.gr-rules li{border-radius:10px;align-items:center;gap:2px;display:flex}.gr-rules li:hover{background:var(--surface-2)}.gr-rule{min-width:0;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:7px 8px;display:flex}.gr-rule.is-resolved{opacity:.55}.gr-rule>span:last-child{min-width:0;display:grid}.gr-rule b{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.gr-rule small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.gr-rule-pv{border:1px solid var(--line);border-radius:6px;flex:none;place-items:center;width:34px;height:24px;font-size:12px;display:grid}.gr-rule-pv.is-icon{color:var(--accent);background:var(--accent-soft);border:0}.gr-rule-tools{opacity:0;transition:opacity .15s;display:flex}.gr-rules li:hover .gr-rule-tools,.gr-rules li:focus-within .gr-rule-tools{opacity:1}.gr-looks{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.gr-looks button{border:1px solid var(--line);cursor:pointer;border-radius:8px;height:30px;font-family:inherit;font-size:12px}.gr-looks button.is-on,.gr-scales button.is-on{box-shadow:0 0 0 2px var(--accent)}.gr-scales{gap:6px;display:grid}.gr-scales>button{border:1px solid var(--line);background:var(--gr-cell);color:var(--ink-2);text-align:left;font:inherit;cursor:pointer;border-radius:9px;gap:3px;padding:6px;display:grid}.gr-scales>button span{height:14px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px}.gr-scales>button small{font-size:11px}.gr-chart-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.gr-chart-types button{border:1px solid var(--line);background:var(--gr-cell);min-height:30px;color:var(--ink-2);cursor:pointer;border-radius:8px;padding:4px;font-family:inherit;font-size:11.5px;font-weight:600;line-height:1.2}.gr-chart-types button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.gr-pivot{gap:10px;display:grid}.gr-fields{gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gr-fields li{cursor:grab;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:12.5px;display:flex}.gr-fields li:hover{background:var(--surface-2);border-color:var(--line)}.gr-fields li.is-used span:first-child{color:var(--accent);font-weight:600}.gr-fields li>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gr-field-add{opacity:0;gap:2px;display:flex}.gr-fields li:hover .gr-field-add{opacity:1}.gr-field-add button{border:1px solid var(--line-2);background:var(--gr-cell);width:22px;height:22px;color:var(--ink-2);cursor:pointer;border-radius:6px;place-items:center;font-family:inherit;font-size:11px;font-weight:700;display:grid}.gr-field-add button svg{width:12px;height:12px}.gr-bucket{border:1.5px dashed var(--line-2);border-radius:10px;gap:4px;min-height:52px;padding:6px 8px 8px;display:grid}.gr-chip-row,.gr-value-row{background:var(--surface-2);border-radius:8px;align-items:center;gap:4px;padding:3px 4px 3px 8px;font-size:12.5px;display:flex}.gr-chip-row span,.gr-value-row b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gr-value-row{flex-wrap:wrap}.gr-value-row select{flex:1;width:auto}.gr-pfilter summary{cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.gr-pfilter summary small{color:var(--ink-3);margin-left:auto}.gr-stats-panel{gap:10px;display:grid}.gr-dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.gr-dl div{background:var(--surface-2);border-radius:9px;padding:7px 8px}.gr-dl dt{color:var(--ink-3);font-size:10.5px;font-weight:600}.gr-dl dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin:2px 0 0;font-size:13px;font-weight:650;overflow:hidden}.gr-hist{width:100%;height:80px;fill:var(--accent)}.gr-hist rect:hover{opacity:.75}.gr-hist-axis{color:var(--ink-3);justify-content:space-between;margin-top:-6px;font-size:11px;display:flex}.gr-freq{gap:4px;margin:0;padding:0;list-style:none;display:grid}.gr-freq li{grid-template-columns:minmax(0,1fr) 80px 34px;align-items:center;gap:6px;font-size:12px;display:grid}.gr-freq li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gr-freq li i{background:var(--accent);opacity:.7;border-radius:3px;height:6px}.gr-freq li small{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.gr-charts{pointer-events:none;z-index:4;position:absolute;bottom:0;right:0;overflow:hidden}.gr-chart{pointer-events:auto;box-shadow:0 0 0 1px var(--line-2), var(--shadow);cursor:grab;border-radius:12px;outline:none;transition:box-shadow .15s;position:absolute;overflow:visible}.gr-chart.is-drag{cursor:grabbing;opacity:.9}.gr-chart.is-sel{box-shadow:0 0 0 2px var(--accent), var(--shadow)}.gr-chart-svg{transform-origin:0 0;border-radius:12px;position:absolute;top:0;left:0;overflow:hidden}.gr-chart-svg svg{display:block}.gr-chart-svg .gr-mark,.gr-chart-svg .gr-hit{cursor:default;transition:opacity .12s}.gr-chart-svg .gr-mark:hover{opacity:.82}.gr-chart-svg .gr-hit:hover{fill:color-mix(in srgb, currentColor 6%, transparent)}.gr-chart-tip{z-index:2;background:var(--surface-solid);max-width:220px;box-shadow:0 0 0 1px var(--line-2), var(--shadow);color:var(--ink);pointer-events:none;white-space:nowrap;border-radius:9px;gap:1px;padding:6px 9px;font-size:12px;display:grid;position:absolute}.gr-chart-tip span{color:var(--ink-2);font-variant-numeric:tabular-nums}.gr-chart-tools{background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2), var(--shadow);border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;top:-40px;right:0}.gr-chart-tools button{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.gr-chart-tools button:hover{background:var(--surface-2);color:var(--ink)}.gr-chart-size{background:var(--accent);border:2px solid var(--gr-cell);cursor:nwse-resize;border-radius:4px;width:14px;height:14px;position:absolute;bottom:-6px;right:-6px}.gr-scrim{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a0c73;place-items:center;padding:16px;animation:.2s ease-out gr-fade;display:grid;position:fixed;inset:0}.gr-scrim.is-top{place-items:start center;padding-top:12svh}@keyframes gr-fade{0%{opacity:0}}.gr-modal{border:1px solid var(--line-2);background:var(--surface-solid);width:min(520px,100%);max-height:88svh;color:var(--ink);box-shadow:var(--shadow-lg);animation:gr-pop-in .34s var(--gr-spring);border-radius:18px;flex-direction:column;display:flex}.gr-modal.is-wide{width:min(760px,100%)}@keyframes gr-pop-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}.gr-modal header{align-items:center;gap:10px;padding:14px 12px 8px 18px;display:flex}.gr-modal-ico{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.gr-modal h2{flex:1;margin:0;font-size:16px}.gr-modal-body{gap:12px;padding:4px 18px 16px;display:grid;overflow:auto}.gr-modal footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 14px 18px;display:flex}.gr-palette{border:1px solid var(--line-2);background:var(--surface-solid);width:min(600px,100%);color:var(--ink);box-shadow:var(--shadow-lg);animation:gr-pop-in .3s var(--gr-spring);border-radius:16px;overflow:hidden}.gr-pal-in{border-bottom:1px solid var(--line);color:var(--ink-3);align-items:center;gap:10px;padding:0 14px;display:flex}.gr-pal-in input{height:52px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:15px}.gr-palette ul{max-height:52svh;margin:0;padding:6px;list-style:none;overflow:auto}.gr-palette li button{width:100%;height:38px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-family:inherit;font-size:13.5px;display:flex}.gr-palette li button span:nth-child(2){flex:1}.gr-palette li button small{color:var(--ink-3);font-size:11.5px}.gr-palette li button.is-on{background:var(--accent-soft)}.gr-floating{width:auto;max-width:calc(100vw - 16px)}.gr-pop-foot{justify-content:flex-end;gap:6px;padding-top:8px;display:flex}.gr-filter{gap:8px;padding:4px;display:grid}.gr-filter-links{gap:12px;display:flex}.gr-filter-links button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:12px;font-weight:600}.gr-checklist{border:1px solid var(--line);border-radius:9px;gap:1px;max-height:230px;margin:0;padding:4px;list-style:none;display:grid;overflow:auto}.gr-checklist.is-short{max-height:180px}.gr-checklist label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:flex}.gr-checklist label:hover{background:var(--surface-2)}.gr-checklist label span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gr-checklist small{color:var(--ink-3);font-variant-numeric:tabular-nums}.gr-dd{gap:6px;padding:2px;display:grid}.gr-dd ul{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.gr-dd li button{width:100%;min-height:32px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:4px 8px;font-family:inherit;font-size:13px;display:flex}.gr-dd li button:hover,.gr-dd li button:focus-visible,.gr-dd li button.is-on{background:var(--surface-2);outline:none}.gr-pill{color:#1d2025;border-radius:99px;align-items:center;height:22px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.gr-cal{gap:8px;padding:4px;display:grid}.gr-cal header{justify-content:space-between;align-items:center;font-size:13.5px;display:flex}.gr-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.gr-cal-dow{color:var(--ink-3);padding:3px 0;font-size:11px;font-weight:700}.gr-cal-grid button{height:30px;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;font-family:inherit;font-size:13px}.gr-cal-grid button:hover{background:var(--surface-2)}.gr-cal-grid button.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.gr-cal-grid button.is-on{background:var(--accent);color:#fff}.gr-comment{gap:8px;padding:4px;display:grid}.gr-comment header{align-items:center;gap:6px;display:flex}.gr-comment header b{flex:1;font-size:13px}.gr-comment ol{gap:10px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gr-comment li{grid-template-columns:auto 1fr;gap:1px 8px;font-size:12.5px;display:grid}.gr-comment li time{color:var(--ink-3);font-size:11px}.gr-comment li p{white-space:pre-wrap;grid-column:1/-1;margin:0;line-height:1.45}.gr-comment-new{align-items:flex-end;gap:6px;display:flex}.gr-comment-new textarea{resize:none;border:1px solid var(--line-2);background:var(--gr-cell);color:var(--ink);border-radius:9px;flex:1;padding:7px 9px;font-family:inherit;font-size:12.5px}.gr-levels{gap:6px;margin:0;padding:0;list-style:none;display:grid}.gr-levels li{color:var(--ink-2);grid-template-columns:60px minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:6px;font-size:12.5px;display:grid}.gr-checks-row{flex-wrap:wrap;gap:14px;display:flex}.gr-preview{border-collapse:collapse;width:100%;font-size:12px}.gr-preview td{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;max-width:140px;padding:4px 8px;overflow:hidden}.gr-preview td.is-out{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.gr-items{gap:5px;display:grid}.gr-item-row{align-items:center;gap:6px;display:flex}.gr-swatch-pick{cursor:pointer;border-radius:99px;flex:none;width:26px;height:26px;position:relative;box-shadow:inset 0 0 0 1px #00000026}.gr-swatch-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.gr-fmtlist{gap:2px;max-height:360px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gr-fmtlist button{width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:10px;padding:7px 10px;font-family:inherit;font-size:13px;display:flex}.gr-fmtlist button small{color:var(--ink-3);font-variant-numeric:tabular-nums}.gr-fmtlist button:hover,.gr-fmtlist button.is-on{background:var(--accent-soft)}.gr-themes{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.gr-themes button{border:1px solid var(--line);cursor:pointer;transition:transform .25s var(--gr-spring);background:#fff;border-radius:10px;gap:2px;padding:6px;display:grid}.gr-themes button:hover{transform:translateY(-2px)}.gr-themes button span{border-radius:3px;height:9px;box-shadow:inset 0 0 0 1px #0000000d}.gr-themes button.is-on{box-shadow:0 0 0 2px var(--accent)}.gr-result{background:var(--accent-soft);border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.gr-dl-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 8px;font-size:11px}.gr-dl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.gr-dl-grid button{border:1px solid var(--line);background:var(--gr-cell);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s, transform .25s var(--gr-spring);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:10px;padding:9px 10px;display:grid}.gr-dl-grid button:hover{border-color:var(--accent);transform:translateY(-1px)}.gr-dl-ext{background:var(--accent-soft);min-width:52px;height:36px;color:var(--accent);border-radius:8px;grid-row:span 2;place-items:center;padding:0 6px;font:700 11.5px/1 ui-monospace,Menlo,monospace;display:grid}.gr-dl-grid b{font-size:13px}.gr-dl-grid small{color:var(--ink-3);font-size:11.5px;line-height:1.35}.gr-keys{border-collapse:collapse;width:100%;font-size:13px}.gr-keys td{border-bottom:1px solid var(--line);padding:6px 4px}.gr-keys td:first-child{width:44%}.gr-tab{align-items:center;gap:5px;display:inline-flex;position:relative}.gr-tab[style]:after{content:"";background:var(--tab);border-radius:2px;height:3px;position:absolute;bottom:2px;left:8px;right:8px}.gr-tab.is-over{box-shadow:inset 3px 0 0 var(--accent)}.gr-tab-ico{color:var(--ink-3);display:inline-flex}.gr-tab-ico svg{width:13px;height:13px}.gr-tab-hidden{height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:0 8px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.gr-tab-hidden svg{width:15px;height:15px}.gr-stats{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 6px;font-family:inherit}.gr-stats:hover{background:var(--surface-2)}.gr-trace-chip{z-index:50;background:var(--surface-solid);border:1px solid var(--line-2);box-shadow:var(--shadow);color:var(--ink-2);border-radius:99px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:12.5px;display:flex;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.gr-trace-chip button{background:var(--surface-2);width:24px;height:24px;color:var(--ink-2);cursor:pointer;border:0;border-radius:99px;place-items:center;display:grid}.gr-trace-chip svg{width:15px;height:15px}@media (max-width:1100px){.gr-cmdk span,.gr-cmdk kbd{display:none}.gr-cmdk{min-width:0!important}.gr-dock{z-index:20;box-shadow:var(--shadow-lg);position:absolute;top:150px;bottom:56px;right:8px}}@media (max-width:720px){.gr-menubar{scrollbar-width:none;max-width:52vw;overflow-x:auto}.gr-top-end .gr-mark,.gr-top-end .fch-plan{display:none}.gr-cols2{grid-template-columns:1fr}.gr-dock{width:auto;left:8px}.gr-stat-x{display:none}}@media (prefers-reduced-motion:reduce){.gr *,.gr-modal,.gr-palette,.gr-dock{transition-duration:.01ms!important;animation-duration:.01ms!important}}
