.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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))}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/dm-sans-400.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/dm-sans-500.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/dm-sans-600.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/dm-sans-700.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:block;src:url(/fonts/dm-sans-800.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/fira-code-400.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/fira-code-500.ttf)format("truetype")}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/fira-code-600.ttf)format("truetype")}:root{--bg:#fafafa;--bg-elevated:#fff;--surface:#fff;--surface-hover:#f5f5f5;--overlay:#0000000d;--text-primary:#171717;--text-secondary:#525252;--text-tertiary:#a3a3a3;--text-disabled:#d4d4d4;--border:#00000014;--border-hover:#0000001f;--divider:#0000000f;--accent:#0ea5e9;--accent-hover:#0284c7;--accent-light:#0ea5e91a;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 40px #0000001f;--shadow-xl:0 20px 60px #00000026;--composer-bg:var(--surface);--composer-control:var(--surface-hover);--composer-control-hover:var(--overlay);--composer-text:var(--text-primary);--composer-muted:var(--text-tertiary);--composer-placeholder:var(--text-tertiary);--composer-accent:var(--accent);--composer-submit:var(--surface-hover);--composer-submit-active:var(--overlay);--composer-submit-icon:var(--text-tertiary);--composer-submit-icon-active:var(--text-primary);--composer-shadow:0 22px 60px #0f172a1f;--blur-sm:blur(8px);--blur-md:blur(16px);--blur-lg:blur(24px);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--rail-width:72px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--bg-elevated:#141414;--surface:#1a1a1a;--surface-hover:#222;--overlay:#ffffff0d;--text-primary:#fafafa;--text-secondary:#a3a3a3;--text-tertiary:#737373;--text-disabled:#404040;--border:#ffffff14;--border-hover:#ffffff1f;--divider:#ffffff0f;--accent:#c0fba0;--accent-hover:#d7ffc4;--accent-light:#c0fba029;--accent-contrast:#13240d;--success:#34d399;--warning:#fbbf24;--error:#f87171;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 40px #0009;--shadow-xl:0 20px 60px #000c;--composer-bg:var(--surface);--composer-control:var(--surface-hover);--composer-control-hover:var(--overlay);--composer-text:var(--text-primary);--composer-muted:var(--text-tertiary);--composer-placeholder:var(--text-tertiary);--composer-accent:var(--accent);--composer-submit:var(--surface-hover);--composer-submit-active:var(--overlay);--composer-submit-icon:var(--text-tertiary);--composer-submit-icon-active:var(--text-primary);--composer-shadow:0 24px 70px #00000085;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;min-height:100%;overflow-y:scroll}html.is-studio-page{scrollbar-gutter:auto;height:100%;overflow:hidden}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text-primary);font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}body.is-studio-page{height:100%;overflow:hidden}html.is-canvas-page body,html.is-canvas-page #root{background:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.4}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-light);color:var(--text-primary)}.skip-link{z-index:9999;background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:12px 20px;font-weight:500;text-decoration:none;position:fixed;left:-9999px}.skip-link:focus{top:20px;left:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.spin{animation:1s linear infinite spin}.pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-frame{min-height:100vh;padding-left:var(--rail-width);background:var(--bg)}html.is-canvas-page .app-frame,html.is-canvas-page .main-stage{background:inherit}.app-rail{z-index:100;width:var(--rail-width);box-shadow:none;--rail-footer-space:112px;will-change:opacity, transform;background:0 0;border:none;flex-direction:column;align-items:center;padding:16px 0;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}body.canvas-rail-hidden .app-rail{opacity:0;pointer-events:none;transform:translate(-18px)}.app-rail.is-booting,.app-rail.is-guest{--rail-footer-space:112px}.app-rail.is-user{--rail-footer-space:256px}.app-rail.is-admin{--rail-footer-space:312px}.brand-button{border-radius:18px;flex:none;justify-content:center;align-items:center;width:66px;height:66px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.brand-button:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm);transform:scale(1.05)}.brand-emblem{width:58px;height:58px;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.brand-emblem img{object-fit:cover;width:100%;height:100%}.rail-nav{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;width:100%;padding:0 12px;transition:padding .22s;display:flex}.rail-nav button{width:48px;height:48px;color:var(--text-tertiary);border-radius:var(--radius-md);justify-content:center;align-items:center;transition:color .18s,transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s,background-color .18s,box-shadow .18s;display:flex;position:relative}.rail-nav button svg{width:22px;height:22px;transition:transform .22s cubic-bezier(.2,.8,.2,1),stroke-width .18s}.rail-nav button:hover{color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.rail-nav button:hover svg{transform:scale(1.04)}.rail-nav button.is-active{color:var(--text-primary)}.rail-nav button.is-active svg{transform:scale(1.08)}.rail-nav button.is-active:hover{color:var(--text-primary);transform:translateY(-1px)}.rail-nav button.is-active:hover svg{transform:scale(1.08)}.rail-footer{min-height:var(--rail-footer-space);flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-top:0;padding:0 12px;transition:min-height .22s;display:flex}.theme-toggle,.icon-btn,.rail-footer-placeholder{width:48px;height:48px;color:var(--text-tertiary);border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;transition:color .18s,transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s,background-color .18s,box-shadow .18s;display:flex}.theme-toggle svg,.icon-btn svg{transition:transform .22s cubic-bezier(.2,.8,.2,1),stroke-width .18s}.rail-footer-placeholder{pointer-events:none;display:none}.theme-toggle:hover,.icon-btn:hover{color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.theme-toggle:hover svg,.icon-btn:hover svg{transform:scale(1.04)}.identity-chip{background:var(--accent-light);width:40px;height:40px;color:var(--accent);box-shadow:var(--shadow-sm);border:none;border-radius:50%;font-size:13px;font-weight:600;overflow:hidden}.identity-chip button{width:100%;height:100%;color:inherit;place-items:center;font-weight:700;display:grid}.identity-chip svg{display:none}.icon-btn.is-active{color:var(--text-primary)}.icon-btn.is-active svg{transform:scale(1.08)}.rail-download{width:48px;height:48px;position:relative}.rail-download>.icon-btn{width:48px;height:48px}.rail-download-card{z-index:40;background:radial-gradient(circle at 16% 28%, color-mix(in srgb, var(--accent) 14%, transparent) 0 22%, transparent 46%), color-mix(in srgb, var(--surface) 94%, var(--bg));opacity:0;pointer-events:none;border:none;border-radius:22px;grid-template-columns:minmax(0,1fr) 132px;align-items:stretch;gap:16px;width:378px;min-height:172px;padding:16px;transition:opacity .14s;display:grid;position:absolute;bottom:-8px;left:calc(100% + 14px);box-shadow:0 24px 70px #0000005c}.rail-download:hover .rail-download-card,.rail-download:focus-within .rail-download-card{opacity:1;pointer-events:auto}.rail-download-info{flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:2px 0;display:flex}.rail-download-head{align-items:center;gap:11px;display:flex}.rail-download-logo{background:color-mix(in srgb, var(--surface) 70%, transparent);width:34px;height:34px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 74%, transparent);border-radius:12px;place-items:center;display:grid;overflow:hidden}.rail-download-logo img{object-fit:cover;width:30px;height:30px}.rail-download-platform{height:26px;color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:999px;place-items:center;padding:0 10px;font-size:11px;font-style:normal;font-weight:750;display:inline-grid}.rail-download-info strong{color:var(--text-primary);font-size:18px;font-weight:760;line-height:1.15;display:block}.rail-download-info span{max-width:172px;color:var(--text-tertiary);margin-top:10px;font-size:12px;line-height:1.65;display:block}.rail-download-qr{background:#fff;border:6px solid #fff;border-radius:18px;align-self:center;place-items:center;width:132px;height:132px;margin:0;display:grid;box-shadow:0 14px 34px #0000003d}.rail-download-qr img{border-radius:10px;width:120px;height:120px;display:block}.rail-download-qr span{border:2px solid #0f172a1f;border-top-color:#0f172a8c;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.rail-download-info div:last-child{gap:6px;display:flex}.rail-download-info small{height:22px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 76%, transparent);border-radius:999px;place-items:center;padding:0 8px;font-size:11px;font-weight:650;display:inline-grid}@media (prefers-reduced-motion:reduce){.rail-download-card{transition:none}}.main-stage{width:100%;min-height:100vh}.main-stage:not(.is-studio-route){height:100vh;overflow:hidden}.main-stage.is-studio-route{width:calc(100% + var(--rail-width));height:100vh;min-height:0;margin-left:calc(-1 * var(--rail-width));overflow:hidden}.studio-canvas{isolation:isolate;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--surface) 22%, transparent) 100%), var(--bg);--studio-grid-line:#0f172a07;--studio-trace-line:#0ea5e908;--studio-sheen:#0ea5e90a;--studio-edge-fade:#0f172a09;--studio-composer-clearance:220px;flex-direction:column;width:100%;height:100vh;min-height:100%;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .studio-canvas{background:linear-gradient(180deg, transparent 0%, #ffffff03 100%), var(--bg);--studio-grid-line:#ffffff06;--studio-trace-line:#c0fba007;--studio-sheen:#5edfef06;--studio-edge-fade:#0003}.studio-canvas:before,.studio-canvas:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.studio-canvas:before{background-image:linear-gradient(var(--studio-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--studio-grid-line) 1px, transparent 1px);background-size:72px 72px,72px 72px;-webkit-mask-image:linear-gradient(#0000 0%,#000 14% 72%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 14% 72%,#0000 100%)}.studio-canvas:after{background:linear-gradient(128deg, transparent 0%, transparent 32%, var(--studio-sheen) 45%, transparent 62%, transparent 100%), repeating-linear-gradient(135deg, transparent 0 38px, var(--studio-trace-line) 39px, transparent 40px), linear-gradient(90deg, var(--studio-edge-fade), transparent 18%, transparent 82%, var(--studio-edge-fade));opacity:.8;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 78%,#0000 100%)}.studio-topbar{z-index:70;height:auto;box-shadow:none;-webkit-backdrop-filter:var(--blur-lg);background:0 0;border:none;justify-content:flex-end;align-items:center;padding:0;display:flex;position:fixed;top:24px;right:32px}.canvas-area{z-index:1;position:relative;overflow-x:hidden}.studio-actions{width:max-content;min-height:44px;max-width:calc(100vw - var(--rail-width) - 72px);scrollbar-width:none;background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;padding:5px;display:flex;overflow-x:auto}.studio-actions::-webkit-scrollbar{display:none}.studio-actions .btn{border-radius:var(--radius-full);height:34px;padding:0 12px;font-size:13px;font-weight:700}.studio-actions .btn:hover:not(:disabled){box-shadow:none}.studio-actions .btn:active:not(:disabled){transform:none}.quota-badge{background:var(--surface-hover);border-radius:var(--radius-full);min-height:34px;box-shadow:none;border:none;align-items:center;gap:10px;padding:0 14px;font-size:13px;display:flex}.quota-label{color:var(--text-tertiary)}.quota-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.canvas-area{min-height:0;padding:112px 32px 24px calc(var(--rail-width) + 32px);scrollbar-gutter:stable both-edges;scroll-padding-top:112px;scroll-padding-bottom:var(--studio-composer-clearance);overscroll-behavior:contain;flex:1;justify-content:center;align-items:center;display:flex;overflow-y:auto}.canvas-empty{text-align:center;isolation:isolate;--empty-stage-halo:#5edfef06;--empty-stage-warm:#ffbc8204;--empty-stage-shadow:#2aaac208;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(860px,76vw);min-height:320px;display:flex;position:relative}.canvas-empty-shell{background:0 0;border-radius:0;justify-items:center;gap:8px;width:100%;padding:0 24px;display:grid;position:relative;transform:translateY(-22px)}.canvas-empty-shell:before{content:"";background:radial-gradient(ellipse at 34% 50%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 60%), radial-gradient(ellipse at 68% 56%, color-mix(in srgb, var(--warning) 3%, transparent), transparent 62%);filter:blur(30px);pointer-events:none;width:min(520px,72vw);height:210px;position:absolute;top:43%;left:50%;transform:translate(-50%)}.canvas-empty-visual{z-index:1;aspect-ratio:512/341;opacity:1;filter:drop-shadow(0 14px 26px #0000002e);width:min(178px,30vw);display:block;position:relative;transform:translateY(10px)}.canvas-empty-visual img{object-fit:contain;width:100%;height:100%;display:block}:root[data-theme=light] .canvas-empty{--empty-stage-halo:#0ea5e917;--empty-stage-warm:#ffa6660f;--empty-stage-shadow:#0e74901a}.canvas-empty:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 42%, var(--empty-stage-halo) 0%, transparent 58%), radial-gradient(ellipse at 50% 72%, var(--empty-stage-warm) 0%, transparent 50%);filter:blur(14px);width:min(26vw,340px);height:min(17vw,210px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-empty:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%, var(--empty-stage-shadow) 0%, transparent 62%), linear-gradient(90deg, transparent, #ffffff0f, transparent);filter:blur(8px);opacity:.24;border-radius:50%;width:min(15vw,180px);height:42px;position:absolute;top:calc(50% + 62px);left:50%;transform:translate(-50%,-50%)}.empty-state-image{display:none}:root[data-theme=light] .canvas-empty-visual{opacity:1;filter:drop-shadow(0 14px 24px #0f172a14)}.canvas-empty-copy{z-index:1;justify-items:center;gap:8px;display:grid;position:relative}.canvas-empty-kicker{color:color-mix(in srgb, var(--accent) 72%, var(--text-tertiary));letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:14px;font-size:11px;font-weight:800;display:flex}.canvas-empty-kicker:before,.canvas-empty-kicker:after{content:"";background:color-mix(in srgb, var(--text-tertiary) 38%, transparent);width:58px;height:1px}.canvas-empty-copy h2{color:color-mix(in srgb, var(--text-primary) 78%, var(--text-secondary));letter-spacing:0;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,3.8vw,52px);font-weight:700;line-height:1}:root[data-theme=light] .canvas-empty-copy h2{color:color-mix(in srgb, var(--text-primary) 94%, var(--text-secondary))}.canvas-empty-copy p{max-width:680px;color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Display,Segoe UI,Roboto,sans-serif;font-size:clamp(13px,1vw,15px);font-style:normal;line-height:1.55}:root[data-theme=light] .canvas-empty-copy p{color:color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary))}@media (width<=760px){.canvas-empty{width:min(100%,420px);min-height:260px}.canvas-empty-shell{padding:0 16px;transform:translateY(-12px)}.canvas-empty-visual{width:112px;transform:translateY(10px)}.canvas-empty-kicker{letter-spacing:.2em}.canvas-empty-kicker:before,.canvas-empty-kicker:after{width:30px}.canvas-empty-copy h2{font-size:clamp(28px,9vw,38px)}}.empty-illustration{width:120px;height:120px;color:var(--text-tertiary);justify-content:center;align-items:center;margin-bottom:24px;display:flex;position:relative}.glow-orb{background:radial-gradient(circle at center, var(--accent-light) 0%, transparent 70%);border-radius:50%;animation:3s ease-in-out infinite pulse;position:absolute;inset:0}.empty-illustration svg{z-index:1;width:56px;height:56px;position:relative}.loading-state{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:20px;display:flex}.loading-state svg{color:var(--accent)}.loading-state p{color:var(--text-secondary);font-size:14px}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;max-width:1400px;animation:.4s ease-out fadeIn;display:grid}.canvas-item{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);border:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.canvas-item:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.canvas-item img{object-fit:cover;width:100%;height:100%}.item-overlay{opacity:0;background:linear-gradient(#0000 50%,#0009 100%);align-items:flex-end;gap:8px;padding:16px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.canvas-item:hover .item-overlay{opacity:1}.item-action{width:36px;height:36px;-webkit-backdrop-filter:var(--blur-md);border-radius:var(--radius-md);color:#fff;background:#ffffff26;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0003}.item-action:hover{background:#ffffff40;transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.content-page{max-width:1400px;margin:0 auto;padding:32px 32px 80px}.pinned-content-page{flex-direction:column;height:100vh;padding-bottom:32px;display:flex;overflow:hidden}.pinned-content-page .page-header{flex:none}.content-scroll-frame{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:none;flex:auto;min-height:0;padding-bottom:48px;overflow-y:auto}.content-scroll-frame::-webkit-scrollbar{width:0;height:0}.route-pane{visibility:hidden;opacity:0;pointer-events:none;height:100%;position:absolute;inset:0;overflow:hidden}.route-pane.is-active{visibility:visible;opacity:1;pointer-events:auto;height:100%;position:relative;inset:auto}.page-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:28px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:8px;font-size:14px}.page-actions{gap:12px;display:flex}@media (width<=1024px){.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}@media (width<=768px){:root{--rail-width:0}.studio-canvas{--studio-composer-clearance:190px}.app-frame{padding-bottom:64px;padding-left:0}.app-rail{z-index:140;background:color-mix(in srgb, var(--bg) 92%, transparent);width:100%;height:64px;-webkit-backdrop-filter:var(--blur-lg);--rail-footer-space:0;flex-direction:row;justify-content:flex-start;padding:8px 16px;inset:auto 0 0;box-shadow:0 -2px 12px #0000001a}.brand-button{display:none}.rail-nav{flex-direction:row;flex:none;justify-content:flex-start;gap:4px;max-width:calc(100vw - 180px);padding:0}.rail-nav button.is-active:before{width:20px;height:3px;top:auto;bottom:0;left:50%;transform:translate(-50%)}.rail-footer{flex-direction:row;justify-content:flex-end;max-width:calc(100vw - 32px);min-height:0;margin-top:0;margin-left:0;padding:0;position:absolute;top:8px;right:16px;overflow:hidden}.rail-footer .icon-btn,.rail-footer .theme-toggle,.rail-download{flex:none}.rail-download-card{bottom:calc(100% + 12px);left:auto;right:0}.composer-dock{padding:16px;left:0}.composer-form{width:100%}.studio-topbar{top:18px;left:auto;right:20px}.studio-actions{max-width:calc(100vw - 40px)}.canvas-area{padding:92px 16px 24px;overflow-x:hidden}.conversation-area.is-empty{padding:70px 16px 190px}.canvas-grid{grid-template-columns:1fr;gap:16px}.content-page{padding:24px 20px 80px}.pinned-content-page{height:calc(100vh - 64px);padding-bottom:24px}.content-scroll-frame{padding-bottom:40px}}@media (width<=480px){.studio-actions{gap:4px}.studio-actions .btn{padding:0 10px}.quota-badge{padding:0 12px;font-size:12px}}.btn{border-radius:var(--radius-md);white-space:nowrap;height:40px;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary,.btn-dark{background:var(--accent);color:var(--accent-contrast,white)}.btn-primary:hover:not(:disabled),.btn-dark:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);box-shadow:none;background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-outline{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-outline:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-md)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md);background:#dc2626;transform:translateY(-1px)}.btn-sm,.btn-compact{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:48px;padding:0 24px;font-size:15px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}input,select,textarea{background:var(--surface);border-radius:var(--radius-md);width:100%;color:var(--text-primary);box-shadow:var(--shadow-sm);border:none;outline:none;padding:10px 14px;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1)}input:hover,select:hover,textarea:hover{box-shadow:var(--shadow-md)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md)}textarea{resize:vertical;min-height:100px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;padding:24px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-head h2{font-size:18px;font-weight:600}.panel-head p{color:var(--text-tertiary);margin-top:6px;font-size:13px;line-height:1.5}.smart-image{isolation:isolate;background:radial-gradient(circle at 32% 26%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--surface-hover) 84%, var(--bg)), color-mix(in srgb, var(--surface) 84%, var(--bg)));width:100%;height:100%;display:block;position:relative;overflow:hidden}.smart-image:before{content:"";z-index:0;opacity:.42;background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent) 0 1px, transparent 1.6px);background-position:50%;background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#00000073 44%,#0000 76%);mask-image:radial-gradient(circle,#000 0%,#00000073 44%,#0000 76%)}.smart-image.is-quiet:before{display:none}.smart-image.is-quiet{background:#070707}.smart-image-loader{z-index:3;pointer-events:none;background:linear-gradient(105deg, transparent 0%, transparent 34%, color-mix(in srgb, var(--accent) 14%, white 10%, transparent) 46%, transparent 60%, transparent 100%), linear-gradient(to top, color-mix(in srgb, var(--surface) 48%, transparent), transparent 42%);opacity:1;transition:opacity .16s;animation:1.8s ease-in-out infinite smartImageSweep;position:absolute;inset:0;transform:translate(-38%)}.smart-image.is-quiet .smart-image-loader{opacity:1;background:radial-gradient(circle at 50% 46%,#ffffff1a,#0000 34%),linear-gradient(135deg,#ffffff0e 0 1px,#0000 1px 12px),#070707;animation:1.9s ease-in-out infinite smartImageQuietPulse;transform:none}.smart-image-loader.is-hidden{opacity:0;animation-play-state:paused}.smart-image-main{z-index:4;opacity:0;visibility:hidden;filter:saturate(.98)contrast(.99);width:100%;height:100%;transition:opacity .16s,transform .16s,filter .16s;display:block;position:relative;transform:scale(1.002)}.smart-image.fit-cover .smart-image-main{object-fit:cover}.smart-image.fit-contain .smart-image-main{object-fit:contain}.smart-image.is-revealed .smart-image-main{visibility:visible;opacity:1;filter:saturate()contrast();transform:scale(1)}.smart-image.is-instant .smart-image-main{visibility:visible;opacity:1;filter:none;transition:none;transform:none}.smart-image.is-instant:before{display:none}.smart-image.is-failed .smart-image-main{visibility:hidden;opacity:1}.smart-image.is-ready:before,.smart-image.is-failed:before{opacity:0}:root[data-theme=light] .smart-image{background:radial-gradient(circle at 32% 26%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 30%), linear-gradient(135deg, #f3f6f8, #e8edf1)}:root[data-theme=light] .smart-image.is-quiet{background:#f7f8f9}:root[data-theme=light] .smart-image-loader{background:linear-gradient(105deg,#0000 0% 34%,#ffffffb8 46%,#0000 60% 100%),linear-gradient(#0000 58%,#ffffff52)}:root[data-theme=light] .smart-image.is-quiet .smart-image-loader{background:radial-gradient(circle at 50% 46%,#0000000e,#0000 35%),linear-gradient(135deg,#0f172a0e 0 1px,#0000 1px 12px),#f7f8f9}@keyframes smartImageSweep{0%{opacity:.62;transform:translate(-42%)}50%{opacity:.9}to{opacity:.62;transform:translate(42%)}}@keyframes smartImageQuietPulse{0%,to{opacity:.78;filter:brightness(.98)}50%{opacity:1;filter:brightness(1.04)}}@media (prefers-reduced-motion:reduce){.smart-image-main{visibility:hidden;clip-path:none;transition:opacity .12s;transform:none}.smart-image.is-revealed .smart-image-main{visibility:visible}.smart-image-loader{transition:opacity .12s;animation:none}}.image-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.work-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));justify-content:stretch;gap:16px}.image-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:none;overflow:hidden}.image-card:hover{box-shadow:var(--shadow-sm)}.image-card img{aspect-ratio:1;object-fit:cover;background:var(--bg);width:100%}.image-card-meta{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.image-card-meta strong{font-size:14px;font-weight:600;display:block}.image-card-meta span{color:var(--text-tertiary);margin-top:4px;font-size:12px;display:block}.image-card p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 16px 16px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.work-image-card{border-radius:18px;position:relative;overflow:visible}.work-image-card:hover{z-index:20}.work-image-card .image-preview-button{aspect-ratio:1;border-radius:18px 18px 0 0}.work-image-card .image-preview-button img{object-fit:cover;width:100%;height:100%}.work-image-card .image-card-meta{padding:12px 14px}.work-image-card .image-card-meta strong{font-size:13px}.work-image-card .image-card-meta span{font-size:11px}.work-image-card p{text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:12px;line-height:1.45;overflow:hidden}.work-prompt-tip{min-width:0;color:var(--text-secondary);margin:0 14px 12px;display:block;position:relative}.work-prompt-tip:before{content:attr(data-tooltip);z-index:40;width:max-content;max-width:min(340px,80vw);color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid color-mix(in srgb, var(--divider) 80%, transparent);white-space:normal;opacity:0;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 10px);left:0;transform:translateY(4px);box-shadow:0 18px 44px #00000047}.work-prompt-tip:hover:before,.work-prompt-tip:focus-within:before{opacity:1;transform:translateY(0)}.work-image-card .image-preview-button{overflow:hidden}.works-pagination{color:var(--text-secondary);white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:12px;padding:18px 0 8px;font-size:13px;font-weight:700;display:flex}.works-page-jump{white-space:nowrap;flex-direction:row;flex:none;align-items:center;gap:8px;display:inline-flex}.works-page-jump input{text-align:center;width:58px;height:32px;box-shadow:none;flex:none;padding:0 10px}.work-image-card .card-actions{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 14px 14px;display:grid}.work-image-card .card-actions .btn{width:100%;min-width:0;height:32px;padding:0}.work-image-card .card-actions .tooltip-wrap{width:100%;min-width:0}.work-image-card .card-actions .btn-outline{color:#f3f4f6;box-shadow:none;background:#252525}.work-image-card .card-actions .btn-outline:hover:not(:disabled){background:#303030}:root[data-theme=light] .work-image-card .card-actions .btn-outline{color:#20242a;background:#e8ebef}:root[data-theme=light] .work-image-card .card-actions .btn-outline:hover:not(:disabled){background:#dde2e8}.work-copy-btn:disabled{opacity:.44;cursor:not-allowed;box-shadow:none}.card-actions{flex-wrap:wrap;gap:8px;padding:0 16px 16px;display:flex}.tooltip-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:visible}.tooltip-wrap:before,.tooltip-wrap:after{z-index:5000;pointer-events:none;opacity:0;transition:opacity .12s;position:absolute}.tooltip-wrap:before{content:attr(data-tooltip);width:max-content;max-width:180px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid color-mix(in srgb, var(--divider) 72%, transparent);white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:800;line-height:1;box-shadow:0 14px 34px #00000038}.tooltip-wrap:after{content:"";background:color-mix(in srgb, var(--surface) 92%, transparent);border:solid color-mix(in srgb, var(--divider) 72%, transparent);border-width:0 1px 1px 0;width:8px;height:8px}.tooltip-wrap:hover:before,.tooltip-wrap:hover:after,.tooltip-wrap:focus-visible:before,.tooltip-wrap:focus-visible:after{opacity:1}.tooltip-wrap:has(:focus-visible):before{opacity:1}.tooltip-wrap:has(:focus-visible):after{opacity:1}.tooltip-top:before{transform-origin:bottom;bottom:calc(100% + 10px);left:50%;translate:-50%}.tooltip-top:after{bottom:calc(100% + 5px);left:50%;translate:-50%;rotate:45deg}.tooltip-right:before{transform-origin:0;top:50%;left:calc(100% + 12px);translate:0 -50%}.tooltip-right:after{top:50%;left:calc(100% + 7px);translate:0 -50%;rotate:135deg}.tooltip-bottom:before{transform-origin:top;top:calc(100% + 10px);left:50%;translate:-50%}.tooltip-bottom:after{top:calc(100% + 5px);left:50%;translate:-50%;rotate:-135deg}.tooltip-left:before{transform-origin:100%;top:50%;right:calc(100% + 12px);translate:0 -50%}.tooltip-left:after{top:50%;right:calc(100% + 7px);translate:0 -50%;rotate:-45deg}.preview-hover-label{color:#fff;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0000008f;border-radius:999px;justify-content:center;align-items:center;min-width:52px;height:34px;padding:0 14px;font-size:12px;font-weight:900;line-height:1;transition:opacity .12s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 32px #00000047}.image-preview-button:hover .preview-hover-label,.gallery-masonry-button:hover .preview-hover-label,.turn-image-preview:hover .preview-hover-label{opacity:1}.image-preview-button{cursor:pointer;background:var(--bg);width:100%;display:block;position:relative;overflow:hidden}.image-preview-button img{transition:filter .12s}.image-preview-button:hover img{filter:brightness(.9)}.gallery-frame{scrollbar-width:none;overscroll-behavior:contain;background:0 0;border-radius:22px;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden auto}.gallery-frame::-webkit-scrollbar{width:0;height:0}.gallery-shell{flex-direction:column;flex:auto;gap:20px;min-height:0;display:flex}.gallery-shell .page-empty-body{flex:auto}.gallery-frame-footer{justify-content:center;padding:22px 0 4px;display:flex}.gallery-loading-frame{pointer-events:none}.gallery-loading-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;display:grid}.gallery-loading-tile{min-height:180px;display:block}.gallery-mosaic{padding:0;position:relative}.gallery-mosaic-item{will-change:transform;min-width:0;min-height:0;display:block;position:absolute;top:0;left:0}.gallery-masonry-button{cursor:pointer;background:0 0;border-radius:0;width:100%;height:100%;transition:filter .12s;display:block;position:relative;overflow:hidden}.gallery-masonry-button img{object-fit:cover;width:100%;height:100%;transition:filter .12s;display:block}.gallery-masonry-button:hover img{filter:brightness(.94)}.gallery-detail{z-index:3000;overscroll-behavior:contain;background:#000000d6;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.gallery-detail-backdrop{position:absolute;inset:0}.gallery-detail-shell{z-index:1;overscroll-behavior:contain;background:0 0;border-radius:26px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 420px;width:min(1480px,100vw - 80px);height:min(980px,100vh - 80px);display:grid;position:relative;overflow:hidden}.gallery-detail-media{background:#0b0b0c;border-radius:26px 0 0 26px;place-items:center;min-width:0;padding:22px;display:grid;position:relative;overflow:hidden}.gallery-detail-nav{z-index:6;gap:8px;display:grid;position:absolute;top:50%;right:34px;transform:translateY(-50%)}.gallery-detail-nav button{width:38px;height:38px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 88%, white 10%);border-radius:var(--radius-full);place-items:center;display:grid;box-shadow:0 10px 28px #00000047,inset 0 1px #ffffff14}.gallery-detail-nav button:disabled{opacity:.34;cursor:not-allowed}:root[data-theme=light] .gallery-detail-media{background:var(--bg)}.gallery-detail-media img{object-fit:contain;opacity:0;border-radius:18px;max-width:min(100%,900px);max-height:calc(100vh - 124px);transition:opacity .12s}.gallery-detail-media img.is-ready{opacity:1}.gallery-detail-media img.is-loading{opacity:0}.gallery-detail-info{background:var(--bg);overscroll-behavior:contain;border-left:0;border-radius:0 26px 26px 0;flex-direction:column;justify-content:flex-start;gap:28px;height:100%;min-height:0;padding:40px 34px;display:flex;overflow:hidden}.gallery-detail-top,.gallery-detail-actions,.gallery-author,.gallery-detail-buttons{align-items:center;display:flex}.gallery-detail-top{justify-content:space-between;gap:18px}.gallery-author{gap:10px;min-width:0}.gallery-author span{width:30px;height:30px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);place-items:center;font-size:12px;font-weight:900;display:grid}.gallery-author strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.gallery-detail-actions{gap:8px}.gallery-detail-actions button{width:38px;height:38px;color:var(--text-primary);background:var(--surface-hover);border-radius:10px;place-items:center;display:grid}.gallery-detail-info time,.gallery-prompt-block span,.gallery-detail-meta span{color:var(--text-tertiary);font-size:13px;font-weight:700}.gallery-prompt-block{flex:auto;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;display:grid;overflow:hidden}.gallery-prompt-block p{min-height:0;color:var(--text-primary);overscroll-behavior:contain;padding-right:4px;font-size:15px;font-weight:650;line-height:1.7;overflow:auto}.gallery-detail-meta{flex-wrap:wrap;gap:10px;display:flex}.gallery-detail-meta span{background:color-mix(in srgb, var(--surface-hover) 88%, transparent);border-radius:var(--radius-full);justify-content:center;align-items:center;height:30px;padding:0 10px;line-height:1;display:inline-flex}:root[data-theme=light] .gallery-detail-actions button,:root[data-theme=light] .gallery-detail-meta span,:root[data-theme=light] .gallery-detail-buttons .btn{background:#edf0f3}:root[data-theme=light] .gallery-detail-meta span{color:#68717d}.gallery-detail-buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.gallery-detail-buttons .btn{flex:112px;min-width:0;height:46px;padding:0 12px}.gallery-detail-buttons .btn:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}@media (width<=1180px){.gallery-detail-shell{grid-template-columns:minmax(0,1fr) 360px}}@media (width<=820px){.gallery-detail-shell{grid-template-columns:1fr;width:calc(100vw - 32px);height:auto;max-height:calc(100vh - 32px);overflow-y:auto}.gallery-detail-media{border-radius:26px 26px 0 0;min-height:58vh}.gallery-detail-info{border-left:0;border-radius:0 0 26px 26px;justify-content:flex-start;padding:32px 24px;overflow-y:auto}}.image-lightbox{z-index:10000;overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;-webkit-backdrop-filter:blur(10px);background:#000000d1;position:absolute;inset:0}.lightbox-toolbar{top:calc(env(safe-area-inset-top) + 18px);z-index:2;align-items:center;gap:8px;display:flex;position:absolute;right:18px}.lightbox-toolbar>span:not(.tooltip-wrap),.lightbox-toolbar a,.lightbox-toolbar button{color:#ffffffe6;border-radius:var(--radius-full);background:#00000075;justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 12px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.lightbox-toolbar a,.lightbox-toolbar button{width:38px;padding:0}.lightbox-toolbar .tooltip-wrap{display:inline-flex}.lightbox-toolbar a:hover,.lightbox-toolbar button:hover{color:#fff;background:#ffffff29}.lightbox-thumbs{z-index:2;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;background:#0000005c;border-radius:18px;flex-direction:column;align-items:stretch;gap:8px;width:82px;min-width:0;max-height:min(80vh,720px);padding:8px;display:flex;position:absolute;top:50%;left:18px;overflow-y:auto;transform:translateY(-50%)}.lightbox-thumbs::-webkit-scrollbar{width:0;height:0}.lightbox-thumbs button{aspect-ratio:1;opacity:.66;border:2px solid #0000;border-radius:10px;flex:none;width:100%;transition:opacity .18s,border-color .18s;overflow:hidden}.lightbox-thumbs button.is-active{opacity:1;border-color:#ffffffe6}.lightbox-thumbs img{object-fit:cover;width:100%;height:100%}.lightbox-stage{z-index:1;cursor:zoom-out;place-items:center;width:100%;height:100%;padding:76px 140px 76px 132px;display:grid;position:relative}.lightbox-stage img{object-fit:contain;cursor:default;border-radius:12px;max-width:min(78vw,1180px);max-height:min(80vh,900px);box-shadow:0 24px 80px #0006}.tag,.status-pill{background:var(--surface-hover);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;height:24px;color:var(--text-secondary);box-shadow:var(--shadow-sm);border:none;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.quota-meter{flex-direction:column;gap:8px;display:flex}.quota-compact{background:var(--surface-hover);border-radius:var(--radius-lg);gap:10px;min-height:0;padding:12px}.quota-line{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.quota-compact .quota-line{align-items:baseline;gap:12px}.quota-line strong{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.quota-compact .quota-line strong{font-size:15px;font-weight:800}.quota-track{background:var(--surface-hover);border-radius:var(--radius-full);border:none;height:8px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.quota-compact .quota-track{background:var(--surface);height:5px;box-shadow:none}.quota-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);display:block}.quota-90 .quota-fill{background:linear-gradient(90deg, var(--error), #dc2626)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:40px 20px;display:flex}.empty-icon{background:var(--surface-hover);border-radius:var(--radius-xl);width:64px;height:64px;color:var(--text-tertiary);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-state h2{margin-bottom:8px;font-size:18px;font-weight:600}.empty-state p{max-width:400px;color:var(--text-tertiary);margin-bottom:20px;font-size:14px;line-height:1.6}.toast{z-index:9999;background:var(--surface);border-radius:var(--radius-lg);min-width:320px;max-width:480px;box-shadow:var(--shadow-xl);color:var(--text-primary);border:none;padding:16px 20px;font-size:14px;font-weight:500;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;position:fixed;bottom:24px;right:24px}.toast-ok{background:var(--success);color:#fff}.toast-error{background:var(--error);color:#fff}.load-more{justify-content:center;margin-top:32px;display:flex}.history-page{max-width:none}.history-page-empty{min-height:100vh}.page-empty-body{place-items:center;min-height:calc(100vh - 260px);display:grid}.history-table{border-top:1px solid var(--divider);min-width:0;padding:0;display:grid;overflow:hidden}.history-table-head,.history-row{border-bottom:1px solid var(--divider);grid-template-columns:92px 150px minmax(0,1.25fr) minmax(220px,.95fr) minmax(190px,auto);align-items:center;gap:14px;padding:12px 16px;display:grid}.history-table-head{min-height:44px;color:var(--text-secondary);background:var(--surface-hover);font-size:12px;font-weight:900}.history-row{min-height:96px;box-shadow:none;background:0 0;border-radius:0;transition:background .18s}.history-row:last-child{border-bottom:0}.history-row:hover{background:color-mix(in srgb, var(--surface-hover) 48%, transparent)}.history-preview{width:64px;height:64px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 86%, transparent);border-radius:12px;place-items:center;display:grid;overflow:hidden}.history-preview.is-single{display:block}.history-preview.is-grid{place-items:stretch stretch;gap:2px;padding:2px}.history-preview.is-count-2{grid-template-rows:1fr;grid-template-columns:repeat(2,1fr)}.history-preview.is-count-3{grid-template-rows:repeat(2,1fr);grid-template-columns:1.2fr 1fr}.history-preview.is-count-3 .smart-image:first-child{grid-row:1/span 2}.history-preview.is-count-4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.history-preview img{object-fit:cover;width:100%;height:100%}.history-time-cell{color:var(--text-tertiary);font-size:12px;font-weight:700}.history-row-main{min-width:0}.history-row-main strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;display:block;overflow:hidden}.history-summary{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:650;overflow:hidden}.history-overview{flex-wrap:wrap;gap:8px;display:flex}.history-overview span{min-height:26px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 88%, transparent);border-radius:var(--radius-full);align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.history-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.history-delete{width:40px;height:40px;color:var(--text-primary);background:color-mix(in srgb, var(--error) 90%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--error) 22%, transparent), inset 0 1px 0 #ffffff14;border-radius:12px;place-items:center;display:grid}:root[data-theme=light] .history-table-head{background:var(--surface-hover)}:root[data-theme=light] .history-row:hover{background:color-mix(in srgb, var(--surface-hover) 70%, transparent)}:root[data-theme=light] .history-preview{background:color-mix(in srgb, var(--surface-hover) 92%, transparent)}:root[data-theme=light] .history-delete{color:#fff;box-shadow:0 10px 20px color-mix(in srgb, var(--error) 18%, transparent), inset 0 1px 0 #ffffff1f}@media (width<=760px){.history-table-head,.history-row{grid-template-columns:72px minmax(0,1fr)}.history-table-head span:nth-child(n+3),.history-row .history-overview,.history-row .history-actions{display:none}.history-time-cell{grid-column:2}.history-summary{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.page-skeleton{min-height:100vh;position:relative;overflow:hidden}.page-skeleton-head{gap:14px;max-width:520px;display:grid}.page-skeleton-head span,.page-skeleton-head strong,.page-skeleton-head p,.page-skeleton-action,.page-skeleton-center{background:var(--surface-hover);border-radius:var(--radius-full);box-shadow:none;display:block}.page-skeleton-head span{width:76px;height:14px}.page-skeleton-head strong{width:180px;height:36px}.page-skeleton-head p{width:min(460px,72vw);height:18px}.page-skeleton-action{border-radius:var(--radius-lg);width:126px;height:60px;position:absolute;top:32px;right:32px}.page-skeleton-center{border-radius:var(--radius-lg);width:96px;height:96px;margin:150px auto 0}@media (width<=768px){.page-skeleton-action{width:96px;height:48px;top:24px;right:20px}.lightbox-stage{padding:70px 12px 112px}.lightbox-thumbs{top:auto;right:12px;bottom:calc(env(safe-area-inset-bottom) + 16px);flex-direction:row;width:auto;max-height:none;left:12px;overflow:auto hidden;transform:none}.lightbox-thumbs button{flex:none;width:58px}.lightbox-stage img{max-width:100%;max-height:78vh}}.quick-panel{border-top:1px solid var(--divider);flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.quick-panel button{border-radius:var(--radius-md);height:40px;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.quick-panel button:hover{background:var(--surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.quick-panel button svg{width:16px;height:16px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.landing-page{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, var(--surface)) 0%, var(--bg) 100%);min-height:100vh;color:var(--text-primary);isolation:isolate;position:relative;overflow:hidden}.landing-page:before,.landing-page:after{content:"";z-index:-2;pointer-events:none;position:absolute;inset:0}.landing-page:before{background-image:linear-gradient(color-mix(in srgb, var(--text-primary) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--text-primary) 4%, transparent) 1px, transparent 1px);background-size:76px 76px}.landing-page:after{background:linear-gradient(135deg, transparent 0 42%, color-mix(in srgb, var(--accent) 7%, transparent) 50%, transparent 62%), linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--surface) 42%, transparent) 100%);opacity:.8}:root[data-theme=dark] .landing-page{background:radial-gradient(circle at 52% 42%, #c0fba009, transparent 46%), linear-gradient(180deg, #0b0b0b 0%, var(--bg) 58%, #0b0b0b 100%)}:root[data-theme=dark] .landing-page:after{background:linear-gradient(135deg, transparent 0 40%, color-mix(in srgb, var(--accent) 5%, transparent) 50%, transparent 64%), linear-gradient(180deg, transparent 0%, #ffffff05 100%);opacity:1}.landing-fluid-wrap{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-fluid-wrap:before{content:"";background:radial-gradient(circle at 38% 32%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 36%), radial-gradient(circle at 64% 66%, #5a94dc24, transparent 44%);filter:blur(24px)saturate(.86);opacity:0;border-radius:44% 56% 50% 50%;width:min(58vw,820px);height:min(58vw,820px);animation:.82s ease-out forwards landingFluidGhostIn;position:absolute;top:14%;left:22%;transform:translateY(18px)scale(.95)}.landing-fluid-canvas{--landing-fluid-opacity:.94;--landing-fluid-filter:saturate(.88) contrast(.96);opacity:0;width:100%;height:100%;filter:var(--landing-fluid-filter);will-change:opacity;position:absolute;inset:0}.landing-fluid-canvas.is-ready{animation:.9s ease-out forwards landingFluidFadeIn}:root[data-theme=light] .landing-fluid-canvas{--landing-fluid-opacity:.65;--landing-fluid-filter:saturate(.8) contrast(.92) brightness(1.03)}@keyframes landingFluidGhostIn{to{opacity:.22;transform:translate(0,0)scale(1)}}@keyframes landingFluidFadeIn{0%{opacity:0}to{opacity:var(--landing-fluid-opacity)}}@media (prefers-reduced-motion:reduce){.landing-fluid-wrap:before,.landing-fluid-canvas{animation:none;transform:none}.landing-fluid-wrap:before{opacity:.18}.landing-fluid-canvas{opacity:var(--landing-fluid-opacity);filter:var(--landing-fluid-filter)}}.landing-nav{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:24px;padding:28px 40px 0;display:flex;position:fixed;top:0;left:0;right:0}.landing-brand{min-height:44px;color:var(--text-primary);pointer-events:auto;align-items:center;gap:12px;font-size:15px;font-weight:800;display:inline-flex}.landing-brand img{border-radius:50%;width:42px;height:42px}.landing-nav nav{background:color-mix(in srgb, var(--surface) 84%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);pointer-events:auto;align-items:center;gap:4px;padding:5px;display:inline-flex}.landing-nav nav button{min-width:52px;height:36px;color:var(--text-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:700;transition:color .18s,background .18s;display:inline-flex}.landing-nav nav button:hover{color:var(--text-primary);background:var(--surface-hover)}.landing-nav .theme-toggle{border-radius:var(--radius-full);width:36px;height:36px}.landing-hero{z-index:2;flex-direction:column;justify-content:center;width:min(1120px,100% - 64px);min-height:calc(100vh - 190px);margin:0 auto;padding:112px 0 32px;display:flex;position:relative}.landing-hero:before{content:"";width:1px;height:30px;margin-bottom:18px;display:block}.landing-hero h1{letter-spacing:0;max-width:860px;font-size:clamp(64px,12vw,164px);font-weight:850;line-height:.92}.landing-hero p{max-width:610px;color:var(--text-secondary);margin-top:24px;font-size:clamp(16px,1.8vw,20px);line-height:1.72}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.landing-primary,.landing-secondary{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-size:14px;font-weight:800;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.landing-primary{color:var(--accent-contrast,#fff);background:var(--accent);box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 24%, transparent)}.landing-secondary{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 76%, transparent);border:1px solid var(--border)}.landing-secondary:hover{background:var(--surface-hover)}.landing-lower{z-index:2;grid-template-columns:minmax(280px,1fr) minmax(360px,.75fr);gap:16px;width:min(1120px,100% - 64px);margin:0 auto;padding:0 0 42px;display:grid;position:relative}.landing-prompt-preview{min-height:78px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur-lg);grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:14px 16px;display:grid}.landing-prompt-icon,.landing-prompt-preview button{border-radius:var(--radius-md);background:var(--surface-hover);width:42px;height:42px;color:var(--text-secondary);place-items:center;display:grid}.landing-prompt-preview button{color:var(--text-primary);transition:color .18s,background .18s}.landing-prompt-preview button:hover{color:var(--accent);background:var(--accent-light)}.landing-prompt-preview span{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.landing-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.landing-highlight{background:color-mix(in srgb, var(--surface) 66%, transparent);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:78px;-webkit-backdrop-filter:var(--blur-md);flex-direction:column;justify-content:center;gap:5px;padding:14px;display:flex}.landing-highlight strong{color:var(--text-primary);font-size:14px}.landing-highlight span{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}@media (width<=900px){.landing-nav{padding:20px 20px 0}.landing-brand span{display:none}.landing-nav nav{max-width:calc(100vw - 92px);overflow-x:auto}.landing-hero{width:min(100% - 40px,720px);min-height:calc(100vh - 310px);padding-top:54px}.landing-hero h1{font-size:clamp(58px,17vw,112px)}.landing-fluid-canvas{width:100%;height:100%}.landing-lower{grid-template-columns:1fr;width:min(100% - 40px,720px);padding-bottom:88px}.landing-highlights{grid-template-columns:1fr}}@media (width<=560px){.landing-nav nav button{min-width:44px;padding:0 10px;font-size:12px}.landing-hero{min-height:calc(100vh - 360px)}.landing-hero p{font-size:15px}.landing-hero:before{height:30px;margin-bottom:14px}.landing-actions{flex-direction:column;align-items:stretch}.landing-primary,.landing-secondary{width:100%}.landing-prompt-preview{border-radius:var(--radius-md);grid-template-columns:38px minmax(0,1fr) 38px}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:flex}.auth-page-standalone{--auth-grid:#0f172a0b;--auth-grid-strong:#0f172a11;--auth-spot-primary:#0ea5e929;--auth-spot-secondary:#c0fba033;--auth-spot-muted:#0f172a0f;--auth-vignette:#fff0;background:radial-gradient(circle at 22% 24%, var(--auth-spot-primary), transparent 30%), radial-gradient(circle at 76% 18%, var(--auth-spot-secondary), transparent 28%), radial-gradient(ellipse at 50% 112%, var(--auth-spot-muted), transparent 52%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 94%, var(--surface)) 0%, var(--bg) 100%);min-height:100vh;position:relative;overflow:hidden}:root[data-theme=dark] .auth-page-standalone{--auth-grid:#ffffff09;--auth-grid-strong:#c0fba00e;--auth-spot-primary:#5edfef1a;--auth-spot-secondary:#c0fba01c;--auth-spot-muted:#ffffff0e;--auth-vignette:#00000094}.auth-page-standalone:before,.auth-page-standalone:after{content:"";pointer-events:none;position:absolute;inset:0}.auth-page-standalone:before{opacity:.86;background:linear-gradient(var(--auth-grid) 1px, transparent 1px), linear-gradient(90deg, var(--auth-grid) 1px, transparent 1px), linear-gradient(135deg, transparent 0 46px, var(--auth-grid-strong) 47px, transparent 48px);background-size:96px 96px,96px 96px,160px 160px;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%)}.auth-page-standalone:after{background:radial-gradient(ellipse at center, transparent 0%, transparent 44%, var(--auth-vignette) 100%), linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg) 72%, transparent) 100%)}.auth-brand-button{z-index:2;border-radius:18px;place-items:center;width:58px;height:58px;display:grid;position:fixed;top:24px;left:24px}.auth-brand-button:hover{background:var(--surface-hover)}.auth-card{z-index:1;background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:0 28px 80px #0000002e, inset 0 1px 0 color-mix(in srgb, var(--surface) 84%, white);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:40px;position:relative}:root[data-theme=dark] .auth-card{background:color-mix(in srgb, var(--surface) 86%, transparent);border-color:#ffffff1a;box-shadow:0 30px 90px #0000007a,inset 0 1px #ffffff0f}.auth-copy h1{letter-spacing:-.02em;margin-bottom:12px;font-size:32px;font-weight:700}.auth-copy p{color:var(--text-secondary);margin-bottom:32px;font-size:14px;line-height:1.6}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-mode-tabs{margin-bottom:18px}.auth-form input{background:var(--surface-hover);box-shadow:none}.auth-form input:hover,.auth-form input:focus{background:color-mix(in srgb, var(--surface-hover) 88%, var(--text-primary))}.auth-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-code-row .btn{white-space:nowrap;min-height:42px}.segmented-control{background:var(--surface-hover);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented-control button{height:36px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 2px);font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.segmented-control button.is-active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}@media (width<=640px){.auth-page{align-items:flex-start;padding:96px 16px 28px}.auth-page-standalone:before{opacity:.62;background-size:72px 72px,72px 72px,128px 128px}.auth-brand-button{top:18px;left:16px}.auth-card{max-width:100%;padding:28px}}.install-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 70%, transparent), var(--bg));min-height:100vh;padding:12px 18px}.install-layout{grid-template-columns:240px minmax(0,1fr);gap:12px;width:100%;max-width:1120px;min-height:calc(100vh - 24px);margin:0 auto;display:grid}.install-rail,.install-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.install-rail{flex-direction:column;min-height:100%;padding:18px;display:flex}.install-brand{align-items:center;gap:10px;display:flex}.install-brand .brand-emblem{width:34px;height:34px;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:var(--radius-md);box-shadow:none;flex:0 0 34px;place-items:center;display:grid}.install-brand span,.install-section-head p,.install-note,.install-actions span{color:var(--text-secondary)}.install-brand strong{color:var(--text-primary);margin-top:2px;font-size:15px;display:block}.install-rail-copy{margin-top:24px}.install-rail-copy h1{letter-spacing:0;max-width:210px;font-size:23px;font-weight:700;line-height:1.18}.install-rail-copy p{color:var(--text-secondary);margin-top:8px;font-size:12px;line-height:1.5}.install-steps{gap:6px;margin-top:22px;display:grid}.install-steps div{min-height:32px;color:var(--text-secondary);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 9px;display:flex}.install-steps div.is-active{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border)}.install-note{margin-top:auto;padding-top:14px;font-size:12px;line-height:1.55}.install-panel{flex-direction:column;min-width:0;padding:18px;display:flex}.install-heading{border-bottom:1px solid var(--divider);margin-bottom:8px;padding-bottom:12px}.install-heading h2{letter-spacing:0;margin:3px 0 5px;font-size:21px;font-weight:700}.install-heading p{max-width:680px;color:var(--text-secondary);font-size:12px;line-height:1.45}.install-section{border-bottom:1px solid var(--divider);padding:10px 0}.install-section-head{align-items:flex-start;gap:9px;margin-bottom:9px;display:flex}.install-section-head svg{color:var(--accent);flex:none;margin-top:2px}.install-section-head h3{margin:0 0 4px;font-size:15px;font-weight:650}.install-section-head p{font-size:12px;line-height:1.35}.install-grid{grid-template-columns:repeat(2,1fr);gap:8px 10px;display:grid}.install-db-grid{grid-template-columns:minmax(170px,1fr) 96px minmax(170px,1fr)}.install-site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.install-grid .span-2{grid-column:span 2}.install-grid .span-3{grid-column:span 3}.install-panel label{gap:5px;font-size:12px}.install-panel input,.install-panel select{background:color-mix(in srgb, var(--surface-hover) 74%, var(--surface));border:1px solid var(--border);height:34px;box-shadow:none;padding:0 11px}.install-panel input:hover,.install-panel select:hover{border-color:var(--border-hover);box-shadow:none}.install-panel input:focus,.install-panel select:focus{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));box-shadow:0 0 0 3px var(--accent-light)}.install-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.install-actions .btn{background:var(--accent);height:34px;color:var(--accent-contrast,#fff);box-shadow:none;padding:0 15px}.install-actions .btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:none;transform:none}.install-done{flex:1;place-items:center;min-height:420px;display:grid}.protected-page{place-items:center;height:100vh;padding:32px;display:grid}.protected-page .empty-state{width:min(420px,100%);min-height:0;padding:30px}.protected-page .empty-icon{width:58px;height:58px;color:var(--accent);background:var(--accent-light);box-shadow:none;border-radius:50%;margin-bottom:12px}.protected-page .empty-state h2{margin:0 0 6px;font-size:22px}.protected-page .empty-state p{margin-bottom:12px}.protected-page .empty-state .btn{margin-top:0}.account-page{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 92%, var(--surface)) 0%, var(--bg) 42%), var(--bg);flex-direction:column;width:100%;max-width:none;height:100vh;min-height:0;margin:0;padding:28px clamp(28px,3.2vw,56px) 0;display:flex;overflow:hidden}.account-page-loading{min-height:100vh}.account-top{z-index:5;flex:none;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.account-top h1{letter-spacing:0;margin-top:4px;font-size:clamp(34px,3.2vw,56px);font-weight:800;line-height:1.06}.account-dashboard{grid-template-columns:minmax(0,1fr) minmax(360px,.52fr);align-items:start;gap:16px;display:grid}.account-layout{flex:auto;grid-template-columns:minmax(300px,28%) minmax(0,1fr);align-items:start;gap:clamp(18px,2vw,28px);width:100%;max-width:none;min-height:0;padding-bottom:44px;display:grid}.account-identity-column{background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-xl);overscroll-behavior:contain;scrollbar-width:none;align-self:stretch;gap:0;height:100%;max-height:100%;padding:8px 28px;display:grid;overflow-y:auto;box-shadow:0 18px 50px #00000024}.account-identity-column::-webkit-scrollbar{width:0;height:0}.account-settings-column{background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-xl);overscroll-behavior:contain;scrollbar-width:none;gap:0;min-width:0;max-height:100%;padding:8px 28px;display:grid;overflow-y:auto;box-shadow:0 18px 50px #00000024}.account-settings-column::-webkit-scrollbar{width:0;height:0}.account-profile-card{border-bottom:1px solid var(--divider);box-shadow:none;background:0 0;border-radius:0;gap:18px;padding:24px 0;display:grid}.account-profile-head{align-items:flex-start;gap:16px;display:flex}.account-avatar-preview{width:76px;height:76px;color:var(--accent);background:var(--accent-light);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:50%;flex:none;place-items:center;font-size:30px;font-weight:800;transition:background .18s;display:grid;position:relative;overflow:visible}.account-avatar-preview:hover{background:color-mix(in srgb, var(--accent-light) 76%, var(--surface-hover))}.account-avatar-preview img{object-fit:cover;border-radius:50%;width:100%;height:100%}.account-avatar-preview i{width:26px;height:26px;color:var(--accent-contrast,var(--bg));background:var(--accent);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;bottom:2px;right:2px}.account-profile-title{gap:8px;min-width:0;display:grid}.account-profile-title h2{font-size:clamp(24px,2vw,30px);font-weight:800;line-height:1}.account-profile-title p{max-width:560px;color:var(--text-secondary);line-height:1.55}.account-profile-form{gap:10px;display:grid}.account-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-profile-actions .btn{width:100%;height:42px}.account-page .btn-primary:hover:not(:disabled),.account-page .btn-dark:hover:not(:disabled){transform:none}.account-profile-actions .btn-ghost{background:color-mix(in srgb, var(--surface-hover) 72%, var(--surface));box-shadow:none}.account-profile-actions .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 64%, var(--accent-light))}.account-name-field{gap:10px}.account-name-field input{background:var(--surface-hover);height:42px;box-shadow:none;font-size:16px;font-weight:700}:root[data-theme=light] .account-products-card .account-name-field input,:root[data-theme=light] .account-coupon-box{background:#f3f4f6}.account-tier{width:fit-content;min-height:34px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.account-tier.is-premium{color:var(--accent);background:var(--accent-light)}.account-status-strip{background:var(--surface-hover);border-radius:var(--radius-md);gap:10px;padding:10px 12px;display:flex}.account-status-strip div{flex:1 1 0;align-items:center;gap:8px;min-width:0;min-height:36px;display:flex}.meta-icon{width:24px;height:24px;color:var(--accent);background:var(--accent-light);border-radius:50%;flex:none;place-items:center;display:grid}.meta-copy{gap:2px;min-width:0;display:grid}.meta-copy small{color:var(--text-secondary);font-size:11px}.meta-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.account-membership-panel,.account-quota-card,.account-security-panel{gap:12px;padding:18px;display:grid}.account-settings-column>.account-quota-card,.account-settings-column>.account-security-panel{box-shadow:none;border-bottom:1px solid var(--divider);background:0 0;border-radius:0;padding:24px 0}.account-identity-column>.account-profile-card,.account-identity-column>.account-membership-panel{box-shadow:none;background:0 0;border-radius:0;padding:24px 0}.account-settings-column>.account-quota-card:last-child,.account-settings-column>.account-security-panel:last-child{border-bottom:none}.account-settings-column>.account-products-card{background:color-mix(in srgb, var(--surface-hover) 60%, var(--surface));border-radius:var(--radius-lg);border-bottom:none;margin:22px 0;padding:24px;scroll-margin-block:28px;transition:box-shadow .18s,transform .18s;box-shadow:0 -6px 18px #0000000d,0 16px 42px #0000001f}:root[data-theme=light] .account-settings-column>.account-products-card{box-shadow:0 -8px 24px #0f172a0f,0 18px 46px #0f172a21,0 0 0 1px #0f172a09}.account-products-card.is-highlighted{will-change:box-shadow, transform;animation:1.05s ease-in-out 2 account-products-breathe}.account-settings-column .account-section-head{align-items:center}.account-membership-panel{min-height:0;box-shadow:none;background:0 0;align-content:start;gap:12px;margin-top:16px}.account-membership-top{align-items:center;gap:10px;display:flex}.account-membership-main{gap:5px;min-width:0;display:grid}.account-membership-main h2{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:22px;font-weight:900;line-height:1.08;display:flex}.account-membership-main h2 span{color:var(--text-secondary);font-size:13px;font-weight:800}.account-membership-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-membership-meta div{background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-sm);gap:4px;min-width:0;padding:11px 12px;display:grid}.account-membership-meta small{color:var(--text-tertiary);font-size:11px;font-weight:800}.account-membership-meta strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.account-membership-panel p,.account-products-card p,.account-security-panel p{color:var(--text-secondary);line-height:1.55}.account-membership-panel h2,.account-quota-card h2,.account-section-head h2{margin-top:2px;font-size:20px;font-weight:800;line-height:1.1}.account-section-head{justify-content:flex-start;align-items:center;gap:10px;display:flex}.account-section-head>div{min-width:0}.account-order-list{gap:8px;display:grid}.account-gift-list{gap:10px;display:grid}.account-gift-list button{text-align:left;background:color-mix(in srgb, var(--surface-hover) 72%, var(--surface));border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:grid}.account-gift-list button>span:first-child{gap:4px;min-width:0;display:grid}.account-gift-list strong,.account-gift-list em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-gift-list em{color:var(--text-secondary);font-size:13px;font-style:normal}.account-gift-list button>span:last-child{color:var(--accent);font-weight:900}.account-coupon-box{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.account-coupon-icon{width:38px;height:38px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);place-items:center;display:grid}.account-coupon-box label{gap:4px;min-width:0;display:grid}.account-coupon-box label span{color:var(--text-secondary);font-size:12px;font-weight:800}.account-coupon-box input{height:24px;min-height:24px;box-shadow:none;background:0 0;border:0;padding:0;font-size:14px;font-weight:800}.account-coupon-box input:focus,.account-coupon-box input:hover{box-shadow:none;background:0 0}.account-coupon-preview{color:var(--accent);margin-top:-4px;font-size:13px;font-weight:800}.account-order-list{min-height:0}.account-product-groups{gap:14px;display:grid}.account-product-group{gap:10px;display:grid}.account-product-group-head{justify-content:space-between;align-items:baseline;gap:14px;min-height:24px;display:flex}.account-product-group-head strong{color:var(--text-primary);font-size:14px;font-weight:900}.account-product-group-head span{color:var(--text-tertiary);font-size:12px;font-weight:800}.account-product-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.account-product-list.is-columns-1{grid-template-columns:minmax(0,1fr)}.account-product-list.is-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.account-product-list.is-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.account-product-item{gap:8px;display:grid}.account-product-item>button,.account-order-list div{min-height:48px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 80%, transparent);border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-product-item>button{background:color-mix(in srgb, var(--surface-hover) 74%, var(--surface));border:1px solid color-mix(in srgb, var(--border) 86%, transparent);flex-direction:column;align-items:stretch;min-height:136px;padding:16px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.account-order-list div>span:first-child{min-width:0}.account-order-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-product-item>button:hover:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 88%, var(--surface));border-color:color-mix(in srgb, var(--accent) 34%, var(--border-hover))}.account-product-item>button:disabled{cursor:not-allowed;opacity:.56}.account-product-corner{height:24px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:1px 9px 0;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:14px;right:14px}.account-product-item.is-quota_pack .account-product-corner{color:#8ee7dc;background:#14b8a62e}:root[data-theme=light] .account-product-item.is-quota_pack .account-product-corner{color:#0f766e;background:color-mix(in srgb, #99f6e4 36%, var(--surface-hover))}.account-product-copy{gap:6px;min-width:0;padding-right:58px;display:grid}.account-product-metric{align-items:baseline;gap:6px;margin-top:18px;display:flex}.account-product-metric strong{color:var(--text-primary);font-size:24px;font-weight:900;line-height:1}.account-product-metric span{color:var(--text-tertiary);font-size:12px;font-weight:800}.account-product-foot{border-top:1px solid color-mix(in srgb, var(--divider) 70%, transparent);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.account-product-foot strong{color:var(--text-primary);font-size:14px;font-weight:800}.account-list-empty{min-height:42px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-sm);place-items:center;margin:0;font-size:13px;display:grid}.account-product-list strong,.account-order-list strong{color:var(--text-primary);font-size:13px}.account-product-list strong{font-size:14px}.account-order-list em{color:var(--text-tertiary);margin-top:3px;font-size:12px;font-style:normal;display:block}.account-order-state{min-height:34px;color:var(--warning);background:color-mix(in srgb, var(--warning) 13%, transparent);border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.account-order-state.is-success{color:var(--success);background:#10b9811f}.account-order-state.is-danger{color:var(--error);background:#ef44441f}.account-order-state.is-muted{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 74%, var(--text-primary) 10%)}:root[data-theme=light] .account-order-state.is-muted{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 82%, var(--text-primary) 8%)}.account-ledger-pagination{color:var(--text-tertiary);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.upgrade-icon{width:30px;height:30px;color:var(--accent);background:var(--accent-light);border-radius:50%;flex:none;place-items:center;display:grid}.account-pay-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000094;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-pay-modal{background:var(--surface);border-radius:24px;width:min(400px,100%);overflow:hidden;box-shadow:0 24px 72px #00000042}.account-pay-modal-head{justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 0;display:flex}.account-pay-modal-head strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.account-pay-modal-head button{width:32px;height:32px;color:var(--text-tertiary);background:0 0;border-radius:50%;flex:none;place-items:center;font-size:28px;line-height:1;display:grid}.account-pay-modal-head button:hover{color:var(--text-primary);background:var(--surface-hover)}.account-pay-modal-body{text-align:center;gap:16px;padding:24px;display:grid}.account-pay-amount{gap:4px;display:grid}.account-pay-provider{background:var(--surface-hover);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 14px;display:flex}.account-pay-amount span,.account-pay-provider span,.account-pay-modal-body p,.account-pay-waiting{color:var(--text-tertiary);margin:0;font-size:13px}.account-pay-amount strong{color:var(--text-primary);font-size:30px}.account-pay-provider strong{color:var(--text-primary);font-size:14px}.account-pay-qrcode{color:#111;background:#fff;border-radius:12px;justify-self:center;place-items:center;width:220px;min-height:220px;padding:10px;display:grid}.account-pay-qrcode img{width:200px;height:200px}.account-pay-qrcode.is-expired{color:var(--text-tertiary);background:var(--surface-hover)}.account-pay-waiting{background:var(--surface-hover);border-radius:var(--radius-full);justify-self:center;align-items:center;gap:8px;padding:5px 14px;display:inline-flex}.account-pay-waiting span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s infinite account-pay-pulse}.account-pay-waiting.is-expired{color:var(--error);background:#ef44441f}.account-refund-modal .account-pay-modal-body,.account-method-modal .account-pay-modal-body{text-align:left}.account-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.account-method-grid button{min-height:104px;color:var(--text-secondary);background:var(--surface-hover);text-align:center;cursor:pointer;border-radius:16px;align-content:center;gap:5px;padding:16px 14px;transition:background .18s,color .18s,box-shadow .18s;display:grid}.account-method-grid button:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 68%, var(--accent-light));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.account-method-grid strong{color:var(--text-primary);font-size:16px}.account-method-grid em,.account-method-grid span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-method-grid em{color:var(--text-tertiary);font-size:12px;font-style:normal}.account-method-grid span{color:var(--text-secondary);font-size:13px}.account-refund-summary{background:var(--surface-hover);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.account-refund-summary span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.account-refund-summary strong{color:var(--text-primary);white-space:nowrap}.account-refund-field{color:var(--text-secondary);gap:8px;font-size:13px;font-weight:800;display:grid}.account-refund-field textarea{min-height:112px;color:var(--text-primary);background:var(--surface-hover);resize:vertical;border:none;border-radius:14px;outline:none;padding:12px}.account-refund-field textarea:focus{box-shadow:0 0 0 3px var(--accent-light)}.account-refund-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-refund-actions .btn{width:100%;min-height:44px}@keyframes account-pay-pulse{50%{opacity:.42;transform:scale(.85)}}@keyframes account-products-breathe{0%,to{transform:translateY(0)}50%{box-shadow:0 -8px 24px #0000000f, 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 34px color-mix(in srgb, var(--accent) 20%, transparent), 0 20px 52px #00000024;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.account-products-card.is-highlighted{animation:none}}.account-quota-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.account-security-panel{align-content:start}.account-key-form{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px;display:grid}@media (width>=1500px){.account-layout{grid-template-columns:minmax(340px,30%) minmax(0,1fr)}.account-settings-column{padding-inline:34px}}.account-key-form input{background:var(--surface-hover);height:42px;box-shadow:none}.account-key-form .btn{height:42px}.quota-width-0{width:0%}.quota-width-10{width:10%}.quota-width-20{width:20%}.quota-width-30{width:30%}.quota-width-40{width:40%}.quota-width-50{width:50%}.quota-width-60{width:60%}.quota-width-70{width:70%}.quota-width-80{width:80%}.quota-width-90{width:90%}.quota-width-100{width:100%}@media (width<=980px){.account-layout{grid-template-columns:1fr}.account-identity-column{height:auto;position:static}.account-quota-grid,.account-product-list.is-columns-3,.account-product-list.is-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.account-dashboard{grid-template-columns:1fr;grid-template-areas:"profile""membership""quota""security"}.account-side-stack{display:contents}.account-membership-panel,.account-security-panel{min-height:0}}@media (width<=920px){.account-side-stack,.account-status-strip,.account-profile-form,.account-key-form{grid-template-columns:1fr}.account-profile-actions{justify-content:flex-start}}@media (width<=768px){.auth-card{padding:32px 24px}.auth-copy h1{font-size:28px}.install-shell{padding:16px}.install-layout{grid-template-columns:1fr;min-height:auto}.install-rail{min-height:auto}.install-rail-copy{margin-top:24px}.install-note{margin-top:18px}.install-grid,.install-db-grid,.account-dashboard,.account-side-stack,.account-quota-grid,.account-product-list{grid-template-columns:1fr}.account-page{overscroll-behavior:contain;height:100vh;padding:24px 18px 92px;overflow-y:auto}.account-top{align-items:stretch;margin-bottom:22px}.account-layout{flex:none;gap:18px;min-height:auto;padding-bottom:0}.account-identity-column,.account-settings-column{max-height:none;padding:22px 26px;overflow:visible}.account-profile-head{flex-direction:column;align-items:flex-start}.image-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.work-grid{grid-template-columns:repeat(auto-fill,minmax(200px,240px))}}@media (width<=480px){.auth-card{padding:24px 20px}.auth-copy h1{font-size:24px}.install-rail,.install-panel{padding:18px}.install-rail-copy h1{font-size:25px}.install-heading h2{font-size:21px}.install-grid .span-2,.install-grid .span-3{grid-column:auto}.install-actions{flex-direction:column;align-items:stretch}.account-top,.account-profile-head,.account-profile-actions{flex-direction:column}.account-profile-card,.account-membership-panel,.account-security-panel,.account-quota-card{padding:18px 0}.account-quota-grid,.account-product-list,.image-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:minmax(0,1fr)}}.admin-shell{--admin-sidebar-width:248px;--admin-shell-gap:22px;--admin-sticky-top:24px;min-height:100vh;padding:24px 28px 64px calc(var(--admin-sidebar-width) + var(--admin-shell-gap) + 28px);background:var(--bg)}.admin-state{background:var(--bg);place-items:center;min-height:100vh;padding:32px;display:grid}.admin-state-loading{background:var(--bg)}.admin-state .empty-state{width:min(420px,100%);min-height:0;padding:30px}.admin-state .empty-icon{width:54px;height:54px;color:var(--accent);background:var(--accent-light);box-shadow:none;border-radius:50%}.admin-sidebar{z-index:30;width:var(--admin-sidebar-width);scrollbar-width:none;background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr auto;gap:24px;padding:22px;display:grid;position:fixed;top:24px;bottom:24px;left:28px;overflow:hidden auto}.admin-sidebar::-webkit-scrollbar{width:0;height:0}.admin-sidebar h1{letter-spacing:0;margin:8px 0 0;font-size:28px;line-height:1.05}.admin-nav{align-content:start;gap:6px;display:grid}.admin-nav button,.admin-theme-toggle,.admin-logout{min-height:42px;color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:10px;padding:0 12px;font-weight:750;transition:background .16s,color .16s;display:flex}.admin-nav button:hover,.admin-nav button.is-active{color:var(--text-primary);background:var(--surface-hover);box-shadow:none}.admin-sidebar-actions{border-top:1px solid var(--divider);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-self:end;gap:8px;padding-top:12px;display:grid}.admin-theme-toggle,.admin-logout{width:100%;height:42px;min-height:42px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 44%, transparent);justify-content:center;gap:8px;padding:0 10px;font-size:13px}.admin-theme-toggle:hover,.admin-logout:hover{color:var(--text-primary);background:var(--surface-hover)}.admin-main{width:100%;min-width:0;max-width:1720px;margin:0 auto}.admin-shell .btn:hover:not(:disabled),.admin-shell .btn:active:not(:disabled),.admin-shell input:hover,.admin-shell select:hover,.admin-shell textarea:hover{transform:none}.admin-shell input,.admin-shell select,.admin-shell textarea{background:color-mix(in srgb, var(--surface-hover) 72%, var(--bg));border:1px solid color-mix(in srgb, var(--border-hover) 68%, transparent);min-height:46px;box-shadow:inset 0 1px 0 #ffffff06, var(--shadow-sm)}.admin-shell select option{color:var(--text-primary);background:var(--surface)}.admin-shell select option:checked{color:var(--accent-contrast,var(--bg));background:var(--accent)}.admin-shell input:hover,.admin-shell select:hover,.admin-shell textarea:hover{border-color:color-mix(in srgb, var(--accent) 22%, var(--border-hover));box-shadow:inset 0 1px 0 #ffffff09, var(--shadow-sm)}.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus{background:color-mix(in srgb, var(--surface-hover) 86%, var(--bg));border-color:color-mix(in srgb, var(--accent) 56%, var(--border-hover));box-shadow:0 0 0 3px var(--accent-light), inset 0 1px 0 #ffffff0a}.admin-shell input::placeholder,.admin-shell textarea::placeholder{color:color-mix(in srgb, var(--text-tertiary) 78%, var(--text-secondary))}.admin-select{min-width:0;position:relative}.admin-select-trigger{width:100%;min-height:46px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 72%, var(--bg));border:1px solid color-mix(in srgb, var(--border-hover) 68%, transparent);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff06, var(--shadow-sm);font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-weight:800;display:flex}.admin-select-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-select-trigger svg{color:var(--text-secondary);flex:none}.admin-select-trigger:hover,.admin-select[data-open] .admin-select-trigger{border-color:color-mix(in srgb, var(--accent) 38%, var(--border-hover));background:color-mix(in srgb, var(--surface-hover) 86%, var(--bg));box-shadow:0 0 0 3px var(--accent-light), inset 0 1px 0 #ffffff0a}.admin-select-menu{z-index:80;background:color-mix(in srgb, var(--surface) 92%, var(--bg));border:1px solid color-mix(in srgb, var(--border-hover) 72%, transparent);border-radius:var(--radius-md);width:100%;min-width:100%;max-width:100%;max-height:280px;box-shadow:var(--shadow-xl);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.admin-select-search{background:color-mix(in srgb, var(--surface-hover) 72%, var(--bg));border:1px solid color-mix(in srgb, var(--border-hover) 62%, transparent);border-radius:calc(var(--radius-md) - 4px);width:100%;min-width:0;min-height:36px;color:var(--text-primary);margin-bottom:4px;padding:0 10px;font-size:13px;font-weight:800}.admin-select-menu button{min-height:36px;color:var(--text-primary);border-radius:calc(var(--radius-md) - 4px);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:flex;overflow:hidden}.admin-select-menu button:hover,.admin-select-menu button[aria-selected=true]{background:color-mix(in srgb, var(--accent-light) 74%, var(--surface-hover));color:var(--text-primary)}.admin-select-menu button:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.55}.admin-select-empty{min-height:36px;color:var(--text-tertiary);place-items:center;font-size:13px;font-weight:800;display:grid}.admin-main .page-header{top:var(--admin-sticky-top);z-index:24;background:var(--bg);min-height:auto;margin:-10px 0 18px;padding:10px 0 14px;position:sticky}.admin-main .page-header:before{z-index:-1;pointer-events:none;background:var(--bg);content:"";height:calc(100% + 28px);position:absolute;inset:-24px 0 auto}.admin-main .page-header h1{letter-spacing:0;font-size:26px}.admin-main .page-header p{max-width:700px}.admin-overview{gap:12px;display:grid}.admin-metrics{grid-template-columns:repeat(5,minmax(132px,1fr));gap:10px;display:grid}.metric-card{min-height:104px;box-shadow:var(--shadow-md);gap:6px;padding:15px 16px;display:grid;position:relative}.metric-icon{width:32px;height:32px;color:var(--accent);background:var(--accent-light);border-radius:50%;place-items:center;display:grid}.metric-card span:not(.metric-icon),.metric-card small{color:var(--text-secondary)}.metric-card strong{font-size:28px;line-height:1}.admin-overview-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:stretch;gap:12px;display:grid}.admin-overview-primary{grid-template-rows:282px minmax(0,1fr);gap:12px;min-width:0;display:grid}.admin-overview-aside{grid-template-rows:282px minmax(0,1fr);align-self:stretch;gap:12px;min-height:0;display:grid}.admin-summary{align-content:start;padding:18px;display:grid}.admin-service-card{min-height:0;padding:18px 20px;overflow:hidden}.admin-active-card{min-height:0}.admin-side-summary{min-height:100%}.admin-summary .panel-head{margin-bottom:12px}.admin-summary h2{margin:4px 0 0;font-size:18px}.admin-summary dl{gap:0;margin:0;display:grid}.admin-summary dl div,.compact-list div{border-bottom:1px solid var(--divider);grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);align-items:center;gap:14px;min-height:44px;padding:8px 0;display:grid}.compact-list div{grid-template-columns:minmax(0,1fr) auto}.compact-list{max-height:208px;padding-right:4px;display:grid;overflow:auto}.admin-side-stats{gap:8px;display:grid}.admin-side-stats div{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:baseline;gap:16px;min-height:40px;padding:8px 0;display:flex}.admin-side-stats div:last-child{border-bottom:none}.admin-side-stats span{color:var(--text-secondary)}.admin-side-stats strong{font-variant-numeric:tabular-nums;font-size:18px}.admin-summary dt,.compact-list span,.admin-log-feed small{color:var(--text-secondary)}.admin-summary dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:800;overflow:hidden}.admin-service-card dl{min-width:0}.admin-service-card dl div{grid-template-columns:minmax(96px,.28fr) minmax(0,1fr);min-height:38px;padding:6px 0}.admin-service-card .admin-service-ratios{align-items:start}.admin-service-card .panel-head{margin-bottom:8px}.admin-service-card h2{font-size:17px}.admin-log-feed{gap:0;max-height:272px;padding-right:4px;display:grid;overflow:auto}.admin-log-feed div{border-bottom:1px solid var(--divider);grid-template-columns:64px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:12px;min-height:40px;padding:7px 0;display:grid}.admin-log-feed strong,.admin-log-feed small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-log-feed .text-subtle,.compact-list .text-subtle{min-height:86px;color:var(--text-secondary);place-items:center start;display:grid}.admin-log-type{min-width:44px;height:22px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.admin-users-page{gap:20px;display:grid}.admin-page-header{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.admin-users-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:0;display:grid;overflow:hidden}.users-table-header{background:var(--surface-hover);border-bottom:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:2fr .8fr .8fr 1.1fr 1.1fr 1.1fr .8fr 1fr;gap:16px;padding:14px 20px;font-size:12px;font-weight:700;display:grid}.users-table-row{border-bottom:1px solid var(--divider);grid-template-columns:2fr .8fr .8fr 1.1fr 1.1fr 1.1fr .8fr 1fr;align-items:center;gap:16px;padding:16px 20px;transition:background .18s;display:grid}.users-table-row:last-child{border-bottom:none}.users-table-row:hover{background:var(--surface-hover)}.table-col{align-items:center;min-width:0;display:flex}.col-user{gap:12px}.user-avatar{background:var(--accent-light);width:36px;height:36px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-list-identity{gap:3px;min-width:0;display:grid}.user-list-identity small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tier-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.tier-badge.free{background:var(--surface-hover);color:var(--text-secondary)}.tier-badge.premium{background:var(--accent-light);color:var(--accent)}.status-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.enabled{color:var(--success);background:#10b9811a}.status-badge.disabled{color:var(--error);background:#ef44441a}.col-actions{justify-content:flex-end}.quota-text{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.admin-ledger-row,.admin-product-row,.admin-payment-head,.admin-payment-row,.admin-marketing-row,.admin-redemption-row{border-bottom:1px solid var(--divider);min-height:50px;color:var(--text-secondary);text-align:left;align-items:center;gap:12px;padding:9px 14px;font-size:13px;display:grid}.admin-payment-head{min-height:38px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 45%, transparent);border-bottom-color:color-mix(in srgb, var(--divider) 72%, transparent);padding-block:6px;font-size:12px;font-weight:800}.admin-ledger-row{grid-template-columns:72px 76px minmax(120px,1fr) minmax(110px,.8fr) 86px 150px minmax(180px,1.4fr)}.admin-ledger-row code,.admin-ledger-row span,.admin-product-row strong,.admin-product-row span,.admin-payment-head span,.admin-payment-row strong,.admin-payment-row span,.admin-payment-row code,.admin-marketing-row strong,.admin-marketing-row span,.admin-redemption-row strong,.admin-redemption-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-ledger-direction{border-radius:var(--radius-full);background:var(--surface-hover);width:fit-content;min-width:44px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-ledger-direction.credit,.admin-ledger-direction.refund{color:var(--success);background:#10b9811a}.admin-ledger-direction.debit{color:var(--accent);background:var(--accent-light)}.paid-quota-adjust{grid-template-columns:130px minmax(90px,.7fr) minmax(160px,1fr) auto;align-items:center;gap:8px;display:grid}.paid-quota-adjust strong{color:var(--text-primary);white-space:nowrap;font-size:13px}.admin-product-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.admin-product-form label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.admin-product-row{background:0 0;grid-template-columns:minmax(170px,1.35fr) 112px 110px 90px 120px 76px minmax(132px,auto)}.admin-product-row:hover,.admin-marketing-row:hover{background:var(--surface-hover)}.admin-order-row{grid-template-columns:minmax(150px,1.2fr) minmax(110px,.9fr) 92px minmax(110px,.8fr) 150px minmax(130px,1fr) minmax(176px,auto)}.admin-event-row{grid-template-columns:minmax(128px,.9fr) 76px 88px minmax(150px,1.1fr) 150px minmax(180px,1fr) 84px}.admin-entitlement-row{grid-template-columns:minmax(150px,1fr) 90px 92px 150px 150px minmax(190px,1fr) 90px}.admin-refund-row{grid-template-columns:minmax(108px,.9fr) 84px minmax(120px,1fr) 150px minmax(180px,1.2fr) minmax(122px,auto)}.admin-refund-row .admin-row-actions{justify-content:flex-end}.admin-refund-table{overflow-x:hidden}.admin-refund-tip{min-width:0;position:relative;overflow:visible}.admin-payment-row .admin-refund-tip{overflow:visible}.admin-refund-tip>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-refund-tip:after{content:attr(data-tip);z-index:20;background:color-mix(in srgb, var(--surface) 88%, var(--text-primary) 12%);width:max-content;max-width:min(420px,70vw);box-shadow:var(--shadow-lg);color:var(--text-primary);white-space:normal;pointer-events:none;opacity:0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px)}.admin-refund-tip:hover:after{opacity:1;transform:translateY(0)}.admin-refund-meta{align-items:center;gap:10px;min-width:0;display:flex}.admin-refund-meta time{white-space:nowrap}.admin-refund-meta code{max-width:190px}.admin-refund-meta code.admin-refund-tip{display:block}.admin-marketing-row{background:0 0;grid-template-columns:minmax(170px,1.3fr) 86px 86px 82px minmax(150px,1fr) 80px minmax(178px,auto)}.admin-redemption-row{grid-template-columns:minmax(170px,1.2fr) minmax(120px,1fr) 76px 76px minmax(140px,1fr) 150px}.admin-row-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.admin-pagination{min-height:48px;color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.admin-pagination input{text-align:center;width:46px;min-height:32px;padding:0 8px}.admin-pagination .btn{box-shadow:none}.admin-list-tools{border-bottom:1px solid color-mix(in srgb, var(--divider) 72%, transparent);align-items:center;gap:10px;min-width:0;padding:10px 14px;display:flex}.admin-list-tools input,.admin-list-tools select{min-height:36px}.admin-list-tools input{flex:1;min-width:180px}.admin-list-tools select{width:128px}.admin-money,.admin-summary-text{color:var(--text-primary);font-weight:800}.admin-muted{color:var(--text-tertiary)}.admin-status-pill{width:fit-content;min-width:54px;height:24px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);white-space:nowrap;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-status-pill.success,.admin-status-pill.active,.admin-status-pill.paid,.admin-status-pill.processed{color:var(--success);background:#10b9811a}.admin-status-pill.warning,.admin-status-pill.pending,.admin-status-pill.draft{color:var(--warning);background:color-mix(in srgb, var(--warning) 13%, transparent)}.admin-status-pill.danger,.admin-status-pill.failed,.admin-status-pill.refunded,.admin-status-pill.ended,.admin-status-pill.expired,.admin-status-pill.cancelled{color:var(--error);background:#ef44441a}.admin-status-pill.paused,.admin-status-pill.disabled{color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 70%, transparent)}.admin-empty-state{text-align:center;color:var(--text-tertiary);padding:60px 20px;font-size:14px}.user-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;background:#00000080;place-items:center;padding:20px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.user-modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:760px;max-height:min(88vh,760px);box-shadow:var(--shadow-xl);overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:grid;overflow:hidden}.user-modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 22px 16px;display:flex}.user-modal-header h2{color:var(--text-primary);font-size:18px;font-weight:700}.user-modal-close{width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-md);place-items:center;transition:all .18s;display:grid}.user-modal-close:hover{color:var(--text-primary);background:var(--surface-hover)}.user-modal-body{overscroll-behavior:contain;min-height:0;max-height:none;padding:16px 22px 0;overflow-y:auto}.user-editor-body{display:block}.user-modal-footer{z-index:2;background:var(--surface);border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 0 16px;display:flex;position:sticky;bottom:0}.user-modal-footer-left,.user-modal-footer-right{align-items:center;gap:8px;display:flex}.user-fields{gap:10px;display:grid}.form-field{gap:6px;display:grid}.field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.key-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.user-key-field{margin-top:0}.key-input-row .btn{height:38px}.field-hint{color:var(--text-tertiary);font-size:12px;line-height:1.4}.form-field input,.form-field select{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid #0000;width:100%;height:38px;padding:0 12px;font-size:14px;transition:all .18s}.form-field input:focus,.form-field select:focus{background:var(--surface);border-color:var(--border-hover);outline:none}.checkbox-field{cursor:pointer;align-items:center;gap:10px;padding:4px 0;display:flex}.checkbox-field input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.checkbox-field span{color:var(--text-primary);font-size:14px;font-weight:500}.form-divider{border-top:1px solid var(--divider);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:8px;padding-top:20px;font-size:13px;font-weight:700}.quota-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.quota-field .form-field{margin:0}.quota-field .checkbox-field{padding-bottom:6px}.reset-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.admin-create-title{min-height:40px;color:var(--text-primary);white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:900;display:inline-flex}.admin-create-title svg{color:var(--accent)}.admin-user-createbar .user-fields{grid-template-columns:minmax(140px,.8fr) minmax(128px,.62fr) minmax(98px,auto) repeat(3,minmax(168px,1fr));align-items:end;gap:10px}.admin-create-submit{min-width:86px;min-height:42px}.admin-form{gap:12px;padding:16px;display:grid}.settings-workspace{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.settings-index{background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-md);gap:6px;min-width:0;padding:6px;display:flex;overflow-x:auto}.settings-index a{min-height:48px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;flex-direction:column;flex:1 0 128px;justify-content:center;gap:2px;padding:8px 12px;text-decoration:none;display:flex}.settings-index a:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 74%, transparent)}.settings-index span{color:var(--text-primary);font-size:13px;font-weight:900}.settings-index small{color:var(--text-tertiary);font-size:12px;line-height:1.35}.settings-console{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.settings-back-top{z-index:40;width:48px;height:48px;color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 82%, var(--text-primary) 18%);box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s,transform .16s;display:inline-flex;position:fixed;bottom:72px;right:28px}.settings-back-top:hover{background:color-mix(in srgb, var(--surface-hover) 72%, var(--text-primary) 28%);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.settings-section{border-bottom:1px solid var(--divider);background:0 0;grid-template-columns:1fr;align-content:start;gap:16px;min-width:0;max-width:100%;padding:22px;scroll-margin-top:128px;display:grid}.settings-section:last-child{border-bottom:none}.settings-section-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.settings-section-head>div{min-width:0}.settings-section-head h2{margin:2px 0 0;font-size:18px}.settings-section-head p{color:var(--text-tertiary);margin:6px 0 0;font-size:12px;line-height:1.45}.settings-section-head svg{color:var(--text-secondary);flex:none;grid-area:1/1}.settings-section-head>div{grid-area:1/2}.settings-section label{gap:6px;min-width:0;font-size:13px}.settings-section>:not(.settings-section-head){grid-column:1}.settings-section input,.settings-section select,.settings-section textarea{min-height:40px}.settings-section textarea{resize:vertical;min-height:86px}.settings-section small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-section-storage .settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-form-grid .span-2{grid-column:1/-1}.settings-payment-card{perspective:1400px;gap:12px;display:grid}.settings-payment-switch{background:color-mix(in srgb, var(--surface-hover) 62%, transparent);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(420px,100%);padding:4px;display:grid}.settings-payment-switch button{min-height:38px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;font-weight:900}.settings-payment-switch button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 84%, var(--accent-light))}.settings-payment-flip{transform-style:preserve-3d;transition:transform .36s;display:grid}.settings-payment-card.is-alipay .settings-payment-flip{transform:rotateY(180deg)}.settings-payment-face{background:color-mix(in srgb, var(--surface-hover) 34%, transparent);border-radius:var(--radius-md);backface-visibility:hidden;grid-area:1/1;padding:14px}.settings-payment-alipay{transform:rotateY(180deg)}.settings-payment-card input[type=file]{min-height:40px;color:var(--text-secondary);padding:8px 10px;font-size:13px}.settings-upload-field>span{grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);gap:10px;min-width:0;display:grid}.settings-upload-field input[type=file]{min-width:0;height:46px;min-height:46px}.settings-multiplier-grid{background:color-mix(in srgb, var(--surface-hover) 46%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;padding:12px;display:grid}.settings-multiplier-grid legend{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.settings-section-storage .settings-form-grid .span-2,.settings-section-storage .settings-form-grid .span-full{grid-column:1/-1}.settings-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-quota-card{background:color-mix(in srgb, var(--surface-hover) 42%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);gap:12px;min-width:0;padding:12px;display:grid}.settings-quota-card legend{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.settings-limit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-limit-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;display:grid}.settings-limit-field .settings-inline-check{white-space:nowrap;min-height:44px}.settings-copy-field{gap:8px;display:grid}.settings-copy-field textarea{resize:vertical;min-height:84px}.settings-inline-check{min-height:24px;padding:0}.settings-form-grid .settings-storage-check{justify-content:flex-start;align-self:end;min-height:40px;padding:0 0 9px}.settings-inline-check input[type=checkbox]{appearance:none;background:color-mix(in srgb, var(--surface-hover) 76%, var(--bg));border:1px solid color-mix(in srgb, var(--text-tertiary) 72%, var(--divider));width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--accent);box-shadow:none;border-radius:4px;flex:none;place-content:center;margin:0;padding:0;display:inline-grid}.settings-inline-check input[type=checkbox]:after{border-bottom:2px solid var(--accent-contrast,#0b1208);border-left:2px solid var(--accent-contrast,#0b1208);content:"";opacity:0;width:9px;height:5px;transform:rotate(-45deg)translateY(-1px)}.settings-inline-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.settings-inline-check input[type=checkbox]:checked:after{opacity:1}.admin-shell .settings-inline-check input[type=checkbox]:hover,.admin-shell .settings-inline-check input[type=checkbox]:focus,.admin-shell .settings-inline-check input[type=checkbox]:focus-visible{background:color-mix(in srgb, var(--surface-hover) 76%, var(--bg));border-color:color-mix(in srgb, var(--accent) 44%, var(--text-tertiary));box-shadow:none;outline:none}.admin-shell .settings-inline-check input[type=checkbox]:checked:hover,.admin-shell .settings-inline-check input[type=checkbox]:checked:focus,.admin-shell .settings-inline-check input[type=checkbox]:checked:focus-visible{background:var(--accent);border-color:var(--accent)}.settings-section .settings-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.settings-section .settings-actions .btn{width:auto;min-width:132px;min-height:42px}.settings-section-security{border-color:color-mix(in srgb, var(--accent) 18%, var(--divider))}.admin-user-table{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);min-width:0;box-shadow:none;background:0 0;border-radius:0;display:grid;overflow:auto hidden}.admin-user-table-head,.admin-user-row{border-bottom:1px solid var(--divider);grid-template-columns:minmax(190px,.72fr) minmax(260px,.9fr) minmax(520px,1.55fr) minmax(218px,auto);align-items:start;gap:14px;min-width:1220px;padding:12px 2px;display:grid}.admin-user-table-head{min-height:40px;color:var(--text-secondary);background:0 0;align-items:center;font-size:12px;font-weight:900}.admin-user-row{box-shadow:none;background:0 0;border-radius:0}.admin-user-row:last-child{border-bottom:none}.admin-user-cell{min-width:0}.admin-user-main,.user-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.user-identity{align-items:center;gap:12px;min-width:0;display:flex}.user-avatar{width:28px;height:28px;color:var(--accent);background:var(--accent-light);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.user-title strong,.user-title span,.user-identity strong,.user-identity span{display:block}.user-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-title span,.user-identity span{color:var(--text-secondary)}.status-dot{background:var(--success);border-radius:999px;width:11px;height:11px;margin-top:7px}.status-dot.is-off{background:var(--text-tertiary)}.user-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-row{min-height:42px;color:var(--text-secondary);flex-direction:row;align-items:center}.checkbox-row input{width:16px;height:16px;box-shadow:none;accent-color:var(--accent);padding:0}.quota-preview{grid-template-columns:1fr;gap:8px;display:grid}.reset-actions,.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-row-actions{flex-wrap:nowrap;justify-content:flex-end}.admin-row-actions .btn{background:color-mix(in srgb, var(--surface-hover) 82%, var(--surface));min-height:36px;color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-hover) 70%, transparent);padding:0 12px}.admin-row-actions .btn:hover:not(:disabled){background:color-mix(in srgb, var(--surface-hover) 58%, var(--accent-light))}.admin-row-actions .btn-danger{background:var(--error);color:#fff;box-shadow:none}.admin-user-row .reset-actions,.admin-user-row .admin-user-actions{padding:0}.admin-user-row .admin-user-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-user-config{gap:10px;display:grid}.user-editor-fields{gap:12px;display:grid}.user-editor-section{background:color-mix(in srgb, var(--surface-hover) 42%, transparent);border:1px solid var(--divider);border-radius:var(--radius-md);gap:10px;padding:12px;display:grid}.user-editor-section-title{color:var(--text-secondary);font-size:12px;font-weight:900}.user-modal-content .user-fields-basic{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(160px,.72fr);gap:10px 12px;display:grid}.user-modal-content .form-field.checkbox-field,.user-modal-content .form-divider{grid-column:1/-1}.user-modal-content .user-enabled-field{grid-column:auto;align-self:end;min-height:38px}.user-modal-content .checkbox-field{width:fit-content;min-height:38px;color:var(--text-primary);flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:inline-flex}.user-modal-content .checkbox-field input[type=checkbox]{width:16px;min-width:16px;height:16px;min-height:16px;box-shadow:none;accent-color:var(--accent);background:0 0;border-radius:4px;flex:0 0 16px;margin:0;padding:0}.user-modal-content .checkbox-field span{white-space:nowrap;line-height:16px}.user-modal-content .quota-field{grid-template-columns:minmax(0,1fr) max-content;gap:8px;min-width:0}.user-modal-content .quota-field .checkbox-field{height:38px;padding-bottom:0}.user-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.user-editor-key-section{margin-top:10px}.user-editor-reset-actions{padding:0 2px}.settings-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-actions{justify-content:flex-end;gap:10px;display:flex}.settings-check{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:12px;display:grid}.settings-check strong{color:var(--text-primary);font-size:13px}.settings-check span{color:var(--text-secondary);font-size:12px;line-height:1.5}.settings-check.is-ok{border-color:color-mix(in srgb, var(--success) 36%, var(--border))}.settings-check.is-error{border-color:color-mix(in srgb, var(--error) 36%, var(--border))}.admin-workspace{gap:16px;display:grid}.admin-page-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.admin-tabs{background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-md);flex-wrap:wrap;gap:6px;min-width:0;padding:4px;display:flex}.admin-tabs button,.admin-type-switch button,.admin-panel-title button{min-height:34px;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 4px);background:0 0;justify-content:center;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.admin-tabs button:hover,.admin-tabs button.is-active,.admin-type-switch button:hover,.admin-type-switch button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 82%, var(--accent-light))}.admin-toolbar-actions,.admin-form-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-page-toolbar .btn,.admin-form-footer .btn{color:var(--accent-contrast,var(--bg));background:var(--accent)}.admin-page-toolbar .admin-maintenance-button{color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 72%, transparent);box-shadow:none}.admin-page-toolbar .admin-maintenance-button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 92%, var(--surface));box-shadow:var(--shadow-sm)}.admin-page-toolbar .admin-refresh-button{color:var(--accent-contrast,var(--bg));background:var(--accent);box-shadow:none}.admin-page-toolbar .admin-refresh-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 22%, transparent)}.admin-editor-layout{grid-template-columns:minmax(340px,.42fr) minmax(0,1fr);align-items:start}.admin-product-page,.admin-marketing-page{grid-template-columns:1fr}.admin-editor-panel,.admin-redeem-panel,.admin-data-panel{padding:16px}.admin-editor-panel{gap:14px;display:grid}.admin-editor-layout .admin-editor-panel{position:sticky;top:104px}.admin-redeem-panel{gap:12px;display:grid}.admin-panel-title,.admin-table-caption{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.admin-panel-title strong,.admin-table-caption strong{color:var(--text-primary);font-size:16px}.admin-panel-title button{color:var(--accent);background:var(--accent-light)}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-form-grid .span-2{grid-column:1/-1}.admin-form-grid label,.admin-redeem-panel label{min-width:0;color:var(--text-secondary);font-size:12px;font-weight:800}.admin-form-grid input,.admin-form-grid select,.admin-redeem-panel select{height:42px;min-height:42px}.admin-type-switch{background:color-mix(in srgb, var(--surface-hover) 70%, transparent);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;display:grid}.admin-form-hint{min-width:0;color:var(--text-secondary);font-size:13px;font-weight:800}.admin-checkline{width:fit-content;color:var(--text-primary);flex-direction:row;align-items:center;gap:8px;margin-right:auto;font-weight:800;display:inline-flex}.admin-checkline input{width:18px;height:18px;min-height:18px;box-shadow:none;accent-color:var(--accent);padding:0}.admin-data-panel{gap:12px;overflow:visible}.admin-table-caption{min-height:58px;color:var(--text-secondary);margin-bottom:0;padding:14px 20px 10px}.admin-data-panel .admin-empty-row{background:color-mix(in srgb, var(--surface-hover) 52%, transparent);border-radius:var(--radius-md);min-height:140px}.admin-product-table-head,.admin-campaign-table-head,.admin-redemption-table-head{min-height:38px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 72%, transparent);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:0 14px;font-size:12px;font-weight:900;display:grid}.admin-product-table-head,.admin-product-row{grid-template-columns:minmax(180px,1.4fr) 120px 110px 100px 120px 76px minmax(132px,auto)}.admin-campaign-table-head,.admin-marketing-row{grid-template-columns:minmax(180px,1.35fr) 92px 82px 80px minmax(150px,1fr) 110px minmax(190px,auto)}.admin-redemption-table-head,.admin-redemption-row{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.9fr) 70px 82px minmax(130px,1fr) 150px}.admin-product-row,.admin-marketing-row,.admin-redemption-row{border-bottom:1px solid var(--divider);min-width:0}.admin-products-table,.admin-campaign-table,.admin-redemption-table{overflow-x:auto}.admin-products-table .admin-table-caption,.admin-products-table .admin-product-table-head,.admin-products-table .admin-product-row,.admin-products-table .admin-empty-row{padding-left:20px;padding-right:20px}.admin-product-editor .admin-form-grid,.admin-marketing-editor .admin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-marketing-redesign{--admin-marketing-table-columns:minmax(180px, 1.35fr) 92px 82px 80px minmax(150px, 1fr) 110px minmax(190px, auto);gap:18px}.admin-marketing-builder{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);min-height:420px;box-shadow:var(--shadow-sm);grid-template-columns:minmax(210px,.36fr) minmax(430px,1fr) minmax(280px,.46fr);display:grid;overflow:hidden}.admin-marketing-type-rail,.admin-marketing-form,.admin-marketing-issue{align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.admin-marketing-type-rail{background:color-mix(in srgb, var(--surface-hover) 44%, transparent)}.admin-marketing-kicker,.admin-marketing-section>span{color:var(--text-secondary);font-size:12px;font-weight:900}.admin-marketing-kicker{align-content:center;gap:4px;min-height:56px;display:grid}.admin-marketing-kicker strong{color:var(--text-primary);font-size:18px}.admin-marketing-type-rail button,.admin-issue-list button{min-height:76px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 54%, transparent);border-radius:var(--radius-md);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.admin-marketing-type-rail button.is-active{color:var(--text-primary);background:color-mix(in srgb, var(--accent-light) 62%, var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.admin-marketing-type-rail button:hover,.admin-issue-list button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 76%, var(--surface))}.admin-marketing-type-rail strong,.admin-issue-list strong{color:var(--text-primary);display:block}.admin-marketing-type-rail small,.admin-issue-list small,.admin-marketing-form .admin-panel-title small,.admin-marketing-issue .admin-panel-title small{color:var(--text-tertiary);margin-top:4px;font-size:12px;font-weight:750;display:block}.admin-marketing-form{border-right:1px solid var(--divider);border-left:1px solid var(--divider)}.admin-marketing-section{gap:12px;padding-top:2px;display:grid}.admin-marketing-form .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-discount-products{min-width:0;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-hover) 62%, transparent);border-radius:var(--radius-md);gap:6px;padding:12px 14px;display:grid}.admin-discount-products span{font-size:12px;font-weight:900}.admin-discount-products p{color:var(--text-primary);margin:0;font-size:13px;font-weight:800;line-height:1.5}.admin-marketing-issue label{min-width:0;color:var(--text-secondary);gap:8px;font-size:12px;font-weight:800;display:grid}.admin-issue-list{gap:8px;display:grid}.admin-issue-list button{background:color-mix(in srgb, var(--surface-hover) 60%, transparent);min-height:64px}.admin-issue-list button:disabled{cursor:not-allowed;opacity:.55}.admin-issue-list p{min-height:96px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface-hover) 52%, transparent);border-radius:var(--radius-md);place-items:center;margin:0;display:grid}.admin-marketing-redesign .admin-form-footer{border-top:1px solid var(--divider);padding-top:6px}.admin-marketing-redesign .admin-campaign-table,.admin-marketing-redesign .admin-redemption-table{padding:0;overflow-x:auto}.admin-marketing-redesign .admin-table-caption,.admin-marketing-redesign .admin-campaign-table-head,.admin-marketing-redesign .admin-redemption-table-head,.admin-marketing-redesign .admin-marketing-row,.admin-marketing-redesign .admin-redemption-row,.admin-marketing-redesign .admin-empty-row{padding-left:20px;padding-right:20px}.admin-marketing-redesign .admin-table-caption{min-height:64px;padding-top:16px;padding-bottom:12px}.admin-marketing-redesign .admin-campaign-table-head,.admin-marketing-redesign .admin-marketing-row{grid-template-columns:var(--admin-marketing-table-columns)}.admin-marketing-redesign .admin-marketing-row{min-height:66px}.admin-marketing-name{width:100%;min-width:0;color:var(--text-primary);text-align:left;background:0 0;justify-content:flex-start;padding:0;display:inline-flex}.admin-marketing-name:hover{color:var(--accent)}@media (width<=1280px){.admin-marketing-builder{grid-template-columns:1fr}.admin-marketing-type-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-marketing-kicker{grid-column:1/-1;min-height:auto}.admin-marketing-form{border-top:1px solid var(--divider);border-left:none;border-right:none}.admin-marketing-issue{border-top:1px solid var(--divider)}}.admin-filterbar{grid-template-columns:220px 180px minmax(260px,1fr) auto auto;align-items:end;gap:12px;padding:16px;display:grid}.admin-filterbar .btn{height:48px}.admin-image-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.admin-image-card{padding:0;overflow:hidden}.admin-image-card>img,.admin-image-preview{aspect-ratio:1;width:100%}.admin-image-preview img{object-fit:cover;background:var(--surface-hover);width:100%;height:100%}.admin-image-body{gap:12px;padding:14px;display:grid}.admin-image-body strong,.admin-image-body span{display:block}.admin-image-body span,.admin-image-body p{color:var(--text-secondary)}.admin-image-body p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;margin:0;display:-webkit-box;overflow:hidden}.admin-chip-row{flex-wrap:wrap;gap:8px;display:flex}.admin-chip-row span,.admin-status{width:fit-content;min-height:26px;color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-full);justify-self:start;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-chip-row span.is-on,.admin-status.is-on{color:var(--accent);background:var(--accent-light)}.admin-status.is-off{color:var(--text-tertiary)}.admin-table,.admin-log-table{min-width:0;padding:0;display:grid;overflow:auto hidden}.admin-table::-webkit-scrollbar{height:10px}.admin-log-table::-webkit-scrollbar{height:10px}.admin-table::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-tertiary) 34%, transparent);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.admin-log-table::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-tertiary) 34%, transparent);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.admin-table-head,.admin-table-row{border-bottom:1px solid var(--divider);grid-template-columns:78px minmax(132px,.64fr) minmax(220px,1fr) 96px 294px;align-items:center;gap:10px;min-width:900px;padding:12px 16px;display:grid}.admin-images-table .admin-table-head,.admin-images-table .admin-table-row{grid-template-columns:78px minmax(132px,.64fr) minmax(230px,1fr) 112px 294px;min-width:920px}.admin-table-head{min-height:44px;color:var(--text-secondary);background:var(--surface-hover);font-size:12px;font-weight:900}.admin-table-image{border-radius:var(--radius-md);width:64px;height:64px}.admin-table-image img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%}.admin-table-row strong,.admin-table-row small{display:block}.admin-table-row small{max-width:100%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-row-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-row-meta span{min-height:24px;color:var(--text-tertiary);background:var(--surface-hover);border-radius:var(--radius-full);align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.admin-log-row{border-bottom:1px solid var(--divider);cursor:pointer;grid-template-columns:24px 64px minmax(180px,1fr) 140px 180px minmax(220px,1.2fr);align-items:center;gap:12px;min-height:54px;padding:10px 16px;transition:background .14s;display:grid}.admin-log-row:hover{background:color-mix(in srgb, var(--surface-hover) 54%, transparent)}.admin-log-row input{border:1px solid var(--border-hover);width:16px;height:16px;min-height:0;box-shadow:none;accent-color:var(--accent);background:0 0;border-radius:4px;padding:0}.admin-log-row input:hover,.admin-log-row input:focus,.admin-log-row input:focus-visible{border-color:var(--accent);box-shadow:none;background:0 0;outline:none}.admin-log-row span,.admin-log-row time,.admin-log-row code{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-log-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-log-row code{font-size:12px}.admin-log-detail-modal{width:min(820px,100vw - 40px)}.admin-log-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 22px 18px;display:grid}.admin-log-detail-field{background:var(--surface-hover);border-radius:var(--radius-md);gap:6px;min-width:0;padding:12px;display:grid}.admin-log-detail-field span,.admin-log-detail-block span{color:var(--text-tertiary);font-size:12px;font-weight:850}.admin-log-detail-field strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-log-detail-block{gap:10px;padding:0 22px 22px;display:grid}.admin-log-detail-block pre{overscroll-behavior:contain;max-height:min(46vh,420px);color:var(--text-secondary);background:color-mix(in srgb, var(--bg) 76%, var(--surface));border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;margin:0;padding:14px;font-size:12px;line-height:1.55;overflow:auto}.admin-empty-row{min-height:160px;color:var(--text-secondary);text-align:center;grid-column:1/-1;place-items:center;padding:34px;display:grid}.admin-image-grid>.admin-empty-row{min-height:220px}@media (width<=1040px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview-grid{grid-template-columns:1fr}.admin-overview-primary,.admin-overview-aside{grid-template-rows:none}.admin-overview-aside{min-height:0}.admin-log-feed div{grid-template-columns:64px minmax(0,1fr)}.admin-log-feed small{grid-column:2}}@media (width<=1180px){.admin-shell{--admin-sidebar-width:76px;--admin-shell-gap:16px;--admin-sticky-top:18px;padding:18px 22px 56px calc(var(--admin-sidebar-width) + var(--admin-shell-gap) + 22px)}.admin-sidebar{gap:12px;padding:12px;top:18px;bottom:18px;left:22px}.admin-sidebar-head{display:none}.admin-nav{gap:8px}.admin-nav button,.admin-theme-toggle,.admin-logout{justify-content:center;gap:0;width:100%;min-height:48px;padding:0;font-size:0}.admin-nav button svg,.admin-theme-toggle svg,.admin-logout svg{width:19px;height:19px}.admin-sidebar-actions{grid-template-columns:1fr;justify-items:center;padding-top:8px}.admin-theme-toggle,.admin-logout{width:100%;height:48px;padding:0;font-size:0}.admin-form{position:static}.admin-user-createbar{grid-template-columns:1fr;align-items:stretch}.admin-user-createbar .user-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-row{align-items:start}.admin-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section{grid-template-columns:1fr}.settings-section>:not(.settings-section-head){grid-column:1}.admin-log-table .admin-table-head{display:none}.admin-log-row{grid-template-columns:1fr}}@media (width<=760px){.admin-shell{--admin-sticky-top:0px;padding:16px 16px 72px}.admin-sidebar{width:auto;min-height:0;margin-bottom:16px;padding:14px;position:static}.admin-sidebar-head{display:block}.admin-sidebar h1{font-size:24px}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-nav button,.admin-theme-toggle,.admin-logout{justify-content:flex-start;min-height:42px;padding:0 10px;font-size:14px}.admin-sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start}.admin-theme-toggle,.admin-logout{width:100%;height:42px;padding:0 10px;font-size:13px}.admin-main .page-header{margin-top:0}.admin-metrics,.settings-form-grid,.settings-multiplier-grid,.settings-quota-grid,.settings-limit-grid,.settings-duo,.settings-trio,.admin-user-createbar .user-fields,.user-fields,.quota-preview,.admin-filterbar,.quota-field{grid-template-columns:1fr}.settings-back-top{bottom:72px;right:16px}}.composer-dock{left:var(--rail-width);z-index:60;background:linear-gradient(to top, color-mix(in srgb, var(--bg) 62%, transparent) 0%, #0000 100%);pointer-events:none;padding:18px 40px 34px;position:fixed;bottom:0;right:0}.composer-form{pointer-events:auto;width:min(860px,100%);margin:0 auto}.composer-main{background:var(--composer-bg);min-height:138px;box-shadow:var(--composer-shadow);border:0;border-radius:28px;padding:18px 22px}.composer-main.is-dragging{background:color-mix(in srgb, var(--composer-bg) 82%, var(--accent-light))}.composer-main.is-running{will-change:box-shadow;animation:2.7s ease-in-out infinite imageComposerBreathe}.composer-main:focus-within{box-shadow:var(--composer-shadow)}.composer-file-input{display:none}.prompt-input-wrapper{grid-template-columns:58px minmax(0,1fr);gap:16px;min-height:62px;display:grid}.reference-wrap{width:52px;height:64px;position:relative}.attach-btn{width:50px;height:62px;color:var(--composer-muted);background:var(--composer-control);border:0;border-radius:4px;place-items:center;transition:background .18s,color .18s;display:grid;overflow:hidden;transform:rotate(-8deg)}.attach-btn:hover{color:var(--composer-text);background:var(--composer-control-hover)}.attach-btn img{object-fit:cover;width:100%;height:100%}.remove-reference{width:20px;height:20px;color:var(--bg);background:var(--text-primary);border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.prompt-input{min-height:62px;color:var(--composer-text);box-shadow:none;resize:none;background:0 0;border:0;outline:none;padding:2px 0 0;font-size:15px;font-weight:650;line-height:1.55}.prompt-input:hover,.prompt-input:focus{box-shadow:none}.prompt-input::placeholder{color:var(--composer-placeholder)}.composer-toolbar{align-items:center;gap:7px;margin-top:14px;display:flex}.mode-pill{height:36px;color:var(--composer-accent);background:var(--composer-control);white-space:nowrap;border-radius:11px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.tool-menu{flex:none;position:relative}.tool-btn{min-width:38px;height:36px;color:var(--composer-text);background:var(--composer-control);white-space:nowrap;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.tool-btn:hover{background:var(--composer-control-hover)}.tool-btn.is-active{color:var(--composer-accent)}.tool-btn svg{flex:none}.tool-btn-icon{padding:0}.composer-popover{z-index:90;background:var(--composer-bg);width:230px;max-height:min(360px,52vh);box-shadow:var(--composer-shadow);border-radius:16px;gap:4px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow-y:auto}.composer-popover-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:280px}.composer-popover-compact{width:180px}.composer-popover button{min-height:46px;color:var(--composer-text);text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.composer-popover button:hover,.composer-popover button.is-selected{background:var(--composer-control)}.composer-popover button:disabled,.composer-popover button.is-disabled{opacity:.45}.composer-popover button:disabled:hover,.composer-popover button.is-disabled:hover{background:0 0}.composer-popover strong,.composer-popover small{display:block}.composer-popover strong{font-size:13px}.composer-popover small{color:var(--composer-muted);margin-top:2px;font-size:11px}.composer-submit-top{align-items:center;gap:12px;margin-left:auto;padding-left:16px;display:flex}.image-count{color:var(--composer-muted);white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.generate-btn{width:36px;height:36px;color:var(--composer-submit-icon);background:var(--composer-submit);border:0;border-radius:999px;place-items:center;transition:background .18s,color .18s;display:grid}.generate-btn:hover:not(:disabled){color:var(--composer-submit-icon-active);background:var(--composer-submit-active)}.generate-btn:disabled{color:var(--composer-muted);background:var(--composer-submit)}.conversation-area.has-turns{justify-content:flex-start;align-items:stretch}.conversation-area.is-empty{justify-content:center;align-items:center;padding:72px 32px 230px;overflow-x:hidden}.conversation-list{flex-direction:column;gap:28px;width:min(980px,100%);margin:0 auto;padding:8px 0 0;display:flex}.conversation-bottom-anchor{flex:0 0 180px;width:100%}.conversation-turn{flex-direction:column;gap:14px;animation:.22s ease-out slideUp;display:flex}.prompt-row{justify-content:flex-end;display:flex}.prompt-bubble-wrap{max-width:min(78%,720px)}.prompt-meta,.result-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;font-weight:700;line-height:1;display:flex}.prompt-meta{justify-content:flex-end;margin:0 6px 6px}.prompt-meta .tooltip-wrap{height:18px;margin-left:4px}.turn-delete-btn{width:18px;height:18px;color:var(--text-tertiary);background:0 0;border-radius:999px;place-items:center;line-height:1;display:inline-grid}.turn-delete-btn svg{width:12px;height:12px}.turn-delete-btn:hover{color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.prompt-bubble{color:var(--text-primary);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:var(--blur-md);border:0;border-radius:24px 8px 24px 24px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;box-shadow:0 18px 42px #00000029,inset 0 1px #ffffff0a}.prompt-bubble img{object-fit:cover;border-radius:12px;flex:none;width:54px;height:54px}.prompt-bubble p{white-space:pre-wrap;word-break:break-word;font-size:15px;font-weight:650;line-height:1.65}.result-row{width:min(920px,100%)}.result-meta{margin:0 0 10px 4px}.result-meta span{background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:var(--radius-full);min-height:26px;-webkit-backdrop-filter:var(--blur-sm);border:0;align-items:center;padding:0 11px;display:inline-flex;box-shadow:0 8px 20px #0000001f,inset 0 1px #ffffff0a}.turn-count-pill{visibility:visible;min-height:26px;color:var(--text-tertiary);background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:var(--radius-full);-webkit-backdrop-filter:var(--blur-sm);border:0;align-items:center;padding:0 11px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 8px 20px #0000001f,inset 0 1px #ffffff0a}.turn-count-pill.is-placeholder{opacity:0;pointer-events:none}.turn-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;display:grid}.turn-image-card,.turn-image-loading,.turn-image-error{min-width:0}.turn-image-card{flex-direction:column;gap:8px;display:flex}.turn-image-preview,.turn-image-loading,.turn-image-error{aspect-ratio:1;background:color-mix(in srgb, var(--surface) 84%, transparent);border:0;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 42px #00000029,inset 0 1px #ffffff09}.turn-image-preview{cursor:pointer}.turn-image-preview img{object-fit:cover;width:100%;height:100%;transition:filter .12s}.turn-image-preview:hover img{filter:brightness(.88)}.turn-image-card figcaption{min-height:26px;color:var(--text-tertiary);justify-content:space-between;align-items:center;gap:6px;padding:0 2px;font-size:12px;font-weight:700;display:flex}.turn-image-card figcaption div{flex:none;gap:4px;display:flex}.turn-image-card figcaption .turn-action-btn{width:24px;height:24px;color:color-mix(in srgb, var(--text-secondary) 68%, transparent);background:color-mix(in srgb, var(--surface) 42%, transparent);border:1px solid color-mix(in srgb, var(--border-hover) 44%, transparent);border-radius:var(--radius-full);place-items:center;transition:background .14s,color .14s,border-color .14s,opacity .14s;display:grid;box-shadow:inset 0 1px #ffffff09}.turn-image-card figcaption .turn-action-btn svg{width:12.5px;height:12.5px}.turn-image-card figcaption .turn-action-btn:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-hover) 78%, transparent);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-hover))}.turn-image-loading{color:color-mix(in srgb, var(--text-secondary) 86%, transparent);align-items:flex-end;padding:12px;font-size:12px;font-weight:750;display:flex}.dot-grid-loader{isolation:isolate;background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 20%, transparent) 0 1.15px, transparent 1.7px);background-position:50%;background-repeat:repeat;background-size:14px 14px;border-radius:11px;position:absolute;inset:10px 10px 34px;overflow:hidden}.dot-grid-loader:before,.dot-grid-loader:after{content:"";background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 68%, transparent) 0 1.4px, transparent 1.85px);pointer-events:none;will-change:mask-position;background-position:50%;background-repeat:repeat;background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000008c 32%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000008c 32%,#0000 68%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dot-grid-loader:before{animation:7s ease-in-out infinite torchMaskA;-webkit-mask-size:70% 70%;mask-size:70% 70%}.dot-grid-loader:after{opacity:.85;animation:9.5s ease-in-out -2.5s infinite torchMaskB;-webkit-mask-size:55% 55%;mask-size:55% 55%}.turn-image-loading:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to top, color-mix(in srgb, var(--surface) 72%, transparent) 0%, transparent 24%);position:absolute;inset:0}.turn-image-loading span{z-index:2;position:relative}.turn-image-error{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:12px;line-height:1.55;display:flex}.turn-image-error svg{color:var(--error)}@keyframes torchMaskA{0%,to{-webkit-mask-position:16% 20%;mask-position:16% 20%}20%{-webkit-mask-position:76% 18%;mask-position:76% 18%}40%{-webkit-mask-position:86% 60%;mask-position:86% 60%}60%{-webkit-mask-position:60% 84%;mask-position:60% 84%}80%{-webkit-mask-position:22% 78%;mask-position:22% 78%}}@keyframes torchMaskB{0%,to{-webkit-mask-position:78% 76%;mask-position:78% 76%}25%{-webkit-mask-position:30% 80%;mask-position:30% 80%}50%{-webkit-mask-position:18% 30%;mask-position:18% 30%}75%{-webkit-mask-position:66% 18%;mask-position:66% 18%}}@keyframes imageComposerBreathe{0%,to{box-shadow:var(--composer-shadow), 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}50%{box-shadow:var(--composer-shadow), 0 0 34px color-mix(in srgb, var(--accent) 12%, transparent)}}@media (width<=1024px){.composer-dock{padding:18px 20px 24px}.composer-main{border-radius:24px;min-height:132px}.composer-toolbar{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.composer-toolbar::-webkit-scrollbar{display:none}}@media (width<=768px){.composer-dock{padding:10px 10px 8px 14px;bottom:64px;left:0;right:8px;overflow-x:hidden}.composer-main{border-radius:24px;min-height:128px;padding:16px}.prompt-input-wrapper{grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:58px}.attach-btn{width:40px;height:52px}.prompt-input{min-height:54px;font-size:14px}.tool-btn{min-width:36px;height:34px;padding:0 10px;font-size:13px}.mode-pill{height:34px;font-size:13px}.composer-popover,.composer-popover-grid,.composer-popover-compact{width:min(280px,100vw - 42px);left:auto;right:0}.image-count{font-size:14px}.generate-btn{width:44px;height:44px}.conversation-list{gap:22px}.conversation-bottom-anchor{flex-basis:220px}.prompt-bubble-wrap,.result-row{width:100%;max-width:100%}.prompt-bubble{border-radius:20px 8px 20px 20px}.turn-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.canvas-workspace{--canvas-grid-dot:#0f172a33;--canvas-minimap-node:#0f172a38;--canvas-minimap-mask:#f8fafc2e;--canvas-minimap-mask-stroke:#0f172a33;--canvas-minimap-bg:#f8fafc85;--canvas-minimap-border:#0f172a1a;--canvas-control-bg:#eef1f4;--canvas-control-bg-hover:#e3e7ec;--canvas-bg-line:#0f172a0c;--canvas-bg-wash-a:#5cc8ff29;--canvas-bg-wash-b:#ffbc821f;--canvas-bg-base:#f7f8fb;--canvas-radius:12px;background:radial-gradient(circle at 18% 22%, var(--canvas-bg-wash-a), transparent 34%), radial-gradient(circle at 72% 34%, var(--canvas-bg-wash-b), transparent 42%), linear-gradient(var(--canvas-bg-line) 1px, transparent 1px), linear-gradient(90deg, var(--canvas-bg-line) 1px, transparent 1px), var(--canvas-bg-base);background-size:auto,auto,32px 32px,32px 32px,auto;width:100%;height:100vh;position:relative}:root[data-theme=dark] .canvas-workspace{--canvas-grid-dot:#ffffff38;--canvas-minimap-node:#ffffff4d;--canvas-minimap-mask:#0000004d;--canvas-minimap-mask-stroke:#ffffff24;--canvas-minimap-bg:color-mix(in srgb, var(--surface) 82%, transparent);--canvas-minimap-border:var(--border);--canvas-control-bg:#242424;--canvas-control-bg-hover:#2d2d2d;--canvas-bg-line:#ffffff07;--canvas-bg-wash-a:#576f4a2e;--canvas-bg-wash-b:#692e3729;--canvas-bg-base:#202020}.canvas-workspace.is-start-page .react-flow,.canvas-workspace.is-start-page .react-flow__minimap{display:none}.canvas-start-stage{z-index:8;position:absolute;inset:0;overflow:hidden}.canvas-start-linework{pointer-events:none;opacity:.68;width:100%;height:100%;position:absolute;inset:0}.canvas-line,.canvas-line-card rect,.canvas-line-card path{fill:none;stroke:color-mix(in srgb, var(--text-tertiary) 52%, transparent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:26s ease-in-out infinite canvasLineTrace}.canvas-line.is-main{stroke:color-mix(in srgb, var(--accent) 62%, transparent);stroke-width:3.2px}.canvas-line.is-accent{stroke:#ffce3cb8;stroke-width:3px;animation-delay:.25s}.canvas-line.is-soft,.canvas-line.is-faint{stroke:color-mix(in srgb, var(--text-tertiary) 24%, transparent);stroke-width:1.4px}.canvas-line.is-vertical{stroke:color-mix(in srgb, var(--text-tertiary) 36%, transparent);stroke-width:1.2px;animation-delay:.45s}.canvas-line-card rect,.canvas-line-card path{stroke:color-mix(in srgb, var(--text-tertiary) 56%, transparent);animation-delay:.65s}.canvas-line-card.is-large rect{stroke:color-mix(in srgb, var(--text-primary) 46%, transparent);stroke-width:2.8px}.canvas-line-card .canvas-line-image-frame{stroke:color-mix(in srgb, var(--text-tertiary) 42%, transparent);stroke-width:1.8px}.canvas-line-card .canvas-line-image-mountain{stroke:color-mix(in srgb, var(--accent) 58%, transparent);stroke-width:2px}.canvas-line-card .canvas-line-image-sun{stroke:#ffce3cb3;stroke-width:1.8px}.canvas-line-card.is-small path,.canvas-line-card.is-ghost path{stroke-width:1.8px}.canvas-line-card .canvas-line-fill{fill:color-mix(in srgb, var(--text-tertiary) 14%, transparent);stroke:none;animation:26s ease-in-out infinite canvasLineFade}.canvas-line-card .canvas-line-dot{fill:color-mix(in srgb, var(--accent) 70%, transparent);stroke:none;animation:18s ease-in-out infinite canvasLineFade}.canvas-line-card.is-top,.canvas-line-card.is-bottom,.canvas-line-card.is-ghost{opacity:.72}.canvas-start-panel{top:50%;left:calc(var(--rail-width) + clamp(56px, 13vw, 200px));z-index:1;width:min(380px, calc(100vw - var(--rail-width) - 48px));color:var(--text-primary);gap:28px;display:grid;position:absolute;transform:translateY(-50%)}@keyframes canvasLineTrace{0%{stroke-dashoffset:1px;opacity:0}8%{opacity:1}20%,to{stroke-dashoffset:0;opacity:1}}@keyframes canvasLineFade{0%,12%{opacity:0}20%,to{opacity:1}}.canvas-start-title{gap:8px;display:grid}.canvas-start-title span{color:var(--text-tertiary);font-size:13px;font-weight:800}.canvas-start-title h1{letter-spacing:0;margin:0;font-size:44px;font-weight:900;line-height:.95}.canvas-start-section{gap:8px;display:grid}.canvas-start-label{color:var(--text-tertiary);font-size:14px;font-weight:800}.canvas-start-link{min-height:30px;color:var(--accent);text-align:left;box-shadow:none;background:0 0;border-radius:0;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:800;display:inline-flex}.canvas-start-link svg{flex:none;display:block}.canvas-start-link>span{transform:translateY(1px)}.canvas-recent-list button{min-height:30px;color:var(--accent);text-align:left;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(150px,210px) auto;align-items:center;gap:14px;padding:0;font-size:14px;font-weight:750;display:grid}.canvas-start-link:hover,.canvas-recent-list button:hover{color:color-mix(in srgb, var(--accent) 78%, var(--text-primary));box-shadow:none;background:0 0}.canvas-start-link:hover,.canvas-start-link:active,.canvas-recent-list button:hover,.canvas-recent-list button:active{transform:none}.canvas-recent-list{gap:8px;display:grid}.canvas-recent-list button{color:var(--accent)}.canvas-recent-title{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-recent-meta{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.canvas-start-empty-note{max-width:300px;padding-top:4px}.canvas-start-empty-note p{color:var(--text-tertiary);margin:0;font-size:13px;font-weight:700;line-height:1.55}body.canvas-rail-hidden .canvas-start-panel{left:clamp(56px,13vw,200px)}@media (width<=900px){.canvas-start-panel{width:min(340px,100vw - 64px);left:clamp(32px,11vw,96px)}.canvas-start-linework{opacity:.46}}@media (width<=640px){.canvas-start-panel,body.canvas-rail-hidden .canvas-start-panel{gap:24px;width:calc(100vw - 48px);top:48%;left:24px}.canvas-start-title h1{font-size:40px}.canvas-start-linework{opacity:.22;transform:translate(8%)}.canvas-recent-list button{grid-template-columns:minmax(0,1fr);justify-items:start;gap:2px}.canvas-recent-meta{font-size:11px}}@media (prefers-reduced-motion:reduce){.canvas-line,.canvas-line-card rect,.canvas-line-card path,.canvas-line-card .canvas-line-fill,.canvas-line-card .canvas-line-dot{stroke-dashoffset:0;opacity:1;animation:none}}.canvas-workspace .react-flow{background:0 0}.canvas-toolbar{top:27px;left:calc(var(--rail-width) + 18px);z-index:10;height:44px;min-height:44px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);align-items:center;gap:14px;padding:5px;transition:left .22s cubic-bezier(.2,.8,.2,1),width .18s,background .18s;display:flex;position:absolute}body.canvas-rail-hidden .canvas-toolbar{left:18px}.canvas-toolbar.is-renaming{background:color-mix(in srgb, var(--surface) 94%, transparent)}.canvas-top-actions{z-index:10;height:44px;box-shadow:none;background:0 0;border-radius:0;align-items:center;gap:10px;padding:0;display:flex;position:absolute;top:27px;right:18px}.canvas-top-actions .btn{border-radius:var(--radius-full);background:color-mix(in srgb, var(--surface) 88%, transparent);height:44px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);padding:0 18px;font-size:13px;font-weight:700}.canvas-top-actions .btn,.canvas-top-actions .btn:hover:not(:disabled),.canvas-top-actions .btn:active:not(:disabled),.canvas-export-menu button,.canvas-export-menu button:active:not(:disabled){transition:background .16s,color .16s;transform:none}.canvas-action-btn{justify-content:center;align-items:center;gap:6px;min-width:0;display:inline-flex}.canvas-action-btn-save,.canvas-action-btn-save:hover:not(:disabled),.canvas-action-btn-save:active:not(:disabled),.canvas-top-actions .canvas-action-btn:hover:not(:disabled),.canvas-top-actions .canvas-action-btn:active:not(:disabled){background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-md);transform:none}.canvas-export-menu-wrap{position:relative}.canvas-export-menu{z-index:90;min-width:150px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.canvas-export-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;white-space:nowrap;background:0 0;padding:0 10px;font-size:12px;font-weight:800}.canvas-export-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-toolbar-title{white-space:nowrap;align-items:baseline;gap:8px;padding:0 8px;display:inline-flex}.canvas-toolbar-title input,.canvas-title-button{width:auto;height:28px;color:var(--text-primary);box-shadow:none;text-align:left;background:0 0;padding:0;font-size:14px;font-weight:900}.canvas-toolbar-title input{background:color-mix(in srgb, var(--surface-hover) 86%, transparent);border-radius:var(--radius-sm);width:220px;padding:0 6px;transition:width .18s,background .18s}.canvas-title-button strong{font-size:14px}.canvas-title-menu-wrap{flex:0 0 32px;width:32px;height:32px;position:relative}.canvas-title-menu{z-index:90;min-width:132px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.canvas-title-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.canvas-title-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-toolbar strong{font-size:14px}.canvas-toolbar span{width:44px;color:var(--text-tertiary);text-align:left;font-size:12px;display:inline-block}.canvas-toolbar-actions{grid-auto-columns:32px;grid-auto-flow:column;align-items:center;gap:8px;display:grid}.canvas-toolbar-actions .btn{border-radius:var(--radius-full);height:34px;box-shadow:none;transition:background .16s,color .16s;transform:none}.canvas-toolbar-actions .btn:hover:not(:disabled),.canvas-toolbar-actions .btn:active:not(:disabled){box-shadow:none;transform:none}.canvas-image-node{width:260px;min-height:150px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);gap:10px;padding:10px;display:grid;position:relative;overflow:visible}.canvas-image-card{gap:6px;width:100%;height:100%;min-height:0;padding:6px}.canvas-prompt-node{gap:6px;width:260px;min-height:176px;padding:8px;overflow:visible}.canvas-image-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md)}.canvas-prompt-head,.canvas-image-actions{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:11px;font-weight:800;display:flex}.canvas-prompt-head span,.canvas-image-actions{min-width:0}.canvas-prompt-head span:first-child{color:var(--text-primary);align-items:center;gap:4px;display:inline-flex}.canvas-node-preview{width:100%;height:auto;min-height:110px;aspect-ratio:inherit;background:var(--surface-hover);border-radius:var(--canvas-radius);overflow:hidden}.canvas-node-preview .smart-image,.canvas-node-preview .smart-image-main{width:100%;height:100%}.canvas-node-loading{width:100%;height:100%;box-shadow:none;border-radius:0}.canvas-node-loading .dot-grid-loader{inset:10px 10px 32px}.canvas-node-empty{width:100%;height:100%;color:var(--text-tertiary);place-items:center;display:grid}.canvas-node-prompt{height:68px;min-height:68px;color:var(--text-secondary);background:var(--canvas-control-bg);border-radius:var(--canvas-radius);box-shadow:none;white-space:pre-wrap;overscroll-behavior:contain;scrollbar-gutter:stable;cursor:default;resize:none;padding:6px 8px;line-height:1.42;overflow-y:auto}.canvas-node-model input{background:var(--canvas-control-bg);height:30px;box-shadow:none;padding:0 10px}.canvas-node-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.canvas-select{min-width:0;position:relative}.canvas-select>button{width:100%;height:24px;color:var(--text-primary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:0 6px;font-size:12px;font-weight:800;display:flex}.canvas-select>button:disabled{opacity:.58}.canvas-select-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);gap:2px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0}.canvas-select-menu button{height:24px;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;justify-content:space-between;align-items:center;padding:0 6px;font-size:12px;font-weight:800;display:flex}.canvas-select-menu button:hover,.canvas-select-menu button.is-active{color:var(--text-primary);background:var(--surface-hover)}.canvas-node-error{color:var(--error);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.canvas-node-generate{width:100%;height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent-light) 78%, var(--canvas-control-bg));border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.canvas-image-actions{height:24px;padding:0 5px}.canvas-image-actions button{width:28px;height:24px;color:var(--text-tertiary);border-radius:var(--radius-sm);background:0 0;place-items:center;display:inline-grid}.canvas-image-actions button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-image-picker{top:104px;left:calc(var(--rail-width) + 18px);z-index:20;width:320px;max-height:min(520px,100vh - 160px);color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:12px;position:absolute;overflow:auto}.canvas-context-menu{z-index:80;min-width:112px;color:var(--text-primary);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:var(--canvas-radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur-lg);gap:4px;padding:6px;display:grid;position:fixed}.canvas-context-menu button{height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;padding:0 10px;font-size:12px;font-weight:800}.canvas-context-menu button:hover{color:var(--text-primary);background:var(--surface-hover)}.canvas-picker-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.canvas-picker-head button,.canvas-picker-upload{color:var(--text-secondary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);font-size:12px;font-weight:800}.canvas-picker-head button{padding:5px 8px}.canvas-picker-upload{width:100%;height:32px;margin-bottom:10px}.canvas-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.canvas-picker-tabs{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.canvas-picker-tabs button{height:30px;color:var(--text-tertiary);background:var(--canvas-control-bg);border-radius:var(--radius-sm);font-size:12px;font-weight:900}.canvas-picker-tabs button.is-active{color:var(--text-primary);background:var(--canvas-control-bg-hover)}.canvas-picker-grid button{aspect-ratio:1;background:var(--surface-hover);border-radius:var(--radius-sm);overflow:hidden}.canvas-picker-grid img{object-fit:cover;width:100%;height:100%}.canvas-workspace .react-flow__handle{background:var(--accent);border:2px solid var(--surface);border-radius:999px;width:14px;height:14px}.canvas-workspace .react-flow__handle:before{content:"";background:0 0;border-radius:999px;position:absolute;inset:-8px}.canvas-workspace .react-flow__handle-left{left:0}.canvas-workspace .react-flow__handle-right{right:0}.canvas-workspace .canvas-handle-in:after,.canvas-workspace .canvas-handle-out:after{content:none}.canvas-workspace .canvas-handle-in{background:#5cc8ff}.canvas-workspace .canvas-handle-out{background:#a8f28a}.canvas-workspace .react-flow__minimap{border-radius:var(--canvas-radius);box-shadow:var(--shadow-sm);background:var(--canvas-minimap-bg);border:1px solid var(--canvas-minimap-border);-webkit-backdrop-filter:blur(10px);bottom:18px;right:18px;overflow:hidden;box-shadow:0 12px 28px #0f172a14,inset 0 0 0 1px #ffffff57}.canvas-workspace .react-flow__minimap svg{border-radius:var(--canvas-radius)}.canvas-workspace .react-flow__minimap-node{fill:var(--canvas-minimap-node)}.canvas-workspace .react-flow__minimap-mask{fill:var(--canvas-minimap-mask);stroke:var(--canvas-minimap-mask-stroke);stroke-width:8px}.canvas-workspace .react-flow__edges,.canvas-workspace .react-flow__edges svg{overflow:visible}.canvas-workspace .react-flow__edge-path{stroke:color-mix(in srgb, var(--accent) 34%, var(--text-tertiary));stroke-width:2.2px;stroke-linecap:round}.canvas-workspace .canvas-edge-generating .react-flow__edge-path{stroke-dasharray:7 7;animation:.8s linear infinite canvasEdgeFlow}.canvas-workspace .react-flow__attribution{display:none}@keyframes canvasEdgeFlow{to{stroke-dashoffset:-14px}}
