.fc-theme-toggle{position:relative}.fc-theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-main);cursor:pointer;transition:background .15s ease,color .15s ease}.fc-theme-toggle-btn:hover{background:var(--color-hover);color:var(--color-brand-start)}.fc-theme-toggle-btn.active{background:var(--color-active-soft);color:var(--color-brand-start)}.fc-theme-toggle-scrim{position:fixed;inset:0;z-index:var(--popover-z-scrim, 4000)}.fc-theme-toggle-menu{position:fixed;top:var(--popover-top, 56px);right:var(--popover-right, 16px);left:auto;z-index:var(--popover-z-menu, 4001);width:148px;padding:6px;border:1px solid var(--color-border-card);border-radius:var(--popover-radius, var(--radius-md));background:var(--color-surface-strong);box-shadow:var(--popover-shadow, var(--shadow-lg));backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));-webkit-backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));transform-origin:top right;animation:fc-theme-menu-in var(--popover-anim-duration, .18s) var(--popover-anim-ease, cubic-bezier(.16, 1, .3, 1))}@keyframes fc-theme-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fc-theme-toggle-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text-main);font-size:13px;font-family:var(--font-family-body);text-align:left;cursor:pointer;transition:background-color .15s ease}.fc-theme-toggle-item:hover{background:rgba(var(--color-brand-rgb),.1)}.fc-theme-toggle-item-icon{display:inline-flex;align-items:center;color:var(--color-text-muted)}.fc-theme-toggle-item-label{flex:1}.fc-theme-toggle-check{color:var(--color-brand-start)}.pjx{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-base);color:var(--color-text-main);font-family:var(--font-family-body);--pjx-gutter: clamp(1.25rem, 4vw, 3rem);--pjx-max: 1280px;--pjx-ease: cubic-bezier(.16, 1, .3, 1);--pjx-mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}.pjx-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.pjx-backdrop-glow,.pjx-backdrop-grid,.pjx-backdrop-grain{position:absolute;inset:-10%}.pjx-backdrop-glow{background:radial-gradient(38% 42% at 12% 8%,rgba(var(--color-brand-rgb),.16) 0%,transparent 72%),radial-gradient(44% 46% at 88% 88%,rgba(var(--color-brand-end-rgb),.13) 0%,transparent 74%);animation:pjxDrift 26s ease-in-out infinite alternate}.pjx-backdrop-grid{inset:0;background-image:linear-gradient(to right,rgba(var(--color-brand-rgb),.09) 1px,transparent 1px),linear-gradient(to bottom,rgba(var(--color-brand-rgb),.09) 1px,transparent 1px);background-size:72px 72px;background-position:-1px -1px;mask-image:radial-gradient(115% 85% at 6% -12%,#000 0%,transparent 62%);-webkit-mask-image:radial-gradient(115% 85% at 6% -12%,#000 0%,transparent 62%)}.pjx-backdrop-grain{inset:0;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='120' height='120' filter='url(%23g)'/></svg>")}.pjx-masthead{position:relative;z-index:2;flex:none;padding:calc(2.4rem + var(--fc-notify-banner-h, 0px)) var(--pjx-gutter) 0;animation:pjxRise .7s var(--pjx-ease) backwards}.pjx-masthead-inner{max-width:var(--pjx-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem}.pjx-masthead-head{margin-top:.28rem;display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .85rem}.pjx-masthead-head>.pjx-title,.pjx-masthead-head>.pjx-metaline{margin:0}.pjx-eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0;font-family:var(--pjx-mono);font-size:.7rem;font-weight:600;letter-spacing:.18em;color:var(--color-brand-start)}.pjx-eyebrow:before{content:"";width:20px;height:2px;border-radius:var(--radius-pill);background:var(--color-brand-gradient)}.pjx-title{margin:.34rem 0 0;font-family:var(--font-family-title);font-size:clamp(1.55rem,2.5vw,2.05rem);font-weight:700;letter-spacing:-.015em;line-height:1.1}.pjx-title-count{margin-left:.42rem;font-family:var(--pjx-mono);font-size:.3em;font-weight:600;letter-spacing:.04em;vertical-align:super;color:var(--color-brand-start);font-variant-numeric:tabular-nums}.pjx-metaline{margin:.7rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.pjx-rule{max-width:var(--pjx-max);margin:.95rem auto 0;height:1px;background:linear-gradient(90deg,rgba(var(--color-brand-rgb),.45) 0%,var(--color-border-card) 26%,var(--color-border-card) 100%)}.pjx-cta{position:relative;display:inline-flex;align-items:center;gap:.5rem;height:44px;padding:0 1.2rem;border:none;border-radius:var(--radius-pill);background:var(--color-brand-gradient);color:#fff;font-family:var(--font-family-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;cursor:pointer;overflow:hidden;box-shadow:0 6px 18px rgba(var(--color-brand-rgb),.3);transition:transform .32s var(--pjx-ease),box-shadow .32s var(--pjx-ease)}.pjx-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.34) 50%,transparent 66%);transform:translate(-120%);transition:transform .7s var(--pjx-ease)}.pjx-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--color-brand-rgb),.4)}.pjx-cta:hover:after{transform:translate(120%)}.pjx-cta:active{transform:translateY(0)}.pjx-cta:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:3px}.pjx-main{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:1.05rem var(--pjx-gutter) 3.5rem}.pjx-inner{max-width:var(--pjx-max);margin:0 auto}.pjx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pjx-ghost-btn{display:inline-flex;align-items:center;gap:.4rem;height:40px;padding:0 .9rem;border:1px solid var(--color-border-card);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-family:var(--font-family-body);font-size:.86rem;font-weight:500;cursor:pointer;transition:color .24s,border-color .24s,background .24s}.pjx-ghost-btn:hover{color:var(--color-text-main);border-color:var(--color-border-hover);background:var(--color-hover)}.pjx-ghost-btn.danger:hover{color:var(--color-danger);border-color:rgba(var(--color-danger-rgb),.4);background:rgba(var(--color-danger-rgb),.08)}.pjx-section{margin-top:0;padding-bottom:.7rem;border-bottom:1px solid var(--color-border-card);display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap}.pjx-section-label{margin:0;display:inline-flex;align-items:baseline;gap:.5rem;font-family:var(--pjx-mono);font-size:.74rem;font-weight:600;letter-spacing:.16em;color:var(--color-text-muted)}.pjx-section-count{padding:.1rem .4rem;border-radius:var(--radius-sm);background:rgba(var(--color-brand-rgb),.1);color:var(--color-brand-start);font-size:.72rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}.pjx-tools{display:flex;align-items:center;gap:.55rem}.pjx-search{position:relative;display:flex;align-items:center}.pjx-search-icon{position:absolute;left:.3rem;color:var(--color-text-muted);pointer-events:none;transition:color .24s}.pjx-search input{width:168px;height:36px;padding:0 1.8rem 0 1.85rem;border:none;border-bottom:1px solid var(--color-border-card);border-radius:0;background:transparent;color:var(--color-text-main);font-family:var(--font-family-body);font-size:.88rem;outline:none;transition:width .35s var(--pjx-ease),border-color .24s}.pjx-search input::-webkit-search-cancel-button{display:none}.pjx-search input::-moz-placeholder{color:var(--color-text-muted)}.pjx-search input::placeholder{color:var(--color-text-muted)}.pjx-search input:hover{border-bottom-color:var(--color-border-hover)}.pjx-search input:focus{width:216px;border-bottom-color:var(--color-brand-start)}.pjx-search:focus-within .pjx-search-icon{color:var(--color-brand-start)}.pjx-search-kbd{position:absolute;right:.3rem;min-width:18px;padding:.1rem .3rem;border:1px solid var(--color-border-card);border-radius:5px;background:var(--color-surface);color:var(--color-text-muted);font-family:var(--pjx-mono);font-size:.66rem;line-height:1.3;text-align:center;pointer-events:none}.pjx-search-clear{position:absolute;right:.15rem;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .2s,background .2s}.pjx-search-clear:hover{color:var(--color-text-main);background:var(--color-hover)}.pjx-select{position:relative;display:inline-flex;align-items:center;color:var(--color-text-muted)}.pjx-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:36px;padding:0 1.9rem 0 .85rem;border:1px solid var(--color-border-card);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-main);font-family:var(--font-family-body);font-size:.84rem;font-weight:500;cursor:pointer;outline:none;transition:border-color .24s,background .24s}.pjx-select select:hover{border-color:var(--color-border-hover)}.pjx-select select:focus-visible{border-color:var(--color-brand-start);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.14)}.pjx-select svg{position:absolute;right:.65rem;pointer-events:none}.pjx-view{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--color-border-card);border-radius:var(--radius-pill);background:var(--color-surface)}.pjx-view button{width:30px;height:28px;display:grid;place-items:center;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .22s,background .22s}.pjx-view button:hover{color:var(--color-text-main)}.pjx-view button[aria-pressed=true]{background:var(--color-active-soft);color:var(--color-brand-start)}.pjx-grid{list-style:none;margin:1.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:1.15rem 1rem}.pjx-tile{position:relative;aspect-ratio:4 / 3;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden;animation:pjxTileIn .5s var(--pjx-ease) backwards;animation-delay:calc(var(--pjx-i, 0) * 38ms);transition:transform .42s var(--pjx-ease),box-shadow .42s var(--pjx-ease),border-color .3s}.pjx-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-border-hover)}.pjx-tile--featured{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.pjx-tile--featured .pjx-tile-foot{gap:.3rem;padding:2.6rem 1.15rem 1rem}.pjx-tile--featured.pjx-tile--blank .pjx-tile-foot{padding-top:1rem}.pjx-tile--featured .pjx-tile-name{font-size:clamp(1.1rem,1.6vw,1.35rem);letter-spacing:-.01em}.pjx-tile--featured .pjx-tile-index{top:.75rem;left:.85rem}.pjx-tile-desc{margin:0;max-width:46ch;font-size:.85rem;line-height:1.5;color:var(--color-text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pjx-tile--cover .pjx-tile-desc{color:#ffffffc7}.pjx-tile-badge{position:absolute;top:.75rem;left:3.1rem;z-index:2;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--color-brand-gradient);color:#fff;font-family:var(--pjx-mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;pointer-events:none;box-shadow:0 3px 10px rgba(var(--color-brand-rgb),.32)}.pjx-tile:after{content:"";position:absolute;inset:0 0 auto;height:2px;z-index:3;background:var(--color-brand-gradient);transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--pjx-ease)}.pjx-tile:hover:after,.pjx-tile:focus-within:after{transform:scaleX(1)}.pjx-tile--featured:after{transform:scaleX(1)}.pjx-tile-open{position:absolute;inset:0;z-index:2;padding:0;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit}.pjx-tile-open:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:-3px;border-radius:var(--radius-lg)}.pjx-tile-cover{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .6s var(--pjx-ease),filter .4s}.pjx-tile:hover .pjx-tile-cover{transform:scale(1.06);filter:saturate(1.06)}.pjx-tile-blank{position:absolute;inset:0;background:linear-gradient(140deg,rgba(var(--color-brand-rgb),.1),rgba(var(--color-brand-end-rgb),.06));color:var(--color-brand-start);display:grid;place-items:center}.pjx-tile-blank .pjx-mark{width:78%;height:78%;transition:transform .6s var(--pjx-ease)}.pjx-tile:hover .pjx-tile-blank .pjx-mark{transform:scale(1.05)}.pjx-tile-index{position:absolute;top:.55rem;left:.6rem;z-index:2;padding:.14rem .4rem;border-radius:6px;font-family:var(--pjx-mono);font-size:.64rem;font-weight:600;letter-spacing:.08em;pointer-events:none;font-variant-numeric:tabular-nums}.pjx-tile--cover .pjx-tile-index{background:#0c0a0c6b;color:#ffffffdb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.pjx-tile--blank .pjx-tile-index{background:rgba(var(--color-brand-rgb),.12);color:var(--color-brand-start)}.pjx-tile-foot{position:absolute;inset:auto 0 0;z-index:1;display:flex;flex-direction:column;gap:.2rem;padding:1.7rem .8rem .7rem;pointer-events:none}.pjx-tile--cover .pjx-tile-foot{background:linear-gradient(to top,rgba(10,8,12,.86) 0%,rgba(10,8,12,.44) 52%,transparent 100%);color:#fff}.pjx-tile--blank .pjx-tile-foot{padding-top:.7rem;background:var(--color-surface-strong);border-top:1px solid var(--color-border-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pjx-tile-name{margin:0;font-family:var(--font-family-title);font-size:.93rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pjx-tile-time{display:flex;align-items:center;gap:.32rem;font-family:var(--pjx-mono);font-size:.7rem;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.pjx-tile--cover .pjx-tile-time{color:#ffffffbd}.pjx-tile-hint{display:flex;align-items:center;gap:.34rem;height:0;overflow:hidden;opacity:0;font-family:var(--pjx-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;color:var(--color-brand-start);transition:height .34s var(--pjx-ease),opacity .28s ease,margin-top .34s var(--pjx-ease)}.pjx-tile--cover .pjx-tile-hint{color:#fff}.pjx-tile:hover .pjx-tile-hint,.pjx-tile:focus-within .pjx-tile-hint{height:1.05rem;margin-top:.22rem;opacity:1}.pjx-tile-menu{position:absolute;top:.45rem;right:.45rem;z-index:4;width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transform:translateY(-3px);transition:opacity .26s,transform .26s var(--pjx-ease),background .22s,color .22s}.pjx-tile--cover .pjx-tile-menu{background:#0c0a0c75;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.pjx-tile--blank .pjx-tile-menu{background:var(--color-surface-strong);color:var(--color-brand-start);box-shadow:var(--shadow-sm)}.pjx-tile:hover .pjx-tile-menu,.pjx-tile:focus-within .pjx-tile-menu,.pjx-tile-menu[aria-expanded=true]{opacity:1;transform:none}.pjx-tile-menu:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:2px}@media(hover:none){.pjx-tile-menu{opacity:1;transform:none}}.pjx-cell{display:grid}.pjx-create{position:relative;aspect-ratio:4 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;border:1px dashed rgba(var(--color-brand-rgb),.34);border-radius:var(--radius-lg);background:rgba(var(--color-brand-rgb),.04);color:var(--color-brand-start);font-family:var(--font-family-body);cursor:pointer;overflow:hidden;animation:pjxTileIn .5s var(--pjx-ease) backwards;animation-delay:calc(var(--pjx-i, 0) * 38ms);transition:transform .42s var(--pjx-ease),box-shadow .42s var(--pjx-ease),border-color .3s}.pjx-create:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(45deg,rgba(var(--color-brand-rgb),.07) 0 6px,transparent 6px 15px);transition:transform .7s var(--pjx-ease),opacity .4s;opacity:.75}.pjx-create:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1.5px;background:var(--color-brand-gradient);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;opacity:0;pointer-events:none;transition:opacity .4s var(--pjx-ease)}.pjx-create:hover{transform:translateY(-5px);border-color:transparent;box-shadow:var(--shadow-lg)}.pjx-create:hover:before{transform:translate(15px);opacity:1}.pjx-create:hover:after{opacity:1}.pjx-create:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:2px}.pjx-create-icon{position:relative;z-index:1;isolation:isolate;width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-surface-strong);box-shadow:var(--shadow-sm);transition:transform .45s var(--pjx-ease),color .3s,box-shadow .3s}.pjx-create-icon:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--color-brand-gradient);opacity:0;transition:opacity .35s var(--pjx-ease)}.pjx-create:hover .pjx-create-icon{transform:rotate(90deg) scale(1.08);color:#fff;box-shadow:var(--shadow-glow)}.pjx-create:hover .pjx-create-icon:before{opacity:1}.pjx-create-label{position:relative;z-index:1;font-size:.92rem;font-weight:600;letter-spacing:.04em}.pjx-ledger{--pjx-cols: 2.9rem minmax(0, 1fr) 7.5rem 7.5rem 2.5rem;margin:1.35rem 0 0;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;animation:pjxRise .5s var(--pjx-ease) backwards}.pjx-ledger-head,.pjx-row{display:grid;grid-template-columns:var(--pjx-cols);align-items:center;gap:1rem;padding:0 1rem}.pjx-ledger-head{height:38px;background:var(--color-hover);border-bottom:1px solid var(--color-border-card);font-family:var(--pjx-mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;color:var(--color-text-muted)}.pjx-row{position:relative;height:64px;transition:background .24s}.pjx-row+.pjx-row{border-top:1px solid var(--color-border-card)}.pjx-row:hover{background:rgba(var(--color-brand-rgb),.055)}.pjx-row-open{position:absolute;inset:0;z-index:1;padding:0;border:none;background:transparent;cursor:pointer}.pjx-row-open:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:-3px}.pjx-row-index{font-family:var(--pjx-mono);font-size:.72rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pjx-row-main{display:flex;align-items:center;gap:.8rem;min-width:0}.pjx-row-thumb{position:relative;flex:none;width:46px;height:34px;border-radius:var(--radius-sm);overflow:hidden;background:linear-gradient(140deg,rgba(var(--color-brand-rgb),.14),rgba(var(--color-brand-end-rgb),.08));color:var(--color-brand-start);display:grid;place-items:center}.pjx-row-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pjx-row-text{min-width:0}.pjx-row-name{margin:0;font-family:var(--font-family-title);font-size:.94rem;font-weight:600;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .22s}.pjx-row:hover .pjx-row-name{color:var(--color-brand-start)}.pjx-row-desc{margin:.1rem 0 0;font-size:.78rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pjx-cell-time{font-family:var(--pjx-mono);font-size:.76rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pjx-row-menu{position:relative;z-index:2;width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .22s,color .22s}.pjx-row-menu:hover,.pjx-row-menu[aria-expanded=true]{background:rgba(var(--color-brand-rgb),.12);color:var(--color-brand-start)}.pjx-row-menu:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:2px}.pjx-ledger-add{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-bottom:1px dashed rgba(var(--color-brand-rgb),.28);background:rgba(var(--color-brand-rgb),.04);color:var(--color-brand-start);font-family:var(--font-family-body);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .24s}.pjx-ledger-add:hover{background:rgba(var(--color-brand-rgb),.1)}.pjx-skeleton{position:relative;aspect-ratio:4 / 3;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.pjx-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 22%,rgba(var(--color-brand-rgb),.12) 50%,transparent 78%);transform:translate(-100%);animation:pjxShimmer 1.5s ease-in-out infinite}.pjx-panel{position:relative;margin:2.5rem auto 0;max-width:560px;padding:2.5rem 2rem;border:1px dashed var(--color-border-hover);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center;overflow:hidden;animation:pjxRise .6s var(--pjx-ease) backwards}.pjx-panel-mark{position:absolute;inset:-8% -4% auto;height:130%;color:var(--color-brand-start);opacity:.16;pointer-events:none}.pjx-panel-title{position:relative;margin:0 0 .6rem;font-family:var(--font-family-title);font-size:1.4rem;font-weight:600}.pjx-panel-text{position:relative;margin:0 auto 1.6rem;max-width:34ch;font-size:.92rem;line-height:1.6;color:var(--color-text-muted)}.pjx-panel .pjx-cta,.pjx-panel .pjx-ghost-btn{position:relative}.pjx-nomatch{margin:2.5rem 0 0;display:flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--color-text-muted);font-size:.92rem;text-align:center}.pjx-nomatch strong{color:var(--color-text-main)}.pjx-menu-scrim{position:fixed;inset:0;z-index:3600}.pjx-menu{position:fixed;z-index:3601;min-width:172px;padding:.35rem;border:1px solid var(--color-border-card);border-radius:var(--radius-md);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);animation:pjxMenuIn .18s var(--pjx-ease)}.pjx-menu button{width:100%;display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);font-family:var(--font-family-body);font-size:.88rem;font-weight:500;text-align:left;cursor:pointer;transition:background .16s,color .16s,transform .16s var(--pjx-ease)}.pjx-menu button:hover,.pjx-menu button:focus-visible{background:rgba(var(--color-brand-rgb),.1);color:var(--color-brand-start);outline:none;transform:translate(2px)}.pjx-menu button.danger{color:var(--color-danger)}.pjx-menu button.danger:hover,.pjx-menu button.danger:focus-visible{background:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.pjx-menu-sep{height:1px;margin:.3rem .35rem;background:var(--color-border-card)}.pjx-dialog-scrim{position:fixed;inset:0;z-index:4200;display:grid;place-items:center;padding:1.5rem;background:#0c0a0e6b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:pjxFade .2s ease}.pjx-dialog{position:relative;width:min(440px,100%);padding:1.75rem 1.75rem 1.5rem;border:1px solid var(--color-border-card);border-radius:var(--radius-xl);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);overflow:hidden;animation:pjxDialogIn .3s var(--pjx-ease)}.pjx-dialog:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--color-brand-gradient)}.pjx-dialog--danger:before{background:linear-gradient(135deg,var(--color-danger),var(--color-brand-start))}.pjx-dialog-eyebrow{margin:0;font-family:var(--pjx-mono);font-size:.68rem;font-weight:600;letter-spacing:.2em;color:var(--color-brand-start)}.pjx-dialog--danger .pjx-dialog-eyebrow{color:var(--color-danger)}.pjx-dialog-title{margin:.5rem 0 0;font-family:var(--font-family-title);font-size:1.4rem;font-weight:600;letter-spacing:-.01em}.pjx-dialog-text{margin:.9rem 0 0;font-size:.9rem;line-height:1.65;color:var(--color-text-muted)}.pjx-dialog-text strong{color:var(--color-text-main);font-weight:600}.pjx-field{margin-top:1.35rem;display:flex;flex-direction:column;gap:.45rem}.pjx-field label{font-family:var(--pjx-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;color:var(--color-text-muted)}.pjx-field input{height:48px;padding:0 1rem;border:1.5px solid var(--color-border-card);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-main);font-family:var(--font-family-body);font-size:1rem;outline:none;transition:border-color .24s,box-shadow .24s,background .24s}.pjx-field input:hover:not(:focus){border-color:var(--color-border-hover)}.pjx-field input:focus{border-color:var(--color-brand-start);background:var(--color-surface-strong);box-shadow:0 0 0 4px rgba(var(--color-brand-rgb),.12)}.pjx-field input:disabled{opacity:.6;cursor:not-allowed}.pjx-dialog-error{margin:.9rem 0 0;padding:.65rem .8rem;border:1px solid rgba(var(--color-danger-rgb),.28);border-radius:var(--radius-sm);background:rgba(var(--color-danger-rgb),.09);color:var(--color-danger);font-size:.82rem;line-height:1.5}.pjx-dialog-actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.6rem}.pjx-btn{height:42px;padding:0 1.3rem;border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-family-body);font-size:.92rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .26s var(--pjx-ease),box-shadow .26s,background .24s,border-color .24s}.pjx-btn:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:2px}.pjx-btn.secondary{border-color:var(--color-border-card);background:transparent;color:var(--color-text-main)}.pjx-btn.secondary:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border-hover)}.pjx-btn.primary{background:var(--color-brand-gradient);color:#fff;box-shadow:0 4px 14px rgba(var(--color-brand-rgb),.28)}.pjx-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--color-brand-rgb),.36)}.pjx-btn.danger{background:var(--color-danger);color:#fff;box-shadow:0 4px 14px rgba(var(--color-danger-rgb),.3)}.pjx-btn.danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--color-danger-rgb),.38)}.pjx-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.pjx-dialog-close{position:absolute;top:.9rem;right:.9rem;width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .22s,color .22s}.pjx-dialog-close:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-main)}.pjx-dialog-close:disabled{opacity:.5;cursor:not-allowed}.pjx-mark{width:100%;height:100%;display:block}.pjx-mark-grid{stroke:currentColor;stroke-width:.6;fill:none;opacity:.18}.pjx-mark-edge{stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;opacity:.36}.pjx-mark-node{fill:currentColor;opacity:.2}.pjx-mark-node--accent{opacity:.46}@keyframes pjxDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2.5%,2%,0) scale(1.06)}}@keyframes pjxRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pjxTileIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pjxShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pjxMenuIn{0%{opacity:0;transform:scale(.95) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pjxDialogIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pjxFade{0%{opacity:0}to{opacity:1}}:root[data-theme=dark] .pjx-backdrop-grain{opacity:.055}:root[data-theme=dark] .pjx-backdrop-grid{background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px)}:root[data-theme=dark] .pjx-tile--cover .pjx-tile-foot{background:linear-gradient(to top,rgba(4,3,6,.9) 0%,rgba(4,3,6,.5) 52%,transparent 100%)}:root[data-theme=dark] .pjx-dialog-scrim{background:#0000009e}:root[data-theme=dark] .pjx-create{background:rgba(var(--color-brand-rgb),.07)}@media(max-width:900px){.pjx-ledger{--pjx-cols: 2.9rem minmax(0, 1fr) 7rem 2.5rem}.pjx-cell--created{display:none}}@media(max-width:720px){.pjx-masthead-inner{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.1rem}.pjx-section{align-items:flex-start}.pjx-tools{width:100%;justify-content:space-between}.pjx-search{flex:1;min-width:0}.pjx-search input,.pjx-search input:focus{width:100%}.pjx-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem .75rem}}@media(max-width:560px){.pjx-tile--featured{grid-column:span 2;grid-row:span 1;aspect-ratio:4 / 3}.pjx-tile--featured .pjx-tile-desc{display:none}}@media(max-width:620px){.pjx-ledger{--pjx-cols: minmax(0, 1fr) 6.5rem 2.5rem}.pjx-row-index,.pjx-ledger-head .pjx-row-index{display:none}.pjx-cta{width:100%;justify-content:center}}@media(max-height:760px){.pjx-masthead{padding-top:calc(1.65rem + var(--fc-notify-banner-h, 0px))}.pjx-title{font-size:1.45rem}.pjx-rule{margin-top:.75rem}.pjx-main{padding-top:.85rem}.pjx-tile--featured{grid-row:span 1}.pjx-tile--featured .pjx-tile-desc{display:none}}@media(prefers-reduced-motion:reduce){.pjx-backdrop-glow,.pjx-masthead,.pjx-tile,.pjx-create,.pjx-ledger,.pjx-panel,.pjx-menu,.pjx-dialog,.pjx-dialog-scrim,.pjx-skeleton:after{animation:none;opacity:1;transform:none}.pjx-tile:hover,.pjx-create:hover,.pjx-cta:hover,.pjx-btn.primary:hover:not(:disabled),.pjx-btn.danger:hover:not(:disabled){transform:none}.pjx-tile:hover .pjx-tile-cover,.pjx-tile:hover .pjx-tile-blank .pjx-mark{transform:none}.pjx-cta:after{display:none}}.ws-project-name-inline{display:inline-flex;align-items:center;gap:5px;height:var(--canvas-header-h, 32px);font-size:12.5px;font-weight:500;font-family:inherit;color:var(--color-text-main, #1c1d22);margin-right:auto;max-width:260px;padding:0 10px;border:1px solid var(--color-border-card);border-radius:var(--radius-sm, 8px);background:var(--color-surface);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;transition:all .2s ease}.ws-project-name-inline:hover{border-color:var(--color-border-hover);background:var(--color-surface-strong);color:var(--color-brand-start)}.ws-project-name-inline.open{border-color:var(--color-border-hover);background:var(--color-active-soft);color:var(--color-brand-start)}.ws-project-name-text{max-width:208px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-project-name-caret{flex:none;opacity:.6;transition:transform .2s ease}.ws-project-name-inline:hover .ws-project-name-caret,.ws-project-name-inline.open .ws-project-name-caret{opacity:1}.ws-project-name-inline.open .ws-project-name-caret{transform:rotate(180deg)}.ws-workspace-switcher{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:2px;max-width:calc(100vw - 220px);padding:3px;background:#1c1b170d;border-radius:8px;pointer-events:auto;z-index:2001}.ws-switcher-tab{padding:4px 14px;font-size:12px;font-weight:500;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-muted);background:transparent;transition:all .2s cubic-bezier(.16,1,.3,1)}.ws-switcher-tab:hover{color:var(--color-text-main)}.ws-switcher-tab.active{color:var(--color-text-main);background:var(--color-surface-strong);box-shadow:var(--shadow-sm)}.warmsun-modal-card:has(.asset-library-modal-content){display:flex;flex-direction:column}.warmsun-modal-card:has(.asset-library-modal-content) .modal-header{flex-shrink:0}.asset-library-modal-content{position:relative;display:flex;flex-direction:column;flex:1;width:100%;min-height:0;overflow:hidden}.asset-library-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:0}.asset-library-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 24px 0;flex-shrink:0}.asset-filter-tabs{display:flex;gap:4px;padding:4px;background:#1c1b170a;border-radius:10px}.asset-filter-tab{padding:6px 16px;font-size:13px;font-weight:500;border:none;border-radius:7px;cursor:pointer;color:var(--color-text-muted, rgba(28, 29, 34, .52));background:transparent;transition:all .2s cubic-bezier(.16,1,.3,1)}.asset-filter-tab:hover{color:var(--color-text-main, #1c1d22);background:var(--color-hover)}.asset-filter-tab.active{color:var(--color-text-main, #1c1d22);background:var(--color-surface-strong);box-shadow:var(--shadow-sm)}.asset-library-add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:var(--color-brand-gradient, linear-gradient(135deg, #ff5c7a, #ff5c7a));border:none;border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #ff5c7a33}.asset-library-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff5c7a59}.asset-library-content::-webkit-scrollbar{width:6px}.asset-library-content::-webkit-scrollbar-track{background:transparent}.asset-library-content::-webkit-scrollbar-thumb{background:#1c1b171f;border-radius:3px}.asset-library-content::-webkit-scrollbar-thumb:hover{background:#1c1b1733}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:0 24px 24px}.asset-card{position:relative;background:var(--color-surface-strong, rgba(255, 255, 255, .96));border:1px solid var(--color-border-card, rgba(28, 27, 23, .06));border-radius:16px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);animation:assetCardIn .4s cubic-bezier(.16,1,.3,1) backwards}.asset-card.inactive{opacity:.5}.asset-card.inactive:hover{opacity:.7}@keyframes assetCardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.asset-card:hover{border-color:var(--color-border-hover, rgba(255, 92, 122, .18));box-shadow:var(--shadow-md, 0 8px 20px rgba(28, 27, 23, .06));transform:translateY(-2px)}.asset-card-thumbnail{position:relative;width:100%;aspect-ratio:1;background:var(--color-bg-base, #f6f6f3);display:flex;align-items:center;justify-content:center;overflow:hidden}.asset-card-group-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:3px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1;color:#fff;background:#14151ab8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:999px;font-variant-numeric:tabular-nums;pointer-events:none}.asset-card-thumbnail img,.asset-card-thumbnail video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.asset-card-thumbnail svg{color:var(--color-text-muted, rgba(28, 29, 34, .52));opacity:.4}.asset-card-info{padding:10px 12px}.asset-card-name{font-size:13px;font-weight:500;color:var(--color-text-main, #1c1d22);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card-meta{font-size:11px;color:var(--color-text-muted, rgba(28, 29, 34, .52));display:flex;align-items:center;gap:4px}.asset-card-category{font-weight:500;color:var(--color-brand-start, #ff5c7a)}.asset-card-separator{opacity:.4}.asset-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease;z-index:2}.asset-card:hover .asset-card-actions{opacity:1}.asset-card-action-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-strong, rgba(255, 255, 255, .96));border:1px solid var(--color-border-card, rgba(28, 27, 23, .06));border-radius:8px;cursor:pointer;color:var(--color-text-muted, rgba(28, 29, 34, .52));transition:all .15s ease;box-shadow:var(--shadow-sm, 0 2px 8px rgba(28, 27, 23, .04))}.asset-card-action-btn:hover{color:var(--color-brand-start, #ff5c7a);border-color:var(--color-border-hover, rgba(255, 92, 122, .18))}.asset-card-action-btn.danger:hover{color:var(--color-danger, #f43f5e);border-color:#f43f5e33}.add-asset-card{background:transparent;border:1.5px dashed var(--color-border-card, rgba(28, 27, 23, .06));border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;cursor:pointer;color:var(--color-text-muted, rgba(28, 29, 34, .52));transition:all .2s cubic-bezier(.16,1,.3,1)}.add-asset-card:hover{border-color:var(--color-border-hover, rgba(255, 92, 122, .18));color:var(--color-brand-start, #ff5c7a);background:#ff5c7a08}.asset-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;flex:1;min-height:0}.asset-library-empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--color-text-muted, rgba(28, 29, 34, .52));opacity:.3}.asset-library-empty-title{font-size:16px;font-weight:600;color:var(--color-text-main, #1c1d22);margin:0 0 8px}.asset-library-empty-text{font-size:14px;color:var(--color-text-muted, rgba(28, 29, 34, .52));margin:0 0 24px;max-width:320px;line-height:1.5}.add-asset-dialog-backdrop{position:fixed;inset:0;background:#1c1b1766;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.add-asset-dialog{background:var(--color-surface-strong, rgba(255, 255, 255, .96));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:16px;border:1px solid var(--color-border-card, rgba(28, 27, 23, .06));padding:24px;width:90%;max-width:420px;box-shadow:var(--shadow-lg, 0 16px 36px rgba(28, 27, 23, .08));animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.add-asset-dialog-title{font-size:16px;font-weight:600;color:var(--color-text-main, #1c1d22);margin:0 0 16px}.add-asset-preview{width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--color-bg-base, #f6f6f3);margin-bottom:16px}.add-asset-preview img,.add-asset-preview video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.add-asset-category-group{display:flex;gap:4px;padding:3px;background:#1c1b170a;border-radius:10px}.add-asset-category-btn{flex:1;padding:7px 0;font-size:13px;font-weight:500;border:none;border-radius:7px;cursor:pointer;color:var(--color-text-muted, rgba(28, 29, 34, .52));background:transparent;transition:all .2s cubic-bezier(.16,1,.3,1)}.add-asset-category-btn:hover{color:var(--color-text-main, #1c1d22)}.add-asset-category-btn.active{color:var(--color-text-main, #1c1d22);background:var(--color-surface-strong);box-shadow:var(--shadow-sm)}.add-asset-form{display:flex;flex-direction:column;gap:16px}.add-asset-form-group{display:flex;flex-direction:column;gap:6px}.add-asset-form-label{font-size:13px;font-weight:500;color:var(--color-text-main, #1c1d22)}.add-asset-form-input,.add-asset-form-select{padding:8px 12px;font-size:14px;border:1px solid var(--color-border-card, rgba(28, 27, 23, .06));border-radius:8px;background:#fffc;color:var(--color-text-main, #1c1d22);transition:all .2s ease}.add-asset-form-input:focus,.add-asset-form-select:focus{outline:none;border-color:var(--color-brand-start, #ff5c7a);box-shadow:0 0 0 3px #ff5c7a14}.add-asset-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.add-asset-dialog-btn{padding:8px 18px;font-size:13px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.add-asset-dialog-btn.secondary{background:transparent;color:var(--color-text-muted, rgba(28, 29, 34, .52))}.add-asset-dialog-btn.secondary:hover{color:var(--color-text-main, #1c1d22);background:#00000008}.add-asset-dialog-btn.primary{background:var(--color-brand-gradient, linear-gradient(135deg, #ff5c7a, #ff5c7a));color:#fff}.add-asset-dialog-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff5c7a40}.add-asset-dialog-btn.primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.asset-preview-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;animation:modalFadeIn .2s ease}.asset-preview-content{position:relative;max-width:85vw;max-height:85vh;cursor:default}.asset-preview-image{max-width:85vw;max-height:85vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #0006}.asset-preview-info{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);padding:6px 16px;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;white-space:nowrap}.asset-preview-name{font-size:13px;color:#ffffffe6}.asset-preview-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;border-radius:50%;background:#fffffff2;color:#1c1d22;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10001;transition:all .2s ease;box-shadow:0 4px 16px #00000040}.asset-preview-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 6px 24px #00000059}.asset-group-preview-overlay{position:absolute;inset:0;background:#000000f0;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;animation:modalFadeIn .2s ease;padding:24px;box-sizing:border-box}.asset-group-preview-content{position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-width:1600px;cursor:default;gap:16px}.asset-group-preview-main{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden}.asset-group-preview-image{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:2px;box-shadow:0 16px 64px #000000b3}.asset-group-preview-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:#ffffffeb;color:#1c1d22;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 16px #00000040;z-index:10}.asset-group-preview-nav:hover:not(:disabled){background:#fff;transform:translateY(-50%) scale(1.08);box-shadow:0 6px 20px #00000059}.asset-group-preview-nav:disabled{opacity:.25;cursor:not-allowed}.asset-group-preview-nav.prev{left:20px}.asset-group-preview-nav.next{right:20px}.asset-group-preview-footer{display:flex;flex-direction:column;gap:12px;flex-shrink:0;padding:16px 18px;background:#14151af5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:10px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #00000080}.asset-group-preview-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:4px 2px}.asset-group-preview-thumbnails::-webkit-scrollbar{height:5px}.asset-group-preview-thumbnails::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.asset-group-preview-thumbnails::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.asset-group-preview-thumbnails::-webkit-scrollbar-thumb:hover{background:#ffffff47}.asset-group-preview-thumbnail{flex-shrink:0;width:68px;height:68px;border-radius:7px;overflow:hidden;cursor:pointer;border:2.5px solid rgba(255,255,255,.15);transition:all .2s ease;position:relative;background:#0006}.asset-group-preview-thumbnail img,.asset-group-preview-thumbnail video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.asset-group-preview-thumbnail:hover{border-color:#ffffff73;transform:scale(1.04)}.asset-group-preview-thumbnail.active{border-color:#ff5c7a;box-shadow:0 0 0 3px #ff5c7a40;transform:scale(1.05)}.asset-group-preview-thumbnail.enabled:after{content:"";position:absolute;top:5px;right:5px;width:10px;height:10px;background:#10b981;border-radius:50%;border:2.5px solid rgba(20,21,26,.95);box-shadow:0 2px 6px #0006}.asset-group-preview-footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.asset-group-preview-info{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.asset-preview-name{font-size:14px;font-weight:500;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.asset-preview-count{font-size:13px;color:#ffffff7a;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.asset-group-preview-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.asset-active-badge{padding:7px 14px;font-size:13px;font-weight:500;color:#10b981;background:#10b98124;border:1px solid rgba(16,185,129,.28);border-radius:7px;white-space:nowrap}.asset-activate-btn{padding:7px 18px;font-size:13px;font-weight:500;color:#fff;background:var(--color-brand-gradient);border:none;border-radius:7px;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 10px rgba(var(--color-brand-rgb),.28)}.asset-activate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff5c7a6b}.asset-group-preview-actions .asset-card-action-btn{width:34px;height:34px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffb8;display:flex;align-items:center;justify-content:center;border-radius:7px;cursor:pointer;transition:all .2s ease}.asset-group-preview-actions .asset-card-action-btn:hover{background:#ffffff24;color:#fff;border-color:#ffffff47;transform:translateY(-1px)}.asset-group-preview-actions .asset-card-action-btn.danger:hover{background:#f43f5e29;color:#f43f5e;border-color:#f43f5e61}.ws-gen-match-asset-btn{flex-shrink:0;width:30px;height:30px;border:1px solid var(--color-border-card, rgba(28, 27, 23, .06));border-radius:8px;background:#ffffffe6;color:var(--color-brand-start, #ff5c7a);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);margin-right:4px}.ws-gen-match-asset-btn:hover{background:var(--color-brand-start, #ff5c7a);color:#fff;border-color:var(--color-brand-start, #ff5c7a);transform:scale(1.08);box-shadow:0 2px 8px #ff5c7a4d}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.node-context-menu-overlay{position:fixed;inset:0;z-index:9999}.node-context-menu{background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:8px;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .15));padding:6px;min-width:160px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.node-context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:13px;color:var(--color-text-main);transition:background-color .15s}.node-context-menu-item:hover{background:var(--color-hover)}.node-context-menu-item svg{flex-shrink:0;opacity:.7}.node-context-menu-header{display:flex;align-items:center;gap:8px;padding:6px 12px 4px;font-size:12px;font-weight:600;color:var(--color-text-main);opacity:.5}.node-context-input{width:calc(100% - 12px);padding:6px 8px;margin:4px 6px;border:1px solid var(--color-border-card);border-radius:4px;font-size:12px;background:var(--color-surface-strong);color:var(--color-text-main);box-sizing:border-box}.node-context-input:focus{outline:none;border-color:rgba(var(--color-brand-rgb),.6)}.login-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at 15% 20%,rgba(var(--color-brand-rgb),.14) 0%,transparent 52%),radial-gradient(circle at 85% 80%,rgba(var(--color-brand-end-rgb),.12) 0%,transparent 55%),var(--color-bg-base);font-family:var(--font-family-body);overflow:hidden}.login-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 25%,rgba(var(--color-brand-rgb),.12) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(var(--color-brand-end-rgb),.1) 0%,transparent 55%);pointer-events:none;animation:loginBgShift 24s ease-in-out infinite alternate}@keyframes loginBgShift{0%{transform:translate(0) scale(1)}to{transform:translate(-2%,2%) scale(1.06)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;padding:2.75rem 2.35rem 2.5rem;background:var(--color-surface-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border-card);border-radius:24px;box-shadow:var(--shadow-lg);animation:loginCardFadeIn .7s cubic-bezier(.16,1,.3,1)}@keyframes loginCardFadeIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand{text-align:center;margin-bottom:2rem}.login-title{font-family:var(--font-family-title);font-size:2.15rem;font-weight:700;letter-spacing:.08em;margin:0 0 .55rem;background:var(--color-brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:.95rem;color:var(--color-text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:1.15rem}.login-field{display:flex;flex-direction:column;gap:.45rem}.login-label{font-size:.82rem;font-weight:600;color:var(--color-text-main);opacity:.78;letter-spacing:.02em}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:.95rem;color:var(--color-text-muted);pointer-events:none;transition:color .2s ease;z-index:1}.login-input{width:100%;height:3.05rem;padding:0 1rem 0 2.85rem;border:1.5px solid rgba(28,27,23,.14);border-radius:14px;background:#f3f1ee;font-family:inherit;font-size:.98rem;font-weight:500;color:var(--color-text-main);line-height:1.3;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-sizing:border-box;box-shadow:inset 0 1px 2px #1c1b170a}.login-input:hover{border-color:#1c1b1738;background:#f7f5f2}.login-input:focus{outline:none;border-color:var(--color-brand-start);background:#fff;box-shadow:0 0 0 4px rgba(var(--color-brand-rgb),.14),inset 0 1px 2px #1c1b1708}.login-input-wrap:focus-within .login-input-icon{color:var(--color-brand-start)}.login-input::-moz-placeholder{color:var(--color-text-muted);opacity:.72;font-weight:400}.login-input::placeholder{color:var(--color-text-muted);opacity:.72;font-weight:400}.login-remember{display:flex;align-items:center;gap:.55rem;margin-top:.1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.login-remember-input{width:1rem;height:1rem;margin:0;accent-color:var(--color-brand-start);cursor:pointer;flex-shrink:0}.login-remember-text{font-size:.88rem;color:var(--color-text-muted)}.login-error{padding:.7rem .9rem;border-radius:10px;background:#f43f5e14;border:1px solid rgba(244,63,94,.2);color:var(--color-danger);font-size:.85rem}.login-submit{margin-top:.35rem;height:3.1rem;padding:0 1rem;border:none;border-radius:14px;background:var(--color-brand-gradient);color:#fff;font-family:inherit;font-size:1.05rem;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;box-shadow:var(--shadow-glow)}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px rgba(var(--color-brand-rgb),.42)}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-note{margin:1.6rem 0 0;text-align:center;font-size:.8rem;color:var(--color-text-muted);opacity:.75;line-height:1.5}:root[data-theme=dark] .login-input{background:#ffffff0f;border-color:#ffffff29;box-shadow:inset 0 1px 2px #00000038;color:var(--color-text-main)}:root[data-theme=dark] .login-input:hover{background:#ffffff14;border-color:#ffffff3d}:root[data-theme=dark] .login-input:focus{background:#ffffff1a;border-color:var(--color-brand-start);box-shadow:0 0 0 4px rgba(var(--color-brand-rgb),.2),inset 0 1px 2px #0000002e}@media(prefers-reduced-motion:reduce){.login-page:before,.login-card{animation:none}}.mu-panel{display:flex;flex-direction:column;gap:18px}.mu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.mu-title{margin:0;font-family:var(--font-family-title);font-size:1.05rem;font-weight:600;color:var(--color-text-main)}.mu-intro{margin:5px 0 0;color:var(--color-text-muted);font-size:.76rem;line-height:1.45}.mu-balance{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(var(--color-brand-rgb),.22);border-radius:var(--radius-md);background:linear-gradient(120deg,rgba(var(--color-brand-rgb),.1),transparent 64%),var(--color-surface-strong);box-shadow:var(--shadow-sm)}.mu-balance.is-low{border-color:#b8741a47;background:linear-gradient(120deg,rgba(184,116,26,.1),transparent 64%),var(--color-surface-strong)}.mu-balance.is-empty{border-color:rgba(var(--color-danger-rgb),.28);background:linear-gradient(120deg,rgba(var(--color-danger-rgb),.1),transparent 64%),var(--color-surface-strong)}.mu-balance-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--color-brand-start);background:rgba(var(--color-brand-rgb),.12);flex:0 0 auto}.mu-balance.is-low .mu-balance-icon{color:#b8741a;background:#b8741a1f}.mu-balance.is-empty .mu-balance-icon{color:var(--color-danger);background:rgba(var(--color-danger-rgb),.12)}.mu-balance-copy{display:flex;flex-direction:column;gap:2px;min-width:110px}.mu-balance-copy span{color:var(--color-text-muted);font-size:.72rem}.mu-balance-copy strong{color:var(--color-text-main);font-family:var(--font-family-title);font-size:1.45rem;line-height:1;font-variant-numeric:tabular-nums}.mu-balance-note{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--color-text-muted);font-size:.72rem;line-height:1.4;text-align:right}.mu-balance.is-empty .mu-balance-note{color:var(--color-danger)}@media(max-width:560px){.mu-balance{align-items:flex-start;flex-wrap:wrap}.mu-balance-note{width:100%;margin-left:48px;text-align:left}}.mu-seg{display:inline-flex;border:1px solid var(--color-border-card);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.mu-seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:6px 13px;font:inherit;font-size:.82rem;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.mu-seg-btn+.mu-seg-btn{border-left:1px solid var(--color-border-card)}.mu-seg-btn:hover{background:var(--color-hover);color:var(--color-text-main)}.mu-seg-btn.is-active{background:var(--color-active-soft);color:var(--color-brand-start);font-weight:600}.mu-seg-btn:focus-visible{outline:2px solid var(--color-brand-start);outline-offset:-2px}.mu-body{display:flex;flex-direction:column;gap:16px;transition:opacity .2s ease}.mu-body.is-reloading{opacity:.55}.mu-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:720px){.mu-kpis{grid-template-columns:repeat(2,1fr)}}.mu-kpi{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.mu-kpi-label{font-size:.7rem;font-weight:600;letter-spacing:.12em;color:var(--color-text-muted)}.mu-kpi-value{font-family:var(--font-family-title);font-size:1.7rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text-main)}.mu-card{background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 18px 18px}.mu-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--color-border-card)}.mu-card-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--color-text-muted)}.mu-card-sub{display:inline-flex;align-items:center;gap:12px;font-size:.7rem;color:var(--color-text-muted)}.mu-legend{display:inline-flex;align-items:center;gap:5px;font-style:normal}.mu-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.mu-legend i.is-ok{background:var(--color-brand-start)}.mu-legend i.is-fail{background:var(--color-danger);margin-left:7px}.mu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.mu-bars{display:block;width:100%;height:190px}.mu-bars-grid{stroke:var(--color-border-card);stroke-width:1}.mu-bars-axis{fill:var(--color-text-muted);font-size:9px}.mu-bar{fill:var(--color-brand-start)}.mu-bar.is-zero{fill:var(--color-border-hover)}.mu-bar-fail{fill:var(--color-danger)}.mu-bars g:hover .mu-bar{fill:var(--color-brand-end)}.mu-barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.mu-barlist-row{min-width:0}.mu-barlist-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mu-barlist-label{font-size:.85rem;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mu-barlist-value{font-family:var(--font-family-title);font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-main);flex-shrink:0}.mu-barlist-track{height:6px;margin:6px 0 5px;border-radius:var(--radius-pill);background:var(--color-hover);overflow:hidden}.mu-barlist-fill{height:100%;background:var(--color-brand-gradient);border-radius:var(--radius-pill)}.mu-barlist-meta{display:flex;gap:12px;font-size:.7rem;color:var(--color-text-muted)}.mu-barlist-fail{color:var(--color-danger)}.mu-empty,.mu-error{padding:22px 0;text-align:center;font-size:.84rem;color:var(--color-text-muted)}.mu-error{color:var(--color-danger)}.fc-account-dialog-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10000;background:#1c1b1766;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fcAccountDialogFadeIn .2s ease}@keyframes fcAccountDialogFadeIn{0%{opacity:0}to{opacity:1}}.fc-account-dialog{width:90%;max-width:420px;padding:22px 24px 24px;border:1px solid var(--color-border-card);border-radius:var(--radius-md);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:fcAccountDialogIn .3s cubic-bezier(.16,1,.3,1)}@keyframes fcAccountDialogIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.fc-account-dialog-head{display:flex;align-items:center;justify-content:space-between}.fc-account-dialog-title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-main)}.fc-account-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.fc-account-dialog-close:hover{background:var(--color-hover);color:var(--color-text-main)}.fc-account-dialog-identity{margin-top:12px;padding-bottom:14px;border-bottom:1px solid var(--color-border-card)}.fc-account-dialog-name{font-size:15px;font-weight:600;color:var(--color-text-main)}.fc-account-dialog-email{margin-top:2px;font-size:12px;color:var(--color-text-muted)}.fc-account-tabs{display:flex;gap:4px;margin:14px 0 16px;padding:3px;border-radius:var(--radius-sm);background:var(--color-hover)}.fc-account-tab{flex:1;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--color-text-muted);font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.fc-account-tab:hover:not(.is-active){color:var(--color-text-main)}.fc-account-tab.is-active{background:var(--color-surface-strong);color:var(--color-brand-start);font-weight:600;box-shadow:var(--shadow-sm, 0 1px 3px rgba(28, 27, 23, .06))}.fc-account-dialog-form{display:flex;flex-direction:column;gap:14px}.fc-account-dialog-field{display:flex;flex-direction:column;gap:6px}.fc-account-dialog-label{font-size:12px;color:var(--color-text-muted)}.fc-account-dialog-input{width:100%;height:36px;padding:0 12px;border:1px solid var(--color-border-card);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-main);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.fc-account-dialog-input:focus{border-color:var(--color-brand-start);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12)}.fc-account-dialog-input:disabled{opacity:.6;cursor:not-allowed}.fc-account-dialog-hint,.fc-account-dialog-ok{font-size:12px;line-height:1.5;color:var(--color-text-muted)}.fc-account-dialog-error{font-size:12px;line-height:1.5;color:var(--color-danger)}.fc-account-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.fc-account-dialog-btn{padding:8px 18px;border:1px solid var(--color-border-card);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.fc-account-dialog-btn:hover:not(:disabled){background:rgba(var(--color-brand-rgb),.08);border-color:var(--color-border-hover);color:var(--color-brand-start)}.fc-account-dialog-btn.is-primary{border-color:transparent;background:var(--color-brand-gradient);color:#fff}.fc-account-dialog-btn.is-primary:hover:not(:disabled){border-color:transparent;background:var(--color-brand-gradient);color:#fff;box-shadow:var(--shadow-md)}.fc-account-dialog-btn:disabled{opacity:.45;cursor:not-allowed}.fc-account{position:relative}.fc-account-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-main);font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.fc-account-btn:hover{background:var(--color-hover)}.fc-account-btn.active{background:var(--color-active-soft);color:var(--color-brand-start)}.fc-account-credits{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--color-brand-start)}.fc-account-scrim{position:fixed;inset:0;z-index:var(--popover-z-scrim, 4000)}.fc-account-menu{position:fixed;top:var(--popover-top, 56px);right:var(--popover-right, 16px);left:auto;z-index:var(--popover-z-menu, 4001);width:min(280px,calc(100vw - 32px));padding:14px;border:1px solid var(--color-border-card);border-radius:var(--popover-radius, var(--radius-md));background:var(--color-surface-strong);box-shadow:var(--popover-shadow, var(--shadow-lg));backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));-webkit-backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));animation:fcAccountIn var(--popover-anim-duration, .18s) var(--popover-anim-ease, cubic-bezier(.16, 1, .3, 1));transform-origin:top right}@keyframes fcAccountIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fc-account-header{padding-bottom:12px;border-bottom:1px solid var(--color-border-card)}.fc-account-name{font-size:15px;font-weight:600;color:var(--color-text-main)}.fc-account-email{font-size:12px;color:var(--color-text-muted);margin-top:2px}.fc-account-balance{display:flex;align-items:center;gap:8px;padding:12px 0}.fc-account-balance-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.fc-account-balance-value{margin-left:auto;font-size:18px;font-weight:700;color:var(--color-brand-start)}.fc-account-refresh{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.fc-account-refresh:hover{background:var(--color-hover)}.fc-spin{animation:fcSpin .8s linear infinite}@keyframes fcSpin{to{transform:rotate(360deg)}}.fc-account-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 8px}.fc-account-directives{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.fc-account-directive{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--radius-sm);background:var(--color-hover);font-size:13px}.fc-account-directive-name{color:var(--color-text-main)}.fc-account-directive-cost{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.fc-account-hint{padding:10px;font-size:12px;color:var(--color-text-muted);text-align:center}.fc-account-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:9px;border:1px solid var(--color-border-card);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.fc-account-action:hover:not(:disabled){background:rgba(var(--color-brand-rgb),.08);border-color:var(--color-border-hover);color:var(--color-brand-start)}.fc-account-action.is-primary{border-color:transparent;background:var(--color-brand-gradient);color:#fff}.fc-account-action.is-primary:hover:not(:disabled){background:var(--color-brand-gradient);border-color:transparent;color:#fff;box-shadow:var(--shadow-md)}.fc-account-action:disabled{opacity:.55;cursor:not-allowed}.fc-account-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:9px;border:1px solid var(--color-border-card);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.fc-account-logout:hover{background:rgba(var(--color-brand-rgb),.08);border-color:var(--color-border-hover);color:var(--color-brand-start)}.fc-return-console{position:fixed;top:calc(14px + var(--fc-notify-banner-h, 0px));right:100px;z-index:1000;height:34px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--color-brand-gradient);color:#fff;font-size:13px;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md);transition:transform .15s ease,box-shadow .15s ease}.fc-return-console:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.fc-notify{position:relative}.fc-notify-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-main);cursor:pointer;transition:background .15s ease,color .15s ease}.fc-notify-btn:hover{background:var(--color-hover)}.fc-notify-btn.active{background:var(--color-active-soft);color:var(--color-brand-start)}.fc-notify-badge{position:absolute;top:1px;right:0;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-brand-gradient);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center;box-shadow:var(--shadow-sm)}.fc-notify-scrim{position:fixed;inset:0;z-index:var(--popover-z-scrim, 4000)}.fc-notify-menu{position:fixed;top:var(--popover-top, 56px);right:var(--popover-right, 16px);left:auto;z-index:var(--popover-z-menu, 4001);display:flex;flex-direction:column;width:min(360px,calc(100vw - 32px));max-height:min(70vh,560px);border:1px solid var(--color-border-card);border-radius:var(--popover-radius, var(--radius-md));background:var(--color-surface-strong);box-shadow:var(--popover-shadow, var(--shadow-lg));-webkit-backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));backdrop-filter:var(--popover-blur, blur(18px) saturate(140%));overflow:hidden}.fc-notify-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border-card)}.fc-notify-menu-title{font-size:13px;font-weight:600;color:var(--color-text-main)}.fc-notify-readall{border:none;background:transparent;padding:4px 8px;border-radius:var(--radius-sm);color:var(--color-brand-start);font-size:12px;cursor:pointer}.fc-notify-readall:hover{background:var(--color-active-soft)}.fc-notify-readall:disabled{color:var(--color-text-muted);cursor:default;background:transparent}.fc-notify-list{flex:1;overflow-y:auto;padding:6px}.fc-notify-empty{padding:28px 14px;text-align:center;color:var(--color-text-muted);font-size:12px}.fc-notify-item{position:relative;padding:10px 12px 10px 22px;border-radius:var(--radius-sm);cursor:default}.fc-notify-item:hover{background:var(--color-hover)}.fc-notify-item.unread:before{content:"";position:absolute;top:15px;left:9px;width:6px;height:6px;border-radius:50%;background:var(--color-brand-start)}.fc-notify-item-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-main)}.fc-notify-item.read .fc-notify-item-title{font-weight:500;color:var(--color-text-muted)}.fc-notify-item-body{margin-top:4px;font-size:12px;line-height:1.6;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.fc-notify-item-foot{display:flex;align-items:center;gap:10px;margin-top:6px}.fc-notify-time{font-size:11px;color:var(--color-text-muted)}.fc-notify-link{font-size:11px;color:var(--color-primary-blue);text-decoration:none}.fc-notify-link:hover{text-decoration:underline}.fc-notify-mark{margin-left:auto;border:none;background:transparent;padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-brand-start);font-size:11px;cursor:pointer}.fc-notify-mark:hover{background:var(--color-active-soft)}.fc-notify-level{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-pill);font-size:10px;font-weight:600}.fc-notify-level.warning{background:rgba(var(--color-brand-end-rgb),.16);color:var(--color-brand-end)}.fc-notify-level.critical{background:rgba(var(--color-danger-rgb),.14);color:var(--color-danger)}.fc-notify-banner{position:fixed;top:0;left:0;right:0;z-index:3900;display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border-card);background:var(--color-surface-strong);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);animation:fc-notify-drop .22s ease}.fc-notify-banner.critical{box-shadow:inset 3px 0 0 var(--color-danger),var(--shadow-md)}.fc-notify-banner.warning{box-shadow:inset 3px 0 0 var(--color-brand-end),var(--shadow-md)}.fc-notify-banner-icon{flex-shrink:0;margin-top:1px;color:var(--color-danger)}.fc-notify-banner.warning .fc-notify-banner-icon{color:var(--color-brand-end)}.fc-notify-banner-main{flex:1;min-width:0}.fc-notify-banner-title{font-size:13px;font-weight:600;color:var(--color-text-main)}.fc-notify-banner-body{margin-top:2px;font-size:12px;line-height:1.5;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.fc-notify-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.fc-notify-banner-link{padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-brand-gradient);color:#fff;font-size:12px;text-decoration:none}.fc-notify-banner-ack{padding:4px 10px;border:1px solid var(--color-border-card);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-main);font-size:12px;cursor:pointer}.fc-notify-banner-ack:hover{background:var(--color-hover)}.fc-notify-toasts{position:fixed;right:16px;bottom:16px;z-index:3950;display:flex;flex-direction:column;gap:8px;pointer-events:none}.fc-notify-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:8px;width:min(320px,calc(100vw - 32px));padding:10px 12px;border:1px solid var(--color-border-card);border-radius:var(--radius-md);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);animation:fc-notify-slide .22s ease}.fc-notify-toast.warning{box-shadow:inset 3px 0 0 var(--color-brand-end),var(--shadow-lg)}.fc-notify-toast-main{flex:1;min-width:0}.fc-notify-toast-title{font-size:12px;font-weight:600;color:var(--color-text-main)}.fc-notify-toast-body{margin-top:3px;font-size:11px;line-height:1.5;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fc-notify-toast-close{flex-shrink:0;border:none;background:transparent;padding:2px;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;line-height:1}.fc-notify-toast-close:hover{background:var(--color-hover);color:var(--color-text-main)}@keyframes fc-notify-slide{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes fc-notify-drop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fc-notify-toast,.fc-notify-banner{animation:none}}:root{color-scheme:light;--color-bg-base: #f7f5f2;--color-surface: rgba(255, 255, 255, .72);--color-surface-strong: rgba(255, 255, 255, .96);--color-border-card: rgba(28, 27, 23, .06);--color-border-hover: rgba(var(--color-brand-rgb), .2);--color-text-main: #1d1b22;--color-text-muted: rgba(29, 27, 34, .52);--color-brand-start: #ff5c7a;--color-brand-end: #ffa24d;--color-brand-gradient: linear-gradient(135deg, var(--color-brand-start), var(--color-brand-end));--color-brand-rgb: 255, 92, 122;--color-brand-end-rgb: 255, 162, 77;--color-primary-blue: #4f7cff;--color-success: #10b981;--color-danger: #f43f5e;--font-family-title: "Outfit", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--shadow-sm: 0 2px 8px rgba(28, 27, 23, .04);--shadow-md: 0 8px 20px rgba(28, 27, 23, .06);--shadow-lg: 0 16px 36px rgba(28, 27, 23, .08), 0 4px 12px rgba(28, 27, 23, .02);--shadow-glow: 0 0 20px rgba(var(--color-brand-rgb), .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--color-hover: rgba(28, 27, 23, .05);--color-active-soft: rgba(var(--color-brand-rgb), .12);--color-danger-rgb: 244, 63, 94;--color-success-rgb: 16, 185, 129;--color-media-image-rgb: 79, 124, 255;--color-media-video-rgb: 168, 85, 247;--color-media-audio-rgb: 16, 185, 129;--media-chip-bg: rgba(255, 255, 255, .75);--media-chip-bg-hover: rgba(255, 255, 255, .92);--media-chip-border: rgba(28, 29, 34, .08);--media-chip-inner: rgba(255, 255, 255, .4);--media-chip-text: #1d1b22;--image-editor-overlay: rgba(28, 27, 23, .42);--image-editor-panel: var(--color-surface-strong);--image-editor-panel-soft: color-mix(in srgb, var(--color-bg-base) 92%, var(--color-text-main));--image-editor-body: var(--color-bg-base);--image-editor-stage: var(--color-bg-base);--image-editor-stage-grid: rgba(28, 27, 23, .055);--image-editor-line: var(--color-border-card);--image-editor-line-strong: color-mix(in srgb, var(--color-text-main) 16%, transparent);--image-editor-shadow: var(--shadow-lg);--popover-top: calc(56px + var(--fc-notify-banner-h, 0px));--popover-right: 16px;--popover-z-scrim: 4000;--popover-z-menu: 4001;--popover-radius: var(--radius-md);--popover-shadow: var(--shadow-lg);--popover-blur: blur(18px) saturate(140%);--popover-anim-duration: .18s;--popover-anim-ease: cubic-bezier(.16, 1, .3, 1);--canvas-chrome-gutter: 16px;--canvas-header-top: 12px;--canvas-header-h: 32px;--canvas-header-gap: 8px;--canvas-overlay-top: calc( var(--canvas-header-top) + var(--canvas-header-h) + var(--canvas-header-gap) + var(--fc-notify-banner-h, 0px) );--canvas-overlay-bottom: var(--canvas-chrome-gutter);--canvas-overlay-h: calc(100% - var(--canvas-overlay-top) - var(--canvas-overlay-bottom));--canvas-dock-bottom: 20px;font-family:var(--font-family-body)}:root[data-theme=dark]{color-scheme:dark;--color-bg-base: #121015;--color-surface: rgba(48, 44, 54, .78);--color-surface-strong: rgba(40, 37, 46, .96);--color-border-card: rgba(255, 255, 255, .11);--color-border-hover: rgba(var(--color-brand-rgb), .38);--color-text-main: #f4f1f6;--color-text-muted: rgba(244, 241, 246, .58);--color-brand-start: #ff7a93;--color-brand-end: #ffb86b;--color-brand-rgb: 255, 122, 147;--color-brand-end-rgb: 255, 184, 107;--color-primary-blue: #7aa0ff;--color-success: #34d399;--color-danger: #fb7185;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .38);--shadow-md: 0 10px 28px rgba(0, 0, 0, .48);--shadow-lg: 0 18px 42px rgba(0, 0, 0, .58), 0 4px 14px rgba(0, 0, 0, .36);--shadow-glow: 0 0 22px rgba(var(--color-brand-rgb), .34);--color-hover: rgba(255, 255, 255, .08);--color-active-soft: rgba(var(--color-brand-rgb), .18);--color-danger-rgb: 251, 113, 133;--color-success-rgb: 52, 211, 153;--media-chip-bg: rgba(22, 20, 26, .72);--media-chip-bg-hover: rgba(22, 20, 26, .88);--media-chip-border: rgba(255, 255, 255, .22);--media-chip-inner: rgba(255, 255, 255, .08);--media-chip-text: #f4f1f6;--image-editor-overlay: rgba(0, 0, 0, .72);--image-editor-panel: var(--color-surface-strong);--image-editor-panel-soft: color-mix(in srgb, var(--color-bg-base) 88%, var(--color-text-main));--image-editor-body: var(--color-bg-base);--image-editor-stage: var(--color-bg-base);--image-editor-stage-grid: rgba(255, 255, 255, .055);--image-editor-line: var(--color-border-card);--image-editor-line-strong: color-mix(in srgb, var(--color-text-main) 18%, transparent);--image-editor-shadow: var(--shadow-lg)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--color-bg-base);color:var(--color-text-main);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1c1b171f;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#1c1b173d}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff24}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff42}button,input,select,textarea{font:inherit}button{cursor:pointer;outline:none}.app-shell{position:relative;width:100vw;height:100vh;background:var(--color-bg-base)}.canvas-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(28,27,23,.05) 1.5px,transparent 0) 0 0 / 24px 24px,var(--color-bg-base)}:root[data-theme=dark] .canvas-stage{background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1.5px,transparent 0) 0 0 / 24px 24px,radial-gradient(ellipse 80% 60% at 50% 40%,rgba(var(--color-brand-rgb),.04),transparent 70%),var(--color-bg-base)}.ws-gen-add-btn{border:1px solid var(--color-border-card);border-radius:10px;background:var(--color-hover);color:var(--color-text-main);height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none;padding:0;flex-shrink:0}.ws-gen-add-btn:hover{background:color-mix(in srgb,var(--color-text-main) 10%,transparent);border-color:var(--color-border-hover)}.ws-gen-add-btn:active{transform:scale(.95)}.ws-gen-add-btn.active{border-color:rgba(var(--color-brand-rgb),.28);background:var(--color-active-soft)}.lo-drawer-close,.ws-tldraw-left-tools button,.ws-tldraw-zoom-controls button{border:0;background:transparent;color:inherit}.lo-floating-drawer{position:absolute;top:var(--canvas-overlay-top);left:var(--canvas-chrome-gutter);z-index:1200;width:320px;height:var(--canvas-overlay-h);transform:translate(calc(-320px - var(--canvas-chrome-gutter) - 16px));transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;display:flex;flex-direction:column;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:20px;box-shadow:var(--shadow-lg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:0}.lo-floating-drawer.open{transform:translate(0);opacity:1}.lo-drawer-overlay{position:absolute;inset:0;z-index:1100;background:#1c1b1714;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lo-drawer-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 12px}.lo-drawer-header:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:var(--color-border-card)}.lo-drawer-header h3{margin:0;font-family:var(--font-family-title);font-size:14px;font-weight:700;letter-spacing:.2px;color:var(--color-text-main)}.lo-drawer-close{width:26px;height:26px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--color-text-muted);background:var(--color-hover);cursor:pointer;transition:all .2s ease}.lo-drawer-close:hover{background:var(--color-active-soft);color:var(--color-brand-start)}.lo-drawer-content{flex:1;overflow:auto;padding:12px 16px 16px}.lo-drawer-content>.panel-section:last-child{margin-bottom:0}.lo-drawer-content>.panel-section>.list-row:last-child,.lo-drawer-content>.panel-section>.project-row:last-child{margin-bottom:0}.panel-section{margin-bottom:28px}.panel-section h4{margin-bottom:16px;color:var(--color-text-main);font-family:var(--font-family-title);font-size:14.5px;font-weight:700;letter-spacing:.2px;opacity:.95;position:relative;padding-left:12px}.panel-section h4:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:linear-gradient(180deg,var(--color-brand-start) 0%,var(--color-brand-end) 100%);border-radius:2px}.list-row{position:relative;overflow:hidden;width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:8px 14px;margin-bottom:8px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--color-hover) 60%,transparent);color:var(--color-text-main);text-align:left;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1)}.list-row:before{content:"";position:absolute;left:0;top:15%;height:70%;width:3px;background:var(--color-brand-start);border-radius:0 4px 4px 0;opacity:0;transform:scaleY(.4);transition:all .25s cubic-bezier(.16,1,.3,1)}.list-row:hover{background:var(--color-hover);border-color:var(--color-border-card);color:var(--color-brand-start)}.list-row:hover:before{opacity:1;transform:scaleY(1)}.list-row.active{border-color:rgba(var(--color-brand-rgb),.25);background:var(--color-active-soft);color:var(--color-brand-start);font-weight:600}.list-row.active:before{opacity:1;transform:scaleY(1.1);width:4px}.panel-body{display:flex;flex-direction:column;gap:14px;padding:20px}.panel-body label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-muted)}.panel-body input{width:100%;padding:10px 12px;border:1px solid var(--color-border-card);border-radius:8px;background:var(--color-surface-strong);color:var(--color-text-main);transition:border-color .2s,box-shadow .2s;outline:none}.panel-body input:focus{border-color:var(--color-brand-start);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12)}.primary-action{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:0;border-radius:999px;background:var(--color-brand-gradient);color:#fff;font-weight:600;font-size:13px;box-shadow:0 4px 12px rgba(var(--color-brand-rgb),.2);transition:all .2s}.primary-action:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--color-brand-rgb),.3)}.primary-action:active{transform:translateY(0)}.warmsun-modal-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#1c1b171f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto}@keyframes modal-scale-up{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.warmsun-modal-card{width:min(75vw,calc(100vw - 32px));height:75vh;max-width:none;max-height:none;overflow:hidden;border:1px solid var(--color-border-card);border-radius:20px;background:var(--color-surface-strong);box-shadow:var(--shadow-lg);animation:modal-scale-up .3s cubic-bezier(.16,1,.3,1) forwards;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none}.settings-search{position:relative}.settings-search svg{position:absolute;left:12px;top:50%;color:var(--color-text-muted);transform:translateY(-50%);pointer-events:none}.settings-search input{padding-left:34px}.settings-model-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.settings-model-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--color-border-card);border-radius:8px;background:var(--color-surface)}.settings-model-row.enabled{border-color:rgba(var(--color-brand-rgb),.28);background:rgba(var(--color-brand-rgb),.06)}.settings-model-row.stale{opacity:.68}.settings-model-enabled{flex-direction:row!important;align-items:center;align-self:start;gap:8px!important;min-height:28px;color:var(--color-text-main)!important}.settings-model-enabled input{width:auto;padding:0;margin:0;box-shadow:none}.settings-model-main{min-width:0}.settings-model-title{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;color:var(--color-text-main)}.settings-model-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-model-title em{flex:0 0 auto;font-size:11px;font-style:normal;color:var(--color-danger)}.settings-model-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:11px;color:var(--color-text-muted)}.settings-model-meta span{overflow-wrap:anywhere}.settings-model-capabilities{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.settings-model-capability-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgba(var(--color-brand-rgb),.18);border-radius:999px;background:rgba(var(--color-brand-rgb),.08);color:var(--color-brand-start);font-size:11px;font-weight:600}.settings-empty{padding:18px 12px;border:1px dashed var(--color-border-card);border-radius:8px;color:var(--color-text-muted);text-align:center;font-size:12px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-card)}.modal-header h3{margin:0;font-family:var(--font-family-title);font-size:16px;font-weight:700}.modal-close-btn{width:28px;height:28px;border:0;border-radius:50%;background:#1c1b170a;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-muted);transition:all .2s}.modal-close-btn:hover{background:#1c1b1714;color:var(--color-danger)}.reference-delete-overlay{position:fixed;inset:0;z-index:2000;background:#12111661;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);animation:reference-delete-fade .2s ease-out}.reference-delete-dialog{position:fixed;z-index:2001;top:50%;left:50%;width:min(420px,calc(100vw - 32px));overflow:hidden;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--color-text-main) 10%,transparent);border-radius:22px;background:var(--color-surface-strong);box-shadow:0 24px 70px #13101942,0 4px 18px #1310191a;animation:reference-delete-pop .28s cubic-bezier(.16,1,.3,1)}.reference-delete-content{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:24px 24px 18px}.reference-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(var(--color-danger-rgb),.2);border-radius:13px;background:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.reference-delete-copy{min-width:0;padding-top:1px}.reference-delete-copy h3{margin:0;color:var(--color-text-main);font-family:var(--font-family-title);font-size:17px;font-weight:750;letter-spacing:-.01em}.reference-delete-copy p{margin:6px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.55}.reference-delete-preview{grid-column:1 / -1;display:flex;align-items:center;gap:11px;min-width:0;margin-top:3px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--color-text-main) 8%,transparent);border-radius:13px;background:color-mix(in srgb,var(--color-text-main) 3.5%,transparent)}.reference-delete-preview img{width:42px;height:42px;flex:0 0 auto;border-radius:9px;-o-object-fit:cover;object-fit:cover;background:color-mix(in srgb,var(--color-text-main) 7%,transparent)}.reference-delete-preview span{min-width:0;overflow:hidden;color:var(--color-text-main);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.reference-delete-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 24px 20px;border-top:1px solid color-mix(in srgb,var(--color-text-main) 8%,transparent)}.reference-delete-cancel,.reference-delete-confirm{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:11px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.reference-delete-cancel{border:1px solid color-mix(in srgb,var(--color-text-main) 12%,transparent);background:color-mix(in srgb,var(--color-text-main) 3%,transparent);color:var(--color-text-muted)}.reference-delete-cancel:hover{border-color:color-mix(in srgb,var(--color-text-main) 20%,transparent);background:color-mix(in srgb,var(--color-text-main) 7%,transparent);color:var(--color-text-main)}.reference-delete-confirm{border:1px solid color-mix(in srgb,var(--color-danger) 70%,#000 0%);background:var(--color-danger);color:#fff;box-shadow:0 5px 14px rgba(var(--color-danger-rgb),.22)}.reference-delete-confirm:hover{transform:translateY(-1px);filter:saturate(1.08) brightness(1.04);box-shadow:0 8px 20px rgba(var(--color-danger-rgb),.3)}.reference-delete-cancel:focus-visible,.reference-delete-confirm:focus-visible{outline:3px solid rgba(var(--color-brand-rgb),.28);outline-offset:2px}@keyframes reference-delete-fade{0%{opacity:0}to{opacity:1}}@keyframes reference-delete-pop{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ws-tldraw-shell{position:absolute;inset:0;overflow:hidden;background:transparent;z-index:0}.ws-tldraw-wrapper{position:absolute;inset:0;z-index:10}.ws-tldraw-shell .tl-container,.ws-tldraw-shell .tl-canvas,.ws-tldraw-shell .tl-background,.ws-tldraw-shell .tl-layers{background:transparent!important;background-color:transparent!important}.ws-tldraw-shell .tl-grid{opacity:0}.ws-tldraw-left-tools{position:absolute;z-index:1200;left:50%;bottom:var(--canvas-dock-bottom);transform:translate(-50%);display:flex;flex-direction:row;align-items:center;gap:8px;height:44px;padding:0 10px;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);pointer-events:auto;transition:all .3s cubic-bezier(.16,1,.3,1)}.ws-tldraw-left-tools.drawer-open-hide{opacity:0;pointer-events:none;transform:translate(-50%) translateY(60px)}.ws-tldraw-zoom-controls.drawer-open-hide{opacity:0;pointer-events:none;transform:translate(-60px)}.ws-tldraw-left-tools:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.ws-tldraw-left-tools button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-main);transition:all .2s ease}.ws-tldraw-left-tools button:hover{background:var(--color-hover);color:var(--color-brand-start);transform:scale(1.08)}.ws-tldraw-left-tools button.primary{background:var(--color-brand-gradient)!important;color:#fff!important;box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.2)}.ws-tldraw-left-tools button.primary:hover{transform:scale(1.08) translateY(-1px);box-shadow:0 6px 14px rgba(var(--color-brand-rgb),.3)}.ws-add-menu,.ws-upload-submenu{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;min-width:104px;padding:6px;border:1px solid var(--color-border-card);border-radius:var(--radius-md);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.ws-add-menu{left:10px;transform:none}.ws-add-menu button,.ws-upload-submenu button{width:100%;height:30px;justify-content:flex-start;gap:8px;padding:0 8px;border-radius:var(--radius-sm);white-space:nowrap}.ws-add-menu button span,.ws-upload-submenu button span{font-size:12px}.ws-add-menu-upload-flyout{position:relative}.ws-add-menu-upload-flyout:after{content:"";position:absolute;left:100%;bottom:0;width:10px;height:100%}.ws-upload-submenu{top:auto;bottom:0;left:calc(100% + 8px);transform:none;display:none}.ws-add-menu-upload-flyout:hover .ws-upload-submenu,.ws-add-menu-upload-flyout:focus-within .ws-upload-submenu{display:flex}.ws-tool-divider{width:1px;height:20px;background:var(--color-border-card)}.ws-tool-divider.vertical{width:1px;height:16px;background:var(--color-border-card)}.fc-toolbar-pill{position:fixed;top:calc(14px + var(--fc-notify-banner-h, 0px));right:16px;z-index:4000;display:inline-flex;align-items:center;gap:2px;height:38px;padding:2px;border:1px solid var(--color-border-card);border-radius:var(--radius-pill);background:var(--color-surface-strong);box-shadow:var(--shadow-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.fc-toolbar-pill>*+*{position:relative}.fc-toolbar-pill>*+*:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:var(--color-border-card);pointer-events:none}.fc-toolbar-task-slot{display:inline-flex;align-items:center;gap:2px}.fc-toolbar-task-slot:empty{display:none}.fc-toolbar-task-slot>*+*{position:relative}.fc-toolbar-task-slot>*+*:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:var(--color-border-card);pointer-events:none}.ws-task-fab-wrap{position:relative;display:inline-flex;align-items:center}button.ws-task-fab{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-main);cursor:pointer;transition:background .15s ease,color .15s ease}button.ws-task-fab:hover{background:var(--color-hover);color:var(--color-brand-start)}button.ws-task-fab.active{background:var(--color-active-soft);color:var(--color-brand-start)}.ws-task-fab-wrap>[data-tooltip]:after{top:100%;right:0;transform:translateY(6px)}.ws-task-fab-wrap>[data-tooltip]:hover:after{opacity:1;transform:translateY(10px)}.ws-task-fab-wrap.panel-open>[data-tooltip]:after,.ws-task-fab-wrap.panel-open>[data-tooltip]:hover:after{content:none;opacity:0;pointer-events:none}.ws-task-fab-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--color-brand-gradient);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;letter-spacing:-.02em;box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.35);border:1.5px solid var(--color-surface-strong)}.ws-task-panel{position:fixed;top:var(--popover-top);right:var(--popover-right);left:auto;z-index:var(--popover-z-menu);display:flex;flex-direction:column;width:min(348px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 72px));border:1px solid var(--color-border-card);border-radius:var(--popover-radius);background:var(--color-surface-strong);box-shadow:var(--popover-shadow);backdrop-filter:var(--popover-blur);-webkit-backdrop-filter:var(--popover-blur);overflow:hidden;transform-origin:top right;animation:ws-popover-in var(--popover-anim-duration) var(--popover-anim-ease)}@keyframes ws-popover-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ws-task-panel-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ws-task-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 12px 12px 14px;background:linear-gradient(180deg,rgba(var(--color-brand-rgb),.04) 0%,transparent 100%);border-bottom:1px solid var(--color-border-card)}.ws-task-panel-heading{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.ws-task-panel-title{font-family:var(--font-family-title);font-size:13.5px;font-weight:650;letter-spacing:-.01em;color:var(--color-text-main);line-height:1.2}.ws-task-stats{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.ws-task-stat{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text-main) 4%,transparent);border:1px solid transparent;cursor:default;transition:background .15s ease,border-color .15s ease,color .15s ease}.ws-task-stat:hover{border-color:color-mix(in srgb,var(--color-text-main) 6%,transparent);background:color-mix(in srgb,var(--color-text-main) 6%,transparent)}.ws-task-stat.running{color:var(--color-brand-start);background:rgba(var(--color-brand-rgb),.08);border-color:rgba(var(--color-brand-rgb),.12)}.ws-task-stat.succeeded{color:var(--color-success);background:rgba(var(--color-success-rgb),.1);border-color:rgba(var(--color-success-rgb),.14)}.ws-task-stat.failed{color:var(--color-danger);background:rgba(var(--color-danger-rgb),.08);border-color:rgba(var(--color-danger-rgb),.12)}.ws-task-stat.total{color:var(--color-text-main);background:color-mix(in srgb,var(--color-text-main) 4.5%,transparent)}.ws-task-stat-num{line-height:1;min-width:.75em}.ws-task-stats [data-tooltip]:after,.ws-task-panel [data-tooltip]:after{top:100%;left:50%;transform:translate(-50%) translateY(6px)}.ws-task-stats [data-tooltip]:hover:after,.ws-task-panel [data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(10px)}.ws-task-panel button.ws-task-panel-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin-top:-2px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.ws-task-panel button.ws-task-panel-close:hover{background:color-mix(in srgb,var(--color-text-main) 6%,transparent);color:var(--color-text-main)}.ws-task-panel-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:5px;scrollbar-gutter:stable}.ws-task-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 16px 36px;text-align:center;font-size:13px;font-weight:550;color:var(--color-text-main)}.ws-task-empty>svg{color:var(--color-text-muted);opacity:.55;margin-bottom:4px}.ws-task-empty-hint{font-size:11.5px;font-weight:450;color:var(--color-text-muted)}.ws-task-item{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;border-radius:12px;border:1px solid transparent;background:color-mix(in srgb,var(--color-text-main) 2%,transparent);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ws-task-item:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:transparent;transition:background .15s ease}.ws-task-item:hover{background:color-mix(in srgb,var(--color-text-main) 4%,transparent);border-color:var(--color-hover)}.ws-task-item:focus-visible{outline:2px solid rgba(var(--color-brand-rgb),.35);outline-offset:1px}.ws-task-item.running,.ws-task-item.queued{background:rgba(var(--color-brand-rgb),.04)}.ws-task-item.running:before,.ws-task-item.queued:before{background:var(--color-brand-start)}.ws-task-item.running:hover,.ws-task-item.queued:hover{background:rgba(var(--color-brand-rgb),.07);border-color:rgba(var(--color-brand-rgb),.12)}.ws-task-item.succeeded:before{background:var(--color-success);opacity:.55}.ws-task-item.failed{background:rgba(var(--color-danger-rgb),.035)}.ws-task-item.failed:before{background:var(--color-danger)}.ws-task-item.failed:hover{background:rgba(var(--color-danger-rgb),.06);border-color:rgba(var(--color-danger-rgb),.12)}.ws-task-item.canceled{opacity:.78}.ws-task-status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin-top:0;border-radius:9px;background:var(--color-hover);color:var(--color-text-muted)}.ws-task-status.running,.ws-task-status.queued{color:var(--color-brand-start);background:rgba(var(--color-brand-rgb),.12)}.ws-task-status.succeeded{color:var(--color-success);background:rgba(var(--color-success-rgb),.12)}.ws-task-status.failed{color:var(--color-danger);background:rgba(var(--color-danger-rgb),.12)}.ws-task-status.canceled{color:var(--color-text-muted);background:var(--color-hover)}.ws-task-spin{animation:ws-task-spin .9s linear infinite}@keyframes ws-task-spin{to{transform:rotate(360deg)}}.ws-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding-top:1px}.ws-task-info-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ws-task-name{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.ws-task-time{flex-shrink:0;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-muted);letter-spacing:.01em}.ws-task-info-sub{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;color:var(--color-text-muted);line-height:1.3}.ws-task-info-sub .ws-task-kind{padding:2px 7px;border-radius:6px;font-weight:550;color:var(--color-text-main);background:color-mix(in srgb,var(--color-text-main) 6%,transparent)}.ws-task-status-label{padding:2px 7px;border-radius:6px;font-weight:550;background:color-mix(in srgb,var(--color-text-main) 4%,transparent)}.ws-task-status-label.running,.ws-task-status-label.queued{color:var(--color-brand-start);background:rgba(var(--color-brand-rgb),.08)}.ws-task-status-label.succeeded{color:var(--color-success);background:rgba(var(--color-success-rgb),.1)}.ws-task-status-label.failed{color:var(--color-danger);background:rgba(var(--color-danger-rgb),.08)}.ws-task-status-label.canceled{color:var(--color-text-muted)}.ws-task-model{max-width:100%;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.88;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:-.02em}.ws-task-error{margin-top:1px;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:500;line-height:1.35;color:#be123c;background:rgba(var(--color-danger-rgb),.08);border:1px solid rgba(var(--color-danger-rgb),.1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-task-actions{display:flex;align-items:center;gap:3px;flex-shrink:0;margin-top:1px;opacity:.55;transition:opacity .15s ease}.ws-task-item:hover .ws-task-actions,.ws-task-item:focus-within .ws-task-actions{opacity:1}.ws-task-panel .ws-task-actions button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-border-card);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.ws-task-panel .ws-task-actions button:hover{background:var(--color-surface-strong);color:var(--color-text-main);box-shadow:inset 0 0 0 1px #1c1b171a}.ws-task-item.failed .ws-task-actions button:hover{color:var(--color-brand-start);box-shadow:inset 0 0 0 1px rgba(var(--color-brand-rgb),.22);background:rgba(var(--color-brand-rgb),.08)}.ws-tldraw-zoom-controls{position:absolute;z-index:1200;left:var(--canvas-chrome-gutter);bottom:var(--canvas-dock-bottom);display:flex;align-items:center;gap:6px;height:44px;padding:0 10px;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(16px);pointer-events:auto;transition:all .3s cubic-bezier(.16,1,.3,1)}.ws-tldraw-zoom-controls:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.ws-tldraw-zoom-controls button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-main);transition:all .2s}.ws-tldraw-zoom-controls button:hover:not(:disabled){background:var(--color-hover);color:var(--color-brand-start);transform:scale(1.08)}.ws-tldraw-zoom-controls button:disabled{color:var(--color-text-muted);opacity:.5;cursor:default}.ws-zoom-value{min-width:44px;font-size:11px;font-weight:700;text-align:center;color:var(--color-text-muted)}.ws-chat-dock{position:absolute;top:60px;right:16px;z-index:1350;display:flex;flex-direction:column;width:min(400px,calc(100vw - 32px));height:calc(100% - 76px);transform:translate3d(calc(100% + 24px),0,0);opacity:0;pointer-events:none;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface-strong);box-shadow:var(--shadow-lg);backdrop-filter:none;-webkit-backdrop-filter:none;contain:layout style paint;isolation:isolate;will-change:transform,opacity}.ws-chat-dock.open{pointer-events:auto;animation:ws-chat-dock-enter .28s cubic-bezier(.22,1,.36,1) both}@keyframes ws-chat-dock-enter{0%{transform:translate3d(calc(100% + 24px),0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.ws-chat-dock .chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:0;padding:0}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 12px;border-bottom:1px solid var(--color-border-card);flex-shrink:0}.chat-panel-title-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.chat-panel-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel-title-icon{flex-shrink:0;color:var(--color-brand-start)}.chat-panel-subtitle{font-size:11px;font-weight:500;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel-header-actions{display:flex;gap:2px;flex-shrink:0}.chat-icon-btn{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--color-text-muted);transition:all .2s ease;cursor:pointer;padding:0}.chat-icon-btn:hover{background:color-mix(in srgb,var(--color-text-main) 6%,transparent);color:var(--color-brand-start);transform:scale(1.08)}.chat-history{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:hidden;padding:12px 14px 16px}.chat-history-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0;padding-right:2px}.chat-history-item{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 8px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--color-text-main) 3%,transparent);color:var(--color-text-main);padding:8px 34px 8px 10px;text-align:left}.chat-history-item.active{border-color:rgba(var(--color-brand-rgb),.22);background:rgba(var(--color-brand-rgb),.08)}.chat-history-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.chat-history-meta{grid-column:1 / -1;color:var(--color-text-muted);font-size:10px}.chat-history-delete{position:absolute;right:8px;top:50%;width:22px;height:22px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--color-text-muted)}.chat-history-delete:hover{background:rgba(var(--color-danger-rgb),.12);color:var(--color-danger)}.chat-history-empty{color:var(--color-text-muted);font-size:12px;padding:8px 2px}.ws-chat-dock .chat-log,.chat-panel-full .chat-log{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:14px 16px 8px;scroll-behavior:smooth}.chat-empty-state{align-self:center;margin:auto 0;max-width:260px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 12px;text-align:center;color:var(--color-text-muted)}.chat-empty-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.14),rgba(var(--color-brand-rgb),.04));color:var(--color-brand-start);margin-bottom:4px}.chat-empty-state strong{font-size:14px;font-weight:700;color:var(--color-text-main)}.chat-empty-state p{margin:0;font-size:12px;line-height:1.55}.empty-line{align-self:center;margin-top:40px;font-size:12px;color:var(--color-text-muted);text-align:center}.chat-message{position:relative;max-width:min(92%,520px);padding:10px 14px 12px;border-radius:16px;font-size:13px;line-height:1.6;box-shadow:var(--shadow-sm);word-wrap:break-word;margin-bottom:18px}.chat-message:last-child{margin-bottom:8px}.chat-message-content{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;-moz-user-select:text;user-select:text;-webkit-user-select:text;cursor:text}.chat-message-content .chat-md{min-width:0}.chat-typing{display:inline-flex;align-items:center;gap:5px;min-height:18px;padding:2px 0}.chat-typing span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:chat-typing-bounce 1.1s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,80%,to{transform:translateY(0);opacity:.3}40%{transform:translateY(-3px);opacity:.85}}.chat-message-content *{-moz-user-select:text;user-select:text;-webkit-user-select:text}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.chat-message-content h1{font-size:20px}.chat-message-content h2{font-size:18px}.chat-message-content h3{font-size:16px}.chat-message-content h4{font-size:14px}.chat-message-content h5{font-size:13px}.chat-message-content h6{font-size:12px}.chat-message-content h1:first-child,.chat-message-content h2:first-child,.chat-message-content h3:first-child,.chat-message-content h4:first-child,.chat-message-content h5:first-child,.chat-message-content h6:first-child{margin-top:0}.chat-message-content p{margin:8px 0}.chat-message-content p:first-child{margin-top:0}.chat-message-content p:last-child{margin-bottom:0}.chat-message-content br{content:"";display:block;margin-top:.15em}.chat-md>*:first-child{margin-top:0!important}.chat-md>*:last-child{margin-bottom:0!important}.chat-message-content li>p{margin:0}.chat-message-content pre{white-space:pre;word-break:normal;overflow-wrap:normal}.chat-message-content ul,.chat-message-content ol{margin:8px 0;padding-left:24px}.chat-message-content li,.chat-message-content ul ul,.chat-message-content ol ul,.chat-message-content ul ol,.chat-message-content ol ol{margin:4px 0}.chat-message-content strong{font-weight:700}.chat-message-content em{font-style:italic}.chat-message-content code{padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--color-text-main) 8%,transparent);font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.chat-message.user .chat-message-content code{background:#fff3}.chat-message-content pre{margin:12px 0;padding:12px;border-radius:6px;background:#0000000f;overflow-x:auto}.chat-message.user .chat-message-content pre{background:#ffffff26}.chat-message-content pre code{padding:0;background:transparent;font-size:12px;line-height:1.5}.chat-message-content blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid rgba(0,0,0,.2);background:#00000008;font-style:italic}.chat-message.user .chat-message-content blockquote{border-left-color:#fff6;background:#ffffff1a}.chat-message-content a{color:var(--color-brand-start, #ff5c7a);text-decoration:underline}.chat-message-content a:hover{opacity:.8}.chat-message-content hr{margin:16px 0;border:none;border-top:1px solid rgba(0,0,0,.1)}.chat-message-content table{margin:12px 0;border-collapse:collapse;width:100%;font-size:12px}.chat-message-content th,.chat-message-content td{padding:6px 10px;border:1px solid rgba(0,0,0,.15);text-align:left}.chat-message-content th{background:#0000000d;font-weight:600}.chat-message-content img{max-width:100%;border-radius:6px;margin:8px 0}.chat-message-actions{position:absolute;right:0;bottom:0;transform:translateY(calc(100% + 4px));display:flex;justify-content:flex-end;gap:4px;opacity:0;transition:opacity .15s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:2}.chat-message:hover .chat-message-actions,.chat-message:focus-within .chat-message-actions{opacity:1}.chat-message-actions button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:6px;background:color-mix(in srgb,var(--color-text-main) 6%,transparent);color:currentColor;cursor:pointer;transition:all .15s ease}.chat-message-actions button:hover:not(:disabled){background:color-mix(in srgb,var(--color-text-main) 12%,transparent)}.chat-message.user .chat-message-actions button{background:#fff3}.chat-message.user .chat-message-actions button:hover:not(:disabled){background:#ffffff4d}.chat-message.assistant .chat-message-actions{left:0;right:auto}.chat-message-actions button:disabled{cursor:not-allowed;opacity:.45}.chat-message.user{align-self:flex-end;background:var(--color-brand-gradient);color:#fff;border-bottom-right-radius:2px;font-weight:500}.chat-message.assistant{align-self:flex-start;background:color-mix(in srgb,var(--color-text-main) 3%,transparent);color:var(--color-text-main);border-bottom-left-radius:2px;border:1px solid var(--color-border-card)}.chat-input-wrapper{display:flex;flex-direction:column;background:color-mix(in srgb,var(--color-text-main) 3%,transparent);border:1px solid var(--color-border-card);border-radius:16px;padding:10px 12px;margin:0 12px 12px;transition:all .2s ease;position:relative;z-index:10;flex-shrink:0}.chat-input-wrapper:focus-within{background:var(--color-surface-strong);border-color:var(--color-brand-start);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12)}.chat-input-wrapper textarea{width:100%;min-height:54px;max-height:120px;border:0!important;background:transparent!important;padding:4px 0!important;resize:none;font-size:13px;line-height:1.45;color:var(--color-text-main);outline:none!important}.chat-input-actions{display:flex;align-items:center;margin-top:4px;gap:8px}.chat-model-selector-container{position:relative;width:108px;flex:0 0 108px;min-width:0}.chat-preset-selector-container{position:relative;width:116px;flex:0 0 116px;min-width:0}.chat-model-trigger{width:100%;height:28px;border:1px solid var(--color-border-card);border-radius:8px;background:#1c1b1708;color:var(--color-text-muted);padding:0 6px 0 8px;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:4px;cursor:pointer;outline:none;transition:all .2s ease;min-width:0}.chat-model-trigger:hover{background:#1c1b170f;border-color:#1c1b171f;color:var(--color-text-main)}.chat-model-trigger.has-model{color:var(--color-text-main)}.chat-model-trigger-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-model-trigger-arrow{flex-shrink:0;transition:transform .2s ease;opacity:.7}.chat-model-trigger-arrow.open{transform:rotate(180deg)}.chat-model-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;z-index:1500;width:180px;border:1px solid var(--color-border-card);border-radius:12px;background:var(--color-surface-strong);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow:hidden;animation:chat-model-slide-up .2s cubic-bezier(.16,1,.3,1) forwards}.chat-preset-dropdown{width:200px}@keyframes chat-model-slide-up{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-model-dropdown-header{padding:8px 12px 6px;font-size:10px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(0,0,0,.03)}.chat-model-dropdown-list{display:flex;flex-direction:column;max-height:180px;overflow-y:auto;padding:4px}.chat-model-dropdown-list::-webkit-scrollbar{width:4px}.chat-model-dropdown-list::-webkit-scrollbar-track{background:transparent}.chat-model-dropdown-list::-webkit-scrollbar-thumb{background:#1c1b171f;border-radius:99px}.chat-model-dropdown-list::-webkit-scrollbar-thumb:hover{background:#1c1b173d}.chat-model-dropdown-item{width:100%;border:0;background:transparent;padding:6px 10px;font-size:11px;color:var(--color-text-main);text-align:left;border-radius:6px;transition:all .15s ease;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-model-dropdown-item:hover{background:#1c1b170d;color:var(--color-brand-start)}.chat-model-dropdown-item.active{background:rgba(var(--color-brand-rgb),.08);color:var(--color-brand-start);font-weight:600}.chat-input-actions>button,.chat-send-btn{height:28px;padding:0 12px;font-size:12px;font-weight:600;border:0;border-radius:99px;background:var(--color-brand-gradient);color:#fff;box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.2);transition:all .2s;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0}.chat-input-actions>button:hover,.chat-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(var(--color-brand-rgb),.3)}.chat-input-actions>button:disabled,.chat-send-btn:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}.chat-send-spin{animation:chat-send-spin .9s linear infinite}@keyframes chat-send-spin{to{transform:rotate(360deg)}}.chat-model-trigger.is-warning{border-color:rgba(var(--color-danger-rgb),.35);color:var(--color-danger)}.chat-input-hint{margin-top:6px;font-size:11px;color:var(--color-danger);line-height:1.4}.ws-chat-fab{position:absolute;right:16px;bottom:16px;z-index:1360;width:48px;height:48px;border:0;border-radius:50%;background:var(--color-brand-gradient);color:#fff;box-shadow:0 8px 24px rgba(var(--color-brand-rgb),.25);display:inline-flex;align-items:center;justify-content:center;transform:translateZ(0);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;will-change:transform}.ws-chat-fab.shifted{transform:translate3d(calc(-1*min(416px,calc(100vw - 88px))),0,0)}.ws-chat-fab:hover{transform:translateZ(0) scale(1.08) rotate(5deg);box-shadow:0 12px 28px rgba(var(--color-brand-rgb),.35)}.ws-chat-fab.shifted:hover{transform:translate3d(calc(-1*min(416px,calc(100vw - 88px))),0,0) scale(1.08) rotate(5deg)}.ws-chat-fab:active{transform:translateZ(0) scale(.95)}.ws-chat-fab.shifted:active{transform:translate3d(calc(-1*min(416px,calc(100vw - 88px))),0,0) scale(.95)}.tl-watermark_SEE-LICENSE:not([data-mobile=true]){right:72px!important}.tl-watermark_SEE-LICENSE[data-mobile=true]{bottom:72px!important}.ws-ai-object{position:relative;color:var(--color-text-main);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .32s cubic-bezier(.22,1,.36,1),opacity .32s cubic-bezier(.22,1,.36,1),filter .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1);border-radius:20px;pointer-events:auto}@keyframes border-pulse{0%{box-shadow:0 0 rgba(var(--color-brand-rgb),.45),var(--shadow-md)}50%{box-shadow:0 0 0 5px rgba(var(--color-brand-rgb),.18),0 0 18px rgba(var(--color-brand-rgb),.32),var(--shadow-md)}to{box-shadow:0 0 rgba(var(--color-brand-rgb),0),var(--shadow-md)}}.ws-ai-object.running{animation:border-pulse 1.8s infinite ease-in-out}.ws-ai-object-label{position:absolute;left:0;top:-30px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px 3px 8px;border-radius:999px;background:var(--color-surface-strong);box-shadow:0 2px 8px #1c1b1714,inset 0 0 0 1px var(--color-border-card);color:var(--color-text-main);font-family:var(--font-family-title);font-size:11px;font-weight:600;line-height:18px;white-space:nowrap;overflow:visible;text-overflow:ellipsis;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease}.chat-model-provider-group{display:flex;flex-direction:column;gap:2px}.chat-model-provider-name{padding:6px 8px 2px;color:var(--color-text-muted);font-size:10px;font-weight:700;line-height:1.2}.ws-ai-object-title{display:inline-block;max-width:calc(100vw - 48px);overflow:hidden;text-overflow:ellipsis}.ws-ai-object-label .ws-label-editable{cursor:pointer;padding:2px 6px;margin:-2px -6px;border-radius:4px;transition:background-color .15s ease;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ws-ai-object-label .ws-label-editable:hover{background-color:var(--color-hover)}.ws-ai-object-label .ws-label-input{flex:1;min-width:60px;max-width:180px;padding:2px 6px;margin:-2px -6px;background:var(--color-surface-strong);border:1px solid var(--color-brand-start);border-radius:4px;color:var(--color-text-main);font-family:var(--font-family-title);font-size:11px;font-weight:700;line-height:16px;outline:none;box-shadow:0 0 0 2px rgba(var(--color-brand-rgb),.1);pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ws-ai-object .ws-ai-shape{width:100%;height:100%;overflow:hidden}.ws-ai-object.media-object .ws-ai-shape{border:1px solid var(--color-border-card);border-radius:18px;background:var(--color-surface-strong);box-shadow:var(--shadow-sm);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.ws-ai-object.media-object:hover .ws-ai-shape{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.ws-ai-object.text-object .ws-ai-shape{border:1px solid var(--color-border-card);border-radius:18px;background:var(--color-surface-strong);box-shadow:var(--shadow-sm);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.ws-ai-object.text-object:hover .ws-ai-shape{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ws-ai-object .ws-ai-shape img,.ws-ai-object .ws-ai-shape video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ws-ai-video-frame{position:relative;width:100%;height:100%}.ws-ai-video-frame video{width:100%;height:100%}.ws-ai-object.media-object[data-node-type=videoGeneration] .ws-ai-shape video{-o-object-fit:contain;object-fit:contain;background:var(--color-bg-base)}.ws-ai-media-toggle{position:absolute;right:8px;bottom:8px;z-index:4;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#1c1d229e;pointer-events:auto;color:#fff;box-shadow:0 6px 16px #1c1d222e}.ws-ai-media-toggle:hover{background:#1c1d22c7}.ws-ai-audio-object{width:100%;height:100%;background:transparent;pointer-events:auto;overflow:hidden}.ws-custom-audio-player{width:100%;height:100%;padding:16px;background:var(--color-surface);border-radius:inherit;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;pointer-events:auto}.ws-audio-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ws-audio-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.ws-audio-icon{color:var(--color-brand-start);flex-shrink:0}.ws-audio-title{font-size:13px;font-weight:600;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-audio-controls{display:flex;align-items:center;gap:12px;width:100%}.ws-audio-play-btn{width:26px;height:26px;border-radius:50%;background:var(--color-brand-gradient);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.25);transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.ws-audio-play-btn:hover{transform:scale(1.1);box-shadow:0 6px 14px rgba(var(--color-brand-rgb),.35)}.ws-audio-play-btn:active{transform:scale(.95)}.ws-audio-slider-container{flex:1;display:flex;align-items:center}.ws-audio-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;outline:none;cursor:pointer}.ws-audio-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--color-brand-start);box-shadow:0 0 4px rgba(var(--color-brand-rgb),.5);-webkit-transition:transform .15s ease;transition:transform .15s ease}.ws-audio-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.ws-audio-time{font-size:11px;color:var(--color-text-muted);font-family:monospace;white-space:nowrap;flex-shrink:0}.ws-audio-visualizer{display:flex;align-items:flex-end;gap:3px;height:16px;width:28px;flex-shrink:0}.ws-wave-bar{width:3px;background:var(--color-brand-start);border-radius:1px;height:3px;transition:height .25s ease}.ws-audio-visualizer.playing .bar-1{animation:ws-bar-bounce .8s infinite ease-in-out alternate}.ws-audio-visualizer.playing .bar-2{animation:ws-bar-bounce .5s infinite ease-in-out alternate .15s}.ws-audio-visualizer.playing .bar-3{animation:ws-bar-bounce .7s infinite ease-in-out alternate .05s}.ws-audio-visualizer.playing .bar-4{animation:ws-bar-bounce .6s infinite ease-in-out alternate .2s}.ws-audio-visualizer.playing .bar-5{animation:ws-bar-bounce .9s infinite ease-in-out alternate .1s}@keyframes ws-bar-bounce{0%{height:3px;background:var(--color-brand-start)}to{height:14px;background:var(--color-brand-end)}}.ws-edge-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ws-edge-overlay-display{z-index:1}.ws-edge-overlay-interactive{z-index:2}.ws-edge-path-bg{fill:none!important;stroke-width:2.5;stroke-linecap:round;opacity:.24;vector-effect:non-scaling-stroke;transition:opacity .3s ease,stroke-width .3s ease;pointer-events:none}.ws-edge-path-fg{fill:none!important;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.ws-edge-path-hotspot{fill:none!important;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}.ws-edge-group.selected .ws-edge-path-fg{stroke:url(#ws-edge-selected-flow-grad);stroke-width:3.2}.ws-edge-group.selected .ws-edge-path-bg{stroke:var(--color-primary-blue);stroke-width:3.2;opacity:.75}.ws-edge-overlay .ws-edge-preview{stroke:rgba(var(--color-brand-rgb),.82);stroke-dasharray:6 6;stroke-width:2;fill:none!important}@keyframes ws-edge-flow-anim{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.ws-edge-path-fg{stroke-dasharray:24 176;animation:ws-edge-flow-anim 8s infinite linear;opacity:.74}.ws-edge-group.selected .ws-edge-path-fg{opacity:.95}.ws-canvas-moving .ws-edge-group .ws-edge-path-fg{animation:none}.ws-edge-overlay .ws-edge-preview{stroke-dasharray:7 11;animation:ws-edge-preview-anim 1.2s infinite linear;vector-effect:non-scaling-stroke}.ws-canvas-moving .ws-edge-overlay .ws-edge-preview{animation:none}@keyframes ws-edge-preview-anim{to{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.ws-edge-group .ws-edge-path-fg,.ws-edge-overlay .ws-edge-preview{animation:none}}.ws-ai-port{position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;display:none;align-items:center;justify-content:center;border:1px solid var(--color-border-card);border-radius:999px;background:var(--color-surface-strong);color:var(--color-text-muted);box-shadow:var(--shadow-sm);pointer-events:auto;cursor:crosshair}.ws-ai-port.left{left:-44px}.ws-ai-port.right{right:-44px}.ws-ai-port:before{content:"";position:absolute;top:0;bottom:0;width:14px}.ws-ai-port.left:before{right:-14px}.ws-ai-port.right:before{left:-14px}.ws-ai-object.selected .ws-ai-port,.ws-ai-object:hover .ws-ai-port{display:inline-flex}.ws-ai-object.stack-expanded .ws-ai-port,.ws-ai-object.stack-expanded:hover .ws-ai-port,.ws-ai-object.stack-expanded.selected .ws-ai-port{display:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ws-ai-media-placeholder-shimmer{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:linear-gradient(90deg,color-mix(in srgb,var(--color-text-main) 5%,var(--color-surface-strong)) 25%,color-mix(in srgb,var(--color-text-main) 12%,var(--color-surface-strong)),color-mix(in srgb,var(--color-text-main) 5%,var(--color-surface-strong)) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite linear;color:var(--color-text-muted)}.ws-ai-media-placeholder{display:flex;flex-direction:column;width:100%;height:100%;align-items:center;justify-content:center;color:color-mix(in srgb,var(--color-text-muted) 55%,transparent);background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(var(--color-brand-rgb),.06),transparent 72%),var(--color-surface-strong)}.ws-director-cover{position:relative;width:100%;height:100%;overflow:hidden;color:#fffffff5;background:linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.07) 44% 48%,transparent 48% 100%),radial-gradient(circle at 78% 18%,rgba(var(--color-brand-end-rgb),.42),transparent 34%),linear-gradient(145deg,#302630,#171318 56%,#2b1c22)}.ws-director-cover:before{position:absolute;inset:0;z-index:1;opacity:.28;background-image:repeating-linear-gradient(-38deg,transparent 0 18px,rgba(255,255,255,.08) 18px 19px);content:"";pointer-events:none}.ws-director-cover>img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .32s cubic-bezier(.16,1,.3,1)}.ws-ai-object:hover .ws-director-cover.has-cover>img{transform:scale(1.035)}.ws-director-cover-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0d0a0e1a 20%,#0d0a0ebd),linear-gradient(90deg,rgba(var(--color-brand-rgb),.15),transparent 46%);pointer-events:none}.ws-director-cover:not(.has-cover) .ws-director-cover-scrim{background:radial-gradient(circle at 50% 42%,rgba(var(--color-brand-rgb),.2),transparent 54%)}.ws-director-cover-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.46)}.ws-director-cover-content span{color:#ffffffc7;font-size:12px;font-weight:600;letter-spacing:.01em}.ws-director-cover.has-cover .ws-director-cover-content{inset:auto 12px 11px;flex-direction:row;justify-content:flex-start;gap:7px}.ws-ai-object .ws-ai-shape-prompt,.ws-ai-object .ws-ai-shape-text,.ws-ai-object .ws-ai-shape-textarea{height:100%;overflow:hidden;padding:16px;color:var(--color-text-main);font-size:13px;line-height:1.55}.ws-ai-object .ws-ai-shape-textarea{display:block;width:100%;border:0;background:transparent;resize:none;outline:none;pointer-events:auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.ws-ai-object .ws-ai-shape-text{overflow-y:auto;overflow-x:hidden;pointer-events:auto;overscroll-behavior:contain}.ws-ai-object .ws-ai-shape-text::-webkit-scrollbar{width:6px}.ws-ai-object .ws-ai-shape-text::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text-main) 18%,transparent);border-radius:999px}.ws-canvas-markdown{display:flex;flex-direction:column;gap:8px;min-width:0;white-space:normal;overflow-wrap:anywhere}.ws-canvas-markdown h3,.ws-canvas-markdown h4,.ws-canvas-markdown h5,.ws-canvas-markdown p,.ws-canvas-markdown blockquote,.ws-canvas-markdown pre,.ws-canvas-markdown ul,.ws-canvas-markdown ol{margin:0}.ws-canvas-markdown h3{font-size:15px;line-height:1.35}.ws-canvas-markdown h3,.ws-canvas-markdown h4,.ws-canvas-markdown h5,.ws-canvas-markdown p,.ws-canvas-markdown blockquote,.ws-canvas-list-block{position:relative}.ws-canvas-markdown h4{font-size:14px;line-height:1.35}.ws-canvas-markdown h5{font-size:13px;line-height:1.35}.ws-canvas-markdown ul,.ws-canvas-markdown ol{padding-left:18px}.ws-canvas-markdown li+li{margin-top:3px}.ws-canvas-markdown blockquote{padding:6px 8px;border-left:3px solid rgba(var(--color-brand-rgb),.35);border-radius:6px;background:rgba(var(--color-brand-rgb),.06);color:var(--color-text-muted)}.ws-canvas-markdown pre{position:relative;max-width:100%;overflow-x:auto;padding:22px 10px 10px;border-radius:8px;background:var(--color-hover);font-size:12px;line-height:1.45}.ws-canvas-markdown pre code,.ws-canvas-markdown p code,.ws-canvas-markdown li code,.ws-canvas-thinking code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.ws-canvas-markdown p code,.ws-canvas-markdown li code,.ws-canvas-thinking code{padding:1px 4px;border-radius:4px;background:var(--color-hover);font-size:12px}.ws-canvas-code-lang{position:absolute;top:6px;right:8px;color:var(--color-text-muted);font-size:10px}.ws-canvas-markdown a{color:var(--color-brand-start);text-decoration:none}.ws-copy-all-btn,.ws-copy-mini-btn{border:0;border-radius:6px;background:var(--color-hover);color:var(--color-text-muted);cursor:pointer;font-size:11px;line-height:1}.ws-copy-all-btn{align-self:flex-end;padding:5px 8px}.ws-copy-mini-btn{display:inline-flex;align-items:center;height:20px;margin-left:6px;padding:0 6px;vertical-align:middle}.ws-canvas-markdown pre>.ws-copy-mini-btn{position:absolute;top:5px;left:8px}.ws-copy-all-btn:hover,.ws-copy-mini-btn:hover{background:var(--color-active-soft);color:var(--color-brand-start)}.ws-canvas-thinking{padding:8px 10px;border:1px solid rgba(var(--color-brand-rgb),.16);border-radius:8px;background:rgba(var(--color-brand-rgb),.05);color:var(--color-text-muted)}.ws-canvas-thinking summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:var(--color-text-main);font-size:12px;font-weight:700}.ws-canvas-thinking>div{margin-top:6px;white-space:pre-wrap}.ws-ai-object.text-object.editing .ws-ai-shape{border-color:rgba(var(--color-brand-rgb),.32);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.1),var(--shadow-md)}.ws-ai-object .ws-ai-shape-textarea::-moz-placeholder{color:var(--color-text-muted)}.ws-ai-object .ws-ai-shape-textarea::placeholder{color:var(--color-text-muted)}.ws-ai-object .ws-ai-shape-prompt span{color:var(--color-text-muted)}.ws-titlebar{position:absolute;top:var(--fc-notify-banner-h, 0px);left:0;width:100%;z-index:2000;display:flex;align-items:center;gap:8px;padding:var(--canvas-header-top) var(--canvas-chrome-gutter);background:transparent;pointer-events:none}.ws-titlebar-spacer{flex:1}.ws-back-btn-wrapper{position:relative;pointer-events:auto}.ws-back-btn{display:flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:var(--canvas-header-h);height:var(--canvas-header-h);padding:0 8px;border:1px solid var(--color-border-card);background:var(--color-surface);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.ws-back-btn:hover{border-color:var(--color-border-hover);background:var(--color-surface-strong);color:var(--color-brand-start)}.ws-status-beacon{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:auto;transition:all .25s cubic-bezier(.16,1,.3,1)}.ws-ai-object-label .ws-status-beacon{overflow:visible;pointer-events:auto;position:relative;z-index:20;flex:0 0 auto}.ws-status-beacon.idle{background:#1c1d222e}@keyframes beacon-pulse-brand{0%{box-shadow:0 0 rgba(var(--color-brand-rgb),.5);background:rgba(var(--color-brand-rgb),.8)}70%{box-shadow:0 0 0 6px rgba(var(--color-brand-rgb),0);background:rgba(var(--color-brand-end-rgb),1)}to{box-shadow:0 0 rgba(var(--color-brand-rgb),0);background:rgba(var(--color-brand-rgb),.8)}}.ws-status-beacon.running,.ws-status-beacon.queued{animation:beacon-pulse-brand 1.4s infinite ease-in-out}.ws-status-beacon.succeeded{background:var(--color-success);box-shadow:0 0 6px var(--color-success)}@keyframes beacon-pulse-red{0%{box-shadow:0 0 rgba(var(--color-danger-rgb),.6);background:rgba(var(--color-danger-rgb),.8)}50%{box-shadow:0 0 0 5px rgba(var(--color-danger-rgb),0);background:rgba(var(--color-danger-rgb),1)}to{box-shadow:0 0 rgba(var(--color-danger-rgb),0);background:rgba(var(--color-danger-rgb),.8)}}.ws-status-beacon.failed{animation:beacon-pulse-red .8s infinite ease-in-out}.ws-status-beacon.failed[data-tooltip]:before{content:"";position:absolute;inset:-8px;border-radius:50%}.ws-status-beacon.failed[data-tooltip]:after{bottom:calc(100% + 8px);left:50%;width:-moz-max-content;width:max-content;max-width:280px;white-space:normal;overflow-wrap:anywhere;text-align:left;transform:translate(-50%) translateY(4px);pointer-events:none}.ws-status-beacon.failed[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.ws-generation-elapsed{flex:0 0 auto;padding:1px 5px;border-radius:999px;background:#1c1d2214;color:#1c1b179e;font-size:10px;font-weight:700;line-height:14px;font-variant-numeric:tabular-nums}.ws-ai-object.text-object[data-node-type=prompt] .ws-ai-shape{border-left:4px solid var(--color-brand-start);background:#fffdf9;background-image:radial-gradient(rgba(var(--color-brand-rgb),.03) 1px,transparent 0);background-size:8px 8px}.ws-ai-object.text-object[data-node-type=prompt] .ws-ai-shape-prompt{font-style:italic;color:#1c1b17d1}.ws-ai-object.text-object[data-node-type=textGeneration] .ws-ai-shape{position:relative;background:#fafafc}.ws-ai-object.text-object[data-node-type=textGeneration] .ws-ai-shape:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary-blue);z-index:2}.ws-ai-object.text-object[data-node-type=textGeneration] .ws-ai-shape-text{font-family:var(--font-family-body);line-height:1.6;letter-spacing:.01em;padding:16px}.ws-ai-object.media-object .ws-ai-shape img,.ws-ai-object.media-object .ws-ai-shape video{transition:transform .4s cubic-bezier(.16,1,.3,1)}.ws-ai-object.media-object:hover .ws-ai-shape img,.ws-ai-object.media-object:hover .ws-ai-shape video{transform:scale(1.025)}.ws-generation-bar{position:absolute;z-index:1250;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:16px;box-shadow:0 12px 36px #1c1d2214,var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:10px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);min-height:auto;transition:border-color .3s,box-shadow .3s}.ws-generation-bar:before{content:"";position:absolute;left:var(--ws-generation-caret-left, 50%);top:-8px;width:14px;height:14px;transform:translate(-50%) rotate(45deg);border-left:1px solid var(--color-border-card);border-top:1px solid var(--color-border-card);border-top-left-radius:3px;background:var(--color-surface-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.ws-generation-bar.placed-top:before{top:auto;bottom:-8px;border-left:0;border-top:0;border-right:1px solid var(--color-border-card);border-bottom:1px solid var(--color-border-card);border-top-left-radius:0;border-bottom-right-radius:3px}.ws-generation-bar:hover{border-color:var(--color-border-hover)}.ws-generation-bar textarea.ws-generation-prompt{width:100%;min-height:88px;max-height:200px;border:0;outline:none;background:transparent;color:var(--color-text-main);font-size:13px;line-height:1.6;padding:10px 6px;font-family:inherit;resize:vertical;overflow-y:auto;transition:min-height .2s}.ws-generation-bar textarea.ws-generation-prompt:focus{min-height:100px}.ws-generation-bar textarea.ws-generation-prompt::-moz-placeholder{color:#1c1d2257}.ws-generation-bar textarea.ws-generation-prompt::placeholder{color:#1c1d2257}.ws-generation-bar textarea.ws-generation-prompt::-webkit-resizer{background-image:linear-gradient(135deg,transparent 50%,rgba(28,29,34,.1) 50%);background-size:8px 8px;background-repeat:no-repeat;background-position:bottom right}.ws-generation-references{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-bottom:6px;border-bottom:1px solid rgba(28,29,34,.06)}.ws-generation-reference{width:40px;height:40px;position:relative;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.ws-ref-media-container{width:100%;height:100%;border-radius:8px;border:1px solid var(--color-border-card);overflow:hidden;background:var(--color-surface-strong);position:relative;display:flex;align-items:center;justify-content:center}.ws-generation-reference img,.ws-generation-reference video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ws-ref-media-container.previewable{cursor:zoom-in}.ws-ref-media-container.previewable:hover{border-color:var(--color-border-hover)}.ws-ref-delete-btn{position:absolute;top:-5px;right:-5px;width:13px;height:13px;border-radius:50%;background:var(--color-brand-start, #ff5c7a);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.16,1,.3,1);padding:0;box-shadow:0 1px 4px #0003}.ws-ref-delete-btn:hover{background:var(--color-danger);transform:scale(1.1)!important}.ws-generation-reference:hover .ws-ref-delete-btn{opacity:1;transform:scale(1)}.ws-ref-video-badge{position:absolute;bottom:2px;right:2px;background:#0009;color:#fff;border-radius:2px;padding:1px;display:flex;align-items:center;justify-content:center}.ws-ref-index{position:absolute;top:2px;left:2px;background:#000000bf;color:#fff;font-size:10px;font-weight:600;border-radius:3px;padding:1px 4px;line-height:1.2;z-index:5;pointer-events:none}.ws-ref-type-badge{position:absolute;top:2px;left:20px;font-size:10px;font-weight:600;border-radius:3px;padding:1px 4px;line-height:1.2;z-index:5;pointer-events:none;color:#fff}.ws-ref-type-badge.type-image{background:rgba(var(--color-media-image-rgb),.9)}.ws-ref-type-badge.type-video{background:rgba(var(--color-media-video-rgb),.9)}.ws-ref-type-badge.type-audio{background:rgba(var(--color-media-audio-rgb),.9)}.ws-ref-type-badge.type-text{background:#5f6368e6}.ws-gen-prompt-count{position:absolute;top:10px;right:34px;z-index:6;font-size:11px;font-variant-numeric:tabular-nums;line-height:22px;color:var(--color-text-muted);opacity:.7;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.ws-gen-prompt-count.modal{position:static;top:auto;right:auto;line-height:1;opacity:.8;margin-right:2px}.ws-gen-expand-btn{position:absolute;top:8px;right:8px;z-index:6;width:22px;height:22px;border:1px solid var(--color-border-card);border-radius:7px;background:var(--color-surface);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:color .2s,border-color .2s,background .2s}.ws-gen-expand-btn:hover{color:var(--color-text-main);border-color:var(--color-border-hover);background:var(--color-surface-strong)}.ws-ref-group-dot{width:7px;height:7px;border-radius:50%;flex:none}.ws-ref-group-dot.type-image{background:rgba(var(--color-media-image-rgb),.9)}.ws-ref-group-dot.type-video{background:rgba(var(--color-media-video-rgb),.9)}.ws-ref-group-dot.type-audio{background:rgba(var(--color-media-audio-rgb),.9)}.ws-ref-group-count{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#1c1d220f;color:var(--color-text-muted);font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.ws-gen-modal-overlay{position:fixed;inset:0;z-index:4000;background:#14151a6b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.ws-gen-modal{width:min(760px,100%);max-height:min(94vh,860px);min-height:min(520px,72vh);display:flex;flex-direction:column;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.ws-gen-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(28,29,34,.06);flex-shrink:0}.ws-gen-modal-title{font-size:14px;font-weight:600;color:var(--color-text-main)}.ws-gen-modal-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.ws-gen-modal-action,.ws-gen-modal-close{width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;flex-shrink:0}.ws-gen-modal-action:hover,.ws-gen-modal-close:hover{background:#1c1d220f;color:var(--color-text-main)}.ws-gen-preset-selector{position:relative}.ws-gen-preset-dropdown{left:auto;right:0;width:240px}.ws-gen-preset-item{display:flex!important;flex-direction:column;gap:3px;white-space:normal}.ws-gen-preset-item span,.ws-gen-preset-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-gen-preset-item small{color:var(--color-text-muted);font-size:11px;font-weight:400}.ws-gen-dropdown-empty{padding:10px;color:var(--color-text-muted);font-size:12px}.ws-gen-modal-body{padding:16px 18px 18px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.ws-ref-grid{display:flex;flex-direction:column;gap:14px;flex-shrink:0;max-height:180px;overflow-y:auto}.ws-ref-grid-row{display:flex;gap:18px;flex-shrink:0}.ws-ref-grid-row.two .ws-ref-grid-cell{flex:1;min-width:0}.ws-ref-grid-cell{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.ws-ref-grid-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-main);flex-shrink:0}.ws-ref-grid-slots{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.ws-ref-grid-slots .ws-generation-reference{width:48px;height:48px;flex-shrink:0}.ws-ref-slot{width:48px;height:48px;border:1px dashed var(--color-border-hover);border-radius:8px;background:#1c1d2204;color:#1c1d2247;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;flex:none;transition:color .2s,border-color .2s,background .2s}.ws-ref-slot:hover{background:#1c1d220a}.ws-ref-slot.type-image:hover{border-color:rgba(var(--color-media-image-rgb),.7);color:rgba(var(--color-media-image-rgb),.9)}.ws-ref-slot.type-video:hover{border-color:rgba(var(--color-media-video-rgb),.7);color:rgba(var(--color-media-video-rgb),.9)}.ws-ref-slot.type-audio:hover{border-color:rgba(var(--color-media-audio-rgb),.7);color:rgba(var(--color-media-audio-rgb),.9)}.ws-ref-slot-index{position:absolute;top:2px;left:4px;font-size:9px;font-weight:600;line-height:1;color:#1c1d2252;pointer-events:none}.ws-gen-modal-prompt{width:100%;min-height:200px;max-height:none;border:1px solid var(--color-border-card);border-radius:12px;outline:none;background:var(--color-surface-strong);color:var(--color-text-main);font-size:14px;line-height:1.7;padding:14px 16px;font-family:inherit;resize:none;flex-shrink:0}.ws-gen-modal-prompt:focus{border-color:var(--color-border-hover)}.ws-gen-modal-prompt::-moz-placeholder{color:#1c1d2257}.ws-gen-modal-prompt::placeholder{color:#1c1d2257}.ws-rich-prompt-wrap{position:relative;width:100%;display:flex;flex-direction:column;flex:1;min-height:0}.ws-rich-prompt{width:100%;outline:none;font-family:inherit;white-space:pre-wrap;word-break:break-word;overflow-y:auto;cursor:text;color:var(--color-text-main)}.ws-rich-prompt:empty:before{content:attr(data-placeholder);color:#1c1d2257;pointer-events:none}.ws-rich-prompt.bar{min-height:88px;max-height:200px;font-size:13px;line-height:1.7;padding:10px 6px}.ws-rich-prompt.modal{min-height:200px;max-height:none;flex:1;border:1px solid var(--color-border-card);border-radius:12px;font-size:14px;line-height:1.8;padding:14px 16px}.ws-rich-prompt.modal:focus{border-color:var(--color-border-hover)}.ws-token{display:inline-flex;align-items:center;gap:4px;vertical-align:-.4em;height:1.7em;margin:0 3px;padding:0 7px 0 3px;position:relative;border-radius:6px;border:1px solid var(--color-border-card);background:#1c1d220d;line-height:1;white-space:nowrap}.ws-token.type-image{border-color:rgba(var(--color-media-image-rgb),.55)}.ws-token.type-video{border-color:rgba(var(--color-media-video-rgb),.55)}.ws-token.type-audio{border-color:rgba(var(--color-media-audio-rgb),.55)}.ws-token-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ws-token-thumb{width:1.3em;height:1.3em;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.85em;color:var(--color-text-muted);background:#1c1d220f}.ws-token-thumb img,.ws-token-thumb video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ws-token-label{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.86em;font-weight:600;color:var(--color-text-main)}.ws-token-hover-card{position:fixed;z-index:5000;padding:4px;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:10px;box-shadow:var(--shadow-lg);pointer-events:none}.ws-token-hover-card img,.ws-token-hover-card video{display:block;max-width:220px;max-height:220px;border-radius:6px}.ws-token-hover-head{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:6px;background:#14151a9e;color:#fff;font-size:11px;font-weight:600;pointer-events:none}.ws-token-hover-meta{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--color-text-main);font-size:12px;max-width:220px}.ws-token-hover-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-mention-popup{width:-moz-max-content;width:max-content;min-width:160px;max-width:320px;max-height:260px;display:flex;flex-direction:column;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:14px;box-shadow:var(--shadow-lg);z-index:5000;overflow:hidden}.ws-mention-popup-list{overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.ws-mention-item{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border:none;background:transparent;border-radius:10px;cursor:pointer;text-align:left;width:100%}.ws-mention-item:hover,.ws-mention-item.active{background:#1c1d220f}.ws-mention-thumb{width:40px;height:40px;flex:none;border-radius:10px;overflow:hidden;border:1px solid var(--color-border-card);background:var(--color-surface-strong);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.ws-mention-thumb img,.ws-mention-thumb video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ws-mention-label{font-size:13px;font-weight:500;color:var(--color-text-main);white-space:nowrap;padding-right:8px}.ws-generation-controls{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-height:32px;width:100%}.ws-gen-popover-container{position:relative;display:inline-block}.ws-gen-control-btn{border:1px solid var(--color-border-card);border-radius:10px;background:var(--color-hover);color:var(--color-text-main);height:32px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:1;min-width:0;transition:all .2s ease;outline:none}.ws-gen-control-btn:hover{background:color-mix(in srgb,var(--color-text-main) 10%,transparent);border-color:var(--color-border-hover)}.ws-gen-control-btn.active{border-color:rgba(var(--color-brand-rgb),.28);background:var(--color-active-soft)}.ws-gen-control-icon{color:var(--color-brand-start);flex-shrink:0}.ws-btn-text{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;flex-shrink:1;min-width:0}@keyframes dropdown-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ws-gen-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:2100;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:14px;box-shadow:var(--shadow-lg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:10px;animation:dropdown-slide-down .2s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column;gap:8px;color:var(--color-text-main)}.ws-gen-dropdown.ws-gen-preset-dropdown{left:auto;right:0;width:240px}.ws-gen-dropdown.add-dropdown{min-width:44px;width:44px;padding:6px;gap:4px;align-items:center;justify-content:center}.ws-gen-icon-item{width:32px;height:32px;border:none;outline:none;background:transparent;border-radius:8px;color:var(--color-text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1)}.ws-gen-icon-item:hover{background:#1c1b170d;color:var(--color-brand-start, #ff5c7a);transform:scale(1.06)}.ws-gen-icon-item:active{transform:scale(.94)}.ws-gen-dropdown-header{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:2px 6px}.model-dropdown{width:220px}.ws-gen-dropdown-list{display:flex;flex-direction:column;max-height:180px;overflow-y:auto;gap:4px;padding-right:4px}.ws-gen-dropdown-list::-webkit-scrollbar{width:4px}.ws-gen-dropdown-list::-webkit-scrollbar-track{background:transparent}.ws-gen-dropdown-list::-webkit-scrollbar-thumb{background:#1c1b1714;border-radius:2px}.ws-gen-dropdown-list::-webkit-scrollbar-thumb:hover{background:#1c1b1726}.ws-gen-dropdown-group{display:flex;flex-direction:column;gap:2px}.ws-gen-dropdown-group+.ws-gen-dropdown-group{margin-top:6px}.ws-gen-dropdown-group-header,.ws-gen-dropdown-group-title{padding:6px 10px 3px;color:var(--color-text-muted);font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-gen-dropdown-item{border:0!important;background:transparent;width:100%!important;display:block!important;text-align:left;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:500;color:var(--color-text-main);transition:all .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box!important}.ws-gen-dropdown-item:hover{background:#1c1b170d}.ws-gen-dropdown-item.selected{background:rgba(var(--color-brand-rgb),.08);color:var(--color-brand-start);font-weight:600}.resolution-dropdown,.duration-dropdown{width:120px!important}.duration-dropdown .ws-gen-dropdown-item,.resolution-dropdown .ws-gen-dropdown-item{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding-left:6px!important;padding-right:6px!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}.ratio-dropdown{width:204px}.ws-gen-ratio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ws-gen-ratio-grid-item{border:1px solid var(--color-border-card);background:#1c1b1705;border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s ease;outline:none}.ws-gen-ratio-grid-item:hover{background:#1c1b170f;border-color:var(--color-border-hover);transform:translateY(-.5px)}.ws-gen-ratio-grid-item.selected{border-color:rgba(var(--color-brand-rgb),.3);background:rgba(var(--color-brand-rgb),.08);color:var(--color-brand-start);font-weight:700}.ws-ratio-text{font-size:10px}.ws-ratio-preview-box{width:20px;height:20px;border:1px solid currentColor;border-radius:3px;opacity:.65;margin-bottom:5px;display:flex;align-items:center;justify-content:center;pointer-events:none;background:transparent}.ws-ratio-preview-box[data-ratio="1:1"]{width:14px;height:14px}.ws-ratio-preview-box[data-ratio="2:3"]{width:12px;height:18px}.ws-ratio-preview-box[data-ratio="3:2"]{width:18px;height:12px}.ws-ratio-preview-box[data-ratio="3:4"]{width:13px;height:17px}.ws-ratio-preview-box[data-ratio="4:3"]{width:17px;height:13px}.ws-ratio-preview-box[data-ratio="9:16"]{width:10px;height:18px}.ws-ratio-preview-box[data-ratio="16:9"]{width:18px;height:10px}.ws-ratio-preview-box[data-ratio="9:21"]{width:8px;height:18px}.ws-ratio-preview-box[data-ratio="21:9"]{width:18px;height:8px}.ws-gen-btn-cycle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--color-border-card);border-radius:10px;background:#1c1b1708;color:var(--color-text-main);font-size:12px;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);outline:none}.ws-gen-btn-cycle:hover{background:#1c1b170f;border-color:var(--color-border-hover)}.ws-gen-btn-cycle:active{transform:scale(.95);background:#1c1b1714}.ws-generation-actions{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.ws-gen-credit{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 8px;border:1px solid rgba(184,116,26,.18);border-radius:8px;background:#b8741a12;color:var(--color-text-muted);font-size:11px;font-weight:500;white-space:nowrap}.ws-gen-credit svg{color:#b8741a;flex-shrink:0}.ws-gen-credit strong{color:var(--color-text-main);font-size:12px;font-weight:700}.ws-gen-credit.is-insufficient{border-color:rgba(var(--color-danger-rgb),.28);background:rgba(var(--color-danger-rgb),.08);color:var(--color-danger)}.ws-gen-credit.is-insufficient svg,.ws-gen-credit.is-insufficient strong{color:var(--color-danger)}.ws-generation-submit{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 16px;border:0;border-radius:10px;background:var(--color-brand-gradient);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.2);transition:all .2s;outline:none}.ws-generation-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(var(--color-brand-rgb),.35)}.ws-generation-submit:active:not(:disabled){transform:translateY(0)}.ws-generation-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ws-generation-submit.is-credit-blocked:disabled{background:linear-gradient(135deg,#b8a8a4,#978a87);color:#ffffffeb;opacity:.72}.ws-tldraw-shell .tl-container{--color-selection-stroke: rgba(28, 29, 34, .72);--color-selection-fill: rgba(28, 29, 34, .04);--color-selected: var(--color-brand-start);--tl-color-selection-stroke: rgba(28, 29, 34, .72);--tl-color-selection-fill: rgba(28, 29, 34, .04)}:root[data-theme=dark] .ws-tldraw-shell .tl-container,.ws-tldraw-shell .tl-container.tl-theme__dark{--color-selection-stroke: rgba(244, 241, 246, .7);--color-selection-fill: rgba(244, 241, 246, .06);--tl-color-selection-stroke: rgba(244, 241, 246, .7);--tl-color-selection-fill: rgba(244, 241, 246, .06)}.ws-tldraw-zoom-controls button.active{color:var(--color-brand-start)!important;background:rgba(var(--color-brand-rgb),.08)!important}.ws-custom-minimap{position:absolute;left:20px;bottom:72px;z-index:1200;width:200px;height:160px;border:1px solid rgba(28,27,23,.12);border-radius:12px;background:#ffffffd9;box-shadow:0 8px 24px #00000014,0 2px 6px #0000000a,inset 0 0 0 1px #fff6;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);overflow:hidden;display:flex;flex-direction:column;pointer-events:auto;transition:all .3s cubic-bezier(.16,1,.3,1)}.ws-custom-minimap:hover{border-color:rgba(var(--color-brand-rgb),.25);transform:translateY(-2px);box-shadow:0 12px 32px #0000001a,0 3px 8px #0000000f,inset 0 0 0 1px #ffffff80}.ws-minimap-body{flex:1;width:100%;height:100%;position:relative;overflow:hidden;background:linear-gradient(135deg,#f6f6f3f2,#fafaf8e6)}.ws-custom-minimap .tlui-minimap{width:100%!important;height:100%!important;min-height:100%!important;border:0!important;background:transparent!important;padding:0!important}.ws-custom-minimap .tlui-minimap__canvas{background:transparent!important;border:0!important;border-radius:0;overflow:visible}.ws-custom-minimap .tlui-minimap__viewport-bounds{stroke:var(--color-brand-start)!important;stroke-width:2!important;fill:rgba(var(--color-brand-rgb),.08)!important;rx:3;ry:3;transition:all .2s ease}.ws-custom-minimap .tlui-minimap__shapes{opacity:.85}.ws-tldraw-wrapper{--xy-selection-background-color: rgba(var(--color-brand-rgb), .08);--xy-selection-border: 1px dashed rgba(var(--color-brand-rgb), .55);--xy-resize-background-color: var(--color-brand-start);--xy-handle-background-color: var(--color-surface-strong);--xy-handle-border-color: var(--color-border-card);--xy-edge-stroke: rgba(var(--color-brand-rgb), .55);--xy-edge-stroke-selected: var(--color-brand-start);--xy-node-boxshadow-selected: none;--xy-minimap-background-color: transparent;--xy-minimap-mask-background-color: rgba(28, 27, 23, .06);--xy-minimap-mask-stroke-color: var(--color-brand-start);--xy-minimap-mask-stroke-width: 2;--xy-minimap-node-background-color: rgba(var(--color-brand-rgb), .35);--xy-minimap-node-stroke-color: rgba(var(--color-brand-rgb), .75)}:root[data-theme=dark] .ws-tldraw-wrapper{--xy-handle-background-color: var(--color-surface-strong);--xy-handle-border-color: rgba(244, 241, 246, .24);--xy-minimap-mask-background-color: rgba(244, 241, 246, .08)}.ws-tldraw-wrapper .react-flow,.ws-tldraw-wrapper .react-flow__pane,.ws-tldraw-wrapper .react-flow__renderer,.ws-tldraw-wrapper .react-flow__viewport{background:transparent!important;background-color:transparent!important}.ws-tldraw-wrapper .react-flow__node{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;width:auto;font-family:inherit;font-size:inherit;color:inherit;text-align:left}.ws-tldraw-wrapper .react-flow__node.selectable:focus,.ws-tldraw-wrapper .react-flow__node.selectable:focus-visible{outline:none;box-shadow:none}.ws-tldraw-wrapper .react-flow__handle.ws-ai-port{min-width:0;min-height:0;width:30px;height:30px;border:1px solid var(--color-border-card);border-radius:999px;background:var(--color-surface-strong);background-color:var(--color-surface-strong);pointer-events:auto;transform:none;cursor:crosshair}.ws-tldraw-wrapper .react-flow__nodesselection-rect{background:transparent;border:0;outline:none}.ws-tldraw-wrapper .ws-flow-resize-handle{width:10px;height:10px;border:2px solid var(--color-surface-strong);border-radius:3px;background-color:var(--color-brand-start);box-shadow:0 1px 4px #0000002e}.ws-tldraw-wrapper .ws-flow-resize-line{border-color:rgba(var(--color-brand-rgb),.55);border-width:1px}.ws-custom-minimap .react-flow__minimap{position:absolute;inset:0;margin:0;width:100%;height:100%;background:transparent}.ws-custom-minimap .react-flow__minimap-svg{width:100%;height:100%}.ws-custom-minimap .react-flow__minimap-node{rx:2;ry:2}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:9999;background:#1c1d22e0;color:#fff;font-size:11px;font-weight:500;padding:6px 10px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #0000001f,inset 0 0 0 1px #ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ws-tldraw-left-tools [data-tooltip]:after{bottom:100%;left:50%;transform:translate(-50%) translateY(-6px)}.ws-tldraw-left-tools [data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-12px)}.ws-tldraw-zoom-controls [data-tooltip]:after{bottom:100%;left:50%;transform:translate(-50%) translateY(-6px)}.ws-tldraw-zoom-controls [data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-12px)}.ws-grid-item-badge{position:absolute;right:8px;bottom:8px;background:#1c1d22c7;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:10;box-shadow:0 2px 4px #00000026}.ws-ai-media-toolbar{position:absolute;z-index:1300;display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--color-border-card);border-radius:12px;background:var(--color-surface-strong);box-shadow:var(--shadow-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);transform:translate(-50%);pointer-events:auto;color:var(--color-text-main)}.ws-ai-media-toolbar button{width:32px;height:32px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-hover);color:var(--color-text-main);padding:0}.ws-ai-media-toolbar button:hover{background:var(--color-active-soft);color:var(--color-brand-start)}.ws-ai-media-toolbar .ws-toolbar-divider{width:1px;height:20px;background:var(--color-border-card);margin:0 2px}.image-editor-overlay{position:fixed;inset:0;z-index:2147483000;isolation:isolate;background:#0a0a0cc7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.image-editor-container{width:min(1280px,100%);height:min(900px,calc(100dvh - 32px));min-height:0;background:var(--color-surface-strong);border:1px solid color-mix(in srgb,var(--color-text-main) 14%,transparent);border-radius:8px;display:flex;flex-direction:column;box-shadow:0 28px 80px #0000006b,0 3px 12px #0003;overflow:hidden}.image-editor-container--crop{max-width:1220px}.image-editor-container--compose{max-width:1320px}.image-editor-header{flex:0 0 auto;min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:11px 16px 11px 20px;border-bottom:1px solid var(--color-border-card);background:var(--color-surface-strong)}.image-editor-heading{display:flex;align-items:baseline;gap:11px;min-width:0}.image-editor-kicker{color:var(--color-brand-start);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;line-height:1;letter-spacing:0}.image-editor-header h3{margin:0;font-family:var(--font-family-title);font-size:17px;font-weight:700;line-height:1.25;letter-spacing:0;color:var(--color-text-main)}.image-editor-close{width:34px;height:34px;flex:0 0 34px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-main);display:flex;align-items:center;justify-content:center}.image-editor-close:hover{background:rgba(var(--color-danger-rgb),.1);border-color:rgba(var(--color-danger-rgb),.18);color:var(--color-danger)}.image-editor-toolbar{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:52px;padding:8px 16px;border-bottom:1px solid var(--color-border-card);background:var(--color-surface)}.image-editor-tool-label{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding-right:2px;color:var(--color-text-muted);font-size:12px;font-weight:700}.image-editor-text-controls{display:inline-flex;align-items:center;flex:1 1 620px;gap:8px;min-width:0}.image-editor-text-input{width:clamp(150px,22vw,300px);height:34px;padding:0 10px;border:1px solid var(--color-border-card);border-radius:5px;outline:none;color:var(--color-text-main);background:var(--color-surface-strong);font-size:13px}.image-editor-text-input:focus{border-color:var(--color-brand-start);box-shadow:0 0 0 2px rgba(var(--color-brand-rgb),.12)}.image-editor-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border:1px solid var(--color-border-card);border-radius:6px;background:var(--color-surface-strong);color:var(--color-text-main);font-size:13px;font-weight:650;white-space:nowrap}.image-editor-btn:hover:not(:disabled){background:var(--color-hover);border-color:color-mix(in srgb,var(--color-text-main) 18%,transparent)}.image-editor-btn.primary{background:var(--color-brand-start);border-color:var(--color-brand-start);color:#fff}.image-editor-btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand-start) 88%,#1d1b22);border-color:color-mix(in srgb,var(--color-brand-start) 88%,#1d1b22)}.image-editor-btn.danger{background:rgba(var(--color-danger-rgb),.1);border-color:transparent;color:var(--color-danger)}.image-editor-btn.danger:hover:not(:disabled){background:rgba(var(--color-danger-rgb),.2)}.image-editor-btn:disabled{opacity:.42;cursor:not-allowed}.image-editor-divider{flex:0 0 auto;width:1px;height:24px;background:var(--color-border-card);margin:0 2px}.image-editor-segments{display:flex;align-items:center;gap:2px;min-width:0;padding:3px;border:1px solid var(--color-border-card);border-radius:6px;background:color-mix(in srgb,var(--color-text-main) 4%,transparent)}.image-editor-segments button{min-width:44px;height:28px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:700}.image-editor-segments button:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-main)}.image-editor-segments button.active{background:var(--color-surface-strong);color:var(--color-text-main);box-shadow:0 1px 4px #0000001f}.image-editor-segments button:disabled{opacity:.4;cursor:not-allowed}.image-editor-icon-btn{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border-card);border-radius:6px;background:var(--color-surface-strong);color:var(--color-text-main)}.image-editor-icon-btn:hover:not(:disabled){background:var(--color-hover);border-color:color-mix(in srgb,var(--color-text-main) 18%,transparent)}.image-editor-icon-btn:disabled{opacity:.42;cursor:not-allowed}.image-editor-colors{display:flex;align-items:center;gap:5px;padding:3px 5px;border-left:1px solid var(--color-border-card);border-right:1px solid var(--color-border-card)}.image-editor-color{width:22px;height:22px;flex:0 0 22px;padding:0;border:2px solid color-mix(in srgb,var(--color-text-main) 14%,transparent);border-radius:4px;cursor:pointer}.image-editor-color.active{border-color:var(--color-brand-start);box-shadow:0 0 0 2px var(--color-surface-strong),0 0 0 3px var(--color-brand-start)}.image-editor-font-size{display:flex;align-items:center;gap:4px}.image-editor-font-size button{width:30px;height:30px;border:1px solid var(--color-border-card);border-radius:5px;background:var(--color-surface-strong);color:var(--color-text-main);display:flex;align-items:center;justify-content:center}.image-editor-font-size button:hover{background:var(--color-hover);border-color:color-mix(in srgb,var(--color-text-main) 18%,transparent)}.image-editor-font-size span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700;color:var(--color-text-main);min-width:48px;text-align:center}.image-editor-info{margin-left:auto;display:inline-flex;align-items:baseline;gap:4px;min-height:30px;padding:6px 9px;border:1px solid var(--color-border-card);border-radius:5px;background:color-mix(in srgb,var(--color-text-main) 3%,transparent);color:var(--color-text-muted);white-space:nowrap}.image-editor-info strong{color:var(--color-text-main);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:750}.image-editor-info span{font-size:10px;font-weight:700}.image-editor-canvas-wrapper{flex:1;overflow:auto;padding:36px;display:flex;align-items:center;justify-content:center;position:relative;min-height:0}.image-editor-stage{background-color:#191a1d;background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.025) 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.image-compose-media{position:relative;flex:0 0 auto;overflow:hidden;max-width:none;max-height:none;border-radius:2px;outline:1px solid rgba(255,255,255,.16);background:#0f1012;box-shadow:0 16px 38px #00000061,0 2px 8px #00000047;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-compose-media>img{display:block;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:fill;object-fit:fill;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.image-editor-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;touch-action:none}.image-editor-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#ffffffa8;font-size:13px;font-weight:600;text-align:center;pointer-events:none}.image-editor-state.is-error{color:#ff9aab}.image-editor-spin{animation:image-editor-spin .9s linear infinite}@keyframes image-editor-spin{to{transform:rotate(360deg)}}.image-crop-media{position:relative;flex:0 0 auto;overflow:hidden;border:0;outline:1px solid rgba(255,255,255,.18);border-radius:2px;background:#0f1012;box-shadow:0 16px 38px #0000006b,0 2px 8px #0000004d;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-crop-media>img{display:block;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:fill;object-fit:fill;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.image-crop-frame{position:absolute;box-sizing:border-box;border:1px solid rgba(255,255,255,.96);outline:1px solid rgba(0,0,0,.32);box-shadow:0 0 0 9999px #050608a3,inset 0 0 0 1px #ffffff29;cursor:grab;touch-action:none}.image-crop-frame.is-moving{cursor:grabbing}.image-crop-grid{position:absolute;display:block;background:#ffffff6b;box-shadow:0 0 0 .5px #0000002e;pointer-events:none}.image-crop-grid.vertical{top:0;bottom:0;width:1px}.image-crop-grid.horizontal{left:0;right:0;height:1px}.image-crop-grid.vertical.one{left:33.333%}.image-crop-grid.vertical.two{left:66.666%}.image-crop-grid.horizontal.one{top:33.333%}.image-crop-grid.horizontal.two{top:66.666%}.image-crop-handle{position:absolute;z-index:2;width:16px;height:16px;padding:0;border:2px solid #ff6b55;border-radius:3px;background:#fff;box-shadow:0 1px 4px #00000080;touch-action:none}.image-crop-handle.tl{top:5px;left:5px;cursor:nwse-resize}.image-crop-handle.tr{top:5px;right:5px;cursor:nesw-resize}.image-crop-handle.bl{bottom:5px;left:5px;cursor:nesw-resize}.image-crop-handle.br{right:5px;bottom:5px;cursor:nwse-resize}.image-editor-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:58px;padding:10px 16px;border-top:1px solid var(--color-border-card);background:var(--color-surface-strong)}@media(max-width:760px){.image-editor-overlay{padding:0}.image-editor-container{width:100%;height:100dvh;border-right:0;border-left:0;border-radius:0}.image-editor-header{min-height:54px;padding:8px 10px 8px 14px}.image-editor-heading{gap:8px}.image-editor-header h3{font-size:15px}.image-editor-toolbar{min-height:48px;gap:6px;padding:7px 10px}.image-editor-text-controls{flex:1 0 100%;flex-wrap:wrap}.image-editor-text-controls>.image-editor-divider{display:none}.image-editor-text-input{flex:1 1 180px;width:auto}.image-editor-colors{flex:0 0 auto}.image-editor-segments{order:2;flex:1 1 calc(100% - 54px);overflow-x:auto}.image-editor-segments button{flex:1 0 42px;min-width:42px;padding:0 6px}.image-editor-tool-label{order:1}.image-editor-toolbar>.image-editor-divider{display:none}.image-editor-icon-btn{order:3}.image-editor-info{order:4;margin-left:auto}.image-editor-canvas-wrapper{padding:18px}.image-editor-footer{min-height:54px;padding:8px 10px}}@media(max-width:440px){.image-editor-kicker{display:none}.image-editor-colors{order:3;width:100%;justify-content:space-between;border:0;padding:2px 0}.image-editor-font-size{margin-right:auto}.image-editor-canvas-wrapper{padding:14px}}.image-editor-overlay--pro{padding:12px;background:#08090bd1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.image-editor-pro{width:min(1480px,100%);max-width:1480px;height:min(960px,calc(100dvh - 24px));color:#f4f4f5;background:#15171a;border:1px solid #34373d;border-radius:8px;box-shadow:0 28px 90px #0000008f;outline:none}.image-editor-pro-header{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:0 12px 0 14px;border-bottom-color:#303238;background:#17191c}.image-editor-pro-header .image-editor-heading{align-items:center;gap:10px}.image-editor-pro-header .image-editor-heading>div{display:flex;align-items:baseline;gap:9px;min-width:0}.image-editor-pro-header h3{flex:0 0 auto;color:#f7f7f8;font-size:15px;font-weight:720}.image-editor-file-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;border:1px solid #363940;border-radius:6px;background:#22252a;color:#ff725e}.image-editor-file-name{min-width:0;max-width:min(34vw,440px);overflow:hidden;color:#8f939b;font-size:11px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.image-editor-pro-header .image-editor-close{justify-self:end;color:#b7bac1}.image-editor-pro-header .image-editor-close:hover{border-color:#4a3136;background:#302126;color:#ff8b98}.image-editor-history{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #30333a;border-radius:6px;background:#121316}.image-editor-history button,.image-editor-zoom button{width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:#c4c7ce}.image-editor-history button:hover:not(:disabled),.image-editor-zoom button:hover:not(:disabled){background:#2a2d32;color:#fff}.image-editor-history button:disabled{color:#555961;cursor:not-allowed}.image-editor-pro-body{display:flex;flex:1;min-height:0;background:#111316}.image-editor-toolrail{width:56px;flex:0 0 56px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 6px;border-right:1px solid #303238;background:#17191c}.image-editor-toolrail-main,.image-editor-toolrail-bottom{display:flex;flex-direction:column;align-items:center;gap:4px}.image-editor-toolrail button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#a8abb3}.image-editor-toolrail button:hover:not(:disabled){border-color:#383b42;background:#24272c;color:#f7f7f8}.image-editor-toolrail button.active{border-color:#ff6b5594;background:#ff6b5524;color:#ff806d}.image-editor-toolrail button:disabled{color:#4f5259;cursor:not-allowed}.image-editor-toolrail-divider{width:28px;height:1px;margin:4px 0;background:#303238}.image-editor-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.image-editor-properties{min-height:52px;flex:0 0 52px;display:flex;align-items:center;gap:12px;overflow-x:auto;overflow-y:hidden;padding:7px 14px;border-bottom:1px solid #303238;background:#1b1d21;scrollbar-width:none}.image-editor-properties::-webkit-scrollbar{display:none}.image-editor-current-tool{min-width:76px;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #363940;border-radius:5px;background:#24272c;color:#f1f2f4;white-space:nowrap}.image-editor-current-tool svg{color:#ff725e}.image-editor-current-tool strong{font-size:12px;font-weight:700}.image-editor-property-group{min-width:0;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding-left:12px;border-left:1px solid #34373d}.image-editor-property-label{color:#858991;font-size:11px;font-weight:650;white-space:nowrap}.image-editor-colors--pro{gap:5px;padding:0;border:0}.image-editor-colors--pro .image-editor-color{width:22px;height:22px;flex-basis:22px;border-color:#474a51;border-radius:50%}.image-editor-colors--pro .image-editor-color.active{border-color:#f7f7f8;box-shadow:0 0 0 2px #1b1d21,0 0 0 3px #ff6b55}.image-editor-custom-color{position:relative;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;cursor:pointer}.image-editor-custom-color input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.image-editor-custom-color span{position:absolute;inset:2px;border:1px solid #575a62;border-radius:50%}.image-editor-custom-color svg{position:absolute;right:-1px;bottom:-1px;padding:1px;border-radius:50%;background:#f1f2f4;color:#17181c}.image-editor-slider-field input[type=range]{width:118px;height:4px;accent-color:#ff6b55;cursor:pointer}.image-editor-slider-field output,.image-editor-text-size-control output{min-width:48px;color:#d7d9de;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;text-align:right;white-space:nowrap}.image-editor-text-size-control button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #3a3d44;border-radius:4px;background:#24272c;color:#d7d9de}.image-editor-text-size-control button:hover{border-color:#50535b;background:#2d3036}.image-editor-property-delete{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;padding:0;border:1px solid #4b3237;border-radius:4px;background:#2e2024;color:#ff8b98}.image-editor-property-edit{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;padding:0;border:1px solid #3a3d44;border-radius:4px;background:#24272c;color:#d7d9de}.image-editor-property-edit:hover{border-color:#50535b;background:#2d3036;color:#fff}.image-editor-property-delete:hover{border-color:#674149;background:#3a262b}.image-editor-document-meta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#777b83;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;white-space:nowrap}.image-editor-document-meta span+span:before{content:"/";margin-right:6px;color:#4d5057}.image-editor-pro-stage{display:block;flex:1;min-height:0;padding:0;overflow:auto;background:#24262a;background-image:none}.image-editor-workspace{width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content;min-width:100%;min-height:100%;display:grid;place-items:center;padding:34px}.image-editor-pro .image-compose-media{outline-color:#575a61;box-shadow:0 18px 46px #0000007a,0 3px 12px #00000057}.image-editor-inline-text{position:absolute;z-index:4;min-width:80px;min-height:18px;margin:0;padding:0;overflow:auto;resize:none;border:0;border-radius:0;outline:1px solid #ff725e;outline-offset:3px;background:transparent;box-shadow:none;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-weight:600;line-height:1.2;letter-spacing:0;white-space:pre;caret-color:#ff725e}.image-editor-brush-cursor{position:absolute;z-index:5;top:0;left:0;box-sizing:border-box;border:1px solid;border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 0 1px #000000b8;will-change:transform}.image-editor-brush-cursor.is-eraser{border-style:dashed;background:#ffffff12}.image-editor-crop-pro{width:min(1320px,100%);max-width:1320px;height:min(920px,calc(100dvh - 24px));color:#f4f4f5;border-color:#34373d;background:#15171a;box-shadow:0 28px 90px #0000008f}.image-editor-crop-header{min-height:58px;padding:0 12px 0 14px;border-bottom-color:#303238;background:#17191c}.image-editor-crop-header .image-editor-heading{align-items:center;gap:10px}.image-editor-crop-header .image-editor-heading>div{display:flex;align-items:baseline;gap:9px;min-width:0}.image-editor-crop-header h3{color:#f7f7f8;font-size:15px;font-weight:720}.image-editor-crop-pro .image-editor-toolbar{min-height:52px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:7px 14px;border-bottom-color:#303238;background:#1b1d21;scrollbar-width:none}.image-editor-crop-pro .image-editor-toolbar::-webkit-scrollbar{display:none}.image-editor-crop-pro .image-editor-tool-label{color:#c7cad0}.image-editor-crop-pro .image-editor-tool-label svg{color:#ff725e}.image-editor-crop-pro .image-editor-segments{flex:0 0 auto;border-color:#34373d;background:#121316}.image-editor-crop-pro .image-editor-segments button{color:#969aa2}.image-editor-crop-pro .image-editor-segments button:hover:not(:disabled){background:#282b30;color:#fff}.image-editor-crop-pro .image-editor-segments button.active{background:#ff6b5529;color:#ff806d;box-shadow:inset 0 0 0 1px #ff6b5585}.image-editor-crop-pro .image-editor-divider{background:#34373d}.image-editor-crop-pro .image-editor-icon-btn{border-color:#3a3d44;background:#24272c;color:#d7d9de}.image-editor-crop-pro .image-editor-icon-btn:hover:not(:disabled){border-color:#50535b;background:#2d3036}.image-editor-crop-pro .image-editor-info{flex:0 0 auto;border-color:#34373d;background:#16181b;color:#858991}.image-editor-crop-pro .image-editor-info strong{color:#e4e5e8}.image-editor-crop-pro .image-editor-stage{padding:34px;background:#24262a;background-image:none}.image-editor-crop-pro .image-crop-media{outline-color:#575a61;box-shadow:0 18px 46px #0000007a,0 3px 12px #00000057}.image-editor-crop-pro .image-crop-frame{border-color:#fffffffa;outline-color:#0000009e;box-shadow:0 0 0 9999px #050608b3,inset 0 0 0 1px #00000047}.image-editor-crop-pro .image-crop-grid{background:#fff6;box-shadow:0 0 0 .5px #00000059}.image-editor-crop-pro .image-crop-handle{z-index:4;width:28px;height:28px;border:0;border-radius:0;background:transparent;box-shadow:none}.image-editor-crop-pro .image-crop-handle:before{position:absolute;width:13px;height:13px;border-color:#fff;border-style:solid;content:"";filter:drop-shadow(0 1px 1px rgba(0,0,0,.72))}.image-editor-crop-pro .image-crop-handle.tl{top:0;left:0}.image-editor-crop-pro .image-crop-handle.tr{top:0;right:0}.image-editor-crop-pro .image-crop-handle.bl{bottom:0;left:0}.image-editor-crop-pro .image-crop-handle.br{right:0;bottom:0}.image-editor-crop-pro .image-crop-handle.tl:before{top:2px;left:2px;border-width:3px 0 0 3px}.image-editor-crop-pro .image-crop-handle.tr:before{top:2px;right:2px;border-width:3px 3px 0 0}.image-editor-crop-pro .image-crop-handle.bl:before{bottom:2px;left:2px;border-width:0 0 3px 3px}.image-editor-crop-pro .image-crop-handle.br:before{right:2px;bottom:2px;border-width:0 3px 3px 0}.image-editor-crop-pro .image-crop-edge{position:absolute;z-index:3;display:block;padding:0;border:0;background:transparent;touch-action:none}.image-editor-crop-pro .image-crop-edge.t,.image-editor-crop-pro .image-crop-edge.b{right:24px;left:24px;height:32px;cursor:ns-resize}.image-editor-crop-pro .image-crop-edge.t{top:-16px}.image-editor-crop-pro .image-crop-edge.b{bottom:-16px}.image-editor-crop-pro .image-crop-edge.l,.image-editor-crop-pro .image-crop-edge.r{top:24px;bottom:24px;width:32px;cursor:ew-resize}.image-editor-crop-pro .image-crop-edge.l{left:-16px}.image-editor-crop-pro .image-crop-edge.r{right:-16px}.image-editor-crop-pro .image-crop-edge:after{position:absolute;top:50%;left:50%;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-text-main) 72%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-bg-base) 58%,transparent);content:"";transform:translate(-50%,-50%)}.image-editor-crop-pro .image-crop-edge.t:after,.image-editor-crop-pro .image-crop-edge.b:after{width:44px;height:5px}.image-editor-crop-pro .image-crop-edge.l:after,.image-editor-crop-pro .image-crop-edge.r:after{width:5px;height:44px}.image-editor-crop-pro .image-crop-edge:hover:after,.image-editor-crop-pro .image-crop-edge.active:after{background:var(--color-brand-start)}.image-editor-crop-pro .image-editor-footer{border-top-color:#303238;background:#17191c}.image-editor-crop-pro .image-editor-btn{border-color:#393c43;background:#24272c;color:#e3e4e7}.image-editor-crop-pro .image-editor-btn:hover:not(:disabled){border-color:#50535b;background:#2c2f35}.image-editor-crop-pro .image-editor-btn.primary{border-color:#ff6b55;background:#ff6b55;color:#17181c;font-weight:760}.image-editor-crop-pro .image-editor-btn.primary:hover:not(:disabled){border-color:#ff806d;background:#ff806d}.image-editor-inline-text::-moz-placeholder{color:#ffffff73}.image-editor-inline-text::placeholder{color:#ffffff73}.image-editor-pro-footer{min-height:58px;justify-content:space-between;padding:9px 12px 9px 68px;border-top-color:#303238;background:#17191c}.image-editor-zoom{display:inline-flex;align-items:center;gap:1px;padding:2px;border:1px solid #30333a;border-radius:5px;background:#111316}.image-editor-zoom .image-editor-zoom-value{width:54px;color:#d0d2d7;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.image-editor-save-actions{display:flex;align-items:center;gap:7px}.image-editor-pro .image-editor-btn{min-height:34px;border-color:#393c43;background:#24272c;color:#e3e4e7}.image-editor-pro .image-editor-btn:hover:not(:disabled){border-color:#50535b;background:#2c2f35}.image-editor-pro .image-editor-btn.primary{border-color:#ff6b55;background:#ff6b55;color:#17181c;font-weight:760}.image-editor-pro .image-editor-btn.primary:hover:not(:disabled){border-color:#ff806d;background:#ff806d}@media(max-width:760px){.image-editor-overlay--pro{padding:0}.image-editor-pro{height:100dvh;border:0;border-radius:0}.image-editor-pro-header{min-height:54px;padding:0 8px 0 10px}.image-editor-pro-header .image-editor-heading>div{display:block}.image-editor-file-name{display:block;max-width:30vw;margin-top:2px}.image-editor-history button{width:38px;height:34px}.image-editor-pro-body{flex-direction:column}.image-editor-main{order:1}.image-editor-toolrail{order:2;width:100%;height:56px;flex:0 0 56px;flex-direction:row;padding:6px 8px;border-top:1px solid #303238;border-right:0}.image-editor-toolrail-main,.image-editor-toolrail-bottom{flex-direction:row}.image-editor-toolrail button{width:44px;height:44px}.image-editor-toolrail-divider{width:1px;height:28px;margin:0 3px}.image-editor-properties{min-height:58px;flex-basis:58px;padding:7px 10px}.image-editor-colors--pro{width:auto}.image-editor-colors--pro .image-editor-color,.image-editor-custom-color,.image-editor-text-size-control button,.image-editor-property-edit,.image-editor-property-delete{width:44px;height:44px;flex-basis:44px}.image-editor-workspace{padding:18px}.image-editor-pro-footer{min-height:54px;padding:8px}.image-editor-crop-pro{height:100dvh;border:0;border-radius:0}.image-editor-crop-header{min-height:54px;padding:0 8px 0 10px}.image-editor-crop-header .image-editor-heading>div{display:block}.image-editor-crop-pro .image-editor-toolbar{flex-wrap:nowrap;padding:7px 10px}.image-editor-crop-pro .image-editor-segments{order:initial;flex:0 0 auto}.image-editor-crop-pro .image-editor-icon-btn{order:initial}.image-editor-crop-pro .image-editor-info{order:initial;margin-left:auto}.image-editor-crop-pro .image-editor-stage{padding:18px}.image-editor-crop-pro .image-crop-edge.t,.image-editor-crop-pro .image-crop-edge.b{height:44px}.image-editor-crop-pro .image-crop-edge.t{top:-22px}.image-editor-crop-pro .image-crop-edge.b{bottom:-22px}.image-editor-crop-pro .image-crop-edge.l,.image-editor-crop-pro .image-crop-edge.r{width:44px}.image-editor-crop-pro .image-crop-edge.l{left:-22px}.image-editor-crop-pro .image-crop-edge.r{right:-22px}}@media(max-width:620px){.image-editor-pro-footer{flex-wrap:nowrap;gap:7px}.image-editor-zoom{flex:0 0 auto}.image-editor-save-actions{width:auto;min-width:0;margin-left:auto}.image-editor-save-actions .image-editor-btn{min-width:44px;padding-right:8px;padding-left:8px}.image-editor-save-actions .image-editor-btn:first-child{display:none}.image-editor-save-actions .image-editor-btn:nth-child(2) span{display:none}.image-editor-slider-field input[type=range]{width:92px}}@media(max-width:390px){.image-editor-zoom button:first-child,.image-editor-zoom button:nth-child(3){display:none}}@media(max-width:420px){.image-editor-file-icon{display:none}.image-editor-pro-header{grid-template-columns:minmax(0,1fr) auto auto;gap:4px}.image-editor-pro-header h3{font-size:14px}.image-editor-toolrail{overflow-x:auto}.image-editor-workspace{padding:12px}.image-editor-save-actions .image-editor-btn:first-child{display:none}}.image-editor-overlay--pro{background:var(--image-editor-overlay)}.image-editor-pro,.image-editor-crop-pro{color:var(--color-text-main);background:var(--image-editor-panel);border-color:var(--image-editor-line);box-shadow:var(--image-editor-shadow)}.image-editor-pro-header,.image-editor-crop-header,.image-editor-pro-footer,.image-editor-crop-pro .image-editor-footer{background:var(--image-editor-panel);border-color:var(--image-editor-line)}.image-editor-pro-header h3,.image-editor-crop-header h3,.image-editor-pro .image-editor-heading,.image-editor-crop-pro .image-editor-heading{color:var(--color-text-main)}.image-editor-file-name{color:var(--color-text-muted)}.image-editor-file-icon{border-color:var(--image-editor-line);background:color-mix(in srgb,var(--color-text-main) 7%,transparent);color:var(--color-brand-start)}.image-editor-pro-header .image-editor-close,.image-editor-crop-header .image-editor-close{color:var(--color-text-muted)}.image-editor-pro-header .image-editor-close:hover,.image-editor-crop-header .image-editor-close:hover{border-color:rgba(var(--color-danger-rgb),.22);background:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.image-editor-history,.image-editor-zoom{border-color:var(--image-editor-line);background:color-mix(in srgb,var(--color-bg-base) 82%,var(--color-text-main))}.image-editor-history button,.image-editor-zoom button{color:var(--color-text-muted)}.image-editor-history button:hover:not(:disabled),.image-editor-zoom button:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-main)}.image-editor-pro-body{background:var(--image-editor-body)}.image-editor-toolrail{border-color:var(--image-editor-line);background:var(--image-editor-panel)}.image-editor-toolrail button{color:var(--color-text-muted)}.image-editor-toolrail button:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-hover);color:var(--color-text-main)}.image-editor-toolrail button.active{border-color:rgba(var(--color-brand-rgb),.58);background:var(--color-active-soft);color:var(--color-brand-start)}.image-editor-toolrail-divider,.image-editor-properties,.image-editor-property-group{border-color:var(--image-editor-line)}.image-editor-properties{background:var(--image-editor-panel-soft)}.image-editor-current-tool,.image-editor-text-size-control button,.image-editor-property-edit{border-color:var(--image-editor-line-strong);background:color-mix(in srgb,var(--color-text-main) 6%,transparent);color:var(--color-text-main)}.image-editor-property-label,.image-editor-document-meta{color:var(--color-text-muted)}.image-editor-current-tool svg{color:var(--color-brand-start)}.image-editor-text-size-control button:hover,.image-editor-property-edit:hover{border-color:var(--color-border-hover);background:var(--color-hover);color:var(--color-text-main)}.image-editor-colors--pro .image-editor-color{border-color:var(--image-editor-line-strong)}.image-editor-colors--pro .image-editor-color.active{border-color:var(--color-text-main);box-shadow:0 0 0 2px var(--image-editor-panel-soft),0 0 0 3px var(--color-brand-start)}.image-editor-custom-color span{border-color:var(--image-editor-line-strong)}.image-editor-custom-color svg{background:var(--color-text-main);color:var(--image-editor-panel)}.image-editor-slider-field input[type=range]{accent-color:var(--color-brand-start)}.image-editor-slider-field output,.image-editor-text-size-control output,.image-editor-zoom .image-editor-zoom-value{color:var(--color-text-main)}.image-editor-property-delete{border-color:rgba(var(--color-danger-rgb),.34);background:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.image-editor-property-delete:hover{border-color:rgba(var(--color-danger-rgb),.52);background:rgba(var(--color-danger-rgb),.16)}.image-editor-pro-stage,.image-editor-crop-pro .image-editor-stage{background:var(--image-editor-stage);background-image:radial-gradient(circle at 1px 1px,var(--image-editor-stage-grid) 1px,transparent 0);background-size:24px 24px}:root[data-theme=dark] .image-editor-pro-stage,:root[data-theme=dark] .image-editor-crop-pro .image-editor-stage{background-image:radial-gradient(circle at 1px 1px,var(--image-editor-stage-grid) 1px,transparent 0),radial-gradient(ellipse 80% 60% at 50% 40%,rgba(var(--color-brand-rgb),.04),transparent 70%);background-size:24px 24px,auto}.image-editor-pro .image-compose-media,.image-editor-crop-pro .image-crop-media{outline-color:var(--image-editor-line-strong);box-shadow:var(--shadow-lg)}.image-editor-inline-text{outline-color:var(--color-brand-start);caret-color:var(--color-brand-start)}.image-editor-inline-text::-moz-placeholder{color:var(--color-text-muted)}.image-editor-inline-text::placeholder,.image-editor-document-meta span+span:before{color:var(--color-text-muted)}.image-editor-pro .image-editor-btn,.image-editor-crop-pro .image-editor-btn,.image-editor-crop-pro .image-editor-icon-btn{border-color:var(--image-editor-line-strong);background:color-mix(in srgb,var(--color-text-main) 6%,transparent);color:var(--color-text-main)}.image-editor-pro .image-editor-btn:hover:not(:disabled),.image-editor-crop-pro .image-editor-btn:hover:not(:disabled),.image-editor-crop-pro .image-editor-icon-btn:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-hover)}.image-editor-pro .image-editor-btn.primary,.image-editor-crop-pro .image-editor-btn.primary{border-color:var(--color-brand-start);background:var(--color-brand-gradient);color:#fff}.image-editor-pro .image-editor-btn.primary:hover:not(:disabled),.image-editor-crop-pro .image-editor-btn.primary:hover:not(:disabled){border-color:var(--color-brand-end);background:linear-gradient(135deg,var(--color-brand-end),var(--color-brand-start))}.image-editor-crop-pro .image-editor-toolbar{background:var(--image-editor-panel-soft);border-color:var(--image-editor-line)}.image-editor-crop-pro .image-editor-tool-label{color:var(--color-text-muted)}.image-editor-crop-pro .image-editor-tool-label svg{color:var(--color-brand-start)}.image-editor-crop-pro .image-editor-segments,.image-editor-crop-pro .image-editor-info{border-color:var(--image-editor-line);background:color-mix(in srgb,var(--color-bg-base) 82%,var(--color-text-main))}.image-editor-crop-pro .image-editor-segments button,.image-editor-crop-pro .image-editor-info{color:var(--color-text-muted)}.image-editor-crop-pro .image-editor-info strong{color:var(--color-text-main)}.image-editor-crop-pro .image-editor-segments button:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-main)}.image-editor-crop-pro .image-editor-segments button.active{background:var(--color-active-soft);color:var(--color-brand-start);box-shadow:inset 0 0 0 1px rgba(var(--color-brand-rgb),.52)}.image-editor-crop-pro .image-crop-frame{border-color:var(--color-text-main);outline-color:color-mix(in srgb,var(--color-bg-base) 66%,transparent)}.image-editor-crop-pro .image-crop-grid{background:color-mix(in srgb,var(--color-text-main) 36%,transparent)}.image-editor-crop-pro .image-crop-handle:before{border-color:var(--color-text-main)}.ws-custom-minimap{border-color:var(--color-border-card);background:var(--color-surface-strong);box-shadow:var(--shadow-md),inset 0 0 0 1px color-mix(in srgb,var(--color-text-main) 7%,transparent)}.ws-custom-minimap:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg),inset 0 0 0 1px color-mix(in srgb,var(--color-text-main) 9%,transparent)}.ws-minimap-body{background:var(--color-bg-base)}.video-frame-extractor{width:min(960px,95vw);height:auto;max-height:92vh}.video-frame-stage{flex:0 0 auto;width:100%;aspect-ratio:16 / 9;padding:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-frame-player{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000;cursor:pointer}.video-frame-empty{width:100%;height:100%;min-height:320px;display:flex;align-items:center;justify-content:center;color:#ffffff4d;border:2px dashed rgba(255,255,255,.12);border-radius:12px}.video-frame-controls{flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--color-border-card);background:#ffffffa6}.video-step-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--color-text-main);background:#1c1d220d;border:1px solid var(--color-border-card);border-radius:50%;cursor:pointer;transition:background .2s,color .2s,transform .15s cubic-bezier(.16,1,.3,1)}.video-step-btn:hover:not(:disabled){background:rgba(var(--color-brand-rgb),.1);color:var(--color-brand-start);transform:scale(1.06)}.video-step-btn:active:not(:disabled){transform:scale(.96)}.video-step-btn:disabled{opacity:.4;cursor:not-allowed}.video-play-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:#fff;background:var(--color-brand-gradient);border:none;border-radius:50%;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,opacity .2s;box-shadow:0 2px 8px rgba(var(--color-brand-rgb),.3)}.video-play-btn:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 14px rgba(var(--color-brand-rgb),.45)}.video-play-btn:active:not(:disabled){transform:scale(.98)}.video-play-btn:disabled{opacity:.4;cursor:not-allowed}.video-timeline-field{flex:1;display:flex;align-items:center;min-width:0}.video-timeline{width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--color-brand-start) 0%,var(--color-brand-end) var(--progress, 0%),rgba(28,29,34,.1) var(--progress, 0%),rgba(28,29,34,.1) 100%);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.video-timeline:disabled{cursor:default;opacity:.5}.video-timeline::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000040,0 0 0 3px var(--color-brand-start);-webkit-transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s}.video-timeline::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 2px 8px #0000004d,0 0 0 4px var(--color-brand-start)}.video-timeline::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}.video-timeline::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000040,0 0 0 3px var(--color-brand-start);-moz-transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s}.video-timeline::-moz-range-thumb:hover{transform:scale(1.18);box-shadow:0 2px 8px #0000004d,0 0 0 4px var(--color-brand-start)}.video-timeline::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.05)}.video-time-display{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--color-text-main);white-space:nowrap;letter-spacing:.3px}.video-time-sep{margin:0 2px;color:var(--color-text-muted);font-weight:400}.video-frame-error{padding:12px 20px;background:linear-gradient(90deg,rgba(var(--color-danger-rgb),.08),rgba(var(--color-danger-rgb),.04));border-left:4px solid var(--color-danger);color:var(--color-danger);font-size:13px;font-weight:500}@media(max-width:720px){.video-frame-stage{padding:16px}.video-frame-controls{gap:12px;padding:12px 16px}.video-time-display{font-size:12px}}.ws-ai-object .ws-ai-shape.ws-ai-shape-stacked{overflow:visible}.ws-image-stack{position:relative;width:100%;height:100%}.ws-image-stack-front{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;z-index:2}.ws-image-stack-front img,.ws-image-stack-front video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ws-image-stack-layer{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.ws-image-stack-layer img,.ws-image-stack-layer video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;filter:brightness(.82) saturate(.9)}.ws-image-stack-layer-mask{position:absolute;inset:0;background:#0000001f;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border-radius:inherit}.ws-image-stack-layer.layer-1{transform:translate(5px,5px) scale(.96);z-index:1;border:1px solid var(--color-border-card);background:var(--color-surface)}.ws-image-stack-layer.layer-2{transform:translate(9px,9px) scale(.92);z-index:0;border:1px solid var(--color-border-card);background:var(--color-surface)}.ws-image-stack-layer.layer-3{transform:translate(13px,13px) scale(.88);z-index:-1;border:1px solid var(--color-border-card);background:var(--color-surface)}.ws-image-stack-layer.layer-4{transform:translate(17px,17px) scale(.84);z-index:-2;border:1px solid var(--color-border-card);background:var(--color-surface)}.ws-grid-item-index{position:absolute;right:6px;bottom:6px;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:#1c1d22ad;color:#fff;font-size:10px;font-weight:700;border-radius:6px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:4}.ws-stack-expand-btn{position:absolute;top:8px;right:8px;z-index:10;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#1c1d22a3;color:#fff;font-size:11px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000038;pointer-events:auto;white-space:nowrap;transition:background .15s ease,transform .12s ease}.ws-stack-expand-btn:hover{background:#1c1d22db;transform:scale(1.05)}.ws-stack-expand-btn:active{transform:scale(.96)}.ws-ai-object .ws-ai-shape.ws-ai-shape-expanded{overflow:visible}.ws-image-grid{display:grid;width:100%;height:100%}.ws-grid-item{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;background:var(--color-surface);border:2px solid transparent;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.ws-grid-item img,.ws-grid-item video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;pointer-events:none}.ws-grid-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:scale(1.02)}.ws-grid-item.active{border-color:var(--color-brand-start);box-shadow:0 0 0 2px rgba(var(--color-brand-rgb),.25),var(--shadow-md)}.ws-grid-item .ws-stack-expand-btn{position:absolute;top:6px;right:6px;z-index:5}.ws-grid-item-label{position:absolute;bottom:0;left:0;right:0;padding:20px 8px 6px;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);color:#fff;font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;border-radius:0 0 14px 14px}.ws-ai-media-toolbar,.ws-generation-bar{transition:opacity .25s cubic-bezier(.16,1,.3,1),visibility .25s!important}.ws-canvas-moving .ws-ai-media-toolbar,.ws-canvas-moving .ws-generation-bar,.ws-canvas-connecting .ws-ai-media-toolbar,.ws-canvas-connecting .ws-generation-bar{opacity:0!important;pointer-events:none!important;visibility:hidden!important;transition:opacity .16s ease-out,visibility .16s!important}.ws-canvas-moving .ws-ai-media-generating-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}.ws-canvas-moving .ws-ai-generating-aurora,.ws-canvas-moving .ws-ai-generating-grid,.ws-canvas-moving .ws-ai-generating-shimmer{display:none}.ws-canvas-moving .ws-image-stack-layer img{filter:none}.ws-canvas-moving .ws-image-stack-layer-mask,.ws-canvas-moving .ws-stack-expand-btn,.ws-canvas-moving .ws-grid-item-index{backdrop-filter:none;-webkit-backdrop-filter:none}.ws-double-click-menu{position:absolute;z-index:2000;width:168px;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:14px;padding:6px;box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:2px;animation:ws-menu-appear .16s cubic-bezier(.16,1,.3,1);transform-origin:top left}.ws-media-context-menu{position:absolute;z-index:2100;overflow:visible}.ws-media-export-flyout{position:relative}.ws-media-export-flyout:after{content:"";position:absolute;left:100%;top:-6px;width:12px;height:calc(100% + 12px)}.ws-media-export-trigger{cursor:default}.ws-media-export-chevron{margin-left:auto}.ws-media-export-submenu{position:absolute;left:calc(100% + 6px);top:-6px;display:none;width:120px;z-index:2110}.ws-media-export-flyout:hover .ws-media-export-submenu,.ws-media-export-flyout:focus-within .ws-media-export-submenu{display:flex}@keyframes ws-menu-appear{0%{opacity:0;transform:scale(.92) translate(-6px,-6px)}to{opacity:1;transform:scale(1) translate(0)}}.ws-double-click-menu-group{display:flex;flex-direction:column;gap:1px}.ws-double-click-menu-title{font-family:var(--font-family-title);font-size:11px;font-weight:700;color:var(--color-text-muted);padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.08em}.ws-double-click-menu-divider{height:1px;background:var(--color-border-card);margin:4px 6px}.ws-double-click-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text-main);font-size:13px;font-weight:500;text-align:left;transition:all .15s ease}.ws-double-click-menu-item:hover{background:rgba(var(--color-brand-rgb),.08);color:var(--color-brand-start)}.ws-double-click-menu-item svg{color:var(--color-text-muted);transition:color .15s ease}.ws-double-click-menu-item:hover svg{color:var(--color-brand-start)}.ws-double-click-menu-item.danger{color:var(--color-danger)}.ws-double-click-menu-item.danger svg{color:var(--color-danger)}.ws-double-click-menu-item.danger:hover{color:var(--color-danger);background:rgba(var(--color-danger-rgb),.1)}.ws-ai-object.media-object .ws-ai-shape>img,.ws-ai-object.media-object .ws-ai-shape>video,.ws-ai-object.media-object .ws-ai-shape .ws-ai-video-frame,.ws-ai-object.media-object .ws-ai-shape .ws-ai-video-frame video,.ws-ai-object.media-object .ws-ai-shape .ws-image-grid{border-radius:17px!important;overflow:hidden!important}.ws-ai-media-generating-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1c1d2273;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border-radius:17px;z-index:5;overflow:hidden}.ws-ai-media-generating-overlay.failed{background:#441616b8}.ws-ai-generating-aurora{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.ws-ai-generating-aurora:before,.ws-ai-generating-aurora:after{content:"";position:absolute;border-radius:50%;filter:blur(40px);opacity:.6;mix-blend-mode:screen}.ws-ai-generating-aurora:before{width:140%;height:140%;top:-30%;left:-20%;background:radial-gradient(circle,rgba(var(--color-brand-rgb),.35) 0%,transparent 70%);animation:aurora-move-1 8s infinite alternate ease-in-out}.ws-ai-generating-aurora:after{width:120%;height:120%;bottom:-20%;right:-20%;background:radial-gradient(circle,rgba(236,72,153,.3) 0%,transparent 70%);animation:aurora-move-2 6s infinite alternate ease-in-out}@keyframes aurora-move-1{0%{transform:translate(0) scale(1)}50%{transform:translate(15%,10%) scale(1.1)}to{transform:translate(-10%,15%) scale(.95)}}@keyframes aurora-move-2{0%{transform:translate(0) scale(1)}50%{transform:translate(-15%,-10%) scale(1.05)}to{transform:translate(10%,-5%) scale(.9)}}.ws-ai-generating-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);background-size:14px 14px;z-index:2;pointer-events:none}.ws-ai-generating-shimmer{position:absolute;inset:-100% -50%;background:linear-gradient(95deg,transparent 35%,rgba(255,255,255,0) 42%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 58%,transparent 65%);z-index:3;pointer-events:none;transform:rotate(-15deg);animation:ws-shimmer-sweep 2.4s infinite cubic-bezier(.25,1,.5,1)}@keyframes ws-shimmer-sweep{0%{transform:translate(-100%,-30%) rotate(-15deg)}to{transform:translate(100%,30%) rotate(-15deg)}}.ws-ai-media-generating-content{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;animation:ws-generating-fade-in .4s cubic-bezier(.16,1,.3,1)}@keyframes ws-generating-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.animate-sparkle-glow{color:#ff5c7a;filter:drop-shadow(0 0 8px rgba(var(--color-brand-rgb),.6)) drop-shadow(0 0 16px rgba(var(--color-brand-rgb),.3));animation:ws-sparkle-glow 1.8s infinite ease-in-out;margin-bottom:2px}@keyframes ws-sparkle-glow{0%,to{transform:scale(1) rotate(0);opacity:.85}50%{transform:scale(1.18) rotate(15deg);filter:drop-shadow(0 0 12px rgba(var(--color-brand-rgb),.95)) drop-shadow(0 0 4px #ffd235);opacity:1}}.ws-ai-generating-text{font-size:13px;font-weight:600;color:#fff;letter-spacing:.08em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.ws-ai-media-generating-overlay.failed .ws-ai-generating-text{max-width:calc(100% - 32px);line-height:1.45;letter-spacing:0;overflow-wrap:anywhere}.ws-ai-generating-model{font-size:10px;font-weight:600;color:#ffffffe6;background:#ffffff1f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.15);font-family:var(--font-family-mono),monospace;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px #00000026;text-shadow:0 1px 2px rgba(0,0,0,.2)}.ws-image-stack{position:relative;width:100%;height:100%;border-radius:16px}.ws-image-stack-front{position:relative;z-index:5;width:100%;height:100%;border-radius:17px}.ws-image-stack-front>img,.ws-image-stack-front>video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:17px;border:1px solid var(--color-border-card);box-shadow:var(--shadow-sm);background:var(--color-surface-strong);transition:transform .35s cubic-bezier(.16,1,.3,1)}.ws-image-stack-layer{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:17px;border:1px solid var(--color-border-card);background:var(--color-surface-strong);box-shadow:var(--shadow-sm);transition:all .35s cubic-bezier(.16,1,.3,1);pointer-events:none;overflow:hidden}.ws-image-stack-layer img{position:absolute;width:116%;height:116%;left:-8%;top:-8%;-o-object-fit:cover;object-fit:cover;border-radius:14px;filter:blur(16px) saturate(1.2)}.ws-image-stack-layer .ws-grid-item-index{display:none!important}.ws-image-stack-layer-mask{position:absolute;inset:0;background:#1c1d221f;-webkit-backdrop-filter:brightness(.92) contrast(.96);backdrop-filter:brightness(.92) contrast(.96);pointer-events:none}.ws-image-stack-layer.layer-1{transform:translate(8px,8px) scale(1);z-index:4;opacity:.9}.ws-image-stack-layer.layer-2{transform:translate(16px,16px) scale(1);z-index:3;opacity:.75}.ws-image-stack-layer.layer-3{transform:translate(24px,24px) scale(1);z-index:2;opacity:.6}.ws-image-stack-layer.layer-4{transform:translate(32px,32px) scale(1);z-index:1;opacity:.45}.ws-ai-object.media-object:hover .ws-image-stack-front>img,.ws-ai-object.media-object:hover .ws-image-stack-front>video{transform:scale(1)}.ws-ai-object.media-object:hover .ws-image-stack-layer.layer-1{transform:translate(10px,10px) scale(1);opacity:.95;box-shadow:0 6px 16px #0000001f}.ws-ai-object.media-object:hover .ws-image-stack-layer.layer-2{transform:translate(20px,20px) scale(1);opacity:.85;box-shadow:0 8px 20px #0000001a}.ws-ai-object.media-object:hover .ws-image-stack-layer.layer-3{transform:translate(30px,30px) scale(1);opacity:.72;box-shadow:0 10px 24px #00000014}.ws-ai-object.media-object:hover .ws-image-stack-layer.layer-4{transform:translate(40px,40px) scale(1);opacity:.55;box-shadow:0 12px 28px #0000000f}.ws-ai-object.media-object .ws-ai-shape-stacked,.ws-ai-object.media-object .ws-ai-shape-expanded{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important}.ws-ai-object.media-object .ws-ai-shape-expanded .ws-image-grid{border-radius:0!important;overflow:visible!important}.ws-ai-object.media-object.selected .ws-ai-shape-stacked .ws-image-stack-front>img,.ws-ai-object.media-object.selected .ws-ai-shape-stacked .ws-image-stack-front>video{border-color:var(--color-brand-start)!important;box-shadow:0 0 0 1px var(--color-brand-start),0 0 12px rgba(var(--color-brand-rgb),.35)}.ws-stack-expand-btn{position:absolute;top:8px;right:8px;z-index:25;width:auto;min-width:24px;height:22px;padding:0 7px;border-radius:var(--radius-pill);border:1px solid var(--media-chip-border);background:var(--media-chip-bg);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);box-shadow:0 2px 8px #0000002e,inset 0 0 0 1px var(--media-chip-inner);display:inline-flex;align-items:center;justify-content:center;gap:3px;color:var(--media-chip-text);font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .12s cubic-bezier(.16,1,.3,1);pointer-events:auto!important}.ws-stack-expand-btn:hover{background:var(--media-chip-bg-hover);border-color:rgba(var(--color-brand-rgb),.45);color:var(--color-brand-start);transform:scale(1.06);box-shadow:0 4px 12px rgba(var(--color-brand-rgb),.22)}.ws-stack-expand-btn:active{transform:scale(.94)}.ws-image-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.ws-ai-object.media-object .ws-stack-expand-btn{pointer-events:auto!important}.ws-image-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;padding:0;background:transparent;align-items:start}.ws-grid-item{position:relative;width:100%;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:var(--color-surface-strong);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.ws-grid-item-empty{border-radius:12px;background:transparent;pointer-events:none}.ws-grid-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px;transition:transform .25s ease}.ws-grid-item-label{position:absolute;left:6px;bottom:5px;z-index:10;max-width:calc(100% - 12px);padding:2px 4px;border-radius:3px;background:#1c1d22b8;color:#fff;font-size:8px;font-weight:700;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-grid-item:hover img{transform:scale(1.05)}.ws-grid-item.active{border-color:var(--color-brand-start);box-shadow:0 0 8px rgba(var(--color-brand-rgb),.35)}.ws-grid-item .ws-stack-expand-btn{top:8px;right:8px;width:42px;height:26px;border-radius:7px;gap:4px;background:var(--color-brand-end);color:#1c1d22;font-size:11px;font-weight:800}.ws-grid-item-badge{position:absolute;bottom:6px;right:6px;background:var(--color-brand-start);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:10;box-shadow:0 2px 4px #00000026}.ws-grid-item-index{position:absolute;top:6px;left:6px;z-index:10;width:18px;height:18px;border-radius:50%;background:#1c1d22a3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000026}.ws-grid-item.active .ws-grid-item-index{background:var(--color-brand-end);color:#1c1d22}.ws-media-preview-overlay{position:absolute;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#101116c7,#08090ced);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);transition:all .3s cubic-bezier(.16,1,.3,1)}.ws-media-preview-open .ws-ai-object,.ws-media-preview-open .ws-ai-media-toolbar{visibility:hidden!important;pointer-events:none!important}.ws-media-preview-open .ws-titlebar,.ws-media-preview-open .fc-toolbar-pill,.ws-media-preview-open .ws-chat-fab,.ws-media-preview-open .ws-generation-bar{display:none!important}.ws-media-preview-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:min(86vw,1280px);max-height:min(78vh,860px);animation:ws-preview-zoom-in .25s cubic-bezier(.16,1,.3,1)}@keyframes ws-preview-zoom-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ws-media-preview-audio{display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 44px;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px}.ws-media-preview-audio-name{font-size:14px;color:#ffffffd9;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-media-preview-audio audio{width:320px}.ws-media-preview-stage img,.ws-media-preview-stage video{display:block;max-width:min(86vw,1280px);max-height:min(78vh,860px);-o-object-fit:contain;object-fit:contain;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 80px #00000080,0 4px 16px #0003;transition:transform .1s ease-out}.ws-media-preview-close,.ws-media-preview-main-btn{transition:all .2s cubic-bezier(.16,1,.3,1)}.ws-media-preview-close{position:absolute;top:24px;right:24px;z-index:3;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;color:#fff;box-shadow:0 4px 12px #00000026}.ws-media-preview-close:hover{background:var(--color-brand-gradient);border-color:transparent;transform:scale(1.08) rotate(90deg);box-shadow:0 6px 16px rgba(var(--color-brand-rgb),.25),0 0 10px rgba(var(--color-brand-rgb),.2)}.ws-media-preview-close:active{transform:scale(.95)}.ws-media-preview-main-btn{position:absolute;top:24px;right:72px;z-index:3;height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff14;color:#fff;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.ws-media-preview-main-btn:hover{background:var(--color-brand-gradient);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--color-brand-rgb),.3),0 0 12px rgba(var(--color-brand-rgb),.25)}.ws-media-preview-main-btn:disabled,.ws-media-preview-main-btn.active{cursor:default;border-color:rgba(var(--color-success-rgb),.28);background:rgba(var(--color-success-rgb),.14);color:#d1fae5;box-shadow:none}.ws-media-preview-main-btn:disabled:hover,.ws-media-preview-main-btn.active:hover{transform:none;border-color:rgba(var(--color-success-rgb),.28);background:rgba(var(--color-success-rgb),.14);color:#d1fae5;box-shadow:none}.ws-media-preview-main-btn:active{transform:translateY(1px)}.ws-media-preview-meta{position:absolute;top:24px;left:24px;z-index:3;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 48px);pointer-events:none}.ws-media-preview-index,.ws-media-preview-chip{min-width:48px;height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#14151aad;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffffe6;font-size:13px;font-family:var(--font-family-mono),monospace;font-weight:700;box-shadow:0 4px 12px #00000026;letter-spacing:.05em;white-space:nowrap;font-variant-numeric:tabular-nums}.ws-media-preview-chip{min-width:0;background:#14151a85;color:#ffffffc2;font-weight:600;letter-spacing:.01em}.ws-media-preview-resolution{color:#ffffffa8}@media(max-width:640px){.ws-media-preview-meta{top:70px;left:16px;right:16px;gap:6px;max-width:none;flex-wrap:wrap}.ws-media-preview-index,.ws-media-preview-chip{height:34px;padding:0 10px;font-size:12px}}.ws-media-preview-nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;border:1px solid rgba(255,255,255,.08);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);background:#ffffff14;color:#ffffffd9;font-size:28px;font-weight:300;line-height:1;box-shadow:0 8px 24px #0003;transition:all .25s cubic-bezier(.16,1,.3,1)}.ws-media-preview-nav.prev{left:36px}.ws-media-preview-nav.next{right:36px}.ws-media-preview-nav:hover{background:#ffffff29;color:#fff;border-color:#ffffff40;box-shadow:0 8px 28px #0000004d}.ws-media-preview-nav.prev:hover{transform:translateY(-50%) translate(-2px)}.ws-media-preview-nav.next:hover{transform:translateY(-50%) translate(2px)}.ws-media-preview-nav:active{transform:translateY(-50%) scale(.94)}.ws-media-preview-thumbs{position:absolute;left:50%;bottom:24px;z-index:3;display:flex;gap:10px;max-width:min(80vw,920px);overflow-x:auto;padding:8px 12px;border:1px solid rgba(255,255,255,.06);border-radius:16px;transform:translate(-50%);background:#14151a73;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 40px #0000004d,inset 0 1px #ffffff0d}.ws-media-preview-thumbs::-webkit-scrollbar{height:4px}.ws-media-preview-thumbs::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}.ws-media-preview-thumbs button{position:relative;width:54px;height:54px;flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#ffffff0f;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer}.ws-media-preview-thumbs button:hover{transform:translateY(-2px);border-color:#fff3}.ws-media-preview-thumbs button.active{border-color:var(--color-brand-start);box-shadow:0 0 10px rgba(var(--color-brand-rgb),.3),0 4px 12px rgba(var(--color-brand-rgb),.15)}.ws-media-preview-thumbs img,.ws-media-preview-thumbs video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ws-media-preview-thumbs span{position:absolute;top:4px;left:4px;z-index:2;min-width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#101116b8;color:#fff;font-size:9px;font-weight:700;box-shadow:0 1px 3px #0003}.ws-preview-control-bar{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:5;height:36px;padding:0 12px;display:flex;align-items:center;gap:12px;background:#14151ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff0d;color:#fff;animation:ws-preview-zoom-in .25s cubic-bezier(.16,1,.3,1)}.ws-preview-control-bar button{border:0;background:transparent;color:#ffffffbf;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease;cursor:pointer}.ws-preview-control-bar button:hover{background:#ffffff1a;color:var(--color-brand-start);transform:scale(1.08)}.ws-preview-control-bar button:active{transform:scale(.92)}.ws-preview-control-bar span{font-family:var(--font-family-mono),monospace;font-size:12px;font-weight:700;min-width:42px;text-align:center;letter-spacing:.02em;color:#ffffffe6}.ws-preview-control-divider{width:1px;height:14px;background:#ffffff26;margin:0 -2px}.ws-image-stack-front{z-index:5;width:100%}.ws-image-stack-front>img,.ws-image-stack-front>video{-o-object-fit:cover;object-fit:cover}.ws-ai-object.media-object .ws-ai-shape-stacked{overflow:visible!important}.ws-image-stack-layer{width:100%}.ws-image-stack-layer.layer-1{transform:translate(8px,8px) scale(1)!important}.ws-image-stack-layer.layer-4{transform:translate(32px,32px) scale(1)!important}.ws-ai-object.collapsed .ws-stack-expand-btn{right:8px}.ws-grid-item .ws-stack-expand-btn{top:8px;right:8px}.ws-grid-item.active .ws-grid-item-index{background:var(--color-brand-end)!important}.ws-ai-object.media-object .ws-grid-item{pointer-events:auto!important}.ws-ai-object.media-object .ws-grid-item img{pointer-events:none}.ws-ai-object.media-object .ws-ai-shape-expanded{background:transparent!important;border:none!important;overflow:visible!important}.ws-image-grid{padding:0!important;background:transparent!important}.ws-grid-item-label{display:none}.ws-ai-object.selected .ws-ai-shape{border-color:var(--color-brand-start)!important;box-shadow:0 0 0 1.5px var(--color-brand-start),0 12px 36px rgba(var(--color-brand-rgb),.18),0 4px 12px #00000014!important;transform:scale(1.01)}.ws-ai-object.selected .ws-ai-object-label{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.16),var(--color-surface-strong) 72%);box-shadow:0 0 0 1px var(--color-brand-start),0 4px 14px rgba(var(--color-brand-rgb),.18),inset 0 0 0 1px #ffffff6b;color:var(--color-text-main);transform:translateY(-1px)}.ws-ai-object.selected .ws-ai-object-label .ws-status-beacon{box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12),0 0 8px rgba(var(--color-brand-rgb),.42)}.ws-ai-object .ws-ai-shape{transition:border-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1)}.ws-tldraw-shell .tl-shape-indicator,.ws-tldraw-shell .tl-selection__fg,.ws-tldraw-shell .tl-selection__fg__outline,.ws-tldraw-shell .tl-selection-box{stroke:transparent!important}.ws-tldraw-shell.multi-selecting .ws-ai-object.selected .ws-ai-shape{border-color:var(--color-border-card)!important;box-shadow:var(--shadow-sm)!important;transform:none}.ws-tldraw-shell.multi-selecting .ws-ai-object.selected .ws-ai-object-label{background:var(--color-surface-strong);box-shadow:0 2px 8px #1c1b1714,inset 0 0 0 1px var(--color-border-card);transform:none}.ws-tldraw-shell.multi-selecting .ws-ai-object.selected .ws-ai-object-label .ws-status-beacon{box-shadow:none}.ws-multi-select-frame{position:absolute;z-index:1100;pointer-events:none;border:1.5px dashed rgba(var(--color-brand-rgb),.45);border-radius:var(--radius-lg);animation:ws-multi-select-frame-appear .18s cubic-bezier(.16,1,.3,1)}@keyframes ws-multi-select-frame-appear{0%{opacity:0}to{opacity:1}}.ws-multi-select-toolbar{position:absolute;z-index:1250;transform:translate(-50%);display:inline-flex;align-items:center;gap:4px;height:44px;padding:0 8px;border:1px solid var(--color-border-card);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);pointer-events:auto;white-space:nowrap;animation:ws-multi-select-frame-appear .18s cubic-bezier(.16,1,.3,1)}.ws-multi-select-toolbar:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.ws-multi-select-count{padding:0 8px 0 6px;color:var(--color-text-muted);font-family:var(--font-family-title);font-size:12px;font-weight:600}.ws-multi-select-toolbar .ws-toolbar-divider{width:1px;height:20px;background:var(--color-border-card);margin:0 2px}.ws-multi-select-action{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-main);font-family:var(--font-family-title);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.ws-multi-select-action:hover,.ws-multi-select-action.active{background:var(--color-hover);color:var(--color-brand-start)}.ws-multi-select-action.danger:hover{background:#dc26261a;color:#dc2626}.ws-multi-select-caret{opacity:.6}.ws-double-click-menu.ws-menu-upward{transform-origin:bottom left}.warmsun-modal-card:has(.settings-panel-container){display:flex;flex-direction:column}.warmsun-modal-card:has(.settings-panel-container) .modal-header{flex-shrink:0}.settings-panel-container{display:flex;flex:1;min-height:0;background:var(--color-surface);border-radius:0 0 20px 20px;overflow:hidden}.settings-panel-sidebar{width:190px;flex-shrink:0;background:#1c1b1705;border-right:1px solid var(--color-border-card);padding:16px 8px;display:flex;flex-direction:column;gap:6px}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;margin-top:14px;margin-bottom:4px;padding:0 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.sidebar-add-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.sidebar-add-btn:hover{background:#1c1b170f;color:var(--color-text-main)}.sidebar-tab-btn.sub-item{padding-left:20px;font-size:13px}.sidebar-tab-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:500;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.sidebar-tab-btn:hover{background:#1c1b170a;color:var(--color-text-main)}.sidebar-tab-btn.active{background:rgba(var(--color-brand-rgb),.08);border-color:rgba(var(--color-brand-rgb),.15);color:var(--color-brand-start);font-weight:600}.sidebar-tab-btn.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:99px;background:var(--color-brand-gradient)}.settings-panel-content{flex:1;padding:24px 28px;overflow-y:auto;background:var(--color-surface-strong);display:flex;flex-direction:column;gap:20px}.settings-panel-content:after{content:"";display:block;flex:0 0 10px;width:100%;height:10px;pointer-events:none}.settings-tab-pane{display:flex;flex-direction:column;gap:24px;flex:0 0 auto;min-height:0;padding:4px}.settings-tab-pane>.panel-section:last-child{margin-bottom:0}.settings-storage-row{display:flex;align-items:center;gap:12px;margin-top:8px}.settings-storage-input-wrapper{position:relative;flex:1}.settings-storage-input-wrapper input{width:100%;padding:9px 12px 9px 36px!important;border:1px solid var(--color-border-card);border-radius:8px;background:#1c1b1705!important;color:var(--color-text-main);font-size:13px;outline:none;cursor:default;transition:all .2s;text-overflow:ellipsis}.settings-storage-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.settings-storage-btn{height:36px;padding:0 16px;border:1px solid var(--color-border-card);border-radius:8px;background:#1c1b1708;color:var(--color-text-main);font-size:13px;font-weight:600;transition:all .2s ease}.settings-storage-btn:hover:not(:disabled){background:#1c1b170f;border-color:var(--color-border-hover);transform:translateY(-1px)}.settings-storage-btn:active:not(:disabled){transform:translateY(0)}.settings-storage-btn:disabled{opacity:.6;cursor:not-allowed}.chat-preset-form{display:flex;flex-direction:column;gap:18px;margin-top:0}.chat-preset-form label{display:flex;flex-direction:column;gap:10px;color:var(--color-text-main);font-size:13px;font-weight:600;letter-spacing:.2px}.chat-preset-form input,.chat-preset-form textarea{width:100%;border:1.5px solid rgba(28,27,23,.1);border-radius:10px;background:var(--color-surface);color:var(--color-text-main);font-size:13.5px;font-weight:500;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-preset-form input:focus,.chat-preset-form textarea:focus{border-color:var(--color-brand-start);background:#fff;box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08),0 2px 8px rgba(var(--color-brand-rgb),.06)}.chat-preset-form input{height:42px;padding:0 14px}.chat-preset-form textarea{min-height:140px;padding:13px 14px;resize:vertical;line-height:1.65;font-family:inherit}.chat-preset-form button{align-self:flex-start;background:var(--color-brand-gradient);color:#fff;border:none;height:40px;padding:0 22px;border-radius:10px;font-size:13.5px;font-weight:650;letter-spacing:.3px;box-shadow:0 2px 10px rgba(var(--color-brand-rgb),.24);transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-preset-form button:hover:not(:disabled){box-shadow:0 4px 16px rgba(var(--color-brand-rgb),.35);transform:translateY(-1.5px)}.chat-preset-form button:active:not(:disabled){transform:translateY(0)}.chat-preset-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.chat-preset-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--color-text-muted);font-size:13px;font-weight:500}.chat-preset-item{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1.5px solid rgba(28,27,23,.08);border-radius:14px;background:linear-gradient(135deg,#fafaf9,#fff);transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #00000005}.chat-preset-item:hover{border-color:rgba(var(--color-brand-rgb),.22);background:#fff;box-shadow:0 4px 16px #1c1d2214,0 2px 6px rgba(var(--color-brand-rgb),.06);transform:translateY(-2px)}.chat-preset-item-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:9px}.chat-preset-item-main strong{color:var(--color-text-main);font-size:14.5px;font-weight:650;line-height:1.4;letter-spacing:.15px}.chat-preset-item-main span{color:var(--color-text-muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-preset-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:10px;background:linear-gradient(135deg,#1c1b1708,#1c1b170a);color:#1c1b1780;cursor:pointer;flex-shrink:0;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000005}.chat-preset-delete-btn:hover{background:linear-gradient(135deg,#dc26261f,#dc262629);color:#dc2626;transform:translateY(-1px) scale(1.08);box-shadow:0 3px 10px #dc262633}.chat-preset-delete-btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #dc262626}.image-prompt-preset-form textarea{min-height:90px}.image-prompt-preset-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:var(--color-text-muted);font-size:12.5px;font-weight:500}.image-prompt-preset-add-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid rgba(28,27,23,.12);border-radius:10px;background:linear-gradient(135deg,#fff,#fafaf9);color:#1c1b17a6;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000005}.image-prompt-preset-add-btn:hover{border-color:var(--color-brand-start);color:var(--color-brand-start);background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.04),rgba(var(--color-brand-rgb),.08));box-shadow:0 3px 12px rgba(var(--color-brand-rgb),.16),0 1px 4px rgba(var(--color-brand-rgb),.08);transform:translateY(-2px) scale(1.05)}.image-prompt-preset-add-btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px rgba(var(--color-brand-rgb),.1)}.image-prompt-preset-add-btn:disabled,.chat-preset-delete-btn:disabled{cursor:not-allowed;opacity:.4;box-shadow:none;transform:none}.image-prompt-preset-list .chat-preset-item{padding:12px 14px}.image-prompt-preset-dialog,.chat-preset-dialog{width:min(540px,calc(100vw - 40px))}.prompt-formatter-tool-row{display:flex;align-items:center;gap:14px;margin-top:16px;color:var(--color-text-muted);font-size:12.5px;font-weight:500}.prompt-formatter-tool-row>span{flex:1;min-width:0;font-size:13px;opacity:.9}.prompt-formatter-style-select{flex:1;min-width:160px;max-width:280px;height:32px;padding:0 32px 0 12px;border:1.5px solid rgba(28,27,23,.1);border-radius:9px;background:var(--color-surface);color:var(--color-text-main);font-size:12.5px;font-weight:500;outline:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231c1b17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.prompt-formatter-style-select:hover:not(:disabled){border-color:#1c1b173d;background-color:#fff;box-shadow:0 1px 4px #0000000a}.prompt-formatter-style-select:focus:not(:disabled){border-color:var(--color-brand-start);background-color:#fff;box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08)}.prompt-formatter-style-select:disabled{color:var(--color-text-muted);background-color:#f7f7f6;opacity:.7;cursor:not-allowed}.settings-tool-dialog-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.settings-tool-dialog{width:min(560px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 72px));display:flex;flex-direction:column;background:var(--color-surface-strong);border:1px solid rgba(28,27,23,.06);border-radius:16px;box-shadow:0 20px 68px #1c1b1733,0 4px 16px #1c1b1714;overflow:hidden}.settings-tool-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(28,27,23,.06)}.settings-tool-dialog-header h3{margin:0;color:var(--color-text-main);font-size:16px;font-weight:700;letter-spacing:.1px}.settings-tool-dialog .chat-preset-form,.settings-tool-dialog .prompt-formatter-rule-list{padding:20px;overflow-y:auto}.settings-tool-dialog .chat-preset-form{margin-top:0}.settings-tool-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px 16px;border-top:1px solid rgba(28,27,23,.06)}.prompt-formatter-rules-dialog{width:min(720px,calc(100vw - 40px))}.prompt-formatter-rules-dialog .prompt-formatter-rule-list{max-height:min(460px,calc(100vh - 220px))}.image-prompt-preset-detail{-webkit-line-clamp:3;font-size:11px}.settings-empty{padding:44px 24px;text-align:center;color:var(--color-text-muted);font-size:13.5px;font-weight:500;border:2px dashed rgba(28,27,23,.1);border-radius:14px;background:linear-gradient(135deg,#1c1b1703,#1c1b1706);letter-spacing:.1px;opacity:.85}.settings-empty.compact{padding:28px 16px;font-size:12.5px}.settings-tab-desc{padding:20px;border:1.5px solid rgba(28,27,23,.08);border-radius:14px;background:linear-gradient(135deg,#1c1b1705,#fffc);margin-top:auto;box-shadow:0 1px 4px #00000005}.settings-tab-desc h4{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--color-text-main);letter-spacing:.2px}.settings-tab-desc p{margin:0;font-size:12.5px;line-height:1.7;color:var(--color-text-muted)}.settings-storage-btn.secondary{background:#fff;color:var(--color-text-main);border:1px solid rgba(28,27,23,.15)}.settings-storage-btn.secondary:hover{background:#1c1b170a;border-color:#1c1b1740}.settings-storage-btn.primary{background:var(--color-brand-gradient);color:#fff;border:none;box-shadow:0 2px 8px rgba(var(--color-brand-rgb),.2)}.settings-storage-btn.primary:hover{box-shadow:0 4px 12px rgba(var(--color-brand-rgb),.3);transform:translateY(-1px)}.settings-storage-input-wrapper input.settings-secret-input{padding-right:38px!important}.settings-secret-toggle{position:absolute;right:8px;top:50%;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted);transform:translateY(-50%);cursor:pointer}.settings-secret-toggle:hover{background:#1c1b170f;color:var(--color-text-main)}.settings-tab-desc p{margin:0;font-size:11px;line-height:1.5;color:var(--color-text-muted)}.settings-tab-pane label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-muted);width:100%}.settings-tab-pane input[type=text],.settings-tab-pane input[type=password]{width:100%;padding:10px 12px;border:1px solid var(--color-border-card);border-radius:8px;background:var(--color-surface-strong);color:var(--color-text-main);transition:border-color .2s,box-shadow .2s;outline:none;font-size:13px}.settings-tab-pane input[type=text]:focus,.settings-tab-pane input[type=password]:focus{border-color:var(--color-brand-start);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12)}.settings-model-subhead{display:flex;justify-content:space-between;align-items:center;margin-top:18px;margin-bottom:8px;font-size:12px;color:var(--color-text-main)}.settings-model-subhead strong{font-weight:700}.settings-confirm-btn{height:26px;padding:0 10px;border:0;border-radius:6px;background:var(--color-brand-gradient);color:#fff;font-size:11px;font-weight:600;box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.15);transition:all .2s}.settings-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.25)}.settings-confirm-btn:disabled{background:#1c1b1714;color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}.settings-model-status{font-size:11px;color:var(--color-brand-start);margin-top:4px;font-weight:500}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 6px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.sidebar-add-provider-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.sidebar-add-provider-btn:hover{background:#1c1b1714;color:var(--color-text-main)}.sidebar-provider-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;padding-left:4px}.sidebar-tab-btn.sub-item{padding:8px 12px 8px 16px;font-size:12.5px;border-radius:8px}.provider-tab-dot-wrapper{display:flex;align-items:center;margin-right:2px}.provider-status-dot{width:6px;height:6px;border-radius:50%;transition:background-color .2s,box-shadow .2s}.provider-status-dot.on{background:#10b981;box-shadow:0 0 6px rgba(var(--color-success-rgb),.6)}.provider-status-dot.off{background:#9ca3af}.provider-tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-status-badge{font-size:9px;font-weight:700;padding:2px 4px;border-radius:4px;background:rgba(var(--color-success-rgb),.1);color:#10b981;margin-left:6px}.settings-provider-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--color-border-card);margin-bottom:8px}.settings-provider-header h2{margin:0;font-size:18px;font-weight:700;color:var(--color-text-main)}.settings-provider-header-actions{display:flex;align-items:center;gap:16px}.provider-enable-switch{position:relative;display:block!important;width:44px!important;min-width:44px!important;height:24px!important;cursor:pointer!important;flex-shrink:0!important;margin:0!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.provider-enable-switch input{opacity:0;width:0;height:0}.provider-enable-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#1c1b171f;transition:all .35s cubic-bezier(.25,.8,.25,1.15);border-radius:24px;border:1px solid rgba(28,27,23,.03)}.provider-enable-switch:hover .slider{background-color:#1c1b172e}.provider-enable-switch .slider:before{position:absolute;content:"";height:20px;width:20px;left:1px;bottom:1px;background-color:#fff;transition:all .35s cubic-bezier(.25,.8,.25,1.15);border-radius:50%;box-shadow:0 2px 4px #0000001f,0 0 1px #0000001a}.provider-enable-switch:active .slider:before{width:24px}.provider-enable-switch input:checked+.slider{background-color:#10b981;border-color:rgba(var(--color-success-rgb),.1);box-shadow:0 2px 6px rgba(var(--color-success-rgb),.15)}.provider-enable-switch input:checked+.slider:before{transform:translate(20px)}.provider-enable-switch input:checked:active+.slider:before{transform:translate(16px)}.provider-delete-btn{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;flex-shrink:0;margin:0;border:1px solid var(--color-border-card);border-radius:8px;background:var(--color-surface-strong);color:var(--color-text-main);cursor:pointer;transition:all .2s}.provider-delete-btn:hover{background:#ef44440d;border-color:#ef444433;color:#ef4444}.settings-input-with-action{display:flex;gap:8px;position:relative}.settings-input-with-action input{flex:1}.settings-input-btn{flex-shrink:0;height:38px;padding:0 14px;border:1px solid var(--color-border-card);border-radius:8px;background:#1c1b1705;color:var(--color-text-main);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.settings-input-btn:hover:not(:disabled){background:#1c1b170f;border-color:var(--color-border-hover)}.settings-input-btn:disabled{opacity:.5;cursor:not-allowed}.settings-input-btn.test-btn{background:var(--color-brand-gradient);color:#fff;border:0;box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.15)}.settings-input-btn.test-btn:hover{opacity:.9;transform:translateY(-.5px)}.settings-secret-toggle-inline{position:absolute;right:86px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.settings-secret-toggle-inline:hover{background:#1c1b170f}.settings-input-with-action input[type=password],.settings-input-with-action input[type=text]{padding-right:120px!important}.test-status-text{font-size:11px;font-weight:600;margin-top:4px}.test-status-text.success{color:#10b981}.test-status-text.failed{color:#ef4444}.settings-model-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.settings-model-badge-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--color-border-card);border-radius:20px;background:var(--color-surface-strong);color:var(--color-text-main);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.settings-model-badge-btn:hover{background:#1c1b1705;border-color:var(--color-border-hover)}.model-count-badge{font-size:11px;font-weight:700;padding:2px 6px;border-radius:99px;background:rgba(var(--color-brand-rgb),.12);color:var(--color-brand-start)}.settings-model-refresh-btn{height:30px;padding:0 12px;border:1px solid var(--color-border-card);border-radius:8px;background:#1c1b1705;color:var(--color-text-main);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.settings-model-refresh-btn:hover:not(:disabled){background:#1c1b170d}.settings-model-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.settings-model-list.inline{max-height:240px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideDown{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.select-model-overlay{background:#0f0f0a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s ease-out}.select-model-card{width:min(580px,calc(100vw - 48px));max-height:85vh;box-shadow:0 20px 50px #00000026,0 0 1px #0003;border:1px solid var(--color-border-card);border-radius:16px;background:var(--color-surface-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:scaleUp .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.select-model-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.modal-search-group{display:flex;position:relative;width:100%}.modal-search-group .settings-search{display:flex;align-items:center;position:relative;width:100%;border:1.5px solid var(--color-border-card, #eef0f3);border-radius:10px;background:var(--color-surface);overflow:hidden;transition:all .25s ease}.modal-search-group .settings-search:focus-within{border-color:var(--color-brand-start, #ff5c7a);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.12),0 4px 12px rgba(var(--color-brand-rgb),.05);background:var(--color-surface-strong)}.modal-search-group .settings-search input{border:0!important;background:transparent!important;width:100%;height:38px;font-size:13px!important;padding:8px 12px 8px 34px!important;color:var(--color-text-main, #1c1b17);outline:none!important}.modal-search-group .settings-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted, #8a8880);pointer-events:none;transition:color .2s}.modal-search-group .settings-search:focus-within .search-icon{color:var(--color-brand-start, #ff5c7a)}.modal-search-add-btn{display:flex;align-items:center;gap:4px;height:28px;margin-right:6px;padding:0 12px;border:none;border-radius:6px;background:var(--color-brand-gradient, linear-gradient(135deg, #ff5c7a, #ff8142));color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.2);transition:transform .2s,filter .2s}.modal-search-add-btn:hover{transform:scale(1.03);filter:brightness(1.05)}.modal-search-add-btn:active{transform:scale(.97)}.modal-model-add-suggestion{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(var(--color-brand-rgb),.04);border:1px dashed var(--color-brand-start, #ff5c7a);border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:6px;animation:slideDown .25s ease-out}.modal-model-add-suggestion:hover{background:rgba(var(--color-brand-rgb),.08);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-brand-rgb),.08)}.suggestion-icon-wrapper{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-brand-gradient, linear-gradient(135deg, #ff5c7a, #ff8142));color:#fff;box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.2)}.modal-model-checkbox-list{display:flex;flex-direction:column;gap:6px;height:280px;overflow-y:auto;border:1.5px solid var(--color-border-card, #eef0f3);border-radius:12px;padding:8px;background:#1c1b1704}.modal-model-checkbox-list::-webkit-scrollbar{width:6px}.modal-model-checkbox-list::-webkit-scrollbar-track{background:transparent}.modal-model-checkbox-list::-webkit-scrollbar-thumb{background:#1c1b1714;border-radius:3px}.modal-model-checkbox-list::-webkit-scrollbar-thumb:hover{background:#1c1b1733}.modal-model-checkbox-row{border-radius:8px;transition:all .2s ease;border:1px solid transparent}.modal-model-checkbox-row:hover{background:#1c1b170a;transform:translate(2px)}.modal-model-checkbox-row.checked{background:rgba(var(--color-brand-rgb),.05);border-color:rgba(var(--color-brand-rgb),.15)}.modal-model-checkbox-row.checked:hover{background:rgba(var(--color-brand-rgb),.07)}.modal-model-checkbox-label{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;width:100%}.modal-model-checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--color-border-card, #ccc);border-radius:4px;outline:none;background-color:#fff;cursor:pointer;position:relative;transition:all .2s ease}.modal-model-checkbox-label input[type=checkbox]:checked{background-color:var(--color-brand-start, #ff5c7a);border-color:var(--color-brand-start, #ff5c7a)}.modal-model-checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid white;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.modal-model-info{display:flex;flex-direction:column;gap:2px}.modal-model-name{font-size:13px;font-weight:600;color:var(--color-text-main)}.modal-model-remote-id{font-size:11px;color:var(--color-text-muted)}.select-model-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1.5px solid var(--color-border-card, #eef0f3);background:#1c1b1704}.footer-left,.footer-right{display:flex;gap:8px}.modal-btn{height:32px;padding:0 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent}.modal-btn.primary{background:var(--color-brand-gradient, linear-gradient(135deg, #ff5c7a, #ff8142));color:#fff;box-shadow:0 2px 8px rgba(var(--color-brand-rgb),.2)}.modal-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-brand-rgb),.3);filter:brightness(1.05)}.modal-btn.primary:active{transform:translateY(0)}.modal-btn.secondary{background:var(--color-surface-strong);border:1.5px solid var(--color-border-card, #eef0f3);color:var(--color-text-main, #1c1b17)}.modal-btn.secondary:hover{background:#1c1b1708;border-color:#1c1b171f}.settings-input-with-action{display:flex;width:100%;gap:8px;align-items:center;position:relative}.settings-input-with-action input{flex:1;width:100%;height:38px;border:1.2px solid rgba(28,27,23,.08);border-radius:8px;padding:0 12px;font-size:13.5px;background:#fff;color:var(--color-text-main);box-shadow:0 1px 2px #1c1b1703;transition:all .25s cubic-bezier(.25,.8,.25,1)}.settings-input-with-action input:hover{border-color:#1c1b172e}.settings-input-with-action input:focus{border-color:var(--color-brand-start);box-shadow:0 0 0 3.5px rgba(var(--color-brand-rgb),.09),0 1px 3px rgba(var(--color-brand-rgb),.03);outline:none}.settings-model-header-row .settings-model-refresh-btn{margin-left:auto}@keyframes green-pulse{0%{box-shadow:0 0 rgba(var(--color-success-rgb),.5)}70%{box-shadow:0 0 0 6px rgba(var(--color-success-rgb),0)}to{box-shadow:0 0 rgba(var(--color-success-rgb),0)}}.model-active-badge{font-size:10px!important;font-weight:700!important;color:#10b981!important;background:rgba(var(--color-success-rgb),.08)!important;border:1px solid rgba(var(--color-success-rgb),.15)!important;padding:2px 6px!important;border-radius:4px!important;letter-spacing:.5px!important;font-family:var(--font-family-sans)!important;flex-shrink:0}.model-delete-inline-btn{background:transparent!important;border:none!important;color:var(--color-text-muted)!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px!important;border-radius:4px!important;transition:all .25s ease!important;opacity:0!important;margin-left:auto!important}.model-delete-inline-btn:hover{background:#ff3b3014!important;color:#ff3b30!important}.sidebar-sub-list{display:flex;flex-direction:column;gap:4px}.select-model-card{width:460px!important;max-height:calc(100% - 32px);display:flex;flex-direction:column;overflow:hidden}.select-model-card .modal-header h3{display:flex;align-items:baseline;gap:6px}.select-model-card .modal-header h3 span{font-weight:500;color:var(--color-text-muted)}.modal-search-add-row{flex-direction:column;gap:12px}.settings-custom-add{width:100%}.modal-model-checkbox-list{flex:1;min-height:0;border-left:0;border-right:0;border-radius:0;margin:0 -20px;padding:8px 16px;background:transparent}.modal-model-info{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;-moz-column-gap:16px;column-gap:16px}.modal-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-model-remote-id{flex:0 0 auto;white-space:nowrap}.prompt-formatter-tool-row .custom-select{width:200px;flex:none;margin-left:auto}.prompt-formatter-tool-row .custom-select-trigger{height:34px;font-size:13px;border-radius:9px;padding:0 36px 0 14px}.prompt-formatter-tool-row .custom-select-arrow{position:absolute;right:12px}.generation-default-control .custom-select{width:100%}.generation-default-control .custom-select-trigger{height:42px;font-size:13.5px;border-radius:10px;padding:0 40px 0 14px}.custom-select{position:relative;width:100%}.custom-select-trigger{position:relative;width:100%;height:38px;padding:0 36px 0 14px;border:1.5px solid var(--color-border-card);border-radius:10px;background:var(--color-surface-strong);color:var(--color-text-main);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;text-align:left;box-shadow:0 1px 3px #00000008,0 1px 2px #00000005}.custom-select-trigger:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-strong);box-shadow:0 3px 8px #0000000d,0 1px 3px #00000008;transform:translateY(-1px)}.custom-select-trigger:focus:not(:disabled),.custom-select-trigger.open{border-color:var(--color-brand-start, #ff5c7a);background:var(--color-surface-strong);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08),0 4px 12px rgba(var(--color-brand-rgb),.12);transform:translateY(0)}.custom-select-trigger:disabled{color:var(--color-text-muted);background:var(--color-surface);opacity:.6;cursor:not-allowed;box-shadow:none}.custom-select.disabled{opacity:.6;pointer-events:none}.custom-select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);flex-shrink:0;color:var(--color-text-muted);transition:all .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.custom-select-trigger:hover:not(:disabled) .custom-select-arrow{color:var(--color-text-main)}.custom-select-trigger.open .custom-select-arrow{transform:translateY(-50%) rotate(180deg);color:var(--color-brand-start)}.custom-select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--color-surface-strong);border:1.5px solid var(--color-border-card);border-radius:12px;box-shadow:0 16px 48px #1c1b172e,0 6px 16px #1c1b171a;padding:8px;z-index:1000;animation:customSelectSlideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes customSelectSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-select-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:var(--color-text-main);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);min-height:38px}.custom-select-option:hover{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.08),rgba(var(--color-brand-rgb),.12));color:var(--color-brand-start);transform:translate(3px);box-shadow:0 2px 8px rgba(var(--color-brand-rgb),.08)}.custom-select-option.selected{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.12),rgba(var(--color-brand-rgb),.16));color:var(--color-brand-start);font-weight:650}.custom-select-option.selected:hover{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.16),rgba(var(--color-brand-rgb),.22));transform:translate(3px);box-shadow:0 2px 10px rgba(var(--color-brand-rgb),.12)}.custom-select-check{color:var(--color-brand-start);font-size:15px;font-weight:700;margin-left:10px;animation:checkFadeIn .2s ease}@keyframes checkFadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.custom-select-group{margin-top:8px}.custom-select-group:first-child{margin-top:0}.custom-select-group-label{padding:10px 14px 6px;font-size:10.5px;font-weight:700;color:#1c1b1773;letter-spacing:.8px;text-transform:uppercase;background:transparent}.settings-modal select,.settings-panel-content select{height:38px;padding:0 36px 0 14px;border:1.5px solid rgba(28,27,23,.1);border-radius:10px;background:var(--color-surface);color:var(--color-text-main);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%231c1b17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;box-shadow:0 1px 2px #00000005}.settings-modal select:hover,.settings-panel-content select:hover{border-color:#1c1b173d;background-color:#fff;box-shadow:0 2px 6px #0000000a}.settings-modal select:focus,.settings-panel-content select:focus{border-color:var(--color-brand-start, #ff5c7a);background-color:#fff;box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08),0 2px 10px rgba(var(--color-brand-rgb),.08)}.settings-modal select:disabled,.settings-panel-content select:disabled{color:var(--color-text-muted);background-color:#f7f7f6;opacity:.7;cursor:not-allowed}.settings-modal select optgroup,.settings-panel-content select optgroup{font-size:11px;font-weight:650;color:#1c1b1780;letter-spacing:.6px;text-transform:uppercase;padding:8px 0 4px;background:#f5f5f4}.settings-modal select option,.settings-panel-content select option{padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-text-main);background:#fff;line-height:1.5;min-height:36px}.settings-modal select option:hover,.settings-panel-content select option:hover{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.08),rgba(var(--color-brand-rgb),.12));color:var(--color-brand-start)}.settings-modal select option:checked,.settings-panel-content select option:checked{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.12),rgba(var(--color-brand-rgb),.16));color:var(--color-brand-start);font-weight:600}.generation-defaults-form{display:flex;flex-direction:column;gap:24px;margin-top:8px}.generation-default-row{display:flex;flex-direction:column;gap:12px}.generation-default-label{color:var(--color-text-main);font-size:13.5px;font-weight:650;letter-spacing:.2px;opacity:.95}.generation-default-control{min-width:0}.generation-default-select{width:100%;height:42px;padding:0 40px 0 14px;border:1.5px solid rgba(28,27,23,.1);border-radius:10px;background:var(--color-surface);color:var(--color-text-main);font-size:13.5px;font-weight:500;line-height:42px;outline:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1b17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;box-shadow:0 1px 3px #00000005}.generation-default-select:hover{border-color:var(--color-border-hover);background-color:var(--color-surface-strong);box-shadow:0 2px 6px #0000000a}.generation-default-select:focus{border-color:var(--color-brand-start, #ff5c7a);background-color:var(--color-surface-strong);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08),0 2px 10px rgba(var(--color-brand-rgb),.08)}.generation-default-select optgroup{font-size:11.5px;font-weight:650;color:#1c1b1780;letter-spacing:.6px;text-transform:uppercase;padding:8px 0 4px;background:#f5f5f4}.generation-default-select option{padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--color-text-main);background:#fff;line-height:1.4}.prompt-formatter-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 18px;margin-top:6px}.settings-tab-pane .prompt-formatter-check{display:inline-flex;flex-direction:row;align-items:center;gap:11px;min-height:38px;padding:8px 12px;margin:0;color:var(--color-text-main);font-size:13px;font-weight:500;border-radius:9px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1.5px solid transparent}.settings-tab-pane .prompt-formatter-check:hover{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.04),rgba(var(--color-brand-rgb),.06));border-color:rgba(var(--color-brand-rgb),.12);transform:translateY(-1px);box-shadow:0 2px 6px #00000008}.prompt-formatter-tool-row .prompt-formatter-check{min-height:34px;padding:8px 12px;margin:0;background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.04),rgba(var(--color-brand-rgb),.06));border:1.5px solid rgba(var(--color-brand-rgb),.12);border-radius:9px;transition:all .2s cubic-bezier(.4,0,.2,1)}.prompt-formatter-tool-row .prompt-formatter-check:hover{background:linear-gradient(135deg,rgba(var(--color-brand-rgb),.08),rgba(var(--color-brand-rgb),.12));border-color:rgba(var(--color-brand-rgb),.24);transform:translateY(-1px);box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.15)}.settings-tab-pane .prompt-formatter-rule-enabled,.settings-tab-pane .prompt-formatter-rule-flag{display:inline-flex;flex-direction:row;align-items:center;gap:10px;min-height:32px;margin:0;color:var(--color-text-main);font-size:13px;font-weight:500}.prompt-formatter-check input,.prompt-formatter-rule-enabled input,.prompt-formatter-rule-flag input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--color-brand-start, #ff5c7a)}.prompt-formatter-rule-list{display:flex;flex-direction:column;gap:8px}.prompt-formatter-rule{display:grid;grid-template-columns:24px minmax(120px,1fr) minmax(120px,1fr) 48px 48px 32px;align-items:center;gap:8px;padding:8px;border:1px solid rgba(28,27,23,.08);border-radius:8px;background:var(--color-surface-strong)}.prompt-formatter-rule input[type=text]{min-width:0}.prompt-formatter-rule-flag{justify-content:center;padding:0 6px;border-radius:6px;background:#1c1b170a}.prompt-formatter-add-rule{margin-top:12px}.confirm-overlay{z-index:2500}.confirm-dialog-card{width:min(380px,calc(100vw - 40px));border:1px solid rgba(28,27,23,.05);border-radius:14px;background:var(--color-surface-strong);box-shadow:0 20px 50px #0000001f,0 4px 16px #0000000a;overflow:hidden}.confirm-dialog-panel{min-width:min(360px,calc(100vw - 48px))}.confirm-dialog-panel p{margin:0;padding:4px 0 18px;color:var(--color-text-muted);font-size:13px;line-height:1.55}.confirm-dialog-panel .confirm-dialog-actions{margin:0 -20px -20px}.confirm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px}.confirm-dialog-header h3{margin:0;color:var(--color-text-main);font-size:16px;font-weight:800}.confirm-dialog-card p{margin:0;padding:0 18px 18px;color:var(--color-text-muted);font-size:13px;line-height:1.55}.confirm-dialog-warning,.confirm-dialog-error{display:block;margin-top:10px;padding:9px 10px;border-radius:8px;font-size:12px}.confirm-dialog-warning{background:#f59e0b17;color:#a16207}.confirm-dialog-error{background:#ef444414;color:#dc2626}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid rgba(28,27,23,.05);background:#1c1b1704}.confirm-dialog-btn{height:34px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.25,.8,.25,1)}.confirm-dialog-btn:disabled,.modal-close-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.confirm-dialog-btn.secondary{border-color:var(--color-border-card);background:var(--color-surface-strong);color:var(--color-text-main)}.confirm-dialog-btn.secondary:hover{background:#1c1b1708;border-color:#1c1b1733;transform:translateY(-.5px)}.confirm-dialog-btn.secondary:active{transform:translateY(.5px)}.confirm-dialog-btn.primary{background:var(--color-brand-gradient);color:#fff;box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.2)}.confirm-dialog-btn.primary:hover{filter:brightness(1.05);transform:translateY(-.5px);box-shadow:0 4px 10px rgba(var(--color-brand-rgb),.25)}.confirm-dialog-btn.primary:active{transform:translateY(.5px);box-shadow:0 2px 6px rgba(var(--color-brand-rgb),.2)}.confirm-dialog-btn.danger{background:#ef4444;color:#fff;box-shadow:0 4px 10px #ef444438}.confirm-dialog-btn.danger:hover{filter:brightness(1.05);transform:translateY(-.5px);box-shadow:0 6px 14px #ef444447}.confirm-dialog-btn.danger:active{transform:translateY(.5px);box-shadow:0 4px 10px #ef444438}.ws-asset-library{position:absolute;top:var(--canvas-overlay-top);left:var(--canvas-chrome-gutter);z-index:1200;width:340px;height:var(--canvas-overlay-h);transform:translate(calc(-340px - var(--canvas-chrome-gutter) - 16px));transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;display:flex;flex-direction:column;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}.ws-asset-library.open{transform:translate(0)}.ws-asset-library-tabs{display:flex;gap:6px;padding:12px 16px 0}.ws-asset-library-tabs button{flex:1;height:32px;border:1px solid transparent;border-radius:9px;background:#1c1b170a;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.ws-asset-library-tabs button:hover{background:#1c1b1712;color:var(--color-text-main)}.ws-asset-library-tabs button.active{background:rgba(var(--color-brand-rgb),.1);border-color:rgba(var(--color-brand-rgb),.2);color:var(--color-brand-start)}.ws-asset-library-tabs.media-tabs{padding-top:8px}.ws-asset-library-tabs.media-tabs button{height:28px;font-size:12px;border-radius:8px}.ws-asset-library-tabs.source-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.ws-asset-library-search{position:relative;display:flex;align-items:center;margin:8px 16px 0;height:32px;color:var(--color-text-muted)}.ws-asset-library-search>svg{position:absolute;left:10px;pointer-events:none}.ws-asset-library-search input{width:100%;height:100%;padding:0 10px 0 31px;border:1px solid var(--color-border-card);border-radius:9px;outline:none;background:#1c1b1709;color:var(--color-text-main);font:inherit;font-size:12px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.ws-asset-library-search input::-moz-placeholder{color:var(--color-text-muted)}.ws-asset-library-search input::placeholder{color:var(--color-text-muted)}.ws-asset-library-search input:focus{border-color:rgba(var(--color-brand-rgb),.35);background:var(--color-surface-strong);box-shadow:0 0 0 3px rgba(var(--color-brand-rgb),.08)}.ws-asset-library-toolbar{padding:10px 16px 0}.ws-asset-library-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:max-content;gap:10px;padding:12px 16px 16px;align-content:start}.ws-asset-library-item{display:flex;flex-direction:column;border:1px solid var(--color-border-card);border-radius:12px;background:var(--color-surface-strong);overflow:hidden;cursor:grab;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ws-asset-library-item:hover{transform:translateY(-2px);border-color:rgba(var(--color-brand-rgb),.25);box-shadow:0 6px 16px #1c1b1714}.ws-asset-library-item:active{cursor:grabbing}.ws-asset-library-thumb{position:relative;width:100%;height:120px;flex-shrink:0;background:#1c1b170a;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.ws-asset-library-card-actions{position:absolute;top:7px;right:7px;z-index:3;display:flex;align-items:center;gap:5px;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease}.ws-asset-library-card-action{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:7px;background:#ffffffe6;color:var(--color-text-main);box-shadow:0 2px 8px #1c1b1721;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.ws-asset-library-item:hover .ws-asset-library-card-actions,.ws-asset-library-item:focus-within .ws-asset-library-card-actions{opacity:1;transform:translateY(0)}.ws-asset-library-card-action:hover{background:#fff;color:var(--color-brand-start);transform:translateY(-1px)}.ws-asset-library-card-action.danger{color:#dc2626}.ws-asset-library-card-action.danger:hover{color:#b91c1c}.ws-asset-library-card-action:focus-visible{outline:2px solid rgba(var(--color-brand-rgb),.32);outline-offset:2px}.ws-asset-library-card-action:disabled{cursor:wait;opacity:.55;transform:none}.ws-asset-library-thumb img,.ws-asset-library-thumb video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ws-asset-library-audio{color:var(--color-text-muted)}.ws-asset-library-type{position:absolute;top:6px;left:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:#1c1b178c;color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ws-asset-library-type.image{background:rgba(var(--color-media-image-rgb),.7)}.ws-asset-library-type.video{background:rgba(var(--color-media-video-rgb),.7)}.ws-asset-library-type.audio{background:rgba(var(--color-media-audio-rgb),.7)}.ws-asset-library-delete-btn{position:absolute;top:6px;right:6px;z-index:2;display:none;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:#dc2626e6;color:#fff;cursor:pointer;transition:all .15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ws-asset-library-delete-btn:hover{background:#b91c1c;transform:scale(1.05)}.ws-asset-library-delete-btn:active{transform:scale(.95)}.ws-asset-library-item:hover .ws-asset-library-delete-btn{display:inline-flex}.ws-asset-library-meta{display:flex;align-items:center;gap:6px;padding:6px 8px}.ws-asset-library-name{flex:1;min-width:0;font-size:11.5px;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-asset-library-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.ws-asset-library-action{width:22px;height:22px;border:0;border-radius:6px;background:#1c1b170d;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.ws-asset-library-action:hover{background:rgba(var(--color-brand-rgb),.12);color:var(--color-brand-start)}.ws-asset-library-action.active{background:rgba(var(--color-success-rgb),.14);color:#10b981;cursor:default}.ws-asset-library-action.danger:hover{background:#ef44441f;color:#ef4444}.ws-asset-library-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 16px;color:var(--color-text-muted);text-align:center;font-size:13px}.ws-tldraw-file-drop-overlay{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-brand-rgb),.06);border:2px dashed rgba(var(--color-brand-rgb),.5);border-radius:12px;pointer-events:none}.ws-tldraw-file-drop-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 30px;border-radius:16px;background:var(--color-surface-strong);box-shadow:0 10px 30px #1c1b171f;color:var(--color-brand-start);font-size:14px;font-weight:600}.ws-asset-preview-overlay{position:absolute;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:48px;background:#1c1b178c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ws-asset-preview-card{position:relative;max-width:min(80vw,1100px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px;background:var(--color-surface-strong);border:1px solid var(--color-border-card);border-radius:18px;box-shadow:var(--shadow-lg)}.ws-asset-preview-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:0;border-radius:8px;background:#1c1b170f;color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.ws-asset-preview-close:hover{background:#ef44441f;color:#ef4444}.ws-asset-preview-media{max-width:100%;max-height:74vh;-o-object-fit:contain;object-fit:contain;border-radius:12px;background:#1c1b170a}.ws-asset-preview-audio{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 48px;color:var(--color-text-muted)}.ws-asset-preview-name{max-width:100%;font-size:13px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row{padding-top:6px;padding-bottom:6px;padding-right:8px}.project-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.project-row-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .18s ease}.project-row:hover .project-row-actions,.project-row.active .project-row-actions{opacity:1}.project-row-actions button{width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.project-row-actions button:hover{background:var(--color-active-soft);color:var(--color-brand-start)}.project-rename-input{flex:1;min-width:0;height:26px;border:1px solid var(--color-brand-start);border-radius:6px;padding:0 8px;font-size:13px;background:var(--color-surface-strong);color:var(--color-text-main);outline:none}.director-desk-overlay{position:fixed;inset:0;z-index:10000;background:var(--color-bg-base);display:flex;align-items:center;justify-content:center;padding:0}.director-desk-container{position:relative;width:100%;height:100%;max-width:none;border-radius:0;overflow:hidden;box-shadow:none;background:var(--color-bg-base)}.director-desk-frame{width:100%;height:100%;border:0;display:block}.director-desk-loading{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--color-text-main);background:radial-gradient(circle at 50% 38%,rgba(var(--color-brand-rgb),.14),transparent 34%),linear-gradient(145deg,var(--color-bg-base),var(--color-surface-strong));text-align:center}.director-desk-loading.is-error{background:radial-gradient(circle at 50% 38%,rgba(var(--color-danger-rgb),.15),transparent 34%),linear-gradient(145deg,var(--color-bg-base),var(--color-surface-strong))}.director-desk-loading strong{font-size:16px;font-weight:650;letter-spacing:.02em}.director-desk-loading span{max-width:360px;color:var(--color-text-muted);font-size:13px;line-height:1.6}.director-desk-loading-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.director-desk-loading-actions button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;border:1px solid var(--color-border-card);border-radius:8px;color:var(--color-text-main);background:var(--color-surface);transition:background .18s ease,border-color .18s ease}.director-desk-loading-actions button:hover{border-color:var(--color-border-hover);background:var(--color-active-soft)}.director-desk-close{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;border:0;border-radius:8px;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}.director-desk-close:hover{background:rgba(var(--color-danger-rgb),.85)}.ws-quit-confirm-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#1c1b172e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ws-quit-confirm-card{width:min(400px,calc(100vw - 48px));padding:24px;border:1px solid var(--color-border-card);border-radius:16px;background:var(--color-surface-strong);box-shadow:var(--shadow-lg);animation:modal-scale-up .24s cubic-bezier(.16,1,.3,1) forwards}.ws-quit-confirm-title{font-size:16px;font-weight:600;color:var(--color-text-strong, #1c1b17);margin-bottom:10px}.ws-quit-confirm-body{font-size:13px;line-height:1.6;color:var(--color-text-muted, #6b6b6b);margin-bottom:20px}.ws-quit-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.ws-quit-confirm-btn{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .18s,border-color .18s}.ws-quit-confirm-btn.cancel{background:transparent;border-color:var(--color-border-card);color:var(--color-text-strong, #1c1b17)}.ws-quit-confirm-btn.cancel:hover{background:#0000000a}.ws-quit-confirm-btn.danger{background:#f43f5e;color:#fff}.ws-quit-confirm-btn.danger:hover{background:rgba(var(--color-danger-rgb),.85)}.ws-chat-modal-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#1c1b171f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto}.ws-chat-modal-card{width:95vw;height:92vh;max-width:none;max-height:none;overflow:hidden;border:1px solid var(--color-border-card);border-radius:20px;background:var(--color-surface-strong);box-shadow:var(--shadow-lg);animation:modal-scale-up .3s cubic-bezier(.16,1,.3,1) forwards}.ws-chat-modal-card .chat-panel-full{width:100%;height:100%;display:flex;flex-direction:row;gap:0;padding:0}.chat-full-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border-card);background:var(--color-surface)}.chat-full-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--color-border-card)}.chat-full-sidebar-title{font-weight:700;font-size:13px}.chat-full-sidebar-groups{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:12px}.chat-full-group{display:flex;flex-direction:column;gap:4px}.chat-full-group-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;border-radius:8px;background:transparent;cursor:pointer;text-align:left;transition:background .15s ease}.chat-full-group-header:hover{background:var(--color-surface-strong)}.chat-full-group-caret{flex-shrink:0;opacity:.6;transition:transform .15s ease}.chat-full-group-caret.collapsed{transform:rotate(-90deg)}.chat-full-group-name{flex:1;min-width:0;font-size:12px;font-weight:600;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-full-group-count{flex-shrink:0;font-size:10px;font-weight:600;opacity:.4;padding:1px 6px;border-radius:8px;background:var(--color-surface-strong)}.chat-full-history-item{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:none;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.chat-full-history-item:hover{background:var(--color-surface-strong)}.chat-full-history-item.active{background:var(--color-surface-strong);box-shadow:inset 0 0 0 1px var(--color-border-card)}.chat-full-history-item .chat-history-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}.chat-full-history-item .chat-history-meta{font-size:10px;opacity:.5}.chat-full-history-item .chat-history-delete{position:absolute;top:8px;right:8px;opacity:0;display:inline-flex;transition:opacity .15s ease}.chat-full-history-item:hover .chat-history-delete{opacity:.6}.chat-full-history-item .chat-history-delete:hover{opacity:1}.chat-panel-full .chat-panel-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:0;padding:0}.chat-panel:not(.chat-panel-full) .chat-panel-main{flex:1;min-height:0;display:flex;flex-direction:column}.chat-panel-full .chat-input-wrapper{margin:0 16px 16px}.chat-panel-full .chat-log{padding:16px 20px 10px}.chat-sidebar-preset-selector{position:relative;flex:1;min-width:0}.chat-sidebar-preset-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:1px solid var(--color-border-card);border-radius:10px;background:var(--color-surface-strong);cursor:pointer;transition:background .15s ease}.chat-sidebar-preset-trigger:hover{background:var(--color-surface)}.chat-sidebar-preset-name{flex:1;min-width:0;text-align:left;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-sidebar-preset-caret{flex-shrink:0;opacity:.6;transition:transform .2s ease}.chat-sidebar-preset-caret.open{transform:rotate(180deg)}.chat-sidebar-preset-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:300px;overflow-y:auto;padding:4px;border:1px solid var(--color-border-card);border-radius:12px;background:var(--color-surface-strong);box-shadow:var(--shadow-lg)}.chat-sidebar-preset-empty{padding:10px;font-size:12px;opacity:.5;text-align:center}.chat-sidebar-preset-option{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s ease}.chat-sidebar-preset-option:hover{background:var(--color-surface)}.chat-sidebar-preset-option.active{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border-card)}.chat-sidebar-preset-option-name{flex:1;min-width:0;text-align:left;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-boot-splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--color-bg-base)}.app-boot-splash-brand{font-family:var(--font-family-title);font-size:30px;font-weight:700;letter-spacing:.02em;background:var(--color-brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;animation:app-boot-brand-in .5s cubic-bezier(.16,1,.3,1)}.app-boot-splash-spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(var(--color-brand-rgb),.18);border-top-color:var(--color-brand-start);animation:app-boot-spin .9s linear infinite}@keyframes app-boot-spin{to{transform:rotate(360deg)}}@keyframes app-boot-brand-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-boot-splash-spinner{animation-duration:2s}.app-boot-splash-brand{animation:none}}:root[data-theme=dark] .settings-modal select,:root[data-theme=dark] .settings-panel-content select,:root[data-theme=dark] .prompt-formatter-style-select,:root[data-theme=dark] .generation-default-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23f0ecf2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}button:focus-visible,[role=button]:focus-visible{outline:2px solid rgba(var(--color-brand-rgb),.55);outline-offset:2px}:root[data-theme=dark] .chat-icon-btn:hover{background:#ffffff14}:root[data-theme=dark] .chat-message.assistant{background:#ffffff0a}:root[data-theme=dark] .chat-message-content code{background:#ffffff1a}:root[data-theme=dark] .chat-message-content pre{background:#00000047}:root[data-theme=dark] .chat-input-wrapper{background:#ffffff0a}
