.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_1gh6p_1{border:2px solid var(--primary, #3b82f6);border-radius:8px;margin:8px 0;overflow:hidden}._header_1gh6p_8{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-selected, #eff6ff);border-bottom:1px solid var(--primary-light, #93c5fd)}._header_1gh6p_8 h3{margin:0;font-size:14px;font-weight:600;color:var(--primary, #3b82f6)}._count_1gh6p_24{font-size:12px;color:var(--text-secondary, #64748b)}._list_1gh6p_29{max-height:400px;overflow-y:auto}._item_1gh6p_34{border-bottom:1px solid var(--border-color, #e2e8f0)}._itemHeader_1gh6p_38{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer}._itemHeader_1gh6p_38:hover{background:var(--bg-hover, #f8fafc)}._action_1gh6p_50{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}._actionAdd_1gh6p_58{background:#f0fdf4;color:#16a34a}._actionUpdate_1gh6p_63{background:#fffbeb;color:#d97706}._actionDelete_1gh6p_68{background:#fef2f2;color:#dc2626}._type_1gh6p_73{font-size:12px;color:var(--text-secondary, #64748b)}._id_1gh6p_78{font-size:13px;font-weight:500;font-family:monospace;flex:1}._chevron_1gh6p_85{font-size:10px;transition:transform .2s}._chevron_1gh6p_85._expanded_1gh6p_90{transform:rotate(90deg)}._yaml_1gh6p_94{padding:12px 16px;margin:0;background:var(--bg-secondary, #f8fafc);font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;border-top:1px solid var(--border-color, #e2e8f0)}._actions_1gh6p_106{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc)}._approveButton_1gh6p_114{flex:1;padding:8px 16px;border-radius:6px;border:none;background:#16a34a;color:#fff;font-size:13px;font-weight:500;cursor:pointer}._approveButton_1gh6p_114:hover:not(:disabled){background:#15803d}._approveButton_1gh6p_114:disabled{opacity:.5;cursor:not-allowed}._rejectButton_1gh6p_135{padding:8px 16px;border-radius:6px;border:1px solid #fecaca;background:none;color:#dc2626;font-size:13px;cursor:pointer}._rejectButton_1gh6p_135:hover:not(:disabled){background:#fef2f2}._rejectButton_1gh6p_135: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: #006400;--color-accent-primary-hover: #007500;--color-accent-secondary: #32CD32;--color-accent-tertiary: #000000;--color-success: #32CD32;--color-warning: #F59E0B;--color-warning-bg: rgba(245, 158, 11, .08);--color-error: #ef4444;--color-info: #006400;--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: "Pixelify Sans", "Inter", "system-ui", sans-serif;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-code: "JetBrains Mono", "Fira Code", "SF Mono", Monaco, "Cascadia Code", 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:.01em}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:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-primary);color:var(--color-text-inverse);border-color:var(--color-accent-primary)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-subtle)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);border-color:var(--color-border-subtle);color:var(--color-accent-secondary);box-shadow:var(--shadow-sm)}.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:var(--spacing-2);margin-bottom:var(--spacing-4)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);line-height:var(--line-height-body)}.form-group input,.form-group textarea{padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-base);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);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #0064001f}.form-group input:disabled,.form-group textarea:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-error{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)}.form-success{padding:var(--spacing-3);background:#4ade801a;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-size-sm)}.form-info{padding:var(--spacing-3);background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-6)}.modal-overlay-modal-only-close{cursor:default;pointer-events:auto}.modal{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-subtle)}.modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.modal-header-actions{display:flex;align-items:center;gap:var(--spacing-2)}.modal-body{padding:var(--spacing-6);overflow-y:auto;flex:1;line-height:var(--line-height-body)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border-subtle)}.modal-footer .footer-left{flex:1}.modal-footer .footer-right{display:flex;gap:var(--spacing-3)}.confirm-dialog-input-wrap{margin-top:var(--spacing-4)}.confirm-dialog-input-wrap label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2);color:var(--color-text-secondary)}.confirm-dialog-input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-family-body);font-size:var(--font-size-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary)}.confirm-dialog-input:focus{outline:none;border-color:var(--color-accent-primary)}.texture-selection-dialog{max-width:960px;width:min(96vw,960px);height:min(86vh,820px)}.texture-intro{margin-bottom:var(--spacing-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.texture-entities-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.texture-entity{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-4);box-shadow:var(--shadow-sm)}.texture-entity.completed{border-color:var(--color-success);background:#4ade8014}.texture-entity-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-2)}.texture-entity-icon{font-size:1.1rem;line-height:1}.texture-entity-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-entity-type,.texture-entity-status{font-size:var(--font-size-xs);line-height:1.2;border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:4px 10px;background:var(--color-surface);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.texture-entity-status{border-color:var(--color-success);color:#198b19;background:#4ade8026;text-transform:none;letter-spacing:0}.texture-entity-description{margin:var(--spacing-2) 0 var(--spacing-3);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.texture-variants{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-3)}.texture-variant{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2);align-items:stretch}.texture-variant:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-sm)}.texture-variant.selected{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #4ade8033;background:#4ade8014}.variant-image-container{width:100%;aspect-ratio:1 / 1;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.06) 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);overflow:hidden}.variant-image{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.variant-label{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.armor-variant{padding:var(--spacing-3)}.armor-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-2)}.armor-layer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.armor-image{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:4px;background:var(--color-bg-primary)}.layer-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.texture-entity-actions{margin-top:var(--spacing-3);display:flex;justify-content:flex-end}.texture-footer-info{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 768px){.texture-selection-dialog{width:100%;height:92vh}.texture-variants{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.texture-entity-header{grid-template-columns:auto 1fr}.texture-entity-type,.texture-entity-status{grid-column:1 / -1;justify-self:start}}.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%;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%;object-fit:contain;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::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::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;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;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:fixed;top:12px;right:12px;z-index:900;width:320px;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;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;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;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;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:var(--color-bg-primary);padding:var(--spacing-4);position:relative}.auth-back-btn{position:absolute;top:var(--spacing-4);left:var(--spacing-4);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.auth-back-btn:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.auth-container{width:100%;max-width:400px;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-8);box-shadow:var(--shadow-lg)}.auth-title{font-family:var(--font-family-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--spacing-2);color:var(--color-accent-primary)}.auth-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:var(--spacing-8)}.auth-form{display:flex;flex-direction:column}.auth-switch-row{margin-top:var(--spacing-5);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-switch-link{background:none;border:none;color:var(--color-accent-primary);font-size:inherit;font-weight:var(--font-weight-medium);cursor:pointer;padding:0}.auth-switch-link:hover{color:var(--color-accent-secondary)}.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:var(--spacing-3);margin:var(--spacing-5) 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-subtle)}.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;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;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}.account-content{max-width:640px}.account-section{margin-bottom:var(--spacing-8)}.account-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);color:var(--color-text-primary)}.account-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-5)}.account-field{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) 0}.account-field+.account-field{border-top:1px solid var(--color-border-subtle)}.account-field-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.account-field-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.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;box-shadow:var(--shadow-sm)}.subscription-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.subscription-card-free:before{background:linear-gradient(90deg,#9ca3af,#6b7280)}.subscription-card-pro:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.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{background:linear-gradient(180deg,#fff,#f8fafc)}.subscription-card-pro .subscription-header{background:linear-gradient(180deg,#fff7ed,#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}}
