.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}._container_1x2ht_1{border:none;margin:8px 0;overflow:hidden;font-family:Geist Sans,sans-serif;background:#fff}._header_1x2ht_9{display:flex;align-items:center;justify-content:space-between;padding:24px 32px 20px}._header_1x2ht_9 h3{margin:0;font-size:18px;font-weight:600;color:#000;letter-spacing:-.8px}._count_1x2ht_24{font-size:13px;color:#aaa;letter-spacing:-.3px}._list_1x2ht_30{max-height:400px;overflow-y:auto;padding:0 32px}._item_1x2ht_36{border:1px solid rgba(170,0,170,.2);border-radius:5px;margin-bottom:8px;overflow:hidden;background:#ff0fef05}._itemHeader_1x2ht_44{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .1s}._itemHeader_1x2ht_44:hover{background:#ff0fef0a}._action_1x2ht_57{font-size:11px;font-weight:600;padding:3px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.02em}._actionAdd_1x2ht_66{background:#f0fdf4;color:#16a34a}._actionUpdate_1x2ht_71{background:#fffbeb;color:#d97706}._actionDelete_1x2ht_76{background:#fef2f2;color:#dc2626}._type_1x2ht_81{font-size:12px;color:#aaa;border:1px solid #e0e0e0;border-radius:3px;padding:2px 8px}._id_1x2ht_89{font-size:14px;font-weight:500;font-family:Geist Mono,monospace;flex:1;color:#000;letter-spacing:-.3px}._chevron_1x2ht_98{font-size:12px;transition:transform .2s;color:#aaa}._chevron_1x2ht_98._expanded_1x2ht_104{transform:rotate(90deg)}._yaml_1x2ht_108{padding:16px 20px;margin:0;background:#f5f5f5;font-family:Geist Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;border-top:1px solid rgba(0,0,0,.06)}._actions_1x2ht_120{display:flex;gap:12px;padding:24px 32px;justify-content:center;align-items:center}._approveButton_1x2ht_128{flex:0 0 auto;min-width:200px;padding:12px 32px;border-radius:5px;border:1px solid #000;background:#000;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:Geist Sans,sans-serif;letter-spacing:-.5px;transition:background .15s}._approveButton_1x2ht_128:hover:not(:disabled){background:#1a1a1a}._approveButton_1x2ht_128:disabled{opacity:.5;cursor:not-allowed}._rejectButton_1x2ht_153{padding:12px 24px;border-radius:5px;border:1px solid #e0e0e0;background:none;color:#888;font-size:14px;font-weight:500;cursor:pointer;font-family:Geist Sans,sans-serif;transition:all .15s}._rejectButton_1x2ht_153:hover:not(:disabled){border-color:#dc2626;color:#dc2626;background:#fef2f2}._rejectButton_1x2ht_153:disabled{opacity:.5;cursor:not-allowed}._overlay_45iwg_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._dialog_45iwg_12{background:#fff;border:1px solid #000;border-radius:5px;max-width:480px;width:100%;box-shadow:0 8px 32px #0000001f;font-family:Geist Sans,sans-serif}._header_45iwg_22{padding:24px 32px 16px}._header_45iwg_22 h3{margin:0;font-size:18px;font-weight:600;color:#000;letter-spacing:-.8px}._subtitle_45iwg_34{margin:6px 0 0;font-size:13px;color:#888;letter-spacing:-.2px}._processList_45iwg_41{padding:0 32px 8px}._processItem_45iwg_45{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(170,0,170,.2);border-radius:5px;margin-bottom:8px;background:#ff0fef05}._processIcon_45iwg_56{font-size:20px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f5f5f5}._processInfo_45iwg_68{flex:1;min-width:0}._processLabel_45iwg_73{font-size:14px;font-weight:600;color:#000;letter-spacing:-.3px}._processDescription_45iwg_80{font-size:12px;color:#888;margin-top:2px;letter-spacing:-.1px}._actions_45iwg_87{display:flex;gap:12px;padding:16px 32px 24px;justify-content:center}._approveButton_45iwg_94{flex:1;padding:12px 32px;border-radius:5px;border:1px solid #000;background:#000;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:Geist Sans,sans-serif;letter-spacing:-.5px;transition:background .15s}._approveButton_45iwg_94:hover:not(:disabled){background:#1a1a1a}._approveButton_45iwg_94:disabled{opacity:.5;cursor:not-allowed}._skipButton_45iwg_118{padding:12px 24px;border-radius:5px;border:1px solid #e0e0e0;background:none;color:#888;font-size:14px;font-weight:500;cursor:pointer;font-family:Geist Sans,sans-serif;transition:all .15s}._skipButton_45iwg_118:hover:not(:disabled){border-color:#aaa;color:#555}._skipButton_45iwg_118:disabled{opacity:.5;cursor:not-allowed}:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F0F0F0;--color-bg-tertiary: #E0E0E0;--color-bg-elevated: #FAFAFA;--color-surface: #FFFFFF;--color-surface-hover: #F0F0F0;--color-surface-active: #E0E0E0;--color-text-primary: #000000;--color-text-secondary: #555555;--color-text-muted: #888888;--color-text-inverse: #FFFFFF;--color-accent-primary: #ff0fef;--color-accent-primary-hover: #e00dd6;--color-accent-secondary: #cc0cbf;--color-accent-tertiary: #000000;--color-success: #22c55e;--color-warning: #F59E0B;--color-warning-bg: rgba(245, 158, 11, .08);--color-error: #ef4444;--color-info: #ff0fef;--color-rarity-common: #555555;--color-rarity-uncommon: #32CD32;--color-rarity-rare: #006400;--color-rarity-epic: #9B5DE5;--color-rarity-legendary: #F59E0B;--color-border: #000000;--color-border-subtle: rgba(0, 0, 0, .1);--color-border-hover: #333333;--font-family-primary: "Geist Sans", "system-ui", sans-serif;--font-family-body: "Geist Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-code: "Geist Mono", "JetBrains Mono", "Fira Code", "SF Mono", Monaco, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-body: 1.55;--line-height-tight: 1.35;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .06);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .06);--shadow-glow-primary: 0 0 8px rgba(0, 100, 0, .3);--shadow-glow-secondary: 0 0 8px rgba(50, 205, 50, .3);--transition-fast: .1s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--header-height: 56px;--sidebar-width: 280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;letter-spacing:-.02em}a{color:var(--color-accent-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:Geist Sans,sans-serif;font-size:14px;font-weight:500;line-height:1.5;border:1px solid transparent;border-radius:5px;cursor:pointer;transition:all .15s;white-space:nowrap;letter-spacing:-.3px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:#000;color:#fff;border-color:#000}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:#1a1a1a;border-color:#1a1a1a}.btn-secondary{background:#fff;color:#000;border-color:#000}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:#f5f5f5;border-color:#000}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:#dc2626;border-color:#dc2626}.btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.btn-success:hover:not(:disabled):not([aria-disabled=true]){background:#22c55e;border-color:#22c55e}.btn-block{width:100%}.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.btn-icon{padding:var(--spacing-2);min-width:36px;min-height:36px}.btn-link{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;padding:0;font-size:inherit}.btn-link:hover{text-decoration:underline}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:13px;font-weight:500;color:#000;line-height:1.4;letter-spacing:-.3px;font-family:Geist Sans,sans-serif}.form-group input,.form-group textarea,.input{padding:12px 16px;font-family:Geist Sans,sans-serif;font-size:15px;line-height:1.5;color:#000;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:5px;transition:border-color .15s;letter-spacing:-.3px}.form-group input:focus,.form-group textarea:focus,.input:focus{outline:none;border-color:#ff0fef;background:#fff}.form-group input:disabled,.form-group textarea:disabled,.input:disabled{background:#eee;color:#999;cursor:not-allowed}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder,.input::-moz-placeholder{color:#aaa}.form-group input::placeholder,.form-group textarea::placeholder,.input::placeholder{color:#aaa}.form-error{padding:10px 14px;background:#ef444414;border:1px solid #fca5a5;border-radius:5px;color:#dc2626;font-size:13px;font-family:Geist Sans,sans-serif}.form-success{padding:10px 14px;background:#22c55e14;border:1px solid #86efac;border-radius:5px;color:#16a34a;font-size:13px;font-family:Geist Sans,sans-serif}.form-info{padding:10px 14px;background:#f5f5f5;border-radius:5px;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;font-family:Geist Sans,sans-serif}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-overlay-modal-only-close{cursor:default;pointer-events:auto}.modal{background:#fff;border:1px solid #000000;border-radius:5px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;font-family:Geist Sans,sans-serif}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.1)}.modal-header h2{font-size:18px;font-weight:600;color:#000;letter-spacing:-.5px}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-body{padding:24px;overflow-y:auto;flex:1;line-height:1.6;font-size:14px;color:#000}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(0,0,0,.1)}.modal-footer .footer-left{flex:1}.modal-footer .footer-right{display:flex;gap:12px}.confirm-dialog-input-wrap{margin-top:16px}.confirm-dialog-input-wrap label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:#555}.confirm-dialog-input{width:100%;padding:12px 16px;font-family:Geist Sans,sans-serif;font-size:15px;border:1px solid #e0e0e0;border-radius:5px;background:#f5f5f5;color:#000}.confirm-dialog-input:focus{outline:none;border-color:#ff0fef;background:#fff}.texture-selection-dialog{max-width:960px;width:min(96vw,960px);height:min(86vh,820px);border:1px solid #000;border-radius:5px;font-family:Geist Sans,sans-serif}.texture-intro{margin-bottom:16px;color:#555;font-size:14px;line-height:1.5}.texture-entities-list{display:flex;flex-direction:column;gap:24px}.texture-entity{border:none;border-radius:0;background:#fff;padding:24px 0;border-bottom:1px solid rgba(0,0,0,.08)}.texture-entity.completed{border-color:#000;background:#fff}.texture-entity-header{display:flex;align-items:center;gap:12px}.texture-entity-icon{width:24px;height:24px;background:#ff0fef;flex-shrink:0}.texture-entity-name{font-size:18px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000;letter-spacing:-.5px}.texture-entity-type,.texture-entity-status{font-size:12px;border:1px solid #000;border-radius:5px;padding:4px 10px;background:#fff;color:#555;text-transform:uppercase;letter-spacing:.03em;margin-left:auto}.texture-entity-status{border-color:#22c55e;color:#16a34a;background:#22c55e14;text-transform:none}.texture-entity-description{margin:8px 0 16px;color:#555;font-size:14px;line-height:1.5}.texture-variants{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.texture-variant{border:1px solid #000;border-radius:5px;background:#d9d9d9;cursor:pointer;transition:border-color .15s,box-shadow .15s;padding:0;display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;width:160px;flex-shrink:0}.texture-variant:hover{border-color:#ff0fef}.texture-variant.selected{border-color:#ff0fef;border-width:2px;box-shadow:4px 4px #ff0fef}.variant-image-container{width:100%;aspect-ratio:1 / 1;background:#d9d9d9;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden;position:relative}.variant-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated}.variant-label{text-align:center;font-size:12px;color:#555;font-weight:500;padding:6px;border-top:1px solid rgba(0,0,0,.1);background:#fff}.armor-variant{padding:12px}.armor-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.armor-layer{display:flex;flex-direction:column;align-items:center;gap:4px}.armor-image{border:1px solid #000;border-radius:5px;padding:4px;background:#fff}.layer-label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.04em}.texture-entity-actions{margin-top:24px;display:flex;justify-content:center}.texture-footer-info{margin:0;font-size:14px;color:#555}@media (max-width: 768px){.texture-selection-dialog{width:100%;height:92vh}.texture-variants{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.alert{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.alert-error{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error)}.alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-size-lg)}.toast{position:fixed;bottom:var(--spacing-6);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:2000;max-width:min(90vw,420px);animation:toast-in .25s ease-out}.toast-success{background:var(--color-success);color:var(--color-text-inverse);border:1px solid rgba(255,255,255,.2)}.toast-error{background:var(--color-error);color:#fff;border:1px solid rgba(255,255,255,.2)}.toast-message{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.toast-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.85;padding:0 var(--spacing-1)}.toast-dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.object-list{display:flex;flex-direction:column;height:100%}.object-list-content{flex:1;overflow-y:auto;padding:var(--spacing-3)}.object-list-empty{padding:var(--spacing-6);text-align:center;color:var(--color-text-muted)}.object-list-empty .hint{font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.sidebar-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--spacing-3);flex-shrink:0}.sidebar-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.sidebar-token-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.sidebar-header-info{display:flex;align-items:baseline;gap:var(--spacing-2)}.sidebar-workspace-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-workspace-name-input{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;padding:0;border:none;background:transparent;color:inherit;font-family:inherit;width:100%;min-width:0}.sidebar-workspace-name-input:focus{outline:none;border-bottom:1px solid var(--color-accent-primary)}.sidebar-spec-version{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);flex-shrink:0}.sidebar-actions{display:flex;flex-direction:column;gap:var(--spacing-2)}.texture-progress-panel{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.texture-progress-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.texture-progress-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.texture-progress-percent{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-primary);font-family:var(--font-family-code)}.texture-progress-track,.texture-progress-entity-track{width:100%;height:8px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.texture-progress-fill,.texture-progress-entity-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),#22c55e);transition:width var(--transition-base)}.texture-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.texture-progress-entity-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:220px;overflow-y:auto;padding-right:2px}.texture-progress-entity{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.texture-progress-entity-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.texture-progress-entity-name{font-size:var(--font-size-xs);color:var(--color-text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-progress-entity-percent{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-code)}.texture-progress-entity-meta{font-size:11px;color:var(--color-text-muted)}.object-section{margin-bottom:var(--spacing-2)}.object-section-header{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border-subtle)}.object-section-header:hover{background:var(--color-surface)}.section-title{flex:1}.section-count{margin-right:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.section-toggle{font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.section-toggle.expanded{transform:rotate(180deg)}.object-section-content{padding:var(--spacing-1) 0}.section-empty{padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.object-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md);margin:0 0 var(--spacing-1)}.object-item:hover{background:var(--color-surface-hover)}.object-item.selected{background:var(--color-accent-primary);color:var(--color-text-inverse)}.object-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.object-item-texture{width:28px;height:28px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);display:inline-flex;align-items:center;justify-content:center}.object-item-texture img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated}.object-item-texture--missing{color:var(--color-text-muted);opacity:.5;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.texture-status-chip{display:inline-flex;align-items:center;align-self:flex-start;padding:3px 8px;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.artifact-download-section{flex-shrink:0;padding:var(--spacing-3);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-secondary)}.artifact-download-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.artifact-download-hint{font-size:11px;color:var(--color-text-muted);margin-top:2px;margin-bottom:var(--spacing-2)}.artifact-download-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.artifact-download-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.artifact-download-name{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-download-btn{flex-shrink:0}.properties-panel{display:flex;flex-direction:column;height:100%;padding:var(--spacing-4)}.properties-deselect-bar{flex-shrink:0;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border-subtle)}.properties-deselect-btn{font-size:.8125rem;color:var(--color-text-muted);padding:var(--spacing-1) var(--spacing-2)}.properties-deselect-btn:hover{color:var(--color-text-secondary)}.properties-panel.empty{align-items:center;justify-content:center}.properties-panel .empty-state{text-align:center;color:var(--color-text-muted)}.properties-panel .empty-icon{font-size:3rem;margin-bottom:var(--spacing-3)}.properties-panel .empty-state h3{margin-bottom:var(--spacing-2);color:var(--color-text-secondary)}.properties-header{display:flex;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-subtle)}.object-preview{flex-shrink:0}.preview-image{width:80px;height:80px;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:2rem}.object-title h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.object-id{font-family:var(--font-family-primary);font-size:var(--font-size-sm);color:var(--color-text-muted);display:block;margin-bottom:var(--spacing-1)}.object-type{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize;background:var(--color-bg-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.properties-content{flex:1;overflow-y:auto}.properties-section{margin-bottom:var(--spacing-6)}.recipe-section{padding:0 0 var(--spacing-4) 0;border-bottom:1px solid var(--color-border-subtle)}.recipe-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.recipe-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.recipe-card-name{font-weight:var(--font-weight-semibold)}.recipe-card-type-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.recipe-card-details{color:var(--color-text-secondary);line-height:1.5}.recipe-pattern{font-family:monospace;margin-bottom:var(--spacing-1)}.recipe-pattern-row{letter-spacing:.3em}.recipe-key-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.recipe-key-entry{font-family:monospace;font-size:var(--font-size-xs)}.recipe-detail-label{font-weight:var(--font-weight-semibold)}.recipe-ingredient{display:inline}.recipe-result-count{margin-top:var(--spacing-1);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.properties-section h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-3)}.properties-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.property-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.property-name{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.property-value{font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.property-row.read-only .property-value{cursor:default;opacity:.85;font-family:Courier New,monospace;font-size:.85em;white-space:pre-wrap;word-break:break-all}.property-row.read-only .property-value:hover{background:transparent}.value-null{color:var(--color-text-muted)}.value-bool.true{color:var(--color-success)}.value-bool.false{color:var(--color-text-muted)}.value-number{color:var(--color-accent-secondary)}.value-object{font-size:var(--font-size-xs);color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-rarity{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.properties-empty{color:var(--color-text-muted);font-style:italic;padding:var(--spacing-4);text-align:center}.properties-actions{padding-top:var(--spacing-4);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--spacing-2)}.properties-header .object-preview{position:relative;display:flex;flex-direction:column;gap:var(--spacing-2)}.properties-header .texture-preview{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-md);overflow:hidden}.properties-header .texture-preview .texture-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transform:scale(1.35)}.properties-header .edit-texture-btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);white-space:nowrap}.conversation-panel{display:flex;flex-direction:column;height:100%}.conversation-bar{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-primary);min-width:0}.conversation-tabs-strip{display:flex;gap:var(--spacing-2);align-items:center;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.conversation-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-start;min-width:120px;max-width:220px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.conversation-tab:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary)}.conversation-tab.active{border-color:var(--color-accent-primary);background:var(--color-bg-tertiary);color:var(--color-text-primary)}.conversation-tab-label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-tab-input{width:100%;min-width:0;padding:0;margin:0;border:none;background:transparent;color:inherit;font-size:inherit;font-family:inherit}.conversation-tab-input:focus{outline:none}.btn-new-conversation{white-space:nowrap;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-accent-primary);color:var(--color-bg-primary);border:none;cursor:pointer;font-weight:var(--font-weight-medium);flex-shrink:0}.btn-new-conversation:hover{opacity:.9}.panel-content{flex:1;overflow:hidden;position:relative}.message-container{height:100%;overflow-y:auto;padding:var(--spacing-4)}.panel-input{padding:var(--spacing-4);border-top:1px solid var(--color-border-subtle)}.message-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.message-list.empty{height:100%;justify-content:center;align-items:center}.message-list .empty-state{text-align:center;color:var(--color-text-muted)}.message-list .hint{font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.message{display:flex;flex-direction:column;gap:var(--spacing-1)}.message.user{align-items:flex-end}.message-header{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs)}.message.user .message-header{flex-direction:row-reverse}.message-role{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.message-time{color:var(--color-text-muted)}.message-revert-btn{margin-left:auto;padding:2px 6px;min-width:auto;font-size:11px;line-height:1.2;color:var(--color-text-muted);border-color:transparent;opacity:.7;transition:opacity var(--transition-fast),color var(--transition-fast)}.message-revert-btn:hover:not(:disabled){color:var(--color-text-secondary);opacity:1}.message-revert-btn:disabled{opacity:.5;cursor:not-allowed}.message.user .message-revert-btn{margin-left:0;margin-right:auto}.message-content{max-width:85%;padding:var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.message.user .message-content{background:var(--color-accent-primary);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-sm)}.message.assistant .message-content{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-bottom-left-radius:var(--radius-sm)}.message.system .message-content{background:var(--color-bg-tertiary);color:var(--color-text-muted);font-style:italic}.message-thinking-enhanced{display:flex;flex-direction:column;gap:var(--spacing-3)}.thinking-fallback{display:flex;align-items:center;gap:var(--spacing-2)}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:thinking-bounce 1.4s infinite ease-in-out both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0s}.thinking-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}@keyframes thinking-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking-stages{display:flex;flex-direction:column;gap:var(--spacing-2)}.thinking-stage{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.thinking-stage.completed{color:var(--color-text-muted)}.thinking-stage.running{color:var(--color-text-primary)}.stage-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}.stage-check{color:var(--color-success, #22c55e)}.stage-spinner{width:14px;height:14px;border:2px solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:stage-spin .8s linear infinite}@keyframes stage-spin{to{transform:rotate(360deg)}}.stage-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thinking-status-text{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.thinking-activity{display:flex;flex-direction:column;gap:4px}.activity-entry{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary);min-height:18px}.activity-entry.completed{color:var(--color-text-muted)}.activity-entry.failed{color:var(--color-error)}.activity-spinner{flex-shrink:0;width:12px;height:12px;border:1.5px solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:stage-spin .8s linear infinite}.activity-check{flex-shrink:0;width:12px;font-size:10px;color:var(--color-success, #22c55e);text-align:center;line-height:12px}.activity-fail{flex-shrink:0;width:12px;font-size:10px;color:var(--color-error);text-align:center;line-height:12px}.activity-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.thinking-progress-bar{height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}.thinking-progress-fill{height:100%;background:var(--color-accent-primary);transition:width .3s ease;border-radius:2px}.thinking-error{font-size:var(--font-size-xs);color:var(--color-error)}.thinking-actions{display:flex;align-items:center;gap:var(--spacing-2);padding-top:var(--spacing-1)}.message-json{background:var(--color-bg-tertiary);padding:var(--spacing-2);border-radius:var(--radius-sm);font-family:var(--font-family-primary);font-size:var(--font-size-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.message-markdown{line-height:1.6;word-break:break-word}.message-markdown>*:first-child{margin-top:0}.message-markdown>*:last-child{margin-bottom:0}.message-markdown p{margin:0 0 var(--spacing-2)}.message-markdown p:last-child{margin-bottom:0}.message-markdown h1,.message-markdown h2,.message-markdown h3{font-weight:var(--font-weight-semibold);margin:var(--spacing-3) 0 var(--spacing-2);line-height:1.3}.message-markdown h1{font-size:1.25em}.message-markdown h2{font-size:1.125em}.message-markdown h3{font-size:1em}.message-markdown ul,.message-markdown ol{margin:0 0 var(--spacing-2);padding-left:1.5em}.message-markdown li{margin-bottom:var(--spacing-1)}.message-markdown pre{margin:var(--spacing-2) 0;padding:var(--spacing-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);overflow-x:auto;font-family:var(--font-family-code);font-size:var(--font-size-xs);line-height:1.5}.message-markdown code{font-family:var(--font-family-code);font-size:.9em;background:var(--color-bg-tertiary);padding:.15em .4em;border-radius:var(--radius-sm)}.message-markdown pre code{padding:0;background:none;font-size:inherit}.message-markdown table{width:100%;border-collapse:collapse;margin:var(--spacing-2) 0;font-size:var(--font-size-sm)}.message-markdown th,.message-markdown td{border:1px solid var(--color-border-subtle);padding:var(--spacing-2) var(--spacing-3);text-align:left}.message-markdown th{font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary)}.message-markdown blockquote{margin:var(--spacing-2) 0;padding-left:var(--spacing-3);border-left:3px solid var(--color-border-subtle);color:var(--color-text-secondary)}.message-markdown hr{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--spacing-3) 0}.message-markdown a{color:var(--color-accent-primary);text-decoration:none}.message-markdown a:hover{text-decoration:underline}.message-artifact-download{margin-top:var(--spacing-2);max-width:85%}.message-download-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs)}.message-input-form{display:flex;gap:var(--spacing-3);align-items:flex-end}.message-input{flex:1;padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);resize:none;min-height:44px;max-height:150px;transition:all var(--transition-fast)}.message-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #0064001f}.message-input:disabled{background:var(--color-bg-secondary);color:var(--color-text-muted);cursor:not-allowed}.message-input::-moz-placeholder{color:var(--color-text-muted)}.message-input::placeholder{color:var(--color-text-muted)}.btn-send{height:44px;width:44px;border-radius:var(--radius-md);padding:0}.send-icon{font-size:var(--font-size-lg)}.message-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-2)}.message-mode-toggle{display:flex;gap:var(--spacing-1)}.mode-btn{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-family:var(--font-family-body);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.mode-btn:hover:not(:disabled){border-color:var(--color-accent-primary);color:var(--color-text-primary)}.mode-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.mode-btn-patch.active{background:var(--color-warning, #e67e22);border-color:var(--color-warning, #e67e22)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.approval-dialog{max-width:700px;width:min(92vw,700px);height:min(84vh,760px)}.approval-dialog .modal-body{display:flex;flex-direction:column;min-height:0}.approval-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-4);flex-shrink:0}.deltas-list{display:flex;flex-direction:column;gap:var(--spacing-3);flex:1;min-height:0;max-height:min(50vh,400px);overflow-y:auto;padding-right:var(--spacing-1)}.delta-item{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.delta-item.add{border-color:var(--color-success)}.delta-item.update{border-color:var(--color-warning)}.delta-item.delete{border-color:var(--color-error)}.delta-item-header-row{display:flex;align-items:stretch;gap:0}.delta-item-header-row .delta-header{flex:1;min-width:0}.delta-item-cancel{flex-shrink:0;align-self:center;margin-right:var(--spacing-2);font-size:var(--font-size-sm)}.delta-header{width:100%;border:none;text-align:left;color:inherit;font:inherit;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-tertiary)}.delta-header.expandable{cursor:pointer}.delta-header.expandable:hover{background:var(--color-bg-secondary)}.delta-header.expandable:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.delta-header.static{cursor:default}.delta-icon{font-size:var(--font-size-base)}.delta-operation{font-weight:var(--font-weight-medium);text-transform:capitalize}.delta-path{flex:1;min-width:0;color:var(--color-text-muted);font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.delta-expand-indicator{margin-left:auto;color:var(--color-text-muted);font-size:var(--font-size-sm)}.delta-value{padding:var(--spacing-3)}.delta-value pre{font-family:var(--font-family-primary);font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;margin:0}.deltas-empty{padding:var(--spacing-4);text-align:center;color:var(--color-text-muted)}.deltas-empty.deltas-none-selected{padding:var(--spacing-4)}.deltas-none-selected .empty-title{margin-bottom:var(--spacing-2)}.reject-reason{margin-top:var(--spacing-4)}.reject-reason label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-2)}.reject-reason textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);resize:vertical}.inline-approval-actions{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);margin-bottom:var(--spacing-4);background:var(--color-warning-bg);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md)}.approval-prompt{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-warning)}.approval-icon{font-size:var(--font-size-lg)}.approval-buttons{display:flex;gap:var(--spacing-2)}.approval-buttons .btn{flex:1}.deltas-empty{text-align:center;padding:var(--spacing-6) var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.deltas-empty .empty-icon{font-size:3rem;margin-bottom:var(--spacing-3)}.deltas-empty .empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.deltas-empty .empty-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-3)}.deltas-empty .empty-reasons{text-align:left;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-4);padding-left:var(--spacing-6)}.deltas-empty .empty-reasons li{margin-bottom:var(--spacing-1)}.deltas-empty .empty-action{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.delta-group{display:flex;flex-direction:column;gap:var(--spacing-3)}.delta-group+.delta-group{margin-top:var(--spacing-2)}.delta-group-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:var(--spacing-1) 0}.delta-reason{padding:var(--spacing-1) var(--spacing-3) var(--spacing-2);font-size:var(--font-size-xs);font-style:italic;color:var(--color-text-muted);background:var(--color-bg-tertiary)}.delta-expanded-content{padding:var(--spacing-3)}.delta-properties{display:flex;flex-direction:column;gap:0}.delta-property-row{display:flex;align-items:baseline;gap:var(--spacing-3);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}.delta-property-row:nth-child(2n){background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.delta-property-label{flex-shrink:0;width:40%;max-width:180px;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.delta-property-value{flex:1;min-width:0;word-break:break-word;color:var(--color-text-primary)}.delta-simple-value{font-size:var(--font-size-sm)}.delta-update-diff{display:flex;align-items:baseline;gap:var(--spacing-2);font-size:var(--font-size-sm);flex-wrap:wrap}.delta-old-value{text-decoration:line-through;color:var(--color-text-muted)}.delta-arrow{color:var(--color-text-muted);flex-shrink:0}.delta-new-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.delta-remove-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.delta-val-null{color:var(--color-text-muted);font-style:italic}.delta-val-bool-yes{color:var(--color-success)}.delta-val-bool-no{color:var(--color-text-muted)}.delta-val-number{color:var(--color-accent-primary)}.delta-val-complex{font-family:var(--font-family-primary);font-size:var(--font-size-xs);color:var(--color-text-secondary);word-break:break-word}.redeem-code-modal{max-width:460px}.redeem-code-form{display:flex;flex-direction:column;gap:var(--spacing-3)}.redeem-code-description{color:var(--color-text-secondary)}.redeem-code-input{width:100%;height:44px;padding:0 var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.redeem-code-input::-moz-placeholder{color:var(--color-text-muted)}.redeem-code-input::placeholder{color:var(--color-text-muted)}.redeem-code-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #00640024}.redeem-code-input:disabled{cursor:not-allowed;background:var(--color-bg-tertiary);color:var(--color-text-muted)}.redeem-code-modal-close{width:36px;height:36px;border-radius:var(--radius-full);border-color:var(--color-border-subtle);background:var(--color-surface);color:var(--color-text-secondary);font-size:20px;line-height:1}.redeem-code-modal-close:hover:not(:disabled){border-color:#00000038;background:var(--color-surface-hover);color:var(--color-text-primary)}.redeem-code-modal-close:focus-visible{outline:none;box-shadow:0 0 0 3px #00640024}.redeem-code-modal-footer{padding:var(--spacing-2) 0 0;border-top:none}.redeem-submit-btn{min-width:120px;font-weight:var(--font-weight-semibold)}.redeem-submit-btn:hover:not(:disabled){transform:translateY(-1px)}@media (max-width: 640px){.redeem-code-modal-close{width:34px;height:34px;font-size:18px}.redeem-code-modal-footer{flex-wrap:wrap}.redeem-code-modal-footer .btn{flex:1}}.spec-editor-modal{max-width:800px;height:80vh}.spec-editor-modal .modal-body{display:flex;flex-direction:column;padding:var(--spacing-4)}.editor-info{margin-bottom:var(--spacing-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.editor-container{flex:1;position:relative;display:flex;min-height:0}.spec-editor-textarea{flex:1;font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-3);padding-left:50px;resize:none;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.spec-editor-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.spec-editor-textarea.has-error{border-color:var(--color-error)}.editor-line-numbers{position:absolute;left:1px;top:1px;bottom:1px;width:40px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-subtle);border-radius:var(--radius-md) 0 0 var(--radius-md);padding:var(--spacing-3) 0;overflow:hidden;pointer-events:none}.line-number{font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-muted);text-align:right;padding-right:var(--spacing-2)}.editor-error{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-3);padding:var(--spacing-3);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.unsaved-indicator{font-size:var(--font-size-sm);color:var(--color-warning)}.pixel-editor-modal{width:90vw;max-width:800px;max-height:90vh;display:flex;flex-direction:column}.pixel-editor-modal .modal-header .entity-name{font-weight:var(--font-weight-normal);color:var(--color-text-secondary);font-size:var(--font-size-base)}.pixel-editor-body{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);overflow:hidden;flex:1}.pixel-editor-toolbar{width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-4);overflow-y:auto}.pixel-editor-toolbar .toolbar-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.pixel-editor-toolbar .toolbar-section>label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.pixel-editor-toolbar .size-buttons,.pixel-editor-toolbar .tool-buttons,.pixel-editor-toolbar .action-buttons{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.pixel-editor-toolbar .tool-buttons .btn-icon{width:36px;height:36px;font-size:1.1rem}.pixel-editor-toolbar .tool-buttons .tool-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);min-height:36px}.pixel-editor-toolbar .tool-buttons .tool-btn svg{width:20px;height:20px;flex-shrink:0}.pixel-editor-toolbar .tool-buttons .tool-btn span{font-size:var(--font-size-sm, .875rem);white-space:nowrap}.current-color-display{display:flex;align-items:center;gap:var(--spacing-2)}.current-color-display .color-preview{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.current-color-display .color-input{width:32px;height:32px;padding:0;border:none;cursor:pointer;background:transparent}.current-color-display .color-hex-input{width:72px;font-size:var(--font-size-xs);font-family:monospace;color:var(--color-text-secondary);background:var(--color-bg-input, var(--color-bg-secondary));border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:2px 4px;outline:none;text-transform:uppercase}.current-color-display .color-hex-input:focus{border-color:var(--color-accent-primary);color:var(--color-text-primary)}.color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.palette-color{width:24px;height:24px;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.palette-color:hover{transform:scale(1.1);border-color:var(--color-text-muted)}.palette-color.selected{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-primary)}.pixel-editor-canvas-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:500px}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);padding:var(--spacing-2);overflow:auto}.pixel-editor-canvas{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);overflow:hidden}.pixel-editor-canvas canvas{display:block}.pixel-editor-message{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);margin:0 var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.pixel-editor-message.error{background:#ef444426;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.pixel-editor-message.success{background:#4ade8026;color:var(--color-success);border:1px solid rgba(74,222,128,.3)}.pixel-editor-message button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-size-lg);padding:0;margin-left:var(--spacing-2)}.pixel-editor-modal .modal-footer{display:flex;justify-content:space-between;align-items:center}.pixel-editor-modal .footer-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pixel-editor-modal .footer-actions{display:flex;gap:var(--spacing-2)}.onboarding-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.onboarding-overlay{background:var(--color-bg-elevated, #fafafa);border:1px solid var(--color-border, #ddd);border-radius:12px;padding:28px 32px;max-width:560px;width:90%}.onboarding-locked{opacity:.4;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.onboarding-locked-tooltip{position:relative}.onboarding-locked-tooltip:after{content:"Complete onboarding to unlock";position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:4px;background:var(--color-bg-inverted, #333);color:var(--color-text-inverted, #fff);font-size:.72rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}.onboarding-locked-tooltip:hover:after{opacity:1}.onboarding-overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.onboarding-overlay-header h2{margin:0;font-size:1.25rem;font-weight:600}.onboarding-overlay-subtitle{color:var(--color-text-secondary, #555);margin:0 0 20px;font-size:.9rem}.onboarding-overlay-step{background:var(--color-surface, #fff);border:1px solid var(--color-border, #ddd);border-radius:8px;padding:20px;margin-bottom:16px}.onboarding-overlay-step h3{margin:0 0 6px;font-size:1.05rem}.onboarding-overlay-step p{margin:0 0 14px;color:var(--color-text-secondary, #555);font-size:.9rem}.onboarding-overlay-actions{display:flex;gap:10px}.onboarding-progress-bar{display:flex;gap:6px;margin-bottom:20px}.onboarding-progress-segment{flex:1;height:4px;border-radius:2px;background:var(--color-bg-tertiary, #e0e0e0);transition:background .3s}.onboarding-progress-segment.completed{background:var(--color-accent-primary, #006400)}.onboarding-progress-segment.current{background:var(--color-accent-secondary, #32cd32)}.onboarding-checklist{position:absolute;bottom:16px;left:16px;z-index:900;width:300px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ddd);border-radius:10px;box-shadow:0 4px 20px #0000001f;overflow:hidden;transition:height .25s ease}.onboarding-checklist-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--color-bg-elevated, #fafafa);border-bottom:1px solid var(--color-border, #ddd)}.onboarding-checklist-header h3{margin:0;font-size:.9rem;font-weight:600}.onboarding-checklist-header-right{display:flex;align-items:center;gap:8px}.onboarding-checklist-counter{font-size:.75rem;color:var(--color-text-muted, #888)}.onboarding-checklist-toggle{background:none;border:none;cursor:pointer;padding:2px;font-size:.8rem;color:var(--color-text-secondary, #555);transition:transform .2s}.onboarding-checklist-toggle.collapsed{transform:rotate(180deg)}.onboarding-checklist-body{padding:12px 16px;max-height:400px;overflow-y:auto}.onboarding-checklist-body.hidden{display:none}.onboarding-step-item{display:flex;gap:10px;padding:8px 0;align-items:flex-start}.onboarding-step-item+.onboarding-step-item{border-top:1px solid var(--color-bg-tertiary, #e0e0e0)}.onboarding-step-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-bg-tertiary, #e0e0e0);display:flex;align-items:center;justify-content:center;font-size:.65rem;margin-top:1px;transition:all .2s}.onboarding-step-check.completed{background:var(--color-accent-primary, #006400);border-color:var(--color-accent-primary, #006400);color:#fff}.onboarding-step-check.current{border-color:var(--color-accent-secondary, #32cd32);background:#32cd321a}.onboarding-step-content{flex:1;min-width:0}.onboarding-step-title{font-size:.85rem;font-weight:500;margin:0 0 2px;color:var(--color-text-primary, #000)}.onboarding-step-title.completed{text-decoration:line-through;color:var(--color-text-muted, #888)}.onboarding-step-desc{font-size:.78rem;color:var(--color-text-secondary, #555);margin:0 0 6px}.onboarding-step-action{font-size:.78rem}.onboarding-checklist-footer{padding:10px 16px;border-top:1px solid var(--color-border, #ddd);text-align:right}.onboarding-skip-btn{background:none;border:none;color:var(--color-text-muted, #888);cursor:pointer;font-size:.78rem;text-decoration:underline;padding:0}.onboarding-skip-btn:hover{color:var(--color-text-secondary, #555)}.onboarding-complete-banner{padding:20px 16px;text-align:center}.onboarding-complete-banner h3{margin:0 0 6px;font-size:1rem}.onboarding-complete-banner p{margin:0 0 12px;color:var(--color-text-secondary, #555);font-size:.85rem}.page-tab-bar{display:flex;align-items:center;gap:var(--spacing-1)}.page-tab{padding:var(--spacing-2) var(--spacing-4);border:none;background:none;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}.page-tab:hover{color:var(--color-text-primary);background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.page-tab-active{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle)}.community-toolbar{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.community-search{flex:1;max-width:400px;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);font-size:var(--font-size-sm)}.community-search:focus{outline:none;border-color:var(--color-accent-primary)}.community-sort{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4)}.community-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-5);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.community-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-md)}.card-like-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:2px 6px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);font-size:inherit;transition:color var(--transition-fast),transform .3s ease;margin-left:auto}.card-like-btn:hover:not(:disabled){color:#ef4444}.card-like-btn.liked{color:#ef4444}.card-like-btn.liked .card-like-icon{animation:like-bounce .3s ease}.card-like-btn:disabled{cursor:default;opacity:.5}.card-like-icon{display:block;flex-shrink:0}.card-like-count{font-size:var(--font-size-xs)}@keyframes like-bounce{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.community-load-more{display:flex;justify-content:center;margin-top:var(--spacing-6)}.community-detail-layout{display:flex;height:100vh;background:var(--color-bg-base)}.community-sidebar{width:320px;min-width:320px;background:var(--color-bg-elevated);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;overflow-y:auto;padding:var(--spacing-4)}.community-sidebar-back{margin-bottom:var(--spacing-4);align-self:flex-start}.community-sidebar-info{margin-bottom:var(--spacing-4)}.community-sidebar-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-2) 0;line-height:1.3}.community-sidebar-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.community-sidebar-meta span:not(:last-child):after{content:"·";margin-left:var(--spacing-2)}.community-sidebar-cta{margin-bottom:var(--spacing-4)}.btn-remix{width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--color-accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-remix:hover:not(:disabled){background:var(--color-accent-hover, var(--color-accent-primary));transform:translateY(-1px)}.btn-remix:disabled{opacity:.6;cursor:not-allowed}.community-sidebar-pro-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-2);text-align:center}.community-sidebar-like{margin-bottom:var(--spacing-4)}.btn-like{display:inline-flex;align-items:center;gap:var(--spacing-2);width:100%;justify-content:center;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-like:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.btn-like-active{border-color:#ef4444;color:#ef4444;background:#ef44440f}.btn-like-active .btn-like-icon{animation:like-bounce .3s ease}.btn-like:disabled{opacity:.6;cursor:not-allowed}.btn-like-icon{display:block;flex-shrink:0}.community-sidebar-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-body);margin:0 0 var(--spacing-4) 0}.community-sidebar-owner-actions{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.community-sidebar-divider{border:none;border-top:1px solid var(--color-border-subtle);margin:0 0 var(--spacing-3) 0}.community-detail-main{flex:1;overflow-y:auto;padding:var(--spacing-6);min-width:0;display:flex;flex-direction:column;align-items:center}.spec-browser{flex:1;min-height:0}.spec-browser-empty{padding:var(--spacing-4);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.spec-browser-section{margin-bottom:var(--spacing-2)}.spec-browser-section-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.spec-browser-section-header:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.spec-browser-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);flex:1}.spec-browser-section-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);padding:1px 6px;border-radius:var(--radius-full, 999px);min-width:20px;text-align:center}.spec-browser-section-toggle{font-size:10px;color:var(--color-text-muted);transition:transform var(--transition-fast)}.spec-browser-section-toggle.expanded{transform:rotate(0)}.spec-browser-section-toggle:not(.expanded){transform:rotate(-90deg)}.spec-browser-section-content{padding:var(--spacing-1) 0}.spec-browser-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);font-size:var(--font-size-sm)}.spec-browser-item:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.spec-browser-item.selected{background:var(--color-accent-bg, rgba(59, 130, 246, .1));color:var(--color-accent-primary)}.spec-browser-item-texture{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border-subtle)}.spec-browser-item-texture img{width:100%;height:100%;image-rendering:pixelated;-o-object-fit:cover;object-fit:cover}.spec-browser-item-placeholder{font-size:16px;color:var(--color-text-muted)}.spec-browser-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.spec-browser-item.selected .spec-browser-item-name{font-weight:var(--font-weight-medium)}.spec-detail{max-width:720px;width:100%}.spec-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-12, 80px) var(--spacing-6);color:var(--color-text-muted);max-width:720px;width:100%}.spec-detail-empty-icon{font-size:48px;margin-bottom:var(--spacing-4);opacity:.5}.spec-detail-empty h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-2) 0}.spec-detail-empty p{font-size:var(--font-size-sm);margin:0}.spec-detail-header{display:flex;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-subtle)}.spec-detail-texture{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.spec-detail-texture img{width:100%;height:100%;image-rendering:pixelated;-o-object-fit:cover;object-fit:cover}.spec-detail-texture-placeholder{font-size:28px;color:var(--color-text-muted)}.spec-detail-title{flex:1;min-width:0}.spec-detail-title h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-1) 0}.spec-detail-type-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-full, 999px);background:var(--color-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-muted)}.spec-detail-section{margin-bottom:var(--spacing-5)}.spec-detail-section h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--spacing-3) 0}.spec-detail-no-props{padding:var(--spacing-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (max-width: 768px){.community-detail-layout{flex-direction:column;height:auto;min-height:100vh;overflow-y:auto}.community-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--color-border-subtle);overflow-y:visible}.community-detail-main{padding:var(--spacing-4);overflow-y:visible}}.publish-preview{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin-top:var(--spacing-3);font-size:var(--font-size-sm)}.publish-preview-label{color:var(--color-text-muted)}.publish-preview-stats{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.btn-danger-text{color:var(--color-error, #ef4444)!important}.btn-danger-text:hover{background:#ef444414!important}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-4);color:var(--color-text-secondary)}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary)}.landing-header{padding:var(--spacing-4) var(--spacing-6);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.landing-nav{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.landing-logo{font-family:var(--font-family-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-accent-primary)}.landing-actions{display:flex;align-items:center;gap:var(--spacing-3)}.landing-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.landing-hero-title{font-family:var(--font-family-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-4);line-height:var(--line-height-tight, 1.2)}.landing-hero-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-8);max-width:480px}.landing-cta{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#d9d9d9;padding:var(--spacing-4);position:relative;font-family:Geist Sans,sans-serif}.auth-back-btn{position:absolute;top:var(--spacing-6);left:var(--spacing-6);background:none;border:none;color:#000;cursor:pointer;padding:var(--spacing-2);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:opacity .15s;width:40px;height:40px;font-size:14px}.auth-back-btn:hover{opacity:.7}.auth-container{width:100%;max-width:520px;background:#fff;border:1px solid #000000;border-radius:5px;padding:48px 56px;position:relative}.auth-title{font-family:Geist Sans,sans-serif;font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:var(--spacing-6);color:#000;letter-spacing:-1px}.auth-subtitle{text-align:center;color:#888;margin-bottom:32px;font-size:14px;display:none}.auth-form{display:flex;flex-direction:column}.auth-form .btn-primary.btn-block{background:#000;color:#fff;border:1px solid #000;border-radius:5px;padding:14px 20px;font-size:16px;font-weight:600;letter-spacing:-.5px;margin-top:8px}.auth-form .btn-primary.btn-block:hover:not(:disabled){background:#1a1a1a}.auth-switch-row{margin-top:20px;text-align:center;color:#aaa;font-size:14px}.auth-switch-link{background:none;border:none;color:#888;font-size:inherit;font-weight:500;cursor:pointer;padding:0}.auth-switch-link:hover{color:#000}.auth-code-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4)}.btn-link-subtle{background:none;border:none;color:var(--color-accent-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0}.btn-link-subtle:disabled{color:var(--color-text-muted);cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#ccc;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.google-btn-container{display:flex;justify-content:center;min-height:44px}.btn-google-fallback{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border:1px solid var(--border-primary, #dadce0);border-radius:4px;background:#fff;color:#3c4043;font-family:Roboto,Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,box-shadow .2s;min-height:44px}.btn-google-fallback:hover{background:#f7f8f8;box-shadow:0 1px 3px #0000001a}.workspace-list-page{min-height:100vh;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.page-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.header-left,.header-right{display:flex;align-items:center;gap:var(--spacing-3)}.header-token-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.header-user-wrap{position:relative}.header-user-trigger{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.header-user-trigger:hover{background:var(--color-surface-hover);border-color:var(--color-accent-primary)}.header-user-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}.header-user-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-2);min-width:220px;padding:var(--spacing-4);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000}.header-user-menu-row{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-3)}.header-user-menu-row:last-of-type{margin-bottom:var(--spacing-4)}.header-user-menu-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.header-user-menu-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:22px;padding:0 10px;border-radius:var(--radius-full);border:1px solid transparent;font-size:11px;font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.tier-badge-free{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#0000001f;color:#374151}.tier-badge-pro{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#92400e59;color:#fff;box-shadow:0 2px 8px #d9770659}.redeem-error{color:var(--color-error, #ef4444);font-size:var(--font-size-sm);margin-top:8px}.redeem-success{text-align:center;padding:16px 0}.redeem-success p{font-size:var(--font-size-lg);font-weight:600;margin-bottom:16px;color:var(--color-success, #22c55e)}.header-user-menu-logout{width:100%;justify-content:center}.header-user-menu-delete{width:100%;justify-content:center;margin-top:var(--spacing-2)}.user-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.page-content{flex:1;padding:var(--spacing-6);max-width:1200px;margin:0 auto;width:100%;line-height:var(--line-height-body)}.workspace-actions{margin-bottom:var(--spacing-6)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-4)}.empty-state h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-2)}.empty-state p{color:var(--color-text-muted);margin-bottom:var(--spacing-6)}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4)}.workspace-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-5);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.workspace-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-md)}.card-thumbnail{display:flex;align-items:center;justify-content:center;height:80px;margin:calc(-1 * var(--spacing-5));margin-bottom:var(--spacing-4);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-bg-secondary);overflow:hidden}.card-thumbnail-img{height:64px;width:64px;image-rendering:pixelated;-o-object-fit:contain;object-fit:contain}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-2)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card-title-input{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:0;margin:0;border:none;background:transparent;color:inherit;font-family:inherit;width:100%;min-width:0}.card-title-input:focus{outline:none;border-bottom:1px solid var(--color-accent-primary)}.card-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;gap:var(--spacing-3);color:var(--color-text-muted);font-size:var(--font-size-xs);margin-bottom:var(--spacing-3)}.card-stats{display:flex;gap:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-menu-wrap{position:relative}.card-menu-trigger{font-size:1.25rem;line-height:1;color:var(--color-text-muted);letter-spacing:1px}.card-menu-trigger:hover{color:var(--color-primary)}.card-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.card-menu{position:absolute;top:100%;right:0;z-index:100;min-width:140px;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-1) 0}.card-menu-item{display:block;width:100%;padding:var(--spacing-2) var(--spacing-3);background:none;border:none;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.card-menu-item:hover{background:var(--color-bg-tertiary)}.card-menu-item-danger{color:var(--color-error)}.card-menu-item-danger:hover{background:#ef44441a}.workspace-ide{height:100vh;background:var(--color-bg-primary)}.workspace-ide.loading,.workspace-ide.error{align-items:center;justify-content:center;gap:var(--spacing-4)}.ide-main{height:100vh;display:grid;overflow:hidden;position:relative}.ide-column{display:flex;flex-direction:column;overflow:hidden;min-width:0}.resize-handle{position:relative;background:var(--color-border-subtle);cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:10;transition:background-color var(--transition-base)}.resize-handle:hover,.resize-handle.resizing{background:var(--color-accent-primary)}.resize-handle:before{content:"";position:absolute;left:-2px;right:-2px;top:0;bottom:0;cursor:col-resize}.resize-handle-left{border-right:1px solid var(--color-border-subtle)}.resize-handle-right{border-left:1px solid var(--color-border-subtle)}.ide-left{background:var(--color-surface)}.ide-center{background:var(--color-bg-primary)}.ide-right{background:var(--color-surface)}.ide-right-tabs{display:flex;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);flex-shrink:0}.ide-right-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:color .15s,border-color .15s;text-align:center}.ide-right-tab:hover{color:var(--color-text-primary)}.ide-right-tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.ide-right-tab-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.account-page{min-height:100vh;display:flex;flex-direction:column;background:#fff;font-family:Geist Sans,sans-serif}.account-page .page-header{border-bottom:1px solid #000}.account-content{max-width:640px;margin:0 auto;padding-top:32px}.account-section{margin-bottom:32px}.account-section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#000;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.account-section-title:before{content:"";display:inline-block;width:10px;height:10px;background:#ff0fef;flex-shrink:0}.account-card{background:#fff;border:1px solid #000;border-radius:5px;padding:20px}.account-field{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.account-field+.account-field{border-top:1px solid rgba(0,0,0,.1)}.account-field-label{font-size:13px;color:#888;letter-spacing:-.3px}.account-field-value{font-size:14px;color:#000;font-weight:500;letter-spacing:-.3px}.account-field-no-expiry{color:var(--color-success)}.account-field-expiry{color:var(--color-warning)}.account-action-btn{margin-top:var(--spacing-3)}.subscription-card{position:relative;padding:0;overflow:hidden;border:1px solid #000;border-radius:5px}.subscription-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.subscription-card-free:before{background:#d9d9d9}.subscription-card-pro:before{background:#ff0fef}.subscription-card>.account-field{padding:var(--spacing-5)}.subscription-header{padding:var(--spacing-5) var(--spacing-5) var(--spacing-4)}.subscription-card-free .subscription-header,.subscription-card-pro .subscription-header{background:#fff}.subscription-plan-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4)}.subscription-plan-main{display:flex;flex-direction:column;gap:2px}.subscription-plan-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.subscription-plan-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.subscription-plan-subtitle{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:48ch}.subscription-tier-badge{font-size:var(--font-size-sm);padding:2px 10px}.subscription-feature-strip{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:0 var(--spacing-5) var(--spacing-4)}.subscription-feature-chip{display:inline-flex;align-items:center;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-semibold);padding:4px 10px}.subscription-feature-chip.is-active{background:#32cd321f;border-color:#32cd3259;color:#14532d}.subscription-feature-chip.is-locked{background:#f9fafb;border-color:#6b728040;color:#6b7280}.subscription-feature-chip.is-upgrade{background:#f59e0b1f;border-color:#f59e0b59;color:#92400e}.subscription-details{border-top:1px solid var(--color-border-subtle);padding:var(--spacing-2) var(--spacing-5) var(--spacing-4)}.subscription-upgrade{border-top:1px solid var(--color-border-subtle);padding:var(--spacing-4) var(--spacing-5) var(--spacing-5);margin-top:0;background:#00000003}.subscription-upgrade-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-4);max-width:48ch}.subscription-upgrade-btn{min-width:140px}.texture-preferences-card{display:flex;flex-direction:column;gap:var(--spacing-4)}.texture-preferences-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-3)}.texture-preferences-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.texture-preferences-help{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.texture-preferences-status{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.texture-preferences-toggle{display:inline-flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.texture-preferences-option{min-width:44px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.texture-preferences-option:hover:not(:disabled){border-color:#f59e0b59;color:#92400e;background:#f59e0b0f}.texture-preferences-option.is-active{background:#f59e0b1f;border-color:#f59e0b59;color:#92400e}.texture-preferences-option:disabled{opacity:.7;cursor:not-allowed}.account-actions{display:flex;gap:var(--spacing-3)}.admin-page{min-height:100vh;display:flex;flex-direction:column}.admin-content{max-width:1200px}.admin-toolbar{display:flex;gap:var(--spacing-3);align-items:center;margin-bottom:var(--spacing-4)}.admin-search{flex:1;max-width:420px}.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.admin-table{width:100%;border-collapse:collapse;min-width:900px}.admin-table th,.admin-table td{text-align:left;padding:var(--spacing-3);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm)}.admin-table th{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);background:var(--color-surface)}.admin-table-empty{text-align:center!important;color:var(--color-text-muted)}.admin-actions{display:flex;gap:var(--spacing-2)}.admin-actions .btn{white-space:nowrap}.admin-user-workspaces-cell{min-width:220px;max-width:340px}.admin-user-workspaces-list{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.admin-user-workspace-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface);font-size:var(--font-size-xs);color:var(--color-text-secondary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-workspaces-empty{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-pagination{margin-top:var(--spacing-4);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.admin-user-modal{max-width:760px}.admin-user-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3)}.admin-user-detail-item{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.admin-user-detail-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.admin-user-detail-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.admin-user-detail-break{word-break:break-all}.admin-audit-page .admin-content{max-width:1400px}.admin-audit-user-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--spacing-4)}.admin-audit-workspaces{display:flex;flex-direction:column;gap:var(--spacing-3)}.admin-audit-workspace-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--spacing-4)}.admin-audit-workspace-header{display:flex;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap}.admin-audit-stats{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.admin-audit-chip{display:inline-flex;align-items:center;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface);padding:2px 8px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-audit-meta{display:flex;gap:var(--spacing-3);flex-wrap:wrap;margin-top:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-audit-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3);flex-wrap:wrap}.admin-audit-section{margin-top:var(--spacing-3);padding:var(--spacing-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.admin-audit-empty{padding:var(--spacing-4);color:var(--color-text-muted);text-align:center}.admin-audit-conversation-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--spacing-3);margin-top:var(--spacing-3)}.admin-audit-conversation-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap}.admin-audit-messages{margin-top:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2)}.admin-audit-message{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--spacing-2)}.admin-audit-message-header{display:flex;gap:var(--spacing-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.admin-audit-spec-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--spacing-3);margin-top:var(--spacing-3)}.admin-audit-spec-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);flex-wrap:wrap}.admin-audit-spec-detail{margin-top:var(--spacing-3)}.admin-audit-json{margin:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-primary);padding:var(--spacing-2);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;font-size:var(--font-size-xs)}.admin-audit-muted{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-top:var(--spacing-1)}@media (max-width: 720px){.page-content{padding:var(--spacing-4)}.account-content{max-width:100%}.subscription-header,.subscription-feature-strip,.subscription-details,.subscription-upgrade{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.account-actions{flex-direction:column}.account-actions .btn{width:100%}.admin-toolbar,.admin-pagination{flex-direction:column;align-items:stretch}.admin-user-details-grid{grid-template-columns:1fr}.admin-audit-workspace-header,.admin-audit-conversation-header,.admin-audit-spec-header{flex-direction:column;align-items:flex-start}.admin-user-workspaces-cell{min-width:180px;max-width:none}}.landing-wrapper{--font-logo: "Pixelify Sans", cursive;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--navbar-height: 80px;--container-max-width: 1200px;--transition-theme: background-color .3s ease, color .3s ease, border-color .3s ease;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--color-bg-primary: #FFFFFF;--color-bg-secondary: #F8FAFC;--color-text-primary: #1A1A1A;--color-text-secondary: #4B5563;--color-accent-green: #4ADE80;--color-accent-green-light: #86EFAC;--color-accent-blue: #1E3A5F;--color-accent-blue-light: #2E5C8A;--color-border: #E2E8F0;--color-card-bg: #FFFFFF;--color-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}.landing-wrapper[data-theme=light]{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F8FAFC;--color-text-primary: #1A1A1A;--color-text-secondary: #4B5563;--color-accent-green: #4ADE80;--color-accent-green-light: #86EFAC;--color-accent-blue: #1E3A5F;--color-accent-blue-light: #2E5C8A;--color-border: #E2E8F0;--color-card-bg: #FFFFFF;--color-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}.landing-wrapper[data-theme=dark]{--color-bg-primary: #0A0A0A;--color-bg-secondary: #171717;--color-text-primary: #FAFAFA;--color-text-secondary: #A3A3A3;--color-accent-green: #4ADE80;--color-accent-green-light: #86EFAC;--color-accent-blue: #D4D4D4;--color-accent-blue-light: #E5E5E5;--color-border: #262626;--color-card-bg: #171717;--color-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3)}.landing-wrapper{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:var(--transition-theme);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.landing-wrapper .navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);z-index:1000;transition:background-color .3s ease,border-bottom-color .3s ease;border-bottom:1px solid transparent}.landing-wrapper .navbar.scrolled{background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--color-border)}.landing-wrapper[data-theme=dark] .navbar.scrolled{background-color:#0a0a0ae6}.landing-wrapper .navbar-container{max-width:var(--container-max-width);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:relative}.landing-wrapper .navbar-left{display:flex;align-items:center;z-index:10}.landing-wrapper .navbar-link{font-size:.95rem;font-weight:500;color:var(--color-text-primary);text-decoration:none;transition:opacity .2s ease,color .2s ease}.landing-wrapper .navbar-link:hover{opacity:.8}.landing-wrapper .navbar:not(.scrolled) .navbar-link{color:#fffffff2}.landing-wrapper .navbar-brand-container{position:absolute;left:50%;transform-origin:center center;margin-left:-70px;width:140px;display:flex;justify-content:center;will-change:transform}.landing-wrapper .navbar-logo{font-family:var(--font-logo);font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;color:var(--color-text-primary);text-decoration:none;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.landing-wrapper .navbar:not(.scrolled) .navbar-logo{color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.3)}.landing-wrapper .navbar-controls{margin-left:auto;display:flex;align-items:center;gap:.5rem;z-index:10}.landing-wrapper .navbar-discord-btn{padding:.5rem;border-radius:6px;color:var(--color-text-primary);text-decoration:none;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.landing-wrapper .navbar-discord-btn:hover{background-color:var(--color-bg-secondary)}.landing-wrapper .navbar-discord-icon{width:24px;height:24px}.landing-wrapper .navbar:not(.scrolled) .navbar-discord-btn{color:#fffffff2}.landing-wrapper .navbar:not(.scrolled) .navbar-discord-btn:hover{background-color:#ffffff26}.landing-wrapper .navbar:not(.scrolled) .theme-toggle-btn{color:#fffffff2}.landing-wrapper .navbar:not(.scrolled) .theme-toggle-btn:hover{background-color:#ffffff26}.landing-wrapper .theme-toggle-btn{background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.landing-wrapper .theme-toggle-btn:hover{background-color:var(--color-bg-secondary)}.landing-wrapper .navbar-btn-signin{padding:.4rem .875rem;border-radius:6px;border:1px solid currentColor;background:transparent;color:var(--color-text-primary);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.landing-wrapper .navbar-btn-signin:hover{background-color:var(--color-bg-secondary)}.landing-wrapper .navbar:not(.scrolled) .navbar-btn-signin{color:#fffffff2;border-color:#ffffffb3}.landing-wrapper .navbar:not(.scrolled) .navbar-btn-signin:hover{background-color:#ffffff26}.landing-wrapper .navbar-btn-signup{padding:.4rem .875rem;border-radius:6px;border:none;background-color:var(--color-accent-green);color:#fff;font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2)}.landing-wrapper .navbar-btn-signup:hover{background-color:var(--color-accent-green-light)}.landing-wrapper .hero-section{position:relative;z-index:2;min-height:110vh;margin-bottom:-12px;display:flex;align-items:flex-start;justify-content:center;padding-top:calc(var(--navbar-height) + 36vh + .5rem);overflow:hidden}.landing-wrapper .hero-background{position:absolute;top:0;left:0;right:0;bottom:-1px;background-image:url(/herobackground.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}.landing-wrapper .hero-background-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0003;z-index:0}.landing-wrapper .hero-content{position:relative;z-index:1;padding:0 2rem 4rem;text-align:center;max-width:800px;margin:0 auto}.landing-wrapper .hero-description{font-size:1.25rem;line-height:1.6;color:#fffffff2;margin-top:.5rem;opacity:0;animation:fadeIn .8s ease-out forwards;animation-delay:.3s}.landing-wrapper .hero-description p{font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.4)}.landing-wrapper .hero-cta{margin-top:1.5rem;padding:.875rem 1.75rem;font-size:1.125rem;font-weight:600;color:#fff;background-color:var(--color-accent-green);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;text-shadow:0 1px 2px rgba(0,0,0,.2)}.landing-wrapper .hero-cta:hover{background-color:var(--color-accent-green-light)}.landing-wrapper .hero-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:clamp(70px,20vh,180px);background:linear-gradient(to bottom,transparent,var(--color-bg-secondary));pointer-events:none;z-index:1}.landing-wrapper[data-theme=light] .hero-bottom-fade{height:clamp(48px,12vh,100px)}.landing-wrapper .mailing-list-section{background-color:var(--color-bg-secondary);padding:4rem 2rem;text-align:center}.landing-wrapper .mailing-form{max-width:500px;margin:2rem auto 0;display:flex;gap:1rem}.landing-wrapper .mailing-input{flex:1;padding:.75rem 1rem;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem}.landing-wrapper .mailing-button{padding:.75rem 1.5rem;border-radius:6px;border:none;background-color:var(--color-accent-green);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.landing-wrapper .mailing-button:hover{background-color:var(--color-accent-green-light)}.landing-wrapper .mailing-button:disabled{opacity:.7;cursor:not-allowed}.landing-wrapper .mailing-button--secondary{padding:.75rem 1.5rem;border-radius:6px;border:none;background-color:var(--color-accent-blue);color:#fff;font-weight:600;font-size:1rem;font-family:var(--font-body);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.landing-wrapper .mailing-button--secondary:hover{background-color:var(--color-accent-blue-light)}.landing-wrapper[data-theme=dark] .mailing-button--secondary{color:#1a1a1a}.landing-wrapper[data-theme=dark] .mailing-button--secondary:hover{background-color:var(--color-accent-blue-light)}.landing-wrapper .feedback-message{margin-top:1rem;font-size:.875rem}.landing-wrapper .feedback-message.success{color:var(--color-accent-green)}.landing-wrapper .feedback-message.error{color:#ef4444}.landing-wrapper .toast{position:fixed;bottom:1.75rem;left:50%;transform:translate(-50%) translateY(0);padding:.875rem 1.5rem;border-radius:.625rem;font-size:.9375rem;font-weight:500;letter-spacing:.01em;line-height:1.4;box-shadow:0 10px 40px #0000001f,0 0 0 1px #0000000d;z-index:9999;animation:toast-in .3s cubic-bezier(.22,1,.36,1);max-width:min(90vw,380px);text-align:center}.landing-wrapper .toast-success{background:var(--color-accent-green);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.landing-wrapper .toast-error{background:#dc2626;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(.75rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.landing-wrapper .footer{padding:2rem;text-align:center;border-top:1px solid var(--color-border);background-color:var(--color-bg-primary)}.landing-wrapper .footer-copyright{font-size:.875rem;color:var(--color-text-secondary);margin:0}.landing-wrapper .footer-disclaimer{font-size:.75rem;color:var(--color-text-secondary);opacity:.8;margin:.5rem 0 0;max-width:560px;margin-left:auto;margin-right:auto}.landing-wrapper .product-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-primary)}.landing-wrapper .main-content{flex:1;display:flex;flex-direction:column;width:100%}.landing-wrapper .product-page .main-content{flex:1;padding-top:calc(var(--navbar-height) + 3rem);padding-bottom:4rem;padding-left:1.5rem;padding-right:1.5rem;display:flex;justify-content:center}.landing-wrapper .product-article{width:100%;max-width:720px;margin:0 auto;text-align:left}.landing-wrapper .product-article-header{margin-bottom:2rem;padding-top:.5rem}.landing-wrapper .product-article-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;color:var(--color-text-primary);line-height:1.25;margin-bottom:.75rem}.landing-wrapper .product-article-lead{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.landing-wrapper .product-article-body{font-size:1rem;line-height:1.7;color:var(--color-text-primary)}.landing-wrapper .product-article-body p{margin:0 0 1.25rem}.landing-wrapper .product-article-body h2{font-size:1.375rem;font-weight:600;color:var(--color-text-primary);margin:2rem 0 1rem}.landing-wrapper .product-article-body h2:first-of-type{margin-top:.5rem}.landing-wrapper .product-media-placeholder{margin:2rem 0;border-radius:8px;overflow:hidden;border:1px dashed var(--color-border);background-color:var(--color-bg-secondary)}.landing-wrapper .product-media-placeholder-label{display:block;padding:.5rem 1rem;font-size:.8125rem;color:var(--color-text-secondary);text-align:center;border-bottom:1px solid var(--color-border)}.landing-wrapper .product-media-placeholder-inner{aspect-ratio:16 / 9;min-height:180px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:2rem;opacity:.6}.landing-wrapper .product-media-placeholder--image .product-media-placeholder-inner{aspect-ratio:2 / 1;min-height:200px;font-size:0}.landing-wrapper .product-media-placeholder--image .product-media-placeholder-inner:after{content:"🖼";font-size:2rem;opacity:.6}@keyframes landing-fadeInUp{0%{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:translateZ(0)}}.landing-wrapper .fade-in-up{animation-name:landing-fadeInUp;animation-duration:.8s;animation-fill-mode:both}@keyframes landing-fadeInLeft{0%{opacity:0;transform:translate3d(-40px,0,0)}to{opacity:1;transform:translateZ(0)}}.landing-wrapper .fade-in-left{animation-name:landing-fadeInLeft;animation-duration:.8s;animation-fill-mode:both;animation-delay:.2s}@keyframes landing-fadeInRight{0%{opacity:0;transform:translate3d(40px,0,0)}to{opacity:1;transform:translateZ(0)}}.landing-wrapper .fade-in-right{animation-name:landing-fadeInRight;animation-duration:.8s;animation-fill-mode:both;animation-delay:.2s}@keyframes landing-pulse-subtle{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.landing-wrapper .pulse-hover:hover{animation:landing-pulse-subtle 1s infinite}@keyframes landing-shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.landing-wrapper .shimmer{animation:landing-shimmer 2s infinite linear;background:linear-gradient(to right,var(--color-bg-secondary) 4%,var(--color-border) 25%,var(--color-bg-secondary) 36%);background-size:1000px 100%}@media (max-width: 768px){.landing-wrapper{--navbar-height: 64px}.landing-wrapper .navbar-container{padding:0 1rem}.landing-wrapper .navbar-brand-container{margin-left:-50px;width:100px}.landing-wrapper .navbar-logo{font-size:1.25rem}.landing-wrapper .hero-section{padding-top:calc(var(--navbar-height) + 35vh + .5rem)}.landing-wrapper .hero-content{padding:0 1rem 4rem}.landing-wrapper .hero-description{font-size:1rem}.landing-wrapper .mailing-form{flex-direction:column}.landing-wrapper .mailing-button{width:100%}.landing-wrapper .product-page .main-content{padding-left:1rem;padding-right:1rem}.landing-wrapper .product-media-placeholder-inner{min-height:140px}.landing-wrapper .product-media-placeholder--image .product-media-placeholder-inner{min-height:160px}}@media (min-width: 769px) and (max-width: 1024px){.landing-wrapper .hero-section{padding-top:calc(var(--navbar-height) + 34vh + .5rem)}}@media (min-width: 1200px){.landing-wrapper .navbar-logo{font-size:clamp(1.75rem,3.5vw,2.5rem)}.landing-wrapper .navbar-brand-container{margin-left:-75px;width:150px}}@media (min-width: 1920px){.landing-wrapper .hero-section{-webkit-font-smoothing:antialiased}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-3{bottom:.75rem}.bottom-32{bottom:8rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-12{left:3rem}.left-24{left:6rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[18px\]{left:18px}.right-0{right:0}.right-1{right:.25rem}.right-11{right:2.75rem}.right-12{right:3rem}.right-24{right:6rem}.right-3{right:.75rem}.right-8{right:2rem}.right-\[30px\]{right:30px}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-1\/4{top:25%}.top-14{top:3.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[20000\]{z-index:20000}.z-\[99\]{z-index:99}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100px\]{height:100px}.h-\[112px\]{height:112px}.h-\[240px\]{height:240px}.h-\[42px\]{height:42px}.h-\[80px\]{height:80px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[200px\]{max-height:200px}.max-h-\[400px\]{max-height:400px}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[70vh\]{min-height:70vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[112px\]{width:112px}.w-\[125px\]{width:125px}.w-\[204px\]{width:204px}.w-\[213px\]{width:213px}.w-\[42px\]{width:42px}.w-\[500px\]{width:500px}.w-\[80px\]{width:80px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[120px\]{min-width:120px}.min-w-\[160px\]{min-width:160px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[320px\]{min-width:320px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[1400px\]{max-width:1400px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[360px\]{max-width:360px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-bottom-left{transform-origin:bottom left}.origin-bottom-right{transform-origin:bottom right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-\[3\.58deg\]{--tw-rotate: -3.58deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[3\.58deg\]{--tw-rotate: 3.58deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-full{border-radius:9999px}.rounded-l-\[5px\]{border-top-left-radius:5px;border-bottom-left-radius:5px}.rounded-r-\[5px\]{border-top-right-radius:5px;border-bottom-right-radius:5px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#FF0FEF\]{--tw-border-opacity: 1;border-color:rgb(255 15 239 / var(--tw-border-opacity, 1))}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-black\/10{border-color:#0000001a}.border-black\/20{border-color:#0003}.border-black\/5{border-color:#0000000d}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-\[\#d9d9d9\]{--tw-bg-opacity: 1;background-color:rgb(217 217 217 / var(--tw-bg-opacity, 1))}.bg-\[\#ff0fef\]{--tw-bg-opacity: 1;background-color:rgb(255 15 239 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/5{background-color:#0000000d}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-zinc-100{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.bg-zinc-200{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity, 1))}.bg-zinc-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[18px\]{padding-left:18px;padding-right:18px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pt-0{padding-top:0}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-geist{font-family:Geist Sans,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#FF0FEF\],.text-\[\#ff0fef\]{--tw-text-opacity: 1;color:rgb(255 15 239 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-black\/30{color:#0000004d}.text-black\/40{color:#0006}.text-black\/50{color:#00000080}.text-black\/60{color:#0009}.text-black\/70{color:#000000b3}.text-black\/80{color:#000c}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.accent-\[\#ff0fef\]{accent-color:#ff0fef}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[4px\]{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[mod_id\:xxx\]{mod_id:xxx}@font-face{font-family:Geist Sans;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-sans@latest/latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Sans;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-sans@latest/latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist Sans;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-sans@latest/latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist Sans;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-sans@latest/latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-mono@latest/latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Minecraft;src:local("Pixelify Sans")}.font-geist{font-family:Geist Sans,Geist,sans-serif;color:#000;font-style:normal;font-weight:400;letter-spacing:-.02em;line-height:normal}.font-geist-mono{font-family:Geist Mono,monospace}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.conversation-bar{border-bottom:1px solid #000!important;background:#fff!important}.conversation-tab{border:1px solid #000!important;border-radius:5px!important;background:#fff!important;font-family:Geist Sans,sans-serif!important;letter-spacing:-.3px!important}.conversation-tab.active{background:#000!important;color:#fff!important;border-color:#000!important}.conversation-new-btn{background:#ff0fef!important;color:#fff!important;border:1px solid #000!important;border-radius:5px!important}.message-bubble.user{background:#000!important;color:#fff!important;border-radius:5px!important;border:none!important}.message-bubble.assistant{background:#f5f5f5!important;color:#000!important;border:1px solid #e0e0e0!important;border-radius:5px!important}.message-input-textarea{border:1px solid #e0e0e0!important;border-radius:5px!important;background:#f5f5f5!important;font-family:Geist Sans,sans-serif!important}.message-input-textarea:focus{border-color:#ff0fef!important;background:#fff!important}.message-send-btn{background:#000!important;border-radius:5px!important;border:1px solid #000!important}.toast{font-family:Geist Sans,sans-serif!important;border-radius:5px!important;border:1px solid #000!important}.alert{font-family:Geist Sans,sans-serif!important;border-radius:5px!important}.onboarding-fullscreen-overlay{background:#0006!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.onboarding-overlay{border:1px solid #000!important;border-radius:5px!important;font-family:Geist Sans,sans-serif!important}.approval-dialog,.texture-selection-dialog{border:1px solid #000!important;border-radius:5px!important}.tier-badge-pro{background:#ff0fef!important;color:#000!important;border:1px solid #000!important}.tier-badge-free{background:#d9d9d9!important;color:#000!important;border:1px solid #000!important}.btn-link-subtle{color:#888!important;font-family:Geist Sans,sans-serif!important}.btn-link-subtle:hover{color:#000!important}.hover\:w-1\.5:hover{width:.375rem}.hover\:border-black\/30:hover{border-color:#0000004d}.hover\:border-transparent:hover{border-color:transparent}.hover\:bg-\[\#FF0FEF\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 15 239 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#ff0fef\]\/30:hover{background-color:#ff0fef4d}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-black\/60:hover{color:#0009}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.focus\:border-\[\#ff0fef\]:focus{--tw-border-opacity: 1;border-color:rgb(255 15 239 / var(--tw-border-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:border-black:hover:disabled{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.disabled\:hover\:text-black:hover:disabled{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width: 1024px){.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}
