.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))}:root{--ink: #131729;--ink-2: #4c5371;--ink-3: #8b91ab;--line: rgba(19, 23, 41, .08);--brand: #6b5cff;--brand-2: #38bdf8;--brand-warm: #ff9d6c;--brand-grad: linear-gradient(135deg, #7c6bff 0%, #5b8cff 55%, #38c6f8 100%);--ok: #12a37a;--warn: #d97706;--bad: #e5484d;--page: #eef1f8;--glass: rgba(255, 255, 255, .56);--glass-strong: rgba(255, 255, 255, .74);--glass-soft: rgba(255, 255, 255, .34);--glass-edge: rgba(255, 255, 255, .78);--glass-shadow: 0 18px 50px rgba(52, 62, 120, .13), 0 2px 6px rgba(52, 62, 120, .06);--blur: saturate(175%) blur(26px);--r-xl: 28px;--r-lg: 22px;--r-md: 16px;--r-sm: 12px;--nav-h: 64px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}::selection{background:#6b5cff38}.scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(19,23,41,.18) transparent}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb{background:#13172929;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%,#f7f8fd 0%,var(--page) 60%)}.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.62;will-change:transform;animation:drift 38s ease-in-out infinite alternate}.aurora i:nth-child(1){width:52vw;height:52vw;left:-14vw;top:-20vw;background:#b9a8ff}.aurora i:nth-child(2){width:46vw;height:46vw;right:-12vw;top:-10vw;background:#8fdcff;animation-duration:46s;animation-delay:-12s}.aurora i:nth-child(3){width:40vw;height:40vw;left:22vw;bottom:-24vw;background:#ffc7a6;opacity:.5;animation-duration:52s;animation-delay:-20s}.aurora i:nth-child(4){width:30vw;height:30vw;right:8vw;bottom:-12vw;background:#c4f3e0;opacity:.55;animation-duration:44s;animation-delay:-6s}.aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vw,4vw,0) scale(1.12)}to{transform:translate3d(-4vw,7vw,0) scale(.94)}}@media(prefers-reduced-motion:reduce){.aurora i{animation:none}*{transition:none!important}}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow),inset 0 1px #ffffffd9;border-radius:var(--r-lg)}.glass.strong{background:var(--glass-strong)}.glass.soft{background:var(--glass-soft);box-shadow:inset 0 1px #ffffffb3}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:#ffffffeb}}.app{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}.topbar{flex:none;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 20px 0}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.02em}.brand-mark{width:32px;height:32px;border-radius:11px;background:var(--brand-grad);display:grid;place-items:center;color:#fff;box-shadow:0 6px 18px #6b5cff66,inset 0 1px #ffffff80}.nav{display:inline-flex;gap:4px;padding:5px;border-radius:999px}.nav a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:999px;color:var(--ink-2);font-weight:500;transition:background .18s,color .18s}.nav a:hover{background:#fff9;color:var(--ink)}.nav a.active{background:#fff;color:var(--ink);box-shadow:0 4px 14px #343e7824}.nav a svg{opacity:.8}.topbar-right{justify-self:end;display:inline-flex;align-items:center;gap:10px}.credit-pill{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 12px;border-radius:999px;font-weight:600;font-variant-numeric:tabular-nums}.credit-pill svg{color:var(--brand)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#ffb58a,#ff7fa8);box-shadow:0 6px 16px #ff7fa859,inset 0 1px #ffffff80}.main{flex:1;min-height:0;padding:16px 20px 20px}.mock-banner{margin:10px 20px 0;padding:8px 14px;border-radius:12px;font-size:13px;color:#8a4b00;background:#ffd69980;border:1px solid rgba(255,190,110,.6);display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:13px;font-weight:600;white-space:nowrap;transition:transform .12s,box-shadow .18s,background .18s,opacity .18s}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn.primary{color:#fff;background:var(--brand-grad);box-shadow:0 10px 26px #626cff5c,inset 0 1px #ffffff73}.btn.primary:hover:not(:disabled){box-shadow:0 14px 32px #626cff75,inset 0 1px #ffffff73}.btn.primary:disabled{opacity:.45;box-shadow:none}.btn.ghost{background:#ffffff9e;border:1px solid var(--glass-edge);color:var(--ink);box-shadow:0 2px 8px #343e780f}.btn.ghost:hover:not(:disabled){background:#ffffffe6}.btn.ghost:disabled{opacity:.5}.btn.small{height:32px;padding:0 12px;border-radius:10px;font-size:13px}.btn.block{width:100%}.btn.big{height:50px;border-radius:16px;font-size:15px}.icon-btn{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;color:var(--ink-2);transition:background .16s,color .16s}.icon-btn:hover{background:#ffffffbf;color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-size:13px;color:var(--ink-2);background:#ffffff80;border:1px solid rgba(255,255,255,.75);transition:background .16s,color .16s,border-color .16s;white-space:nowrap}button.chip:hover{background:#ffffffd9;color:var(--ink)}.chip.on{color:#fff;background:var(--brand-grad);border-color:transparent;box-shadow:0 6px 16px #626cff4d}.chip.tiny{height:22px;padding:0 8px;font-size:12px}.badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:600;color:var(--brand);background:#6b5cff1f}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.field{width:100%;height:44px;padding:0 14px;border-radius:13px;border:1px solid rgba(255,255,255,.85);background:#ffffffa8;outline:none;transition:border-color .16s,background .16s,box-shadow .16s}.field:focus{border-color:#6b5cff8c;background:#fff;box-shadow:0 0 0 4px #6b5cff1f}textarea.field{height:auto;padding:12px 14px;resize:none;line-height:1.7}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%234c5371' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.label{font-size:12px;color:var(--ink-3);margin-bottom:6px;display:block}.err{color:var(--bad);font-size:13px}.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:spin .8s linear infinite}.spin.dark{border-color:#13172926;border-top-color:var(--brand)}@keyframes spin{to{transform:rotate(360deg)}}.login{height:100%;display:grid;place-items:center;padding:24px;position:relative;z-index:1}.login-card{width:min(420px,100%);padding:36px 34px 30px;border-radius:var(--r-xl)}.login-card h1{font-size:26px;letter-spacing:.01em;margin:18px 0 6px}.login-card .stack{display:grid;gap:12px;margin-top:24px}.login-switch{margin-top:16px;text-align:center;font-size:13px}.login-switch button,.login-switch a{color:var(--brand);font-weight:600}.home{height:100%}.home-inner{max-width:1120px;margin:0 auto;padding:5vh 8px 40px}.hero{text-align:center}.hero h1{font-size:clamp(30px,4.2vw,50px);line-height:1.18;letter-spacing:-.01em;font-weight:800}.hero h1 em{font-style:normal;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin-top:12px;font-size:16px;color:var(--ink-2)}.ask{margin:30px auto 0;max-width:760px;padding:10px 10px 10px 20px;border-radius:24px;display:flex;align-items:flex-end;gap:10px}.ask textarea{flex:1;border:0;background:none;outline:none;resize:none;padding:12px 0;min-height:48px;max-height:140px;line-height:1.7;font-size:15px}.ask .send{width:48px;height:48px;border-radius:16px;flex:none}.section-title{margin:44px 4px 14px;display:flex;align-items:baseline;gap:10px}.section-title h2{font-size:18px}.goal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.goal{grid-column:span 3;text-align:left;padding:18px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:10px;min-height:148px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,background .2s}.goal.wide{grid-column:span 6}.goal:hover{transform:translateY(-3px);background:var(--glass-strong);box-shadow:0 26px 60px #343e7833,inset 0 1px #ffffffe6}.goal .orb{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px #ffffff80}.goal h3{font-size:16px}.goal p{font-size:13px;color:var(--ink-2)}.goal .glow{position:absolute;right:-40px;bottom:-50px;width:160px;height:160px;border-radius:50%;filter:blur(34px);opacity:.5;pointer-events:none}.goal .soon{position:absolute;top:14px;right:14px}.tool-row{display:flex;flex-wrap:wrap;gap:10px}.studio{height:100%;display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:16px}.pane{min-height:0;display:flex;flex-direction:column;border-radius:var(--r-xl);overflow:hidden}.pane-head{flex:none;padding:14px 16px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.pane-head h2{font-size:15px}.pane-body{flex:1;min-height:0;padding:16px}.pane-foot{flex:none;padding:12px 14px 14px;border-top:1px solid var(--line)}.skill-trigger{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:14px;background:#fff9;border:1px solid var(--glass-edge);text-align:left;min-width:0}.skill-trigger:hover{background:#ffffffe6}.skill-dot{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}.skill-trigger b{display:block;font-size:14px;line-height:1.3}.skill-trigger small{display:block;font-size:12px;color:var(--ink-3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-panel{position:absolute;z-index:30;top:62px;left:12px;right:12px;max-height:min(70vh,560px);padding:14px;border-radius:var(--r-lg)}.skill-cat{font-size:12px;color:var(--ink-3);margin:10px 4px 6px}.skill-cat:first-child{margin-top:0}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.skill-item{text-align:left;padding:9px 11px;border-radius:12px;transition:background .14s}.skill-item:hover{background:#fffc}.skill-item.on{background:#fff;box-shadow:0 4px 14px #343e781f}.skill-item b{display:flex;align-items:center;gap:6px;font-size:13.5px}.skill-item small{display:block;font-size:12px;color:var(--ink-3)}.thread{display:flex;flex-direction:column;gap:14px}.empty{height:100%;display:grid;place-items:center;text-align:center;padding:20px}.empty h3{font-size:17px;margin-bottom:6px}.empty .starters{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.bubble-user{align-self:flex-end;max-width:86%;padding:9px 14px;border-radius:16px 16px 4px;color:#fff;background:var(--brand-grad);box-shadow:0 8px 20px #626cff42;white-space:pre-wrap}.script-card{padding:16px 18px;border-radius:18px;background:#ffffffb3;border:1px solid var(--glass-edge);box-shadow:0 6px 20px #343e7812}.script-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);margin-bottom:10px}.script{font-size:14px;line-height:1.85;white-space:pre-wrap;word-break:break-word}.script .sec{display:block;font-weight:700;font-size:15px;margin:14px 0 4px}.script .sec:first-child{margin-top:0}.script .shot{display:inline-block;margin:10px 0 2px;padding:2px 10px;border-radius:8px;font-weight:600;font-size:13px;color:var(--brand);background:#6b5cff1a}.script .line{color:#0c7a5c;background:#12a37a1a;border-radius:6px;padding:1px 5px}.script .ref{color:#0b6bcb;background:#38bdf829;border-radius:6px;padding:0 5px;font-weight:600}.script-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}.issues{margin-top:10px;padding:10px 12px;border-radius:12px;font-size:13px;color:#8a4b00;background:#ffd69966}.caret:after{content:"";display:inline-block;width:7px;height:16px;margin-left:2px;vertical-align:-2px;border-radius:2px;background:var(--brand);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.slots{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.slot{display:flex;align-items:center;gap:6px}.slot-add{height:52px;padding:0 12px;border-radius:14px;display:inline-flex;align-items:center;gap:8px;border:1px dashed rgba(19,23,41,.22);color:var(--ink-2);font-size:13px;background:#ffffff59;transition:background .16s,border-color .16s,color .16s}.slot-add:hover{background:#fffc;border-color:var(--brand);color:var(--brand)}.slot-add em{font-style:normal;color:var(--bad)}.thumb{position:relative;width:52px;height:52px;border-radius:13px;overflow:hidden;background:#1317290f;border:1px solid var(--glass-edge);flex:none}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}.thumb .tag{position:absolute;left:3px;bottom:3px;padding:0 5px;border-radius:6px;font-size:10px;line-height:16px;color:#fff;background:#1317299e}.thumb .x{position:absolute;right:2px;top:2px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#13172999;opacity:0;transition:opacity .14s}.thumb:hover .x{opacity:1}.composer{border-radius:18px;padding:10px 10px 8px 14px;background:#ffffffb8;border:1px solid var(--glass-edge);box-shadow:0 4px 16px #343e780f}.composer:focus-within{border-color:#6b5cff80;box-shadow:0 0 0 4px #6b5cff1a}.composer textarea{width:100%;border:0;outline:none;background:none;resize:none;min-height:44px;max-height:180px;line-height:1.7;padding:4px 0}.composer-row{display:flex;align-items:center;gap:8px}.composer-row .grow{flex:1}.inline-select{height:30px;border-radius:10px;padding:0 26px 0 10px;font-size:13px;border:1px solid transparent;background-color:#1317290d;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%234c5371' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 9px center;outline:none}.inline-select:hover{background-color:#13172917}.send{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;background:var(--brand-grad);box-shadow:0 8px 20px #626cff57,inset 0 1px #ffffff73;transition:opacity .16s,transform .12s}.send:disabled{opacity:.4;box-shadow:none}.send:active:not(:disabled){transform:scale(.95)}.stage{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.stage-view{min-height:0;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.stage-view video,.stage-view img.result{max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:20px;box-shadow:0 24px 60px #1e245042;background:#000}.stage-idle{text-align:center;max-width:420px}.stage-idle .ring{width:96px;height:96px;margin:0 auto 18px;border-radius:30px;display:grid;place-items:center;color:#fff;background:var(--brand-grad);box-shadow:0 20px 50px #626cff66,inset 0 1px #ffffff80}.stage-idle h3{font-size:19px;margin-bottom:6px}.progress-card{width:min(420px,100%);padding:26px;border-radius:var(--r-lg);text-align:center}.progress-orb{width:84px;height:84px;margin:0 auto 16px;border-radius:50%;background:conic-gradient(from 0deg,#7c6bff,#38c6f8,#ffb58a,#7c6bff);-webkit-mask:radial-gradient(circle,transparent 54%,#000 56%);mask:radial-gradient(circle,transparent 54%,#000 56%);animation:spin 1.6s linear infinite}.steps{margin-top:14px;display:grid;gap:6px;text-align:left}.step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3)}.step i{width:8px;height:8px;border-radius:50%;background:#1317292e;flex:none}.step.running{color:var(--ink)}.step.running i{background:var(--brand);box-shadow:0 0 0 4px #6b5cff2e}.step.succeeded i{background:var(--ok)}.step.failed i{background:var(--bad)}.result-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:0 16px 12px;font-size:13px;color:var(--ink-2)}.gen-panel{padding:14px 16px 16px;border-top:1px solid var(--line);display:grid;gap:12px}.gen-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.switch{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:13px;background:#ffffffa8;border:1px solid rgba(255,255,255,.85);white-space:nowrap}.switch i{width:34px;height:20px;border-radius:999px;background:#1317292e;position:relative;transition:background .18s;flex:none}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.switch.on i{background:var(--brand)}.switch.on i:after{transform:translate(14px)}.quote{display:flex;align-items:center;gap:12px}.quote .price{font-size:13px;color:var(--ink-2);white-space:nowrap}.quote .price b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.recent{display:flex;gap:10px;padding:10px 16px 14px;border-top:1px solid var(--line);align-items:center}.recent-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1}.recent-list::-webkit-scrollbar{display:none}.recent-item{position:relative;width:54px;height:72px;border-radius:12px;overflow:hidden;flex:none;background:#13172912;border:2px solid transparent;display:grid;place-items:center;color:var(--ink-3);font-size:11px}.recent-item.on{border-color:var(--brand)}.recent-item img{width:100%;height:100%;object-fit:cover}.recent-item .state{position:absolute;inset:auto 0 0 0;font-size:10px;line-height:16px;text-align:center;color:#fff;background:#1317298c}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#1e223c47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .16s ease-out}.modal{width:min(880px,100%);max-height:min(86vh,760px);display:flex;flex-direction:column;border-radius:var(--r-xl);animation:pop .2s cubic-bezier(.2,.9,.3,1.2)}.modal-head{padding:18px 20px 12px;display:flex;align-items:center;gap:12px}.modal-head h2{font-size:17px}.modal-body{flex:1;min-height:320px;padding:4px 20px 16px}.modal-foot{padding:12px 20px 18px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.asset-card{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#1317290f;border:2px solid transparent;transition:transform .14s,border-color .14s,box-shadow .14s;display:block;width:100%}.asset-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #343e782e}.asset-card.on{border-color:var(--brand);box-shadow:0 0 0 4px #6b5cff29}.asset-card.off{opacity:.35}.asset-card img{width:100%;height:100%;object-fit:cover;display:block}.asset-card .name{position:absolute;inset:auto 0 0 0;padding:16px 8px 6px;font-size:11px;color:#fff;text-align:left;background:linear-gradient(transparent,#131729b3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card .pick{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;background:var(--brand);box-shadow:0 2px 8px #00000040}.asset-card .kind{position:absolute;top:8px;left:8px}.upload-card{aspect-ratio:1;border-radius:16px;border:1.5px dashed rgba(19,23,41,.25);display:grid;place-items:center;text-align:center;color:var(--ink-2);background:#fff6;transition:background .16s,border-color .16s,color .16s;width:100%;font-size:13px}.upload-card:hover,.upload-card.drag{background:#ffffffd9;border-color:var(--brand);color:var(--brand)}.toast{position:fixed;z-index:200;left:50%;bottom:28px;transform:translate(-50%);padding:10px 16px;border-radius:14px;font-size:13px;max-width:min(520px,90vw);animation:pop .2s ease-out}.soon-page{height:100%;display:grid;place-items:center}.soon-card{padding:36px 40px;text-align:center;max-width:460px;border-radius:var(--r-xl)}@media(max-width:980px){body{overflow:auto}.topbar{grid-template-columns:auto 1fr;height:auto;padding-top:12px}.nav{position:fixed;z-index:50;left:50%;bottom:12px;transform:translate(-50%);max-width:calc(100vw - 24px);overflow-x:auto}.nav a span{display:none}.main{padding-bottom:84px}.studio{grid-template-columns:1fr;height:auto}.pane{min-height:70vh}.goal,.goal.wide{grid-column:span 6}.gen-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.goal,.goal.wide{grid-column:span 12}.skill-list{grid-template-columns:1fr}}.susu{display:block;width:auto;max-width:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 14px 22px rgba(98,90,180,.22))}.susu-avatar{border-radius:50%;object-fit:cover;flex:none;background:linear-gradient(135deg,#e6e0ff,#d6ecff);border:1.5px solid rgba(255,255,255,.95);box-shadow:0 3px 10px #625ab440}.susu-says{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:440px;margin:0 auto}.susu-says .susu{margin-bottom:14px;animation:susu-in .5s cubic-bezier(.2,.9,.3,1.15) both}.susu-says h3{font-size:18px;margin-bottom:6px}@keyframes susu-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}.susu.busy{animation:susu-float 2.6s ease-in-out infinite}@keyframes susu-float{50%{transform:translateY(-6px)}}.bubble-susu{position:relative;display:inline-block;padding:9px 14px;border-radius:16px 16px 16px 4px;background:#ffffffc7;border:1px solid var(--glass-edge);box-shadow:0 6px 18px #343e781a;font-size:14px;color:var(--ink);text-align:left}.hero-susu{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-bottom:18px}.hero-susu .bubble-susu{margin-bottom:40px}.login-wrap{display:flex;align-items:center;gap:8px}.login-susu{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-right:-6px}.login-susu .bubble-susu{border-radius:16px 16px 4px;margin-right:60px}.progress-bar{height:6px;border-radius:999px;background:#13172914;overflow:hidden;margin-top:14px}.progress-bar i{display:block;height:100%;width:40%;border-radius:999px;background:var(--brand-grad);animation:slide 1.5s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media(max-width:820px){.login-susu{display:none}}.page{height:100%;display:flex;flex-direction:column;border-radius:var(--r-xl);overflow:hidden;max-width:1280px;margin:0 auto}.page-head{flex:none;padding:16px 20px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.page-head h2{font-size:18px;margin-right:10px}.page-body{flex:1;min-height:0;padding:18px 20px 22px}.vr{width:1px;height:18px;background:var(--line);margin:0 4px}.form-block{margin-bottom:16px}.form-block .slots{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label:first-child{grid-column:1 / -1}.asset-grid.big{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.asset-blank{display:grid;place-items:center;height:100%;color:var(--ink-3)}.badge.gen{position:absolute;top:8px;right:8px;color:#fff;background:#6b5cffd9}.viewer{display:grid;place-items:center;min-height:0;overflow:hidden}.viewer img,.viewer video{max-width:100%;max-height:62vh;border-radius:16px;background:#1317290f}.viewer audio{width:min(520px,100%)}.wallet-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px 20px;border-radius:var(--r-lg);max-width:720px;overflow:hidden}.wallet-num{font-size:44px;font-weight:800;line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.sub-title{font-size:15px;margin:26px 4px 10px}.ledger{max-width:720px;display:grid;gap:6px}.ledger-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto 84px 92px;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#ffffff80;border:1px solid rgba(255,255,255,.7);font-size:13.5px}.ledger-type{font-size:12px;font-weight:600;text-align:center;border-radius:7px;line-height:22px;background:#1317290f;color:var(--ink-2)}.ledger-type.plus{background:#12a37a1f;color:var(--ok)}.ledger-type.used{background:#6b5cff1f;color:var(--brand)}.ledger-what{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-amount{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.ledger-amount.plus{color:var(--ok)}.ledger-amount.hold{color:var(--ink-3);font-weight:500}.ledger-after{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.recent-item.square{width:60px;height:60px}@media(max-width:700px){.ledger-row{grid-template-columns:52px minmax(0,1fr) 84px}.ledger-row .faint,.wallet-card .susu{display:none}}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.module{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 8px 8px 12px;border-radius:13px;background:#fff6;border:1px solid rgba(255,255,255,.7);color:var(--ink-2);transition:background .16s,border-color .16s,color .16s}.module b{font-size:13.5px;font-weight:600}.module.on{background:#ffffffe0;border-color:#6b5cff73;color:var(--ink);box-shadow:0 4px 12px #626cff1f}.stepper{display:inline-flex;align-items:center;gap:2px}.stepper button{width:22px;height:22px;border-radius:7px;background:#1317290f;line-height:1;font-size:15px}.stepper button:hover:not(:disabled){background:#6b5cff2e;color:var(--brand)}.stepper button:disabled{opacity:.35}.stepper i{font-style:normal;width:18px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--brand)}.plan-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.plan-head h3{font-size:17px;margin-bottom:4px}.plan-head .lock{margin-top:6px;font-size:13px;color:var(--ink-2)}.plan-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.plan-row{padding:12px;border-radius:16px;background:#ffffff8c;border:1px solid var(--glass-edge)}.plan-row-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.plan-row textarea{font-size:13px;line-height:1.7}.plan-foot{position:sticky;bottom:-16px;margin:14px -16px -16px;padding:12px 16px 14px;display:flex;align-items:center;gap:12px;background:#f4f5fcd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.set-card{border-radius:16px;overflow:hidden;background:#fff9;border:1px solid var(--glass-edge);box-shadow:0 6px 18px #343e7814}.set-img{display:grid;place-items:center;background:#1317290d}.set-img button,.set-img img{display:block;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.set-fail{padding:12px;font-size:12px;color:var(--bad);text-align:center}.set-meta{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;font-size:13px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;padding:28px;background:#141628b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out;animation:fade .16s ease-out}.lightbox img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 80px #00000080}.src-note{margin-top:8px;font-size:12.5px;color:var(--ink-2)}.src-note.bad{color:var(--bad)}.mode-list{display:grid;gap:8px}.mode-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;text-align:left;background:#fff6;border:1px solid rgba(255,255,255,.7);color:var(--ink-2);transition:background .16s,border-color .16s,box-shadow .16s}.mode-card>i{width:16px;height:16px;margin-top:2px;border-radius:50%;border:1.5px solid rgba(19,23,41,.25);flex:none;transition:border .16s}.mode-card b{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}.mode-card em{font-style:normal;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;color:var(--brand);background:#6b5cff1f}.mode-card small{display:block;margin-top:2px;font-size:12.5px;line-height:1.5}.mode-card.on{background:#ffffffe6;border-color:#6b5cff73;box-shadow:0 4px 14px #626cff1f}.mode-card.on>i{border:5px solid var(--brand)}.mode-card:disabled{opacity:.6}.clone-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:4px}.clone-top>:only-child{grid-column:1 / -1}.cast-card,.lock-card{padding:12px;border-radius:16px;background:#ffffff8c;border:1px solid var(--glass-edge)}.cast-card{display:flex;gap:12px}.cast-pics{display:flex;gap:6px;flex:none}.cast-pics button{width:96px;height:128px;border-radius:12px;overflow:hidden;background:#1317290f}.cast-pics img{width:100%;height:100%;object-fit:cover;object-position:top}.cast-side{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px}.cast-side b,.lock-card b{font-size:14px}.cast-actions{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.lock-card ul{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.75;color:var(--ink-2)}.board-thumb{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.board-thumb img{width:64px;height:48px;object-fit:cover;border-radius:8px}.clone-title{margin:16px 0 8px;font-size:14.5px}.clone-title .faint{margin-left:6px;font-size:12.5px;font-weight:400}.shot-list,.line-list{display:grid;gap:6px}.shot-row{display:grid;grid-template-columns:132px minmax(0,.8fr) minmax(0,1.2fr);gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:#ffffff80;border:1px solid var(--glass-edge)}.shot-row.hit{border-color:#ff8f6b8c;background:#fffaf6b8}.shot-no{display:grid;gap:3px;font-size:12.5px;color:var(--ink-2)}.shot-no .badge{justify-self:start}.shot-no em,.line-row em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;font-size:13px}.shot-no small{color:var(--ink-3);line-height:1.45}.shot-old{font-size:13px;line-height:1.6;color:var(--ink-2)}.shot-old small,.line-row small{display:block;font-size:11.5px;color:var(--ink-3)}.shot-row textarea{font-size:13px;line-height:1.6;min-height:0}.line-row{display:grid;grid-template-columns:96px minmax(0,1fr) 44px;gap:10px;align-items:center;padding:8px 12px;border-radius:14px;background:#ffffff80;border:1px solid var(--glass-edge)}.line-row small{margin-bottom:4px}.line-row .field{height:38px;font-size:13.5px}.line-row>i{font-style:normal;font-size:12px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.line-row.risky{border-color:#d9770680;background:#fff9ebcc}.line-row small.risk{margin:4px 0 0;color:var(--warn);font-weight:600}.line-row>i.warn{color:var(--warn);font-weight:600}.voice-bar{display:flex;align-items:center;gap:12px;margin:-4px 0 12px;font-size:13px}.voice-bar audio{height:32px;flex:1;max-width:420px}.compare{flex:1;min-height:0;display:flex;justify-content:center;gap:16px}.compare figure{margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:8px}.compare video{flex:1;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;background:#000;box-shadow:0 20px 50px #1e24503d}.compare figcaption{flex:none;font-size:12.5px;color:var(--ink-2)}@media(max-width:1180px){.clone-top{grid-template-columns:1fr}.shot-row{grid-template-columns:110px minmax(0,1fr)}.shot-row textarea{grid-column:1 / -1}}.cv-home{height:100%;overflow-y:auto;max-width:1180px;margin:0 auto;padding:4px 6px 30px}.cv-head{display:flex;align-items:center;gap:18px;margin-bottom:6px}.cv-head h1{font-size:26px;margin-bottom:6px}.cv-head p{max-width:580px;line-height:1.7}.cv-section{margin:22px 4px 12px;font-size:16px}.cv-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.cv-template{position:relative;overflow:hidden;text-align:left;padding:18px;border-radius:22px;display:flex;flex-direction:column;gap:8px;min-height:196px;transition:transform .18s,box-shadow .18s}.cv-template:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 22px 54px #343e782e}.cv-template.blank{border-style:dashed;border-color:#1317292e}.cv-glow{position:absolute;right:-44px;top:-44px;width:150px;height:150px;border-radius:50%;filter:blur(34px);opacity:.5;pointer-events:none}.cv-template b{position:relative;font-size:16px}.cv-template small{position:relative;font-size:13px;line-height:1.6;color:var(--ink-2)}.cv-steps{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px}.cv-steps em{font-style:normal;font-size:12px;padding:2px 8px;border-radius:999px;background:#ffffffbf;border:1px solid var(--line)}.cv-steps i{font-style:normal;margin-right:4px;font-size:12px;color:var(--ink-3)}.cv-go{position:relative;margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--brand)}.cv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.cv-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:18px}.cv-cover{width:56px;height:56px;border-radius:12px;overflow:hidden;flex:none;display:grid;place-items:center;background:#1317290f;color:var(--ink-3)}.cv-cover img{width:100%;height:100%;object-fit:cover}.cv-item-meta{flex:1;min-width:0;display:grid;gap:2px}.cv-item-meta b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-item-meta span{font-size:12px}.canvas-wrap{position:relative;height:100%;border-radius:var(--r-xl);overflow:hidden}.canvas-stage{position:absolute;top:62px;right:0;bottom:0;left:0}.canvas-wrap .react-flow{background:transparent}.canvas-wrap .react-flow__attribution{background:transparent;opacity:.45}.canvas-bar{position:absolute;top:12px;left:12px;right:12px;z-index:6;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:18px}.canvas-title{flex:0 1 280px;min-width:120px;height:34px;padding:0 10px;border-radius:10px;border:1px solid transparent;background:transparent;font:inherit;font-size:15px;font-weight:600;color:var(--ink)}.canvas-title:hover,.canvas-title:focus{background:#ffffffb3;border-color:var(--line);outline:none}.canvas-save{font-size:12px;color:var(--ink-3);white-space:nowrap}.canvas-save.conflict button,.canvas-save.error button{color:var(--bad);font-size:12px;text-decoration:underline}.canvas-add{position:relative}.canvas-menu{position:absolute;top:calc(100% + 8px);right:0;width:190px;padding:8px;border-radius:16px;display:grid;gap:2px;z-index:10}.canvas-menu small{padding:6px 8px 2px;font-size:11.5px;color:var(--ink-3)}.canvas-menu button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;font-size:13.5px;text-align:left}.canvas-menu button:hover{background:#6b5cff1a}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;pointer-events:none}.cnode{width:250px;border-radius:18px;background:#ffffffdb;border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 30px #343e7824;font-size:13px;transition:box-shadow .16s}.cnode.own{background:#ffffff9e;border:1px dashed rgba(19,23,41,.2)}.cnode.on{box-shadow:0 0 0 2px var(--brand),0 14px 36px #626cff42}.cnode.busy{box-shadow:0 0 0 2px #6b5cff66,0 14px 36px #626cff38}.cnode-head{display:flex;align-items:center;gap:8px;padding:10px 12px 8px}.cnode-head b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.cnode-ico{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none}.cnode-ico.k-text{background:linear-gradient(135deg,#7c6bff,#a56bff)}.cnode-ico.k-image{background:linear-gradient(135deg,#34d1bf,#3b9eff)}.cnode-ico.k-video{background:linear-gradient(135deg,#ff8f6b,#ff5fa2)}.cnode-ico.k-audio{background:linear-gradient(135deg,#ffb347,#ff7a59)}.cnode-tag{flex:none;font-size:11px;padding:1px 7px;border-radius:999px;background:#1317290f;color:var(--ink-3)}.cnode-tag.warn{background:#d9770624;color:var(--warn);font-weight:600}.cnode-body{padding:0 12px;min-height:60px;display:grid}.cnode-body p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-2);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.cnode-empty{align-self:center;justify-self:center;padding:14px 0;font-size:12.5px;color:var(--ink-3)}.cnode-pic{position:relative;display:block;border-radius:12px;overflow:hidden;background:#1317290d}.cnode-pic img{display:block;width:100%;max-height:250px;object-fit:cover}.cnode-pic i{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#00000029}.cnode-body audio{width:100%;height:34px}.cnode-fail{margin:6px 12px 0;font-size:12px;line-height:1.5;color:var(--bad)}.cnode-foot{padding:10px 12px 12px;display:flex;min-height:12px}.cnode-foot .btn{width:100%;justify-content:center}.cnode-busy{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.canvas-wrap .react-flow__handle{width:13px;height:13px;background:#fff;border:2.5px solid var(--brand)}.canvas-wrap .react-flow__edge-path{stroke:#6b5cff99;stroke-width:2.2}.canvas-wrap .cedge.ref .react-flow__edge-path{stroke:#28aae1cc}.canvas-wrap .react-flow__edge.selected .react-flow__edge-path{stroke:var(--brand);stroke-width:3}.canvas-wrap .react-flow__edge-text{font-size:11px;fill:var(--ink-2)}.canvas-wrap .react-flow__edge-textbg{fill:#ffffffeb}.canvas-wrap .react-flow__controls{border-radius:12px;overflow:hidden;box-shadow:var(--glass-shadow)}.canvas-wrap .react-flow__controls-button{background:#ffffffdb;border-bottom-color:var(--line)}.cinspector{position:absolute;top:70px;right:12px;bottom:12px;width:340px;z-index:6;border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.cins-head{display:flex;align-items:center;gap:8px}.cins-head .field{height:36px;font-weight:600}.cins-who{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#1317290f}.cins-who button{height:30px;border-radius:9px;font-size:13px;color:var(--ink-2)}.cins-who button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 4px #00000014}.cins-block{display:grid;gap:6px}.cins-block textarea{font-size:13px;line-height:1.6}.cins-preview{border-radius:14px;overflow:hidden;min-height:80px;display:grid;place-items:center;background:#1317290d}.cins-preview img,.cins-preview video{display:block;width:100%;max-height:320px;object-fit:contain}.cins-preview audio{width:calc(100% - 20px);margin:16px 10px}.cins-row{display:flex;gap:6px}.cins-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cins-grid label{display:grid;gap:4px}.cins-ups{display:flex;flex-wrap:wrap;gap:6px}.cins-ups span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#ffffffb3;border:1px solid var(--line);font-size:12.5px}.cins-ups span.empty{border-color:#d9770673}.cins-ups em{font-style:normal;font-size:11.5px;color:var(--ink-3)}.cins-ups i{font-style:normal;font-size:11.5px;color:var(--warn)}.cins-versions{display:flex;flex-wrap:wrap;gap:6px}.cins-versions button{width:54px;height:54px;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#1317290f;font-size:10.5px;color:var(--ink-2);display:grid;place-items:center}.cins-versions button.on{border-color:var(--brand)}.cins-versions img{width:100%;height:100%;object-fit:cover}.cins-versions span{padding:3px;line-height:1.3}.cins-foot{margin-top:auto;display:flex;gap:8px;padding-top:4px}.cins-foot .btn.primary{flex:1;justify-content:center}.canvas-confirm{width:min(460px,100%)}.confirm-rows{display:grid;gap:6px}.confirm-rows>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#fff9;font-size:13.5px}.confirm-rows em{margin-left:auto;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}.confirm-total{margin:12px 0 6px;font-size:14px}.confirm-total b{font-size:20px}.prod-studio{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.prod-list{display:grid;gap:8px}.prod-card{display:flex;gap:10px;align-items:center;padding:8px;border-radius:16px;text-align:left;background:#fff6;border:1px solid rgba(255,255,255,.7);transition:background .16s,border-color .16s,box-shadow .16s}.prod-card.on{background:#ffffffe6;border-color:#6b5cff73;box-shadow:0 4px 14px #626cff1f}.prod-thumb{width:60px;height:60px;flex:none;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#1317290f;color:var(--ink-3)}.prod-thumb img{width:100%;height:100%;object-fit:cover}.prod-meta{min-width:0;display:grid;gap:2px}.prod-meta b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-meta small{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-meta em{font-style:normal;font-size:11.5px;color:var(--ink-3)}.prod-name{flex:0 1 300px;height:38px;font-size:16px;font-weight:600}.prod-images{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prod-ask{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:18px;background:#ffffff80;border:1px solid var(--glass-edge)}.prod-ask.strong{background:linear-gradient(135deg,#7c6bff24,#38c6f824);border-color:#6b5cff4d}.prod-ask>div{flex:1;min-width:0;display:grid;gap:2px}.prod-ask b{font-size:14px}.prod-ask small{font-size:12.5px;line-height:1.55;color:var(--ink-2)}.prod-ask .btn{flex:none}.prod-points{display:grid;gap:6px}.prod-points>div{display:flex;align-items:center;gap:8px}.prod-points i{flex:none;width:20px;font-style:normal;font-size:12px;text-align:center;color:var(--ink-3);font-variant-numeric:tabular-nums}.prod-points .field{height:38px;font-size:13.5px}.prod-go{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prod-go .muted{font-size:13px}.slot-product{display:flex;align-items:center;gap:6px;margin:-2px 0 10px;font-size:12.5px;color:var(--brand)}.grant-box{margin-top:16px;padding:14px 16px;border-radius:18px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) 110px auto;gap:10px;align-items:center}.grant-box>div{display:grid;gap:2px}.grant-box b{font-size:14px}.grant-box .faint{font-size:12px}
