:root{--font-primary: "Poppins", system-ui, -apple-system, sans-serif;--font-secondary: "Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-secondary);line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-primary: #1a1a1a;--color-bg-secondary: #242424;--color-bg-tertiary: #2a2a2a;--color-bg-elevated: #333333;--color-bg-overlay: rgba(0, 0, 0, .7);--color-bg-input: #2a2a2a;--color-text-primary: #ffffff;--color-text-secondary: #cccccc;--color-text-tertiary: #aaaaaa;--color-text-muted: #888888;--color-text-disabled: #666666;--color-border-default: #333333;--color-border-subtle: #444444;--color-border-hover: #555555;--color-border-focus: #646cff;--color-accent-primary: #646cff;--color-accent-primary-hover: #535bf2;--color-accent-primary-bg: rgba(100, 108, 255, .1);--color-accent-primary-bg-hover: rgba(100, 108, 255, .2);--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .1);--color-ws-connected: #4ade80;--color-ws-connecting: #facc15;--color-ws-disconnected: #f87171;--color-stat-purple: #646cff;--color-stat-purple-bg: rgba(100, 108, 255, .15);--color-stat-green: #4ade80;--color-stat-green-bg: rgba(74, 222, 128, .15);--color-stat-pink: #f472b6;--color-stat-pink-bg: rgba(244, 114, 182, .15);--color-stat-yellow: #facc15;--color-stat-yellow-bg: rgba(250, 204, 21, .15);--gradient-card: linear-gradient(135deg, #2a2a2a 0%, #1f1f1f 100%);--gradient-accent: linear-gradient(135deg, #646cff 0%, #5558dd 100%);--gradient-accent-hover: linear-gradient(135deg, #5558dd 0%, #4448cc 100%);--color-scrollbar-track: rgba(0, 0, 0, .1);--color-scrollbar-thumb: rgba(100, 108, 255, .3);--color-scrollbar-thumb-hover: rgba(100, 108, 255, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .6);--glass-bg: rgba(26, 26, 26, .85);--glass-border: rgba(255, 255, 255, .1);--canvas-bg-default: #1a1a1a;--canvas-grid-color: rgba(255, 255, 255, .05);--node-bg-default: #2a2a2a;--node-text-default: #ffffff;--node-border-default: #646cff;--task-bg-default: #1e3a5f;--task-text-default: #e0f0ff;--task-accent-default: #4a90d9;--notepad-bg-default: #2a2a2a;--notepad-text-default: #e0e0e0;--notepad-line-default: #3a3a3a;--notepad-margin-default: #4a3a3a;--drawing-bg-default: #2a2a2a;color:var(--color-text-secondary);background-color:var(--color-bg-secondary)}[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #e8e8e8;--color-bg-elevated: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .5);--color-bg-input: #ffffff;--color-text-primary: #1a1a1a;--color-text-secondary: #333333;--color-text-tertiary: #555555;--color-text-muted: #777777;--color-text-disabled: #999999;--color-border-default: #e0e0e0;--color-border-subtle: #d0d0d0;--color-border-hover: #c0c0c0;--color-border-focus: #646cff;--color-accent-primary: #646cff;--color-accent-primary-hover: #535bf2;--color-accent-primary-bg: rgba(100, 108, 255, .1);--color-accent-primary-bg-hover: rgba(100, 108, 255, .15);--color-success: #16a34a;--color-success-bg: rgba(22, 163, 74, .1);--color-warning: #d97706;--color-warning-bg: rgba(217, 119, 6, .1);--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .1);--color-info: #2563eb;--color-info-bg: rgba(37, 99, 235, .1);--color-ws-connected: #16a34a;--color-ws-connecting: #ca8a04;--color-ws-disconnected: #dc2626;--color-stat-purple: #646cff;--color-stat-purple-bg: rgba(100, 108, 255, .12);--color-stat-green: #22c55e;--color-stat-green-bg: rgba(34, 197, 94, .12);--color-stat-pink: #ec4899;--color-stat-pink-bg: rgba(236, 72, 153, .12);--color-stat-yellow: #eab308;--color-stat-yellow-bg: rgba(234, 179, 8, .12);--gradient-card: linear-gradient(135deg, #ffffff 0%, #f8f8f8 100%);--gradient-accent: linear-gradient(135deg, #646cff 0%, #5558dd 100%);--gradient-accent-hover: linear-gradient(135deg, #5558dd 0%, #4448cc 100%);--color-scrollbar-track: rgba(0, 0, 0, .05);--color-scrollbar-thumb: rgba(100, 108, 255, .3);--color-scrollbar-thumb-hover: rgba(100, 108, 255, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .25);--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(0, 0, 0, .1);--canvas-bg-default: #f5f5f5;--canvas-grid-color: rgba(0, 0, 0, .08);--node-bg-default: #ffffff;--node-text-default: #1a1a1a;--node-border-default: #646cff;--task-bg-default: #e8f4fc;--task-text-default: #1e3a5f;--task-accent-default: #3b82f6;--notepad-bg-default: #fffef8;--notepad-text-default: #3d3929;--notepad-line-default: #e8d4b8;--notepad-margin-default: #f5a5a5;--drawing-bg-default: #ffffff;color:var(--color-text-secondary);background-color:var(--color-bg-secondary)}a{font-weight:500;color:var(--color-accent-primary);text-decoration:inherit}a:hover{color:var(--color-accent-primary-hover)}body{margin:0;min-width:320px;min-height:100vh}#root{width:100vw;height:100vh;height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:var(--font-secondary);background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.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))}.app{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app.immersive-editor{position:relative}.app.immersive-editor .main-content{position:absolute;inset:0}@media(max-width:768px){.app.immersive-editor{position:fixed;inset:0;height:100%;height:100dvh}.app.immersive-editor .main-content{position:absolute;inset:0}}.floating-toolbar{position:fixed;top:16px;z-index:100;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-lg)}.floating-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:var(--color-accent-primary-bg);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.floating-toolbar-btn:active{background:#646cff80}.floating-toolbar-btn--danger{color:var(--color-error)}.floating-toolbar-btn--danger:active{background:#ff646499}.floating-toolbar-btn svg{width:16px;height:16px}@media(max-width:768px),(pointer:coarse){.floating-toolbar-btn{width:44px;height:44px;min-width:44px;min-height:44px}.floating-toolbar-btn svg{width:18px;height:18px}.floating-toolbar{gap:6px;padding:8px 10px}}.floating-toolbar-left{left:16px}.floating-toolbar-right{right:16px;transition:right .4s cubic-bezier(.34,1.56,.64,1)}.mobile-mode-indicator{position:fixed;top:72px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;z-index:50;pointer-events:none;box-shadow:0 2px 8px #0000004d;letter-spacing:.3px;border:1px solid #374151}[data-theme=light] .mobile-mode-indicator{background:#fff;color:#1f2937;border-color:#e5e7eb;box-shadow:0 2px 8px #00000026}.floating-toolbar-right.panel-open{right:336px;animation:toolbarSlideIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes toolbarSlideIn{0%{right:16px}60%{right:370px}80%{right:326px}to{right:336px}}.floating-toolbar-right.ai-panel-open{right:416px;animation:toolbarSlideInAI .5s cubic-bezier(.34,1.56,.64,1)}@keyframes toolbarSlideInAI{0%{right:16px}60%{right:450px}80%{right:406px}to{right:416px}}.floating-toolbar-right.chat-panel-open{right:336px;animation:toolbarSlideInChat .5s cubic-bezier(.34,1.56,.64,1)}@keyframes toolbarSlideInChat{0%{right:16px}60%{right:370px}80%{right:326px}to{right:336px}}.floating-subscribe{position:fixed;bottom:24px;left:24px;z-index:100;max-width:320px}@media(max-width:768px){.floating-subscribe{bottom:80px;left:16px;right:16px;max-width:none}}.toolbar-icon-btn{position:relative;height:36px;padding:0 10px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-accent-primary-bg);color:var(--color-text-secondary);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;gap:0;transition:all .2s ease;overflow:visible}.toolbar-icon-btn:hover{background:var(--color-accent-primary-bg-hover);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.toolbar-icon-btn:active{transform:scale(.95)}.toolbar-icon-btn.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.toolbar-icon-btn.active:hover{background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);color:#fff}.toolbar-icon-btn.active .toolbar-btn-label{max-width:80px;opacity:1;margin-left:6px}.toolbar-icon-btn.with-label{gap:0}.toolbar-icon-btn .toolbar-btn-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:13px;font-weight:500;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease;margin-left:0}.toolbar-icon-btn.with-label:hover .toolbar-btn-label{max-width:80px;opacity:1;margin-left:6px}.toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--color-error, #ef4444);color:#fff;font-size:10px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.toolbar{display:flex;gap:12px;padding:12px 24px;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-default);align-items:center}.toolbar>button{padding:8px 16px;border:none;border-radius:4px;background:var(--color-accent-primary);color:#fff;cursor:pointer;font-size:14px;transition:background .2s}.toolbar>button:hover{background:var(--color-accent-primary-hover)}.toolbar select{padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;font-size:14px}.map-name-input{padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;width:200px}.map-name-input:focus{outline:none;border-color:var(--color-border-focus)}.map-name-input:disabled{opacity:.7;cursor:not-allowed;background:var(--color-bg-secondary)}.main-content{flex:1;display:flex;overflow:hidden}.editor-column{flex:1;display:flex;flex-direction:column;overflow:hidden}.flow-container{flex:1;height:100%;position:relative}.react-flow,.react-flow__viewport,.react-flow__renderer,.react-flow__zoompane,.react-flow__selectionpane,.react-flow__pane{touch-action:none}.react-flow__node-mindMapNode{padding:0;border-radius:0;background:transparent;border:none;width:auto;height:auto;touch-action:none}.react-flow__node-mindMapNode.selected{box-shadow:none}.react-flow__node-shape{touch-action:none;z-index:0!important}.react-flow__node-shape.selected{z-index:1!important}.react-flow__node-mindMapNode{z-index:2!important}.react-flow__node-mindMapNode.selected{z-index:3!important}.react-flow__node-mindMapNode>div{width:100%;height:100%}.react-flow__edge-path{stroke:var(--color-accent-primary);stroke-width:2;transition:filter .2s ease}.react-flow__edge.selected .react-flow__edge-path{stroke-width:3;filter:drop-shadow(0 0 4px var(--color-accent-primary)) drop-shadow(0 0 8px var(--color-accent-primary))}.edge-label-container{overflow:visible;pointer-events:all}.edge-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:12px;font-weight:500;text-align:center;background:var(--glass-bg);border-radius:4px;padding:2px 8px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.edge-label-input{width:100%;height:100%;padding:2px 8px;border:1px solid var(--color-accent-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:12px;font-weight:500;text-align:center;outline:none;box-sizing:border-box}.edge-label-input:focus{border-color:var(--color-accent-primary-hover);box-shadow:0 0 0 2px var(--color-accent-primary-bg-hover)}.react-flow__controls{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:8px}.react-flow__controls-button{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-default);fill:var(--color-text-primary)}.react-flow__controls-button:hover{background:var(--color-bg-elevated)}.react-flow__minimap{background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:8px}.mindmap-node-wrapper{padding:10px;margin:-10px;position:relative;touch-action:none}.central-node-indicator{position:absolute;top:-8px;left:2px;font-size:14px;line-height:1;z-index:10;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));pointer-events:none}.mindmap-node{position:relative;padding:10px 20px;border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:2px solid var(--color-accent-primary);font-size:16px;min-width:80px;min-height:40px;width:100%;height:100%;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;touch-action:none}.mindmap-node.has-extensions{min-width:120px}.mindmap-node.is-selected{animation:selectionGlowFade 1s ease-out forwards}@keyframes selectionGlowFade{0%{box-shadow:0 0 0 4px color-mix(in srgb,var(--node-glow-color, #646cff) 60%,transparent),0 0 25px 8px color-mix(in srgb,var(--node-glow-color, #646cff) 80%,transparent),0 0 50px 15px color-mix(in srgb,var(--node-glow-color, #646cff) 50%,transparent);filter:brightness(1.05)}to{box-shadow:none;filter:none}}@keyframes nodeEnter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.react-flow__node-mindMapNode.node-entering{animation:nodeEnter .15s ease-out forwards}@keyframes nodeExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.react-flow__node-mindMapNode.node-exiting{animation:nodeExit .15s ease-out forwards;pointer-events:none}@keyframes edgeDrawIn{0%{opacity:.3}to{opacity:1}}.react-flow__edge.edge-new path{animation:edgeDrawIn .25s ease-out forwards}.floating-toolbar{will-change:transform,opacity}.mindmap-node.is-dragging,.mindmap-node-button.is-dragging{--drag-rotation: 0deg;--drag-skew-x: 0deg;--drag-skew-y: 0deg;transform:scale(1.04) rotate(var(--drag-rotation)) skew(var(--drag-skew-x)) skewY(var(--drag-skew-y))!important;box-shadow:0 12px 32px #00000080,0 24px 64px #00000059,0 40px 100px #0003,0 60px 140px #0000001a!important;filter:brightness(1.06)!important;cursor:grabbing;transition:transform .08s ease-out!important;animation:none!important}.mindmap-node.is-selected.is-dragging,.mindmap-node-button.is-selected.is-dragging{animation:none!important}.mindmap-node.is-preview{border-style:dashed!important;border-color:#a78bfa!important;background-color:#a78bfa1f!important;pointer-events:none}.mindmap-node.is-preview.is-stub{opacity:.65}.preview-badge{position:absolute;top:-10px;right:-10px;font-size:9px;font-weight:600;text-transform:uppercase;background:#a78bfa;color:#fff;padding:2px 6px;border-radius:4px;letter-spacing:.5px;z-index:10}.preview-extension-badge{display:flex;align-items:center;gap:4px;padding:2px 6px;margin-top:4px;font-size:10px;background-color:#a78bfa40;border:1px dashed #a78bfa;border-radius:4px;color:#c4b5fd}.preview-extension-badge svg{width:10px;height:10px}.node-hint{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);white-space:nowrap;pointer-events:none;animation:hintFadeIn .3s ease-out}.node-hint-text{background:#646cffe6;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;box-shadow:0 2px 8px #0000004d}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.node-author-indicator{position:absolute;bottom:-12px;left:2px;font-size:8px;font-weight:500;letter-spacing:.4px;line-height:1;white-space:nowrap;pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}.node-collapse-indicator{position:absolute;display:flex;align-items:center;justify-content:center;gap:2px;min-width:20px;height:20px;padding:0 4px;background:var(--color-bg-secondary, #374151);border:1px solid var(--color-border-default, #4b5563);border-radius:10px;cursor:pointer;font-size:10px;color:var(--color-text-secondary, #9ca3af);transition:all .15s ease;z-index:10}.node-collapse-indicator.collapse-top{top:-10px;left:50%;transform:translate(-50%)}.node-collapse-indicator.collapse-bottom{bottom:-10px;left:50%;transform:translate(-50%)}.node-collapse-indicator.collapse-left{left:-10px;top:50%;transform:translateY(-50%)}.node-collapse-indicator.collapse-right{right:-10px;top:50%;transform:translateY(-50%)}.node-collapse-indicator:hover{background:var(--color-bg-tertiary, #4b5563);color:var(--color-text-primary, #f3f4f6)}.node-collapse-indicator.collapse-top:hover,.node-collapse-indicator.collapse-bottom:hover{transform:translate(-50%) scale(1.1)}.node-collapse-indicator.collapse-left:hover,.node-collapse-indicator.collapse-right:hover{transform:translateY(-50%) scale(1.1)}.node-collapse-indicator svg{width:8px;height:8px;transition:transform .2s ease}.node-collapse-indicator.collapse-top svg{transform:rotate(90deg)}.node-collapse-indicator.collapse-top.collapsed svg{transform:rotate(-90deg)}.node-collapse-indicator.collapse-bottom svg{transform:rotate(-90deg)}.node-collapse-indicator.collapse-bottom.collapsed svg{transform:rotate(90deg)}.node-collapse-indicator.collapse-left svg{transform:rotate(180deg)}.node-collapse-indicator.collapse-left.collapsed svg{transform:rotate(0)}.node-collapse-indicator.collapse-right svg{transform:rotate(0)}.node-collapse-indicator.collapse-right.collapsed svg{transform:rotate(180deg)}.node-collapse-count{font-size:9px;font-weight:600;line-height:1}@media(prefers-color-scheme:light){.node-collapse-indicator{background:var(--color-bg-primary, white);border-color:var(--color-border-default, #e5e7eb);color:var(--color-text-secondary, #6b7280);box-shadow:0 1px 3px #0000001a}.node-collapse-indicator:hover{background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-primary, #111827)}}.node-delete-confirm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;animation:deleteConfirmFadeIn .15s ease-out}.node-delete-confirm-content{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);white-space:nowrap}.node-delete-confirm-content span{color:var(--color-text-secondary);font-size:13px;font-weight:500}.node-delete-confirm-buttons{display:flex;gap:8px}.node-delete-confirm-btn{padding:6px 14px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.node-delete-confirm-btn--cancel{background:#ffffff1a;color:#aaa}.node-delete-confirm-btn--cancel:hover{background:#fff3;color:#fff}.node-delete-confirm-btn--confirm{background:#ff5050cc;color:#fff}.node-delete-confirm-btn--confirm:hover{background:#ff3c3c}@keyframes deleteConfirmFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.node-resizer-line{border-width:1px!important;border-radius:8px!important;z-index:10!important}.node-resizer-handle{width:6px!important;height:6px!important;border-radius:50%!important;z-index:10!important}.node-resizer-handle.top.left,.react-flow__resize-control.top.left{cursor:nwse-resize!important}.node-resizer-handle.top.right,.react-flow__resize-control.top.right,.node-resizer-handle.bottom.left,.react-flow__resize-control.bottom.left{cursor:nesw-resize!important}.node-resizer-handle.bottom.right,.react-flow__resize-control.bottom.right{cursor:nwse-resize!important}.node-resizer-handle.top:not(.left):not(.right),.react-flow__resize-control.top:not(.left):not(.right),.node-resizer-handle.bottom:not(.left):not(.right),.react-flow__resize-control.bottom:not(.left):not(.right){cursor:ns-resize!important}.node-resizer-handle.left:not(.top):not(.bottom),.react-flow__resize-control.left:not(.top):not(.bottom),.node-resizer-handle.right:not(.top):not(.bottom),.react-flow__resize-control.right:not(.top):not(.bottom){cursor:ew-resize!important}.node-resizer-line{cursor:move}.react-flow__node.dragging .node-resizer-line,.react-flow__node.dragging .node-resizer-handle{opacity:0!important;pointer-events:none!important}.react-flow.draw-mode{cursor:crosshair!important;touch-action:none!important}.react-flow.draw-mode .react-flow__node{cursor:crosshair!important;pointer-events:none!important}.react-flow.draw-mode .react-flow__edge{pointer-events:none!important}.react-flow.selection-mode{cursor:crosshair!important}.react-flow.selection-mode .react-flow__selection{background:#3b82f61a;border:1px dashed var(--color-accent-primary, #3b82f6)}.draw-preview-overlay{border:2px dashed var(--color-accent-primary, #3b82f6);background:#3b82f61a;border-radius:0;box-sizing:border-box}.draw-preview-overlay.circle{border-radius:50%}.draw-preview-overlay.text{border-style:dotted;border-radius:4px}.draw-preview-overlay.rectangle{border-radius:0}.shape-node.editing{cursor:text}.shape-text-input{width:100%;height:100%;border:none;outline:none;background:transparent;resize:none;padding:0;margin:0;font-family:inherit;line-height:1.4;overflow:hidden;cursor:text}.shape-text-input::placeholder{color:#999;opacity:.7}.shape-node.shape-text span{cursor:text}@supports (padding-bottom: env(safe-area-inset-bottom)){.shape-node.editing{scroll-margin-bottom:env(safe-area-inset-bottom,0px)}}@media(max-width:768px){.shape-text-input{scroll-margin-top:100px;scroll-margin-bottom:300px}}.node-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:visible;min-height:0}.node-content.with-extensions{justify-content:flex-start;align-items:stretch;overflow:hidden}.node-title-section{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.node-title-section.has-extensions{padding-bottom:8px}.node-divider{width:100%;height:0;border-top:1px solid;opacity:.3;margin:4px 0}.node-extensions-section{flex:1;overflow-y:auto;overflow-x:hidden;text-align:left;min-height:0;display:flex;flex-direction:column;gap:4px;padding-top:4px;width:100%;position:relative}.node-extensions-section::-webkit-scrollbar{width:4px}.node-extensions-section::-webkit-scrollbar-track{background:#0000001a;border-radius:2px}.node-extensions-section::-webkit-scrollbar-thumb{background:#646cff4d;border-radius:2px}.node-extensions-section::-webkit-scrollbar-thumb:hover{background:#646cff80}.collapsed-extensions-row{display:flex;gap:4px;padding:4px 0;opacity:.6}.extension-indicator.collapsed{opacity:.5}.node-label{font-weight:500;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:pointer;white-space:pre-wrap}.node-label-input{font-weight:500;font-size:inherit;color:inherit;background:transparent;border:none;border-bottom:1px solid currentColor;outline:none;width:100%;min-width:50px;padding:0;margin:0;font-family:inherit}.node-label-input::placeholder{color:inherit;opacity:.4;font-weight:400;font-style:italic}.node-label-textarea{resize:none;overflow:hidden;text-align:center;line-height:1.4;min-height:1.4em;max-height:150px}.node-lock-indicator{position:absolute;top:4px;right:4px;font-size:10px;opacity:.7}.node-extensions-preview{display:flex;justify-content:center;gap:4px;margin-top:6px;font-size:12px}.extension-indicator{opacity:.7;cursor:default}.node-extensions-expanded{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;min-width:250px;max-width:350px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:8px;padding:8px;z-index:100;box-shadow:var(--shadow-lg);text-align:left}.node-extensions-expanded:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--color-border-default)}.node-extensions-expanded:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--color-bg-primary)}.node-extensions-section .extension-container{margin-top:0;background:transparent;flex:1;display:flex;flex-direction:column}.node-extensions-section .extension-content{flex:1;display:flex;flex-direction:column;padding:0}.node-extensions-section .image-extension-edit,.node-extensions-section .link-extension-edit,.node-extensions-section .code-extension-edit,.node-extensions-section .embed-extension-edit,.node-extensions-section .extension-input,.node-extensions-section .extension-select,.node-extensions-section textarea{width:100%;box-sizing:border-box}.node-extensions-section .youtube-extension,.node-extensions-section .youtube-extension-edit,.node-extensions-section .youtube-preview,.node-extensions-section .youtube-preview-wrapper,.node-extensions-section .youtube-url-input-wrapper{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;min-width:0;overflow:hidden}.node-extensions-section .youtube-url-input-wrapper .extension-input{width:100%;box-sizing:border-box;margin-bottom:0}.node-extensions-section .youtube-preview-wrapper{position:relative}.node-extensions-section .youtube-change-btn,.node-extensions-section .youtube-remove-btn{position:absolute;top:4px;z-index:10;padding:4px 8px;border:none;border-radius:4px;font-size:11px;cursor:pointer;opacity:0;transition:opacity .2s}.node-extensions-section .youtube-preview-wrapper:hover .youtube-change-btn,.node-extensions-section .youtube-preview-wrapper:hover .youtube-remove-btn{opacity:1}.node-extensions-section .youtube-change-btn{left:4px;background:#646cffe6;color:#fff}.node-extensions-section .youtube-change-btn:hover{background:#646cff}.node-extensions-section .youtube-remove-btn{right:4px;background:#ff6464e6;color:#fff}.node-extensions-section .youtube-remove-btn:hover{background:#ff6464}.node-extensions-section .youtube-url-actions{display:flex;gap:6px;margin-top:6px;flex-shrink:0;flex-wrap:wrap}.node-extensions-section .youtube-action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:11px;cursor:pointer}.node-extensions-section .youtube-confirm-btn{background:var(--color-accent-primary);color:#fff}.node-extensions-section .youtube-confirm-btn:hover{background:var(--color-accent-primary-hover)}.node-extensions-section .youtube-cancel-btn{background:var(--color-border-subtle);color:var(--color-text-secondary)}.node-extensions-section .youtube-cancel-btn:hover{background:var(--color-border-hover)}.node-extensions-section .youtube-extension iframe,.node-extensions-section .youtube-preview iframe{width:100%;flex:1;min-height:80px;border:none;border-radius:4px}.node-extensions-section .embed-extension,.node-extensions-section .embed-extension-view,.node-extensions-section .embed-preview{flex:1;display:flex;flex-direction:column;min-height:100px}.node-extensions-section .embed-extension iframe,.node-extensions-section .embed-extension-view iframe,.node-extensions-section .embed-preview iframe{width:100%;flex:1;min-height:80px;border:none;border-radius:4px}.node-extensions-section .image-extension img,.node-extensions-section .image-preview img{max-width:100%;height:auto;max-height:150px;object-fit:contain}.mindmap-node.theme-image .node-extensions-section .image-extension img,.mindmap-node.theme-image .node-extensions-section .image-extension-img{max-width:none!important;max-height:none!important;width:100%!important;height:100%!important;object-fit:cover!important}.node-extensions-section .image-extension-view{flex:1;display:flex;align-items:center;justify-content:center;min-height:60px}.mindmap-node.theme-image .node-extensions-section .image-extension-view{position:absolute!important;inset:0;min-height:0!important}.node-extensions-section .image-extension-view.image-fill-mode{position:absolute;inset:0;margin:0;padding:0;border-radius:0 0 6px 6px;overflow:hidden}.node-extensions-section .image-extension-img{width:100%;height:auto;max-height:150px;object-fit:contain}.node-extensions-section .image-extension-broken{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;width:100%;min-height:80px;background:#8080801a;border:1px dashed rgba(128,128,128,.3);border-radius:4px;color:var(--color-text-muted, #888)}.node-extensions-section .image-extension-broken svg{opacity:.5}.node-extensions-section .image-extension-broken span{font-size:11px;opacity:.7}.node-extensions-section .code-block{max-height:100px;overflow-y:auto;font-size:10px}.mindmap-node.theme-code .node-extensions-section .code-block{max-height:none!important;position:absolute!important;inset:0}.mindmap-node.theme-tasks .node-extensions-section .task-list{max-height:none!important}.mindmap-node.theme-tasks .node-extensions-section .task-list-extension,.mindmap-node.theme-tasks .node-extensions-section .task-list-view,.mindmap-node.theme-tasks .node-extensions-section .task-list-editing{position:absolute!important;inset:0}.node-extensions-section .text-extension{font-size:12px;flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.node-extensions-section .text-content-preview{width:100%;max-width:100%;word-break:normal;overflow-wrap:anywhere;white-space:normal}.node-extensions-section .text-extension-empty{opacity:.5;font-style:italic;flex:1;display:flex;align-items:center;justify-content:center}.text-placeholder{color:var(--color-text-muted);font-size:11px}.node-extensions-section .text-extension-view{flex:1;display:flex;flex-direction:column;position:relative;min-height:0;min-width:0;max-width:100%;overflow:hidden}.node-extensions-section .text-edit-btn,.node-extensions-section .notes-edit-btn,.node-extensions-section .code-edit-btn,.node-extensions-section .link-edit-btn,.node-extensions-section .image-edit-btn,.node-extensions-section .embed-edit-btn,.node-extensions-section .task-manage-btn{position:absolute;top:4px;right:4px;z-index:10;padding:4px 8px;border:none;border-radius:4px;font-size:11px;cursor:pointer;opacity:0;transition:opacity .2s;background:#646cffe6;color:#fff}.node-extensions-section .text-extension-view:hover .text-edit-btn,.node-extensions-section .notes-extension-view:hover .notes-edit-btn,.node-extensions-section .code-extension-view:hover .code-edit-btn,.node-extensions-section .link-extension-view:hover .link-edit-btn,.node-extensions-section .image-extension-view:hover .image-edit-btn,.node-extensions-section .embed-extension-view:hover .embed-edit-btn,.node-extensions-section .task-list-view:hover .task-manage-btn{opacity:1}.node-extensions-section .text-edit-btn:hover,.node-extensions-section .notes-edit-btn:hover,.node-extensions-section .code-edit-btn:hover,.node-extensions-section .link-edit-btn:hover,.node-extensions-section .image-edit-btn:hover,.node-extensions-section .embed-edit-btn:hover,.node-extensions-section .task-manage-btn:hover{background:#646cff}.node-extensions-section .toolbar-btn-save{margin-left:5px;background:#22c55e;color:#fff}.node-extensions-section .toolbar-btn-save:hover{background:#16a34a}.node-extensions-section .toolbar-select{height:20px;padding:0 4px;border:none;border-radius:3px;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:9px;cursor:pointer}.node-extensions-section .toolbar-select:hover{background:var(--color-accent-primary-bg)}.node-extensions-section .toolbar-btn-align-left,.node-extensions-section .toolbar-btn-align-center,.node-extensions-section .toolbar-btn-align-right{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:4px}.node-extensions-section .toolbar-btn-align-center{align-items:center}.node-extensions-section .toolbar-btn-align-right{align-items:flex-end}.node-extensions-section .toolbar-btn-align-left:before,.node-extensions-section .toolbar-btn-align-left:after,.node-extensions-section .toolbar-btn-align-center:before,.node-extensions-section .toolbar-btn-align-center:after,.node-extensions-section .toolbar-btn-align-right:before,.node-extensions-section .toolbar-btn-align-right:after{content:"";display:block;height:1px;background:currentColor}.node-extensions-section .toolbar-btn-align-left:before,.node-extensions-section .toolbar-btn-align-center:before,.node-extensions-section .toolbar-btn-align-right:before{width:10px}.node-extensions-section .toolbar-btn-align-left:after,.node-extensions-section .toolbar-btn-align-center:after,.node-extensions-section .toolbar-btn-align-right:after{width:6px}.node-extensions-section .text-extension-edit{font-size:12px;flex:1;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.node-extensions-section .text-editor{min-height:40px;font-size:12px;flex:1}.node-extensions-section .notes-content{font-size:11px}.node-extensions-section .notes-textarea{min-height:40px;font-size:11px;width:100%;box-sizing:border-box}.node-extensions-section .notes-extension-edit{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.node-extensions-section .task-list-extension{width:100%;box-sizing:border-box;overflow:hidden;gap:6px}.node-extensions-section .task-add-row{gap:4px}.node-extensions-section .task-add-input{padding:6px 8px;font-size:11px;min-width:0}.node-extensions-section .task-add-btn{padding:6px 10px;font-size:10px}.node-extensions-section .task-filter-select{padding:4px 8px;font-size:10px}.node-extensions-section .task-list{gap:2px;max-height:150px;overflow-y:auto}.node-extensions-section .task-item{padding:6px 8px;gap:8px}.node-extensions-section .task-checkbox-wrapper{width:16px;height:16px}.node-extensions-section .task-checkmark{width:14px;height:14px}.node-extensions-section .task-checkbox-wrapper input:checked+.task-checkmark:after{font-size:10px}.node-extensions-section .task-title{font-size:11px}.node-extensions-section .task-date{font-size:9px}.node-extensions-section .task-edit-input{padding:3px 6px;font-size:11px}.node-extensions-section .task-action-btn{width:22px;height:22px;font-size:10px}.node-extensions-section .task-empty{padding:8px;font-size:10px}.node-extensions-section .extension-header{padding:2px 6px;font-size:9px}.node-extensions-section .extension-content{padding:6px}.node-extensions-section .extension-type-badge{font-size:9px}.node-extensions-section .extension-action-btn{width:16px;height:16px;font-size:10px}.node-extensions-section .text-toolbar{padding:2px;gap:2px}.node-extensions-section .toolbar-btn{width:20px;height:20px;font-size:10px}.node-extensions-section .toolbar-divider{margin:0 2px}.node-handle{width:10px;height:10px;background:transparent;border:1px solid rgba(100,108,255,.6);opacity:0;transition:opacity .2s ease,box-shadow .2s ease;z-index:20!important}.node-handle.react-flow__handle-top{top:-12px!important}.node-handle.react-flow__handle-bottom{bottom:-12px!important}.node-handle.react-flow__handle-left{left:-12px!important}.node-handle.react-flow__handle-right{right:-12px!important}.node-handle.visible{opacity:0}.react-flow__node.connecting .node-handle,.react-flow__node:hover:not(:has(.read-only-node)) .node-handle{opacity:1;animation:handleGlow .6s ease-in-out 2}@keyframes handleGlow{0%,to{box-shadow:0 0 4px 1px #646cff66}50%{box-shadow:0 0 12px 4px #646cffcc}}.handle-touch-area{display:contents}@media(min-width:769px){.handle-touch-area{display:contents!important}}@media(max-width:768px),(pointer:coarse){.handle-touch-area{display:flex;position:absolute;z-index:15;pointer-events:auto;width:44px;height:44px;align-items:center;justify-content:center}.node-handle{width:16px;height:16px}.handle-touch-top{top:-26px;left:50%;transform:translate(-50%)}.handle-touch-bottom{bottom:-26px;left:50%;transform:translate(-50%)}.handle-touch-left{left:-26px;top:50%;transform:translateY(-50%)}.handle-touch-right{right:-26px;top:50%;transform:translateY(-50%)}}.mobile-handle-expanded{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--primary-color, #646cff);display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer;box-shadow:0 2px 12px #646cff80;animation:expandHandle .2s ease-out;touch-action:manipulation}.mobile-handle-expanded svg{width:22px;height:22px;color:#fff}.mobile-handle-expanded:active{transform:scale(.95);background:var(--primary-color-hover, #5a5fd8)}.mobile-handle-top{top:-52px;left:50%;transform:translate(-50%)}.mobile-handle-bottom{bottom:-52px;left:50%;transform:translate(-50%)}.mobile-handle-left{left:-52px;top:50%;transform:translateY(-50%)}.mobile-handle-right{right:-52px;top:50%;transform:translateY(-50%)}@keyframes expandHandle{0%{transform:translate(-50%) scale(.5);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.mobile-handle-left,.mobile-handle-right{animation:expandHandleVertical .2s ease-out}@keyframes expandHandleVertical{0%{transform:translateY(-50%) scale(.5);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}.save-indicator{position:absolute;bottom:10px;right:10px;padding:4px 10px;font-size:11px;border-radius:4px;background:#2a2a2ab3;color:#ffffff80;pointer-events:none;transition:opacity .3s ease,color .3s ease;z-index:5}.save-indicator.saved{opacity:.4}.save-indicator.saving{opacity:.8;color:#646cffcc}.save-indicator.unsaved{opacity:.6;color:#ffc864b3}.save-indicator.error{opacity:1;color:#ff6464e6;background:#ff323226}.save-indicator.over-limit{border:1px solid rgba(255,100,100,.5)}@media(max-width:768px),(pointer:coarse){.save-indicator{bottom:80px;right:50%;transform:translate(50%)}}.save-indicator .size-info{opacity:.6;font-size:10px}.node-panel{width:320px;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;max-height:100%;position:relative;z-index:10}.node-panel-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default);gap:8px;flex-shrink:0}.node-panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary);flex:1}.node-lock-btn{background:none;border:1px solid var(--color-border-subtle);border-radius:4px;padding:4px 6px;cursor:pointer;font-size:14px;transition:all .2s;opacity:.6}.node-lock-btn:hover{opacity:1;border-color:var(--color-border-hover)}.node-lock-btn.locked{opacity:1;background:var(--color-error-bg);border-color:var(--color-error)}.node-panel-close{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.node-panel-close:hover{color:var(--color-text-primary)}.node-panel-tabs{display:flex;border-bottom:1px solid var(--color-border-default);padding:0 16px;flex-shrink:0}.node-panel-tab{padding:10px 16px;background:none;border:none;color:var(--color-text-muted);font-size:13px;cursor:pointer;position:relative;transition:color .2s}.node-panel-tab:hover{color:var(--color-text-secondary)}.node-panel-tab.active{color:var(--color-text-primary)}.node-panel-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-accent-primary)}.node-panel-content{padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;min-height:0}.node-panel-field{display:flex;flex-direction:column;gap:6px}.node-panel-field label{font-size:12px;color:var(--color-text-muted);font-weight:500}.node-panel-field input[type=text]{padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px}.node-panel-field input[type=text]:focus{outline:none;border-color:var(--color-border-focus)}.color-picker-wrapper{display:flex;gap:8px;align-items:center}.color-picker-wrapper input[type=color]{width:36px;height:36px;border:none;border-radius:4px;cursor:pointer;padding:0;background:transparent}.color-picker-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-picker-wrapper input[type=color]::-webkit-color-swatch{border-radius:4px;border:1px solid var(--color-border-default)}.color-text-input{flex:1;padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;font-family:monospace}.color-text-input:focus{outline:none;border-color:var(--color-border-focus)}.font-size-picker{display:flex;gap:8px;align-items:center}.font-size-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-border-default);border-radius:2px;cursor:pointer}.font-size-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer}.font-size-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;border:none}.font-size-input{width:50px;padding:6px 8px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;text-align:center}.font-size-input:focus{outline:none;border-color:var(--color-accent-primary)}.font-size-unit{color:var(--color-text-muted);font-size:12px}.node-panel-section{border-top:1px solid var(--color-border-default);padding-top:16px;margin-top:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header label{font-size:12px;color:var(--color-text-muted);font-weight:500}.add-extension-btn{padding:4px 10px;border:1px solid var(--color-border-subtle);border-radius:4px;background:transparent;color:var(--color-accent-primary);cursor:pointer;font-size:11px;transition:all .2s}.add-extension-btn:hover{background:var(--color-accent-primary-bg);border-color:var(--color-accent-primary)}.extensions-list{display:flex;flex-direction:column;gap:8px}.extension-item{border:1px solid var(--color-border-default);border-radius:6px;overflow:hidden;background:var(--color-bg-secondary)}.extension-item-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-default)}.extension-item-type{font-size:11px;color:var(--color-text-tertiary);text-transform:capitalize}.extension-item-actions{display:flex;gap:4px}.ext-move-btn,.ext-collapse-btn,.ext-remove-btn{width:20px;height:20px;border:none;border-radius:3px;background:var(--color-accent-primary-bg);color:var(--color-text-muted);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.ext-move-btn:hover,.ext-collapse-btn:hover{background:var(--color-accent-primary-bg-hover);color:var(--color-text-primary)}.ext-remove-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.no-extensions{font-size:12px;color:var(--color-text-disabled);font-style:italic;text-align:center;padding:16px 0;margin:0}.extension-item-compact,.extension-item-compact .extension-item-header{border-bottom:none}.extension-theme-settings{padding:12px 10px 8px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--color-border-default);margin-top:8px}.theme-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-setting-row label{font-size:12px;color:var(--color-text-tertiary);flex-shrink:0;min-width:80px}.color-picker-compact{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.color-picker-compact input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--color-border-subtle);border-radius:4px;cursor:pointer;background:transparent}.color-picker-compact input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-picker-compact input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.color-text-input-sm{width:70px;padding:4px 6px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:11px;font-family:monospace}.color-text-input-sm:focus{outline:none;border-color:var(--color-accent-primary)}.size-picker-compact{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.size-picker-compact input[type=range]{width:80px;height:4px;background:var(--color-border-default);border-radius:2px;cursor:pointer;-webkit-appearance:none}.size-picker-compact input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer}.size-picker-compact input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);cursor:pointer;border:none}.size-picker-compact .size-value{font-size:11px;color:var(--color-text-muted);min-width:32px;text-align:right}.terminal-preset-picker{display:flex;flex-wrap:wrap;gap:4px;flex:1;justify-content:flex-end}.terminal-preset-btn{padding:4px 8px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all .2s}.terminal-preset-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.terminal-preset-btn.selected{border-color:currentColor;color:var(--color-text-primary)}.terminal-preset-matrix.selected{background:#0d0d0d;color:#00ff41;border-color:#00ff41;text-shadow:0 0 4px #00ff41}.terminal-preset-retro.selected{background:#1a1a0d;color:#ffb000;border-color:#ffb000;text-shadow:0 0 4px #ffb000}.terminal-preset-cyberpunk.selected{background:#0a0a14;color:#f0f;border-color:#f0f;text-shadow:0 0 4px #ff00ff}.terminal-preset-hacker.selected{background:#000;color:#3f3;border-color:#3f3;text-shadow:0 0 4px #33ff33}.terminal-preset-custom.selected{background:var(--color-bg-primary);color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.palette-color-picker{display:flex;flex-wrap:wrap;gap:8px}.palette-color-btn{width:32px;height:32px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s}.palette-color-btn:hover{transform:scale(1.1);border-color:#ffffff4d}.palette-color-btn.selected{border-color:#fff;box-shadow:0 0 8px #ffffff80}[data-theme=light] .palette-color-btn{border-color:#00000026}[data-theme=light] .palette-color-btn:hover{border-color:#0000004d}[data-theme=light] .palette-color-btn.selected{border-color:var(--color-accent-primary);box-shadow:0 0 8px #646cff80}.palette-color-btn.transparent-btn{background:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff}.bg-color-picker{display:flex;flex-direction:column;gap:8px}.bg-color-special{display:flex;gap:8px}.bg-color-btn{padding:6px 12px;border:2px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;color:var(--color-bg-primary);background:var(--color-text-secondary)}.bg-color-btn:hover{border-color:#ffffff80}.bg-color-btn.selected{border-color:var(--color-accent-primary);box-shadow:0 0 8px #646cff80}.bg-color-btn.default-btn,.bg-color-btn.black-btn{color:#fff}.bg-color-btn.transparent-btn{background:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;color:var(--color-text-disabled)}.task-management-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.task-management-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.task-management-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.task-filter-select-sm{padding:4px 8px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:11px;cursor:pointer}.task-filter-select-sm:focus{outline:none;border-color:var(--color-accent-primary)}.task-add-row-panel{display:flex;gap:8px;margin-bottom:10px}.task-add-input-panel{flex:1;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px}.task-add-input-panel:focus{outline:none;border-color:var(--color-accent-primary)}.task-add-input-panel::placeholder{color:var(--color-text-muted)}.task-add-btn-panel{padding:8px 14px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.task-add-btn-panel:hover:not(:disabled){background:var(--color-accent-hover)}.task-add-btn-panel:disabled{opacity:.5;cursor:not-allowed}.task-list-panel{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.task-item-panel{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-bg-tertiary);border-radius:6px;transition:background .2s}.task-item-panel:hover{background:var(--color-bg-secondary)}.task-item-panel.completed .task-title-panel{text-decoration:line-through;color:var(--color-text-muted)}.task-checkbox-panel{display:flex;align-items:center;cursor:pointer}.task-checkbox-panel input[type=checkbox]{display:none}.task-checkmark-panel{width:16px;height:16px;border:2px solid var(--color-border-default);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.task-checkbox-panel input[type=checkbox]:checked+.task-checkmark-panel{background:var(--color-accent-primary);border-color:var(--color-accent-primary)}.task-checkbox-panel input[type=checkbox]:checked+.task-checkmark-panel:after{content:"";width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.task-title-panel{flex:1;font-size:13px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-actions-panel{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .2s}.task-item-panel:hover .task-actions-panel{opacity:1}.task-move-btn-panel{width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.task-move-btn-panel:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary)}.task-move-btn-panel:disabled{cursor:not-allowed;opacity:.3}.task-delete-btn-panel{padding:4px 6px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.task-delete-btn-panel:hover{background:#ef444433;color:#ef4444}.task-delete-btn-panel:disabled{cursor:not-allowed;opacity:.3}.task-empty-panel{padding:16px;text-align:center;color:var(--color-text-muted);font-size:13px;font-style:italic}.node-panel-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border-default);background:var(--color-bg-primary);flex-shrink:0}.node-panel-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.node-panel-btn:disabled{opacity:.5;cursor:not-allowed}.node-panel-btn-cancel{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.node-panel-btn-cancel:hover:not(:disabled){background:var(--color-border-subtle);color:var(--color-text-primary)}.node-panel-btn-apply{background:var(--color-accent-primary);color:#fff}.node-panel-btn-apply:hover:not(:disabled){background:var(--color-accent-primary-hover)}.node-panel-btn-delete{background-color:var(--color-error);color:#fff;padding:8px 10px;display:flex;align-items:center;justify-content:center}.node-panel-btn-delete:hover:not(:disabled){background-color:#c0392b;color:#fff}.node-panel-footer-spacer{flex:1}.group-member-badge{font-size:11px;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:10px;margin-right:auto}.node-panel-select{width:100%;padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;cursor:pointer}.node-panel-select:focus{outline:none;border-color:var(--color-border-focus)}.node-panel.read-only{background:var(--color-bg-primary)}.read-only-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-accent-primary-bg);border:1px solid rgba(100,108,255,.3);border-radius:8px;margin-bottom:16px}.read-only-icon{font-size:18px;flex-shrink:0}.read-only-notice p{margin:0;font-size:13px;color:var(--color-text-tertiary);line-height:1.4}.central-node-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--color-warning-bg, rgba(251, 191, 36, .1));border:1px solid var(--color-warning-border, rgba(251, 191, 36, .3));border-radius:8px;margin:12px 16px}.central-node-icon{font-size:18px;flex-shrink:0;line-height:1}.central-node-text{display:flex;flex-direction:column;gap:2px}.central-node-text strong{font-size:13px;font-weight:600;color:var(--color-warning-text, #fbbf24)}.central-node-text span{font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.read-only-value{padding:8px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-text-secondary);font-size:14px}.read-only-extensions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.read-only-extension-badge{display:inline-flex;align-items:center;padding:4px 10px;background:var(--color-bg-elevated);border-radius:12px;font-size:12px;color:var(--color-text-tertiary);text-transform:capitalize}.unsaved-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:2000}.unsaved-modal{background:var(--color-bg-tertiary);border-radius:12px;box-shadow:var(--shadow-xl);min-width:320px;max-width:400px;overflow:hidden}.unsaved-modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border-default)}.unsaved-modal-header h4{margin:0;font-size:16px;color:var(--color-text-primary)}.unsaved-modal-content{padding:16px 20px}.unsaved-modal-content p{margin:0;font-size:14px;color:var(--color-text-tertiary);line-height:1.5}.unsaved-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--color-border-default);background:var(--color-bg-secondary)}.unsaved-modal-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.unsaved-modal-btn:disabled{opacity:.5;cursor:not-allowed}.unsaved-modal-btn-discard{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.unsaved-modal-btn-discard:hover:not(:disabled){background:var(--color-border-subtle);color:var(--color-text-primary)}.unsaved-modal-btn-apply{background:var(--color-accent-primary);color:#fff}.unsaved-modal-btn-apply:hover:not(:disabled){background:var(--color-accent-primary-hover)}.unsaved-modal-btn-delete{background:var(--color-error);color:#fff}.unsaved-modal-btn-delete:hover:not(:disabled){background:#c0392b}.delete-modal .unsaved-modal-header h4{color:var(--color-error)}.delete-account-modal{max-width:480px}.delete-account-warning{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:16px;margin-bottom:16px}.delete-account-warning p{margin:0 0 8px;color:var(--color-text-primary)}.delete-account-warning ul{margin:8px 0 0;padding-left:24px}.delete-account-warning li{margin:4px 0;color:var(--color-error);font-size:14px}.delete-confirm-label{display:block;margin-bottom:8px;font-size:14px;color:var(--color-text-primary)}.delete-confirm-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);box-sizing:border-box}.delete-confirm-input:focus{outline:none;border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.delete-confirm-input::placeholder{color:var(--color-text-tertiary)}.delete-error-message{margin-top:12px;padding:10px 12px;background-color:#ef44441a;color:var(--color-error);border-radius:6px;font-size:14px}.unsaved-modal-btn-delete:disabled{opacity:.5;cursor:not-allowed}.pro-button{padding:8px 16px;border:none;border-radius:4px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;margin-left:auto}.pro-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.floating-toolbar .pro-button{margin-left:0;height:36px;padding:0 14px;font-size:13px;border-radius:8px;display:flex;align-items:center;justify-content:center}.user-menu{display:flex;align-items:center;gap:8px;margin-left:auto}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;cursor:pointer;border:2px solid transparent;box-sizing:border-box;transition:border-color .2s}.user-avatar.ws-joined{border-color:#4ade80}.user-avatar.ws-connecting,.user-avatar.ws-authenticating,.user-avatar.ws-joining{border-color:#facc15}.user-avatar.ws-disconnected{border-color:#f87171}.user-email{font-size:12px;color:var(--color-text-muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-button{padding:6px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:12px;transition:all .2s}.sign-out-button:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary)}.auth-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:var(--color-bg-primary);border-radius:12px;padding:32px;width:100%;max-width:400px;position:relative;border:1px solid var(--color-border-default)}.auth-modal h2{margin:0 0 8px;font-size:24px;color:var(--color-text-primary)}.auth-modal-description{color:var(--color-text-muted);font-size:14px;margin:0 0 24px;line-height:1.5}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--color-text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.auth-modal-close:hover{color:var(--color-text-primary)}.auth-error{background:var(--color-error-bg);border:1px solid rgba(239,68,68,.3);color:var(--color-error);padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px}.auth-modal form{display:flex;flex-direction:column;gap:12px}.auth-modal input[type=email],.auth-modal input[type=password]{padding:12px 16px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px}.auth-modal input[type=email]:focus,.auth-modal input[type=password]:focus{outline:none;border-color:var(--color-accent-primary)}.auth-modal input::placeholder{color:var(--color-text-disabled)}.auth-submit-btn{padding:12px 16px;border:none;border-radius:8px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.auth-submit-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-forgot-password{text-align:right;margin:-8px 0 12px}.auth-forgot-password button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:13px;padding:0}.auth-forgot-password button:hover{color:var(--color-accent-primary);text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--color-text-disabled);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-default)}.google-auth-button{width:100%;padding:12px 16px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s}.google-auth-button:hover:not(:disabled){border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.google-auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:20px;text-align:center;color:var(--color-text-muted);font-size:14px}.auth-switch button{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:14px;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-guest-note{margin-top:16px;text-align:center;color:var(--color-text-disabled);font-size:12px;font-style:italic}.auth-verification-pending{display:flex;flex-direction:column;align-items:center;text-align:center}.auth-verification-icon{color:var(--color-accent-primary);margin-bottom:16px}.auth-verification-pending h2{margin-bottom:12px}.auth-verification-note{margin-top:16px;color:var(--color-text-muted);font-size:13px}.auth-success{background-color:#34c75926;color:#34c759;padding:10px;border-radius:8px;margin-bottom:16px;font-size:14px;width:100%;box-sizing:border-box}.auth-continue-btn{margin-top:12px;padding:10px 20px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.auth-continue-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.email-verification-banner{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning);color:var(--color-text-primary);font-size:14px;z-index:100;flex-shrink:0;box-sizing:border-box}.email-verification-banner-content{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.email-verification-banner-icon{color:var(--color-warning);flex-shrink:0}.email-verification-banner-text{color:var(--color-text-secondary)}.email-verification-banner-message{font-size:13px;padding:4px 8px;border-radius:4px}.email-verification-banner-message.success{background:var(--color-success-bg);color:var(--color-success)}.email-verification-banner-message.error{background:var(--color-error-bg);color:var(--color-error)}.email-verification-banner-button{padding:6px 12px;background:var(--color-warning);color:#000;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.email-verification-banner-button:hover:not(:disabled){opacity:.9}.email-verification-banner-button:disabled{opacity:.6;cursor:not-allowed}.email-verification-banner-dismiss{background:transparent;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s ease}.email-verification-banner-dismiss:hover{color:var(--color-text-primary)}.verify-modal-message{font-size:13px;padding:8px 12px;border-radius:6px;margin-top:8px;text-align:center}.verify-modal-message.success{background:var(--color-success-bg);color:var(--color-success)}.verify-modal-message.error{background:var(--color-error-bg);color:var(--color-error)}@media(max-width:600px){.email-verification-banner{padding:8px 12px}.email-verification-banner-content{gap:8px}.email-verification-banner-text{font-size:13px}.email-verification-banner-button{padding:5px 10px;font-size:12px}}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:100vh;background:var(--color-bg-primary)}.auth-loading .logo-component{animation:auth-loading-fade-in .5s ease-out}.auth-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:auth-loading-spin .8s linear infinite}.auth-loading-text{color:var(--color-text-muted);font-size:14px;animation:auth-loading-pulse 1.5s ease-in-out infinite}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}@keyframes auth-loading-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-loading-pulse{0%,to{opacity:.5}50%{opacity:1}}.save-indicator.local.saved{color:#64c864b3}.map-config-panel{width:320px;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:10}.map-config-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.map-config-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.map-config-close{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.map-config-close:hover{color:var(--color-text-primary)}.map-config-tabs{display:flex;border-bottom:1px solid var(--color-border-default);gap:4px;padding:0 8px}.map-config-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:none;border:none;color:var(--color-text-muted);font-size:14px;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.map-config-tab:hover{color:var(--color-text-primary);background:var(--color-accent-primary-bg)}.map-config-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-accent-primary);background:var(--color-accent-primary-bg);border-radius:6px 6px 0 0}.map-config-content{padding:16px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.config-section{display:flex;flex-direction:column;gap:8px}.config-label{font-size:12px;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.config-hint{font-size:11px;color:var(--color-text-disabled);margin:0}.config-textarea{padding:10px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:13px;resize:vertical;font-family:inherit;min-height:60px}.config-textarea:focus{outline:none;border-color:var(--color-border-focus)}.config-input{padding:8px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:13px;width:100%;box-sizing:border-box}.config-input:focus{outline:none;border-color:var(--color-border-focus)}.permission-options{display:flex;flex-direction:column;gap:8px}.permission-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .2s}.permission-option:hover{border-color:var(--color-border-subtle);background:var(--color-bg-elevated)}.permission-option.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.permission-option input{display:none}.permission-icon{font-size:18px}.permission-text strong{font-size:13px;color:var(--color-text-primary)}.permission-text small{font-size:11px;color:var(--color-text-muted)}.background-options{display:flex;flex-direction:column;gap:12px}.background-color-row,.background-image-row,.background-opacity-row{display:flex;align-items:center;gap:10px}.background-color-row>span,.background-image-row>span,.background-opacity-row>span{font-size:12px;color:var(--color-text-tertiary);min-width:80px}.color-picker-inline{display:flex;align-items:center;gap:8px;flex:1}.color-picker-inline input[type=color]{width:32px;height:32px;border:none;border-radius:4px;cursor:pointer;padding:0;background:transparent}.color-picker-inline input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-picker-inline input[type=color]::-webkit-color-swatch{border-radius:4px;border:1px solid var(--color-border-subtle)}.color-hex-input{flex:1;padding:6px 10px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:12px;font-family:monospace}.color-hex-input:focus{outline:none;border-color:var(--color-accent-primary)}.background-image-row .config-input{flex:1}.opacity-slider{display:flex;align-items:center;gap:10px;flex:1}.opacity-slider input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:var(--color-border-default);border-radius:2px}.opacity-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-accent-primary);border-radius:50%;cursor:pointer}.opacity-value{font-size:11px;color:var(--color-text-muted);min-width:35px}.background-preview{margin-top:8px;border-radius:6px;overflow:hidden;max-height:100px}.background-preview img{width:100%;height:auto;object-fit:cover}.grid-style-options{display:flex;gap:8px}.grid-style-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .2s}.grid-style-btn:hover{border-color:var(--color-border-subtle);background:var(--color-bg-elevated)}.grid-style-btn.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.grid-style-icon{font-size:20px;line-height:1}.grid-style-label{font-size:11px;color:var(--color-text-muted)}.grid-style-btn.selected .grid-style-label{color:var(--color-accent-primary)}.palette-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.palette-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:2px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .2s}.palette-option:hover{border-color:var(--color-border-subtle);background:var(--color-bg-elevated)}.palette-option.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.palette-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:100%;aspect-ratio:2 / 1}.palette-preview.free-picker{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f97316,#22c55e,#0ea5e9,#8b5cf6);border-radius:4px}.palette-preview .color-wheel{font-size:20px}.palette-color{border-radius:2px}.palette-name{font-size:10px;color:var(--color-text-muted);text-align:center}.palette-option.selected .palette-name{color:var(--color-text-primary)}.selected-palette-preview{margin-top:12px;padding:10px;background:var(--color-bg-secondary);border-radius:6px}.preview-label{font-size:11px;color:var(--color-text-muted);display:block;margin-bottom:8px}.preview-colors{display:flex;gap:6px;flex-wrap:wrap}.preview-color-swatch{width:28px;height:28px;border-radius:4px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .2s}.preview-color-swatch:hover{transform:scale(1.1)}.config-button{padding:8px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;transition:all .2s}.config-button:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary);background:var(--color-accent-primary-bg)}.config-button.active{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:var(--color-accent-primary-bg-hover)}.flow-container.has-bg-image{position:relative}.flow-background-image{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;z-index:0}.background-image-section{margin-top:8px}.background-image-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.background-image-label>span{font-size:12px;color:var(--color-text-tertiary)}.media-library-btn{padding:4px 10px;border:1px solid var(--color-border-subtle);border-radius:4px;background:transparent;color:var(--color-accent-primary);cursor:pointer;font-size:11px;transition:all .2s}.media-library-btn:hover{background:var(--color-accent-primary-bg);border-color:var(--color-accent-primary)}.background-image-selected{display:flex;flex-direction:column;gap:8px}.background-image-selected .background-preview{margin-top:0}.background-image-actions{display:flex;gap:8px}.change-image-btn,.remove-image-btn{flex:1;padding:6px 12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:pointer;font-size:12px;transition:all .2s}.change-image-btn:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary)}.remove-image-btn:hover{border-color:var(--color-error);color:var(--color-error)}.background-image-empty{display:flex;flex-direction:column;gap:8px}.guest-hint{font-size:12px;color:var(--color-text-disabled);font-style:italic;margin:0;text-align:center;padding:12px;background:var(--color-bg-secondary);border-radius:6px}.add-image-btn{padding:12px;border:2px dashed var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:13px;transition:all .2s}.add-image-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.url-input-row{display:flex;flex-direction:column;gap:6px}.or-divider{font-size:11px;color:var(--color-text-disabled);text-align:center}.media-library-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:2000}.media-library{width:90%;max-width:700px;max-height:90vh;background:var(--color-bg-primary);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border-default)}.media-library-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-default)}.media-library-header h3{margin:0;font-size:16px;color:var(--color-text-primary)}.media-library-close{background:none;border:none;color:var(--color-text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.media-library-close:hover{color:var(--color-text-primary)}.storage-usage{padding:0 20px 16px;display:flex;flex-direction:column;gap:8px}.storage-bar{width:100%;height:6px;background:var(--color-border-default);border-radius:3px;overflow:hidden}.storage-bar-fill{height:100%;background:var(--gradient-accent);border-radius:3px;transition:width .3s}.storage-text{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.upload-area{margin:0 20px 16px;padding:24px;border:2px dashed var(--color-border-subtle);border-radius:8px;background:var(--color-bg-secondary);text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-area:hover:not(.disabled){border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.upload-area.drag-over{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg-hover)}.upload-area.disabled{cursor:not-allowed;opacity:.6}.upload-icon{font-size:32px;color:var(--color-accent-primary)}.upload-text{font-size:14px;color:var(--color-text-tertiary)}.upload-hint{font-size:11px;color:var(--color-text-disabled)}.upload-progress{width:100%;display:flex;flex-direction:column;gap:8px}.upload-progress-bar{height:8px;background:var(--color-border-default);border-radius:4px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--color-accent-primary);border-radius:4px;transition:width .2s}.upload-progress span{font-size:12px;color:var(--color-text-muted)}.upload-progress .upload-status-text{font-weight:500}.upload-progress .upload-resize-info{font-size:11px;color:#10b981;background:#10b9811a;padding:2px 8px;border-radius:4px;display:inline-block}.upload-error{display:flex;align-items:center;gap:8px;color:var(--color-error)}.upload-error .error-icon{width:24px;height:24px;background:var(--color-error-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.upload-success{display:flex;align-items:center;gap:8px;color:#10b981}.upload-success .success-icon{width:24px;height:24px;background:#10b9811a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#10b981}.media-grid{flex:1;overflow-y:auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;min-height:150px;align-content:start}.media-loading,.media-empty{grid-column:1 / -1;text-align:center;color:var(--color-text-disabled);font-size:14px;padding:40px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.media-loading-spinner{width:24px;height:24px;border:2px solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:media-spin .6s linear infinite}@keyframes media-spin{to{transform:rotate(360deg)}}.media-item{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s}.media-item:hover{border-color:var(--color-border-subtle)}.media-item.selected{border-color:var(--color-accent-primary);box-shadow:0 0 12px #646cff66}.media-item.current{border-color:var(--color-success)}.media-item img{width:100%;height:100%;object-fit:cover}.media-item-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 40%,transparent 60%,rgba(0,0,0,.6) 100%);display:flex;flex-direction:column;justify-content:space-between;padding:6px;opacity:0;transition:opacity .2s}.media-item:hover .media-item-overlay{opacity:1}.media-item-size{font-size:10px;color:#fff;background:#00000080;padding:2px 6px;border-radius:3px;align-self:flex-start}.media-item-delete{width:24px;height:24px;border:none;border-radius:4px;background:#ef4444cc;color:#fff;cursor:pointer;font-size:16px;align-self:flex-end;display:flex;align-items:center;justify-content:center;transition:background .2s}.media-item-delete:hover{background:var(--color-error)}.media-item-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#22c55ee6;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.media-library-actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border-default)}.media-btn-cancel,.media-btn-select{flex:1;padding:10px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.media-btn-cancel{border:1px solid var(--color-border-default);background:transparent;color:var(--color-text-muted)}.media-btn-cancel:hover{border-color:var(--color-border-subtle);color:var(--color-text-primary)}.media-btn-select{border:none;background:var(--color-accent-primary);color:#fff}.media-btn-select:hover:not(:disabled){background:var(--color-accent-primary-hover)}.media-btn-select:disabled{opacity:.5;cursor:not-allowed}.confirm-delete-overlay{position:absolute;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:10}.confirm-delete-modal{background:var(--color-bg-secondary);padding:20px;border-radius:12px;text-align:center;max-width:250px}.confirm-delete-modal p{margin:0 0 16px;color:var(--color-text-primary);font-size:14px}.confirm-delete-modal img{width:100%;max-height:120px;object-fit:cover;border-radius:6px;margin-bottom:16px}.confirm-delete-actions{display:flex;gap:8px}.confirm-delete-actions button{flex:1;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--color-border-default);background:var(--color-bg-tertiary);color:var(--color-text-tertiary);transition:all .2s}.confirm-delete-actions button:hover{border-color:var(--color-border-subtle);color:var(--color-text-primary)}.confirm-delete-actions .btn-danger{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.confirm-delete-actions .btn-danger:hover{background:var(--color-error);color:#fff}.confirm-delete-note{font-size:12px;color:var(--color-text-muted);margin-top:-8px}.media-search{display:flex;align-items:center;gap:8px;padding:16px 20px;flex-wrap:nowrap}.media-search-wrapper{flex:1;position:relative;min-width:0}.media-search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:13px;box-sizing:border-box}.media-search-input:focus{outline:none;border-color:var(--color-accent-primary)}.media-search-input::placeholder{color:var(--color-text-disabled)}.media-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.media-search-clear:hover{color:var(--color-text-primary)}.storage-info{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.storage-upgrade-btn{padding:4px 10px;border:none;border-radius:4px;background:#f59e0b;color:#fff;font-size:11px;cursor:pointer;white-space:nowrap}.storage-upgrade-btn:hover{background:#d97706}.folder-nav{display:flex;gap:8px;padding:0 20px 16px;flex-wrap:wrap;align-items:center}.folder-tab{padding:6px 12px;border:1px solid var(--color-border-default);border-radius:16px;background:transparent;color:var(--color-text-muted);font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.folder-tab:hover{border-color:var(--color-border-subtle);color:var(--color-text-primary)}.folder-tab.active{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg);color:var(--color-accent-primary)}.folder-tab.new-folder{border-style:dashed}.folder-tab:disabled{cursor:not-allowed;opacity:.7}.folder-delete{font-size:14px;opacity:0;transition:opacity .2s}.folder-tab:hover .folder-delete{opacity:.6}.folder-delete:hover{opacity:1!important;color:var(--color-error)}.new-folder-input{display:flex;gap:6px;align-items:center}.new-folder-input input{padding:6px 10px;border:1px solid var(--color-accent-primary);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:12px;width:120px}.new-folder-input input:focus{outline:none}.new-folder-input button{padding:6px 10px;border:none;border-radius:6px;font-size:12px;cursor:pointer;background:var(--color-bg-tertiary);color:var(--color-text-muted)}.new-folder-input button:first-of-type{background:var(--color-accent-primary);color:#fff}.new-folder-input input:disabled,.new-folder-input button:disabled{opacity:.6;cursor:not-allowed}.media-view-toggle{display:flex;gap:2px;background:var(--color-bg-secondary);padding:2px;border-radius:5px;flex-shrink:0}.media-view-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--color-text-secondary);transition:all .15s}.media-view-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.media-view-btn.active{background:var(--color-bg-primary);color:var(--color-accent-primary);box-shadow:0 1px 2px #0000001a}.media-grid-container{flex:1;overflow-y:auto;padding:0 20px 16px;min-height:200px;max-height:300px}.media-grid-row{display:grid;grid-template-columns:repeat(5,1fr);column-gap:12px;row-gap:12px}.media-list{display:flex;flex-direction:column;gap:2px}.media-list-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.media-list-item:hover{background:var(--color-bg-secondary)}.media-list-item.selected{background:var(--color-accent-primary-bg, rgba(59, 130, 246, .15));border-left:3px solid var(--color-accent-primary, #3b82f6)}.media-list-item.current{background:var(--color-success-alpha, rgba(34, 197, 94, .1))}.media-list-item-thumb{width:48px;height:48px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--color-bg-secondary)}.media-list-item-thumb img{width:100%;height:100%;object-fit:cover}.media-list-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.media-list-item-name{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-list-item-meta{font-size:11px;color:var(--color-text-secondary)}.media-list-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.media-list-item-badge{font-size:10px;padding:2px 6px;background:var(--color-success);color:#fff;border-radius:4px;font-weight:500}.media-list-item-delete{width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:4px;font-size:16px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.media-list-item:hover .media-list-item-delete{opacity:1}.media-list-item-delete:hover{background:var(--color-danger-alpha, rgba(239, 68, 68, .1));color:var(--color-danger)}@media(max-width:768px){.media-library{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.media-library-header{padding:12px 16px}.media-library-header h3{font-size:15px}.media-search{padding:12px 16px}.storage-usage{padding:0 16px 12px}.storage-info{justify-content:space-between}.folder-nav{padding:0 16px 12px;gap:6px}.folder-tab{padding:5px 10px;font-size:11px}.new-folder-input{flex-wrap:wrap;width:100%}.new-folder-input input{flex:1;min-width:100px}.upload-area{margin:0 16px 12px;padding:16px}.upload-icon{font-size:24px}.upload-text{font-size:13px}.upload-hint{font-size:10px}.media-grid-container{padding:0 16px 16px;max-height:none;flex:1}.media-grid-row{grid-template-columns:repeat(3,1fr);column-gap:8px;row-gap:8px}.media-list-item-delete{opacity:1}.media-list-item-thumb{width:40px;height:40px}.media-item .media-item-overlay{opacity:1;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.5) 100%)}.media-item-size{font-size:9px;padding:2px 4px}.media-item-delete{width:22px;height:22px;font-size:14px}.media-library-actions{padding:12px 16px;gap:10px}.media-btn-cancel,.media-btn-select{padding:12px 16px;font-size:14px}.confirm-delete-modal{margin:16px;max-width:calc(100% - 32px)}}.migration-modal{max-width:480px}.migration-description{color:var(--color-text-tertiary);font-size:14px;line-height:1.5;margin-bottom:20px}.migration-comparison{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;margin-bottom:20px}.migration-option-preview{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.migration-option-preview:first-child{border-bottom:1px solid var(--color-border-default);padding-bottom:12px;margin-bottom:4px}.migration-option-preview strong{color:var(--color-text-muted)}.migration-option-preview span{color:var(--color-text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-question{color:var(--color-text-primary);font-size:14px;margin-bottom:16px}.migration-options{display:flex;flex-direction:column;gap:12px}.migration-btn{width:100%;padding:16px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:all .2s}.migration-btn:hover:not(:disabled){border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.migration-btn:disabled{opacity:.6;cursor:not-allowed}.migration-btn.primary{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.migration-btn.primary:hover:not(:disabled){background:var(--color-accent-primary-bg-hover)}.migration-btn.danger:hover:not(:disabled){border-color:var(--color-error);background:var(--color-error-bg)}.migration-btn-title{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.migration-btn-desc{display:block;font-size:12px;color:var(--color-text-muted)}.migration-loading{text-align:center;color:var(--color-text-muted);font-size:14px;margin-top:16px}.migration-select{background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-text-primary);padding:8px 12px;font-size:14px;max-width:200px;cursor:pointer}.migration-select:hover{border-color:var(--color-accent-primary)}.migration-select:focus{outline:none;border-color:var(--color-accent-primary)}.loading-modal{background:var(--color-bg-tertiary);border-radius:12px;padding:40px 48px;text-align:center;box-shadow:var(--shadow-xl);animation:modalFadeIn .2s ease-out}.loading-modal h3{margin:20px 0 0;color:var(--color-text-primary);font-size:18px;font-weight:600}.loading-modal p{margin:0;color:var(--color-text-muted);font-size:14px}.loading-logo-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px}.loading-logo-wrapper .logo-component{z-index:1}.loading-logo-wrapper .logo-img{width:48px;height:48px}.loading-logo-spinner{position:absolute;top:0;left:0;width:80px;height:80px;border:3px solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border-default);border-top-color:var(--color-accent-primary);border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.connection-limit-modal{background:var(--color-bg-tertiary);border-radius:12px;padding:40px 48px;text-align:center;box-shadow:var(--shadow-xl);animation:modalFadeIn .2s ease-out;max-width:420px}.connection-limit-modal .limit-icon{font-size:48px;color:var(--color-warning);margin-bottom:16px}.connection-limit-modal h3{margin:0 0 12px;color:var(--color-text-primary);font-size:20px;font-weight:600}.connection-limit-modal p{margin:0 0 24px;color:var(--color-text-tertiary);font-size:14px;line-height:1.6}.limit-modal-actions{display:flex;gap:12px;justify-content:center}.limit-modal-btn{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.limit-modal-btn.primary{background:var(--color-accent-primary);color:#fff}.limit-modal-btn.primary:hover{background:var(--color-accent-primary-hover)}.limit-modal-btn.secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-subtle)}.limit-modal-btn.secondary:hover{background:var(--color-border-subtle)}.app-logo{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s;-webkit-user-select:none;user-select:none}.app-logo:hover{background:var(--color-accent-primary-bg)}.logo-icon{font-size:24px;color:var(--color-accent-primary)}.logo-icon-img{width:24px;height:24px;object-fit:contain}.logo-text{font-size:16px;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.floating-toolbar .app-logo{padding:4px 8px;overflow:hidden}.floating-toolbar .app-logo .logo-icon{font-size:22px}.floating-toolbar .app-logo .logo-icon-img{width:22px;height:22px}.floating-toolbar .app-logo.with-label{gap:0}.floating-toolbar .app-logo .logo-text-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:600;color:var(--color-text-primary);transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease;margin-left:0}.floating-toolbar .app-logo.with-label:hover .logo-text-label{max-width:120px;opacity:1;margin-left:8px}.toolbar-divider{width:1px;height:24px;background:var(--color-border-subtle);margin:0 8px}.splash-page{width:100vw;min-height:100vh;background:#fafafa;display:flex;flex-direction:column;align-items:center;overflow:auto;position:relative;scroll-behavior:smooth}.splash-mesh-bg{position:absolute;inset:0;z-index:0;opacity:.6}.splash-page:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(250,250,250,.5) 70%,rgba(250,250,250,.8) 100%);pointer-events:none;z-index:1}.splash-nav{position:absolute;top:20px;right:24px;z-index:10;display:flex;gap:24px}.splash-nav-link{font-size:15px;font-weight:500;color:#555;text-decoration:none;transition:color .2s}.splash-nav-link:hover{color:#dd7d04}.splash-content{text-align:center;padding:60px 40px 80px;max-width:900px;position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center}.splash-logo-container{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.splash-logo-icon{font-size:64px;filter:drop-shadow(0 4px 20px rgba(0,0,0,.2));animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.splash-logo{font-family:var(--font-primary);font-size:56px;font-weight:700;color:#333;margin:0;letter-spacing:-1px}.splash-logo-highlight{font-weight:800;color:#dd7d04}.splash-subtitle{font-family:var(--font-secondary);font-size:18px;color:#dd7d04;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:2px}.splash-tagline{font-family:var(--font-secondary);font-size:22px;color:#555;margin-bottom:16px;font-weight:400}.splash-description{font-size:16px;color:#666;max-width:600px;margin:0 auto 40px;line-height:1.6;padding:0 20px}.splash-tagline-redirect{color:#dd7d04;font-weight:600;background:#dd7d041a;padding:12px 24px;border-radius:30px;display:inline-block}.pricing-section{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:60px 20px 80px;background:#fafafaf2}.pricing-title{font-family:var(--font-primary);font-size:32px;font-weight:700;color:#333;margin-bottom:24px;text-align:center}.billing-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.billing-option{font-size:15px;font-weight:500;color:#888;transition:color .2s;display:flex;align-items:center;gap:8px}.billing-option.active{color:#333;font-weight:600}.toggle-switch{position:relative;width:52px;height:28px;background:#ddd;border:none;border-radius:14px;cursor:pointer;transition:background .3s;padding:0}.toggle-switch.annual{background:#dd7d04}.toggle-slider{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-switch.annual .toggle-slider{transform:translate(24px)}.save-badge{background:#22c55e;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.billed-annually{font-size:13px;color:#888;margin-top:4px}.pricing-table{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 20px}.pricing-tier{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.pricing-tier:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.pricing-tier.featured{border:2px solid #DD7D04;box-shadow:0 8px 30px #dd7d0426;transform:scale(1.02)}.pricing-tier.featured:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 16px 50px #dd7d0433}.tier-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#dd7d04;color:#fff;font-size:12px;font-weight:600;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.tier-header{text-align:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #eee}.tier-header h3{font-family:var(--font-primary);font-size:24px;font-weight:700;color:#333;margin:0 0 12px}.tier-price{display:flex;align-items:baseline;justify-content:center;gap:4px;transition:filter .2s}.tier-price.price-loading,.billed-annually.price-loading{filter:blur(4px);-webkit-user-select:none;user-select:none}.tier-price .price{font-family:var(--font-primary);font-size:42px;font-weight:800;color:#333}.tier-price .period{font-size:16px;color:#888}.tier-features{list-style:none;padding:0;margin:0 0 auto;flex:1}.tier-features li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:15px;color:#444;border-bottom:1px solid #f5f5f5}.tier-features li:last-child{border-bottom:none}.tier-features li.disabled{color:#aaa}.tier-features .check{color:#22c55e;font-weight:700;font-size:16px;flex-shrink:0}.tier-features .x{color:#ccc;font-weight:700;font-size:16px;flex-shrink:0}.tier-btn{display:block;width:100%;margin-top:24px;padding:14px 16px;border:2px solid #DD7D04;border-radius:10px;background:transparent;color:#dd7d04;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;white-space:nowrap;box-sizing:border-box}.tier-btn:hover{background:#dd7d041a}.tier-btn.primary{background:#dd7d04;color:#fff}.tier-btn.primary:hover{background:#c56f03}@media(max-width:900px){.pricing-section{padding:40px 20px 60px;box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.pricing-table{grid-template-columns:1fr;max-width:100%;padding:0;gap:20px;box-sizing:border-box}.pricing-tier{padding:24px 20px;margin:0;box-sizing:border-box;width:100%}.pricing-tier.featured{transform:none;order:-1}.pricing-tier.featured:hover{transform:translateY(-4px)}.pricing-title{font-size:26px}.billing-toggle{flex-wrap:wrap;justify-content:center;gap:8px}.tier-price .price{font-size:36px}}.splash-actions{display:flex;gap:20px;justify-content:center;margin-bottom:70px}.splash-btn{padding:16px 40px;border:none;border-radius:50px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:1px}.splash-btn.primary{background:#dd7d04;color:#fff;box-shadow:0 8px 30px #dd7d044d}.splash-btn.primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 40px #dd7d0466;background:#c56f03}.splash-btn.secondary{background:transparent;color:#dd7d04;border:2px solid #DD7D04}.splash-btn.secondary:hover{background:#dd7d041a;transform:translateY(-4px)}.splash-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.splash-feature{background:#fff;border:1px solid #eee;border-radius:20px;padding:32px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.splash-feature:hover{transform:translateY(-8px);box-shadow:0 20px 40px #dd7d0426;border-color:#dd7d044d}.feature-icon-wrapper{width:70px;height:70px;background:#dd7d041a;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.feature-icon{font-size:32px;display:block;color:#dd7d04}.splash-feature h3{color:#333;font-size:20px;font-weight:700;margin:0 0 12px}.splash-feature p{color:#666;font-size:15px;margin:0;line-height:1.6}@media(max-width:768px){.splash-features{grid-template-columns:1fr;gap:16px}.splash-logo-container{flex-direction:column;gap:8px}.splash-logo-icon{font-size:48px}.splash-logo{font-size:36px}.splash-tagline{font-size:18px;padding:0 20px}.splash-actions{flex-direction:column;padding:0 20px}.splash-btn{width:100%}.splash-shape{opacity:.4}.splash-page .logo-text{display:none}}.splash-footer{position:relative;width:100%;background:#2d2d2d;border-top:1px solid rgba(221,125,4,.2);margin-top:auto;z-index:10}.splash-footer-content{max-width:1200px;margin:0 auto;padding:48px 24px 32px;display:flex;justify-content:space-between;gap:48px}.splash-footer-brand{max-width:300px}.splash-footer-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-primary);font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:12px}.splash-footer-logo svg{color:#dd7d04}.splash-footer-tagline{color:#fff9;font-size:14px;line-height:1.5;margin:0}.splash-footer-links{display:flex;gap:64px}.splash-footer-column{display:flex;flex-direction:column;gap:12px}.splash-footer-column h4{font-family:var(--font-primary);color:#fff;font-size:14px;font-weight:600;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.splash-footer-column a,.splash-footer-column button{color:#fff9;text-decoration:none;font-size:14px;transition:color .2s;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit}.splash-footer-column a:hover,.splash-footer-column button:hover{color:#fff}.splash-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 24px;text-align:center}.splash-footer-bottom p{color:#fff6;font-size:13px;margin:0}@media(max-width:768px){.splash-footer-content{flex-direction:column;gap:32px;padding:32px 20px 24px}.splash-footer-brand{max-width:100%;text-align:center}.splash-footer-logo{justify-content:center}.splash-footer-links{flex-wrap:wrap;gap:32px;justify-content:center}.splash-footer-column{align-items:center;text-align:center;min-width:120px}.splash-footer-column button{text-align:center}}.dashboard-page{width:100vw;height:100vh;height:100dvh;background:var(--color-bg-primary);display:flex;flex-direction:column;overflow:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-default)}.dashboard-logo{display:flex;align-items:center;gap:8px}.dashboard-logo .logo-icon{font-size:28px}.dashboard-logo .logo-text{font-size:20px;font-weight:600;color:var(--color-text-primary)}.dashboard-user{display:flex;align-items:center;gap:16px}.dashboard-user .user-email{color:var(--color-text-muted);font-size:14px}.dashboard-content{flex:1;padding:32px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.dashboard-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-title-row h1{color:var(--color-text-primary);font-size:28px;font-weight:600;margin:0}.create-map-btn{padding:12px 24px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.create-map-btn:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px)}.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.no-maps{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--color-text-muted)}.no-maps p{margin-bottom:20px;font-size:16px}.dashboard-loading{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--color-text-muted)}.dashboard-loading .loading-spinner{margin:0 auto 16px}.dashboard-loading p{font-size:14px}.dashboard-creating-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.creating-modal{background:var(--color-bg-tertiary);border-radius:12px;padding:40px 60px;text-align:center;box-shadow:var(--shadow-lg)}.creating-modal .loading-spinner{margin:0 auto 16px}.creating-modal p{color:var(--color-text-primary);font-size:16px;margin:0}.delete-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.delete-modal{background:var(--gradient-card);border:1px solid var(--color-border-subtle);border-radius:16px;padding:32px;max-width:400px;width:calc(100% - 32px);margin:0 16px;text-align:center;box-shadow:var(--shadow-xl);animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.delete-modal-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:12px;font-size:28px;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.delete-modal-icon.danger{background:#dc262626;color:#ef4444}.delete-modal-icon.warning{background:#eab30826;color:#eab308}.delete-modal h3{color:var(--color-text-primary);font-size:22px;font-weight:600;margin:0 0 12px}.delete-modal p{color:var(--color-text-tertiary);font-size:14px;line-height:1.6;margin:0 0 24px}.delete-modal p strong{color:var(--color-text-primary)}.delete-modal-actions{display:flex;gap:12px;justify-content:center}.delete-modal-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.delete-modal-btn.cancel{background:transparent;border:1px solid var(--color-border-hover);color:var(--color-text-secondary)}.delete-modal-btn.cancel:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-border-subtle)}.delete-modal-btn.confirm{background:var(--gradient-accent);border:none;color:#fff}.delete-modal-btn.confirm:hover:not(:disabled){background:var(--gradient-accent-hover)}.delete-modal-btn.confirm.danger{background:#dc2626;border:1px solid #dc2626}.delete-modal-btn.confirm.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.delete-modal-btn:disabled{opacity:.6;cursor:not-allowed}.delete-warning-text{color:#ef4444;font-weight:500}.delete-modal.create-modal{max-width:380px}.create-modal-icon{width:56px;height:56px;border-radius:50%;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:24px;color:#fff;box-shadow:0 4px 12px #646cff4d}.create-modal-subtitle{color:var(--color-text-muted);font-size:14px;margin:0 0 24px}.create-map-name-input{width:100%;padding:14px 16px;font-size:15px;border:1px solid var(--glass-border);border-radius:10px;background:var(--color-bg-input);color:var(--color-text-primary);margin-bottom:24px;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.create-map-name-input::placeholder{color:var(--color-text-disabled)}.create-map-name-input:hover{border-color:var(--color-border-hover)}.create-map-name-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #646cff26}.create-map-name-input:disabled{opacity:.6;cursor:not-allowed}.delete-modal-btn.confirm.create{background:var(--gradient-accent);border:none}.delete-modal-btn.confirm.create:hover:not(:disabled){background:var(--gradient-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #646cff4d}.create-ai-modal{max-width:440px}.create-modal-icon.ai-icon{background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 4px 12px #8b5cf64d}.create-ai-topic-input{width:100%;padding:14px 16px;font-size:15px;border:1px solid var(--glass-border);border-radius:10px;background:var(--color-bg-input);color:var(--color-text-primary);margin-bottom:16px;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.create-ai-topic-input::placeholder{color:var(--color-text-disabled)}.create-ai-topic-input:hover{border-color:var(--color-border-hover)}.create-ai-topic-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.create-ai-topic-input:disabled{opacity:.6;cursor:not-allowed}.ai-generation-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;margin-bottom:16px;background:#8b5cf61a;border-radius:8px;color:#a78bfa;font-size:14px}.ai-generation-status .status-spinner{font-size:16px}.ai-generation-error{padding:12px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:14px;text-align:center}.create-ai-modal{overflow:hidden;position:relative}.ai-generation-visual{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-node{position:absolute;width:12px;height:12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;opacity:0;animation:floatNode 4s ease-in-out infinite}.floating-node.node-1{top:20%;left:10%;animation-delay:0s}.floating-node.node-2{top:60%;left:85%;animation-delay:.8s;width:8px;height:8px}.floating-node.node-3{top:80%;left:20%;animation-delay:1.6s;width:10px;height:10px}.floating-node.node-4{top:30%;left:90%;animation-delay:2.4s;width:6px;height:6px}.floating-node.node-5{top:70%;left:5%;animation-delay:3.2s;width:14px;height:14px}@keyframes floatNode{0%,to{opacity:0;transform:scale(0) translateY(0)}20%{opacity:.6;transform:scale(1) translateY(-10px)}50%{opacity:.4;transform:scale(.8) translateY(-20px)}80%{opacity:.6;transform:scale(1) translateY(-10px)}}.connection-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4),transparent);animation:drawLine 3s ease-in-out infinite}.connection-line.line-1{top:35%;left:15%;width:70%;animation-delay:.5s}.connection-line.line-2{top:55%;left:10%;width:50%;animation-delay:1.5s;transform:rotate(-15deg)}.connection-line.line-3{top:75%;left:40%;width:45%;animation-delay:2.5s;transform:rotate(10deg)}@keyframes drawLine{0%,to{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}}.create-modal-icon.ai-icon.pulsing{animation:pulseGlow 2s ease-in-out infinite}.create-modal-icon.ai-icon.complete{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 20px #10b98166;animation:completeBounce .5s ease-out}@keyframes pulseGlow{0%,to{box-shadow:0 4px 12px #8b5cf64d;transform:scale(1)}50%{box-shadow:0 4px 25px #8b5cf699;transform:scale(1.05)}}@keyframes completeBounce{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.ai-progress-stages{display:flex;justify-content:space-between;align-items:flex-start;margin:20px 0;padding:0 10px;position:relative}.progress-stage{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1;transition:all .3s ease}.stage-icon{width:36px;height:36px;border-radius:50%;background:var(--glass-bg);border:2px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px;transition:all .3s ease}.progress-stage.active .stage-icon{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;color:#fff;animation:stageActivate .4s ease-out}.progress-stage.completed .stage-icon{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}@keyframes stageActivate{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.stage-label{font-size:11px;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.progress-stage.active .stage-label{color:#a78bfa}.progress-stage.completed .stage-label{color:#10b981}.progress-line{position:absolute;top:18px;left:28px;right:28px;height:2px;background:var(--glass-border);z-index:0}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#8b5cf6);transition:width .5s ease-out;border-radius:1px}.ai-fun-fact{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:16px 0;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:10px;font-size:13px;color:var(--color-text-secondary);animation:fadeInUp .4s ease-out}.fun-fact-icon{color:#fbbf24;font-size:16px;flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.create-modal-subtitle{transition:opacity .3s ease;min-height:40px}.ai-create-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;display:flex;align-items:center;gap:8px}.ai-create-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;box-shadow:0 4px 12px #8b5cf64d}.dashboard-title-actions{display:flex;align-items:center;gap:10px}.create-map-btn.create-ai-btn{padding:10px 16px;background:linear-gradient(135deg,#8b5cf6,#6366f1);min-width:auto;gap:8px}.create-map-btn.create-ai-btn:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.create-map-btn.create-ai-btn svg{margin:0}@media(max-width:600px){.create-map-btn.create-ai-btn .ai-btn-text{display:none}.create-map-btn.create-ai-btn{padding:10px 14px}}.delete-error-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--color-error);color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:14px;z-index:1002;box-shadow:0 4px 16px #dc26264d;animation:slideUp .2s ease-out}.delete-error-toast button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.8}.delete-error-toast button:hover{opacity:1}.create-map-btn:disabled{opacity:.6;cursor:not-allowed}.map-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;position:relative}.map-card:hover{border-color:var(--color-accent-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.map-card.active{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.map-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.map-card-header h3{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.delete-map-btn{background:transparent;border:none;color:var(--color-text-disabled);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;opacity:0}.map-card:hover .delete-map-btn{opacity:1}.delete-map-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.map-card-info{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:13px}.map-card-date{color:var(--color-text-disabled)}.map-card-badge{position:absolute;top:-8px;right:12px;background:var(--color-accent-primary);color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px}.shared-section{margin-top:16px}.shared-section .dashboard-section-title{display:flex;align-items:center;gap:10px}.shared-section .dashboard-section-title svg{color:var(--color-accent-primary)}.map-card.shared-map{border-left:3px solid var(--color-accent-primary)}.map-card.shared-map .map-card-header{flex-wrap:wrap;gap:8px}.permission-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;flex-shrink:0}.permission-badge.view{background:var(--color-stat-purple-bg);color:var(--color-stat-purple)}.permission-badge.edit{background:var(--color-stat-green-bg);color:var(--color-stat-green)}.map-card-owner{margin-top:8px;font-size:12px;color:var(--color-text-disabled);font-style:italic}.maps-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.search-input-wrapper{position:relative;display:flex;flex:1;max-width:400px;min-width:200px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-disabled);font-size:14px}.maps-search-input{flex:1;padding:10px 110px 10px 36px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;color:var(--color-text-primary);font-size:14px;transition:all .2s}.maps-search-input:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.maps-search-input::placeholder{color:var(--color-text-disabled)}.search-input-wrapper .search-clear-btn{position:absolute;right:100px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;font-size:12px;z-index:1;border-radius:4px;transition:all .2s;line-height:1}.search-input-wrapper .search-clear-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.search-execute-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.search-execute-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.search-execute-btn:disabled{opacity:.5;cursor:not-allowed}.maps-table-container{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden}.maps-table-wrapper{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden;position:relative}.maps-table-scroll-container{overflow-y:auto;overflow-x:hidden;position:relative}.maps-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.maps-table thead{background:var(--color-bg-secondary);position:sticky;top:0;z-index:10;display:block;width:100%}.maps-table thead tr{border-bottom:1px solid var(--color-border-subtle);display:table;width:100%;table-layout:fixed}.maps-table th{padding:14px 16px;text-align:left;color:var(--color-text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-subtle);display:table-cell}.maps-table th:hover{color:var(--color-text-primary)}.sort-icon{margin-left:6px;font-size:10px;opacity:.5}.maps-table th:hover .sort-icon{opacity:1}.maps-table .col-name{width:35%}.maps-table .col-owner{width:30%}.maps-table .col-nodes{width:10%;text-align:center}.maps-table .col-updated{width:15%}.maps-table .col-actions{width:10%;text-align:center;cursor:default}.maps-table tbody{display:block;width:100%}.maps-table tbody tr{border-bottom:1px solid var(--color-border-default);cursor:pointer;transition:background .15s;display:table;width:100%;table-layout:fixed}.maps-table tbody tr:last-child{border-bottom:none}.maps-table tbody tr:hover{background:var(--color-bg-elevated)}.maps-table tbody tr.active{background:var(--color-accent-primary-bg)}.maps-table tbody tr.shared{background:#646cff0d}.maps-table tbody tr.shared:hover{background:var(--color-accent-primary-bg)}.maps-table td{padding:14px 16px;color:var(--color-text-secondary);font-size:14px;vertical-align:middle;overflow:hidden;display:table-cell}.maps-table td.col-name{width:35%}.maps-table td.col-owner{width:30%}.maps-table td.col-nodes{width:10%}.maps-table td.col-updated{width:15%}.maps-table td.col-actions{width:10%}.maps-table td.col-name,.maps-table td.col-owner{max-width:0}.maps-table td.col-nodes{text-align:center;color:var(--color-text-muted)}.map-name-cell{display:flex;align-items:center;gap:10px;min-width:0}.map-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;flex:1;min-width:0}.active-badge{background:var(--color-accent-primary);color:#fff;font-size:10px;font-weight:600;padding:3px 6px;border-radius:4px;flex-shrink:0}.owner-cell{display:flex;align-items:center;gap:8px;min-width:0}.owner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.maps-table .owner-cell,.maps-table .owner-cell span{color:var(--color-text-secondary)}.owner-cell.is-owner .owner-icon{color:var(--color-accent-primary)}.owner-cell.is-shared .owner-icon{color:var(--color-stat-yellow)}.owner-icon{font-size:12px}.owner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.permission-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;flex-shrink:0}.permission-tag.view{background:var(--color-stat-purple-bg);color:var(--color-stat-purple)}.permission-tag.edit{background:var(--color-stat-green-bg);color:var(--color-stat-green)}.permission-tag svg{font-size:9px}.table-delete-btn{background:transparent;border:none;color:var(--color-text-disabled);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all .2s;font-size:14px}.table-delete-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.shared-indicator{color:var(--color-stat-yellow);font-size:14px}.no-results{text-align:center;color:var(--color-text-disabled);padding:40px 16px!important;font-style:italic}.maps-mobile-list{display:none}.map-mobile-card{background:var(--color-bg-elevated);border-radius:8px;padding:14px;margin-bottom:10px;cursor:pointer;position:relative;transition:all .15s}.map-mobile-card:hover{background:var(--color-bg-tertiary)}.map-mobile-card.active{background:var(--color-accent-primary-bg);border:1px solid var(--color-accent-primary)}.map-mobile-card.shared{border-left:3px solid var(--color-stat-yellow)}.mobile-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mobile-card-header .map-name{font-weight:500;font-size:15px;color:var(--color-text-primary)}.mobile-card-meta{display:flex;flex-direction:column;gap:6px}.mobile-card-meta .owner-cell{font-size:13px;color:var(--color-text-tertiary)}.mobile-card-stats{display:flex;gap:16px;font-size:12px;color:var(--color-text-disabled)}.mobile-delete-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--color-text-disabled);cursor:pointer;padding:6px 8px;border-radius:4px}.mobile-delete-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.no-results-mobile{text-align:center;color:var(--color-text-disabled);padding:30px 16px;font-style:italic}@media(max-width:800px){.maps-table-toolbar{flex-direction:column;align-items:stretch;flex-shrink:0;gap:8px;margin-bottom:12px;margin-left:0;margin-right:0}.search-input-wrapper{max-width:none;width:100%}.maps-search-input{padding:8px 62px 8px 30px;font-size:12px}.search-icon{left:8px;font-size:11px}.search-input-wrapper .search-clear-btn{right:50px;padding:3px 5px;font-size:11px}.search-execute-btn{right:0;padding:5px 8px;font-size:10px}.maps-table-scroll-container{height:500px!important}.maps-table th{padding:10px 6px;font-size:10px}.maps-table td{padding:10px 6px;font-size:12px}.maps-table .col-name{width:40%}.maps-table .col-owner,.maps-table .col-nodes{display:none}.maps-table .col-updated{width:35%}.maps-table .col-actions{width:25%;text-align:center}.map-name{font-size:13px}.active-badge,.deleted-badge{font-size:8px;padding:2px 4px}.action-buttons{gap:6px}.table-delete-btn,.table-restore-btn{padding:6px 8px;font-size:12px}.maps-view-toggle{width:100%;padding:2px;box-sizing:border-box}.maps-view-toggle .toggle-option{flex:1;padding:7px 8px;font-size:11px;gap:3px;min-width:0}.maps-view-toggle .toggle-option svg{font-size:10px}}.back-to-editor{position:fixed;bottom:24px;left:24px;padding:12px 20px;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.back-to-editor:hover{background:var(--color-bg-elevated);border-color:var(--color-border-hover)}@media(max-width:768px){.dashboard-page{overflow:hidden}.dashboard-header{padding:12px 16px;flex-shrink:0}.dashboard-content{padding:20px 16px;overflow:hidden;display:flex;flex-direction:column}.dashboard-maps-section{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.maps-table-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.maps-mobile-list{flex:1;overflow-y:auto;min-height:0}.dashboard-title-row{margin-bottom:16px}.dashboard-title-row h1{font-size:22px}.dashboard-title-row .create-map-btn{padding:8px 12px;font-size:13px}.maps-grid{grid-template-columns:1fr}.dashboard-user .user-email{display:none}}.dashboard-stats-section{margin-bottom:32px}.dashboard-section-title{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:var(--gradient-card);border:1px solid var(--color-border-default);border-top:3px solid;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.stat-card-content{flex:1}.stat-card-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-card-label{font-size:13px;color:var(--color-text-muted);margin-top:4px}.dashboard-charts-section{margin-bottom:32px}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dashboard-chart{background:var(--gradient-card);border:1px solid var(--color-border-default);border-radius:12px;padding:20px}.dashboard-chart-title{color:var(--color-text-primary);font-size:14px;font-weight:600;margin:0 0 16px}.mini-bar-chart{display:flex;flex-direction:column;gap:12px}.mini-bar-row{display:flex;align-items:center;gap:12px}.mini-bar-label{width:80px;font-size:12px;color:var(--color-text-muted);flex-shrink:0}.mini-bar-container{flex:1;height:8px;background:var(--color-bg-elevated);border-radius:4px;overflow:hidden}.mini-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.mini-bar-value{width:30px;font-size:13px;font-weight:600;color:var(--color-text-primary);text-align:right}.activity-chart{display:flex;align-items:flex-end;justify-content:space-between;height:120px;gap:8px;padding-top:20px}.activity-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.activity-bar{width:100%;max-width:32px;border-radius:4px 4px 0 0;transition:height .5s ease,background-color .3s ease;display:flex;align-items:flex-start;justify-content:center;position:relative}.activity-count{position:absolute;top:-18px;font-size:11px;font-weight:600;color:var(--color-accent-primary)}.activity-day{font-size:11px;color:var(--color-text-disabled);margin-top:8px}.donut-chart-container{display:flex;flex-direction:column;align-items:center}.donut-chart{position:relative;width:100px;height:100px;margin:0 auto}.donut-svg{width:100%;height:100%}.donut-progress{transition:stroke-dashoffset .8s ease}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-value{font-size:24px;font-weight:700;color:var(--color-text-primary);line-height:1}.donut-label{font-size:10px;color:var(--color-text-muted);margin-top:4px}.dashboard-maps-section{margin-top:16px}.subscribed-maps-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border-default)}.subscribed-maps-section .dashboard-title-row{margin-bottom:8px}.subscribed-count{font-size:14px;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:4px 12px;border-radius:12px}.subscribed-maps-description{font-size:14px;color:var(--color-text-muted);margin-bottom:16px}.subscribed-maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.subscribed-map-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.subscribed-map-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.subscribed-map-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.subscribed-map-owner{display:flex;flex-direction:column;gap:2px}.subscribed-map-owner .owner-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.subscribed-map-owner .subscribed-date{font-size:12px;color:var(--color-text-muted)}.subscribed-map-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.subscribed-map-stats{display:flex;gap:16px;font-size:13px;color:var(--color-text-muted);margin-bottom:12px}.subscribed-map-stats span{display:flex;align-items:center;gap:6px}.subscribed-map-stats svg{font-size:10px}.subscribed-map-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-default)}.subscribed-map-view-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.subscribed-map-view-btn:hover{background:#7c3aed}.subscribed-map-unsub-btn{padding:8px 12px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-default);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.subscribed-map-unsub-btn:hover{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}@media(max-width:768px){.subscribed-maps-grid{grid-template-columns:1fr}.subscribed-map-actions{flex-direction:column}.subscribed-map-view-btn,.subscribed-map-unsub-btn{width:100%}}@media(max-width:1200px){.charts-grid{grid-template-columns:repeat(2,1fr)}.charts-grid .donut-chart-container{grid-column:span 2}}@media(max-width:768px){.dashboard-stats-section{margin-bottom:12px;flex-shrink:0}.stats-grid{grid-template-columns:repeat(4,1fr);gap:6px}.charts-grid{grid-template-columns:1fr}.charts-grid .donut-chart-container{grid-column:span 1}.stat-card{padding:8px 4px;flex-direction:column;align-items:center;gap:4px;text-align:center;border-top-width:2px;border-radius:8px}.stat-card-icon{width:24px;height:24px;font-size:10px;border-radius:6px}.stat-card-value{font-size:14px;line-height:1}.stat-card-label{font-size:8px;margin-top:0}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-default)}.navbar-left{display:flex;align-items:center;gap:8px}.navbar-right{display:flex;align-items:center;gap:12px}.navbar-link{padding:8px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:20px;line-height:1;transition:all .2s}.navbar-link:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.navbar .logo-icon{font-size:28px}.navbar .logo-icon-img{width:28px;height:28px;object-fit:contain}.navbar .logo-text{font-size:20px;font-weight:600;color:var(--color-text-primary)}@media(max-width:768px),(pointer:coarse){.navbar{padding:12px 16px}.navbar-right{gap:8px}.navbar-link-desktop{display:none}.navbar-link{padding:6px;font-size:18px}.navbar .logo-icon,.navbar .logo-icon-img{width:24px;height:24px;font-size:24px}.navbar .logo-text{font-size:16px}}.user-dropdown-item-mobile-only{display:none}@media(max-width:768px),(pointer:coarse){.user-dropdown-item-mobile-only{display:flex}}.user-dropdown-container{position:relative;margin-left:auto}.floating-toolbar .user-dropdown-container{margin-left:0}.user-avatar-btn{width:36px!important;height:36px!important;border-radius:50%!important;background:var(--color-accent-primary)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;font-weight:600!important;color:#fff!important;cursor:pointer!important;border:2px solid transparent!important;box-sizing:border-box!important;transition:all .2s!important;padding:0!important}.user-avatar-btn:hover{transform:scale(1.05);background:var(--color-accent-primary)!important}.user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-avatar-btn.ws-joined{border-color:var(--color-ws-connected)}.user-avatar-btn.ws-connecting,.user-avatar-btn.ws-authenticating,.user-avatar-btn.ws-joining{border-color:var(--color-ws-connecting)}.user-avatar-btn.ws-disconnected{border-color:var(--color-ws-disconnected)}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:14px}.avatar-md{width:40px;height:40px;font-size:16px}.avatar-lg{width:48px;height:48px;font-size:18px}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--color-accent-primary);color:#fff;font-weight:600}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:9999;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.user-dropdown-email{font-size:13px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.user-dropdown-divider{height:1px;background:var(--color-border-default);margin:4px 0}.user-dropdown-item{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:10px 16px!important;background:none!important;border:none!important;border-radius:0!important;color:var(--color-text-secondary)!important;font-size:14px!important;cursor:pointer!important;text-align:left!important;transition:all .15s!important}.user-dropdown-item:hover{background:var(--color-accent-primary-bg)!important;color:var(--color-text-primary)!important}.user-dropdown-item .dropdown-icon{font-size:16px;width:20px;text-align:center}.user-dropdown-signout{color:var(--color-ws-disconnected)!important}.user-dropdown-signout:hover{background:var(--color-error-bg)!important;color:var(--color-ws-disconnected)!important}.user-dropdown-theme{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.user-dropdown-theme-label{font-size:13px;color:var(--color-text-muted)}.user-dropdown-theme-options{display:flex;gap:4px;background:var(--color-bg-tertiary);padding:3px;border-radius:6px}.theme-option-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.theme-option-btn:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.theme-option-btn.active{background:var(--color-accent-primary);color:#fff}.settings-page{width:100vw;min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.settings-content{flex:1;padding:32px;max-width:800px;margin:0 auto;width:100%}.settings-content h1{color:var(--color-text-primary);font-size:28px;font-weight:600;margin:0 0 32px}.settings-section{margin-bottom:32px}.settings-section h2{color:var(--color-text-muted);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.settings-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:12px;padding:20px}.settings-field{margin-bottom:16px}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;font-size:13px;color:var(--color-text-muted);margin-bottom:8px}.settings-value{font-size:14px;color:var(--color-text-primary);padding:10px 14px;background:var(--color-bg-primary);border-radius:6px}.settings-input{width:100%;padding:10px 14px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-text-primary);font-size:14px;box-sizing:border-box}.settings-input:focus{outline:none;border-color:var(--color-accent-primary)}.settings-select{padding:10px 14px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-text-primary);font-size:14px;cursor:pointer}.settings-select:focus{outline:none;border-color:var(--color-accent-primary)}.settings-toggle{display:flex;align-items:center;gap:10px}.settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.settings-toggle label{font-size:14px;color:var(--color-text-secondary);margin:0;cursor:pointer}.settings-danger{border-color:#ef44444d}.settings-danger-item{display:flex;justify-content:space-between;align-items:center;gap:20px}.settings-danger-item strong{color:var(--color-text-primary);font-size:14px}.settings-danger-item p{color:var(--color-text-muted);font-size:13px;margin:4px 0 0}.settings-btn-danger{padding:10px 20px;background:transparent;border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.settings-btn-danger:hover:not(:disabled){background:var(--color-error-bg)}.settings-btn-danger:disabled{opacity:.5;cursor:not-allowed}.settings-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-default)}.settings-btn-primary{padding:10px 24px;background:var(--color-info);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-btn-primary:hover:not(:disabled){filter:brightness(.9)}.settings-btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-btn-secondary{padding:10px 24px;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-btn-secondary:hover{background:var(--color-border-subtle);color:var(--color-text-primary)}.settings-message{padding:10px 14px;border-radius:6px;font-size:14px;margin-top:12px}.settings-message-success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.settings-message-error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.billing-page{width:100vw;min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.billing-content{flex:1;padding:32px;max-width:900px;margin:0 auto;width:100%}.billing-content h1{color:var(--color-text-primary);font-size:28px;font-weight:600;margin:0 0 32px}.billing-section{margin-bottom:32px}.billing-section h2{color:var(--color-text-muted);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.billing-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:12px;padding:20px}.billing-plan-card{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.plan-info{flex:1}.plan-badge{display:inline-block;padding:4px 12px;background:var(--color-accent-primary-bg-hover);color:var(--color-accent-primary);border-radius:20px;font-size:12px;font-weight:600;margin-bottom:8px}.plan-info h3{color:var(--color-text-primary);font-size:20px;margin:0 0 4px}.plan-info p{color:var(--color-text-muted);font-size:14px;margin:0}.plan-features ul{list-style:none;padding:0;margin:0}.plan-features li{color:var(--color-text-tertiary);font-size:13px;padding:4px 0 4px 20px;position:relative}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--color-success)}.billing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.billing-upgrade-card{position:relative;display:flex;flex-direction:column}.billing-upgrade-card.featured{border-color:var(--color-accent-primary);background:linear-gradient(180deg,var(--color-accent-primary-bg) 0%,var(--color-bg-tertiary) 100%)}.featured-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:4px 12px;background:var(--color-accent-primary);color:#fff;font-size:11px;font-weight:600;border-radius:20px;white-space:nowrap}.plan-header{margin-bottom:16px}.plan-header h3{color:var(--color-text-primary);font-size:20px;margin:0 0 8px}.plan-price{display:flex;align-items:baseline;gap:4px}.plan-price .price{font-size:32px;font-weight:700;color:var(--color-text-primary)}.plan-price .period{font-size:14px;color:var(--color-text-muted)}.plan-features-list{list-style:none;padding:0;margin:0 0 20px;flex:1}.plan-features-list li{color:var(--color-text-secondary);font-size:14px;padding:8px 0 8px 24px;position:relative;border-bottom:1px solid var(--color-border-default)}.plan-features-list li:last-child{border-bottom:none}.plan-features-list li:before{content:"✓";position:absolute;left:0;color:var(--color-success)}.billing-btn-upgrade{width:100%;padding:12px 20px;background:var(--color-accent-primary);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.billing-btn-upgrade:hover:not(:disabled){background:#535bf2}.billing-btn-upgrade:disabled{opacity:.6;cursor:not-allowed}.usage-item{margin-bottom:16px}.usage-item:last-child{margin-bottom:0}.usage-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.usage-label span{font-size:14px;color:var(--color-text-secondary)}.usage-count{color:var(--color-text-muted)!important;font-size:13px!important}.usage-bar{height:8px;background:var(--color-border-default);border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),#8b5cf6);border-radius:4px;transition:width .3s}.usage-upsell{margin-top:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;font-size:13px;color:#f59e0b}@media(max-width:768px){.settings-content,.billing-content{padding:20px 16px}.settings-content h1,.billing-content h1{font-size:22px}.billing-plan-card{flex-direction:column}.settings-danger-item{flex-direction:column;align-items:flex-start}}.access-denied-page{width:100vw;min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.access-denied-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.access-denied-icon{font-size:64px;margin-bottom:24px}.access-denied-content h1{color:var(--color-text-primary);font-size:32px;font-weight:600;margin:0 0 16px}.access-denied-content p{color:var(--color-text-muted);font-size:16px;max-width:400px;margin:0 0 32px;line-height:1.5}.access-denied-btn{padding:12px 24px;background:var(--color-accent-primary);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.access-denied-btn:hover{background:#535bf2}.theme-setting-row.vertical{flex-direction:column;align-items:stretch;gap:6px}.theme-setting-row.vertical label{min-width:unset}.extension-input{width:100%;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;box-sizing:border-box}.extension-input::placeholder{color:var(--color-text-disabled)}.extension-input.input-error{border-color:var(--color-error, #dc3545)}.extension-input.input-error:focus{border-color:var(--color-error, #dc3545)}.input-error-message{color:var(--color-error, #dc3545);font-size:12px;margin-top:4px;display:block}.extension-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.extension-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.extension-preview-small{margin-top:8px;border-radius:4px;overflow:hidden;max-height:80px}.extension-preview-small img{width:100%;height:auto;object-fit:cover;display:block}.extension-preview-node{margin-top:12px;border-radius:8px;overflow:hidden;background:var(--color-bg-primary);border:1px solid var(--glass-border);aspect-ratio:16 / 9}.extension-preview-node iframe{width:100%;height:100%;border:none;display:block}.extension-preview-node.extension-preview-image{aspect-ratio:auto;max-height:200px}.extension-preview-node.extension-preview-image img{width:100%;height:100%;object-fit:contain;display:block;max-height:200px}.image-source-row{display:flex;gap:8px}.image-source-btn{padding:6px 12px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:12px;cursor:pointer;transition:all .2s}.image-source-btn:hover{border-color:var(--color-accent-primary);background:var(--color-border-default)}.extension-theme-settings .quill{background:var(--color-bg-primary);border-radius:4px;border:1px solid var(--color-border-subtle)}.extension-theme-settings .ql-toolbar.ql-snow{background:var(--color-bg-tertiary);border:none;border-bottom:1px solid var(--color-border-subtle);border-radius:4px 4px 0 0;padding:6px 8px}.extension-theme-settings .ql-container.ql-snow{border:none;border-radius:0 0 4px 4px;font-size:14px}.extension-theme-settings .ql-editor{min-height:120px;max-height:300px;color:var(--color-text-primary);line-height:1.5}.extension-theme-settings .ql-editor.ql-blank:before{color:var(--color-text-disabled);font-style:normal}.extension-theme-settings .ql-toolbar .ql-stroke{stroke:var(--color-text-secondary)}.extension-theme-settings .ql-toolbar .ql-fill{fill:var(--color-text-secondary)}.extension-theme-settings .ql-toolbar .ql-picker{color:var(--color-text-secondary)}.extension-theme-settings .ql-toolbar button:hover .ql-stroke,.extension-theme-settings .ql-toolbar .ql-picker-label:hover .ql-stroke{stroke:var(--color-text-primary)}.extension-theme-settings .ql-toolbar button:hover .ql-fill,.extension-theme-settings .ql-toolbar .ql-picker-label:hover .ql-fill{fill:var(--color-text-primary)}.extension-theme-settings .ql-toolbar button.ql-active .ql-stroke{stroke:var(--color-accent-primary)}.extension-theme-settings .ql-toolbar button.ql-active .ql-fill{fill:var(--color-accent-primary)}.extension-theme-settings .ql-picker-options{background:var(--color-bg-secondary);border-color:var(--color-border-subtle)}.extension-theme-settings .ql-picker-item{color:var(--color-text-secondary)}.extension-theme-settings .ql-picker-item:hover{color:var(--color-text-primary)}.extension-theme-settings .ql-tooltip{background:var(--color-bg-secondary);border-color:var(--color-border-subtle);color:var(--color-text-primary);box-shadow:0 2px 8px #0000004d}.extension-theme-settings .ql-tooltip input[type=text]{background:var(--color-bg-primary);border-color:var(--color-border-subtle);color:var(--color-text-primary)}.extension-theme-settings .ql-tooltip a{color:var(--color-accent-primary)}.rte-open-editor-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;background:var(--color-accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.rte-open-editor-btn:hover:not(:disabled){background:var(--color-accent-primary-hover, #5558e3);transform:translateY(-1px)}.rte-open-editor-btn:disabled{opacity:.5;cursor:not-allowed}.rte-open-editor-btn svg{font-size:12px}.rte-preview{margin-top:12px;padding:12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:6px;font-size:13px;line-height:1.5;color:var(--color-text-secondary);max-height:200px;overflow-y:auto;word-wrap:break-word}.rte-preview h1,.rte-preview h2,.rte-preview h3{margin-top:.5em;margin-bottom:.25em;color:var(--color-text-primary)}.rte-preview h1:first-child,.rte-preview h2:first-child,.rte-preview h3:first-child{margin-top:0}.rte-preview p{margin:0 0 .5em}.rte-preview p:last-child{margin-bottom:0}.rte-preview a{color:var(--color-accent-primary)}.rte-preview--empty{color:var(--color-text-disabled);font-style:italic;text-align:center}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:500;cursor:pointer;transition:all .2s ease;border-width:2px;border-style:solid;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.link-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.link-button:active{transform:translateY(0)}.link-button-small{padding:6px 12px;font-size:12px;min-height:28px}.link-button-medium{padding:10px 20px;font-size:14px;min-height:40px}.link-button-large{padding:14px 28px;font-size:16px;min-height:52px}.link-button-rounded{border-radius:8px}.link-button-pill{border-radius:50px}.link-button-square{border-radius:0}.link-button-ghost{border-color:transparent}.link-button-ghost:hover{background:#ffffff1a!important}.link-button-gradient{border:none}.link-button-empty{opacity:.6;cursor:default;border-style:dashed}.link-button-empty:hover{transform:none;box-shadow:none}.node-content.link-button-mode{padding:0}.link-extension-view{width:100%;position:relative}.link-extension-view .link-anchor{color:var(--color-accent-primary);text-decoration:none;font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-extension-view .link-anchor:hover{text-decoration:underline}.link-extension-empty{text-align:center;padding:8px}.link-extension-empty .link-placeholder{color:var(--color-text-disabled);font-size:11px;font-style:italic}.link-button-node{width:100%;height:100%}.mindmap-node-button{position:relative;width:100%;height:100%;min-width:80px;min-height:40px}.mindmap-node-button:hover{filter:brightness(1.1)}.mindmap-node-button:active{filter:brightness(.95)}.mindmap-node-button.is-selected{animation:selectionGlowFade 1s ease-out forwards}.link-button-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;padding:0 8px}.link-button-label-input{background:transparent;border:none;outline:none;font:inherit;width:100%;max-width:100%}.link-button-toolbar{position:absolute;top:-44px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:6px 8px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100}.link-button-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:var(--color-accent-primary-bg);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.link-button-toolbar-btn svg{width:16px;height:16px}.link-button-toolbar-btn:hover{background:var(--color-accent-primary-bg-hover);color:var(--color-text-primary)}.link-button-toolbar-btn:active{background:#646cff80}.link-button-toolbar-btn--danger{color:var(--color-error)}.link-button-toolbar-btn--danger:hover{background:#ff646466;color:#fff}.link-button-toolbar-btn--danger:active{background:#ff646499}.notification-bell-container{position:relative;display:inline-block}.notification-bell-btn{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;position:relative;color:var(--color-text-muted)}.notification-bell-btn:hover{background:var(--color-accent-primary-bg);color:var(--color-text-primary)}.bell-icon{font-size:20px}.notification-badge{position:absolute;top:2px;right:2px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.notification-dropdown{position:absolute;top:100%;right:0;width:360px;max-height:480px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.notification-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.notification-header-actions{display:flex;align-items:center;gap:8px}.mark-all-read-btn{background:transparent;border:none;color:var(--color-accent-primary);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px}.mark-all-read-btn:hover{background:var(--color-accent-primary-bg)}.notification-close-btn{display:none;background:transparent;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px}.notification-close-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.notification-categories{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--color-border-default);overflow-x:auto}.category-tab{background:transparent;border:none;color:var(--color-text-muted);font-size:12px;cursor:pointer;padding:6px 10px;border-radius:4px;display:flex;align-items:center;gap:4px;white-space:nowrap}.category-tab:hover{background:var(--color-accent-primary-bg);color:var(--color-text-primary)}.category-tab.active{background:var(--color-accent-primary-bg-hover);color:var(--color-accent-primary)}.tab-badge{background:var(--color-error);color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;min-width:14px;text-align:center}.notification-list{flex:1;overflow-y:auto}.notification-loading,.notification-empty{padding:32px;text-align:center;color:var(--color-text-disabled)}.notification-item{padding:12px 16px;border-bottom:1px solid var(--color-border-default);cursor:pointer;transition:background .2s}.notification-item:hover{background:var(--color-accent-primary-bg)}.notification-item.unread{background:var(--color-accent-primary-bg);border-left:3px solid var(--color-accent-primary)}.notification-content{display:flex;gap:12px;align-items:flex-start}.notification-image{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.notification-avatar{width:40px;height:40px;font-size:16px}.notification-text{flex:1;min-width:0}.notification-title{font-weight:600;color:var(--color-text-primary);font-size:13px;margin-bottom:4px}.notification-message{color:var(--color-text-tertiary);font-size:12px;line-height:1.4;margin-bottom:4px;word-wrap:break-word}.notification-time{color:var(--color-text-disabled);font-size:11px}.notification-dismiss{background:transparent;border:none;color:var(--color-text-disabled);font-size:18px;cursor:pointer;padding:4px;line-height:1;border-radius:4px;flex-shrink:0}.notification-dismiss:hover{background:var(--color-accent-primary-bg);color:var(--color-text-primary)}.notification-actions{display:flex;gap:8px;margin-top:10px;padding-left:52px}.notification-action-btn{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:background .2s}.notification-action-btn.primary{background:var(--color-accent-primary);color:#fff}.notification-action-btn.primary:hover{background:var(--color-accent-primary-hover)}.notification-action-btn.secondary{background:var(--color-bg-elevated);color:var(--color-text-primary)}.notification-action-btn.secondary:hover{background:var(--color-border-subtle)}.notification-action-btn.danger{background:var(--color-error);color:#fff}.notification-action-btn.danger:hover{background:#b91c1c}.notification-action-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.notification-dropdown{position:fixed;inset:0;width:100%;max-height:100%;border-radius:0;border:none}.notification-header{padding:16px;position:sticky;top:0;background:var(--color-bg-tertiary);z-index:1}.notification-header h3{font-size:18px}.notification-close-btn{display:block}.notification-categories{padding:12px 16px;position:sticky;top:56px;background:var(--color-bg-tertiary);z-index:1}.category-tab{padding:8px 14px;font-size:13px}.notification-item{padding:16px}.notification-title{font-size:14px}.notification-message{font-size:13px}.notification-actions{padding-left:52px}.notification-action-btn{padding:8px 16px;font-size:13px}}.theme-toggle{display:flex;flex-direction:column;gap:8px}.theme-toggle-label{font-size:12px;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.theme-toggle-options{display:flex;gap:4px;background:var(--color-bg-tertiary);padding:4px;border-radius:8px;border:1px solid var(--color-border-default)}.theme-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:12px;cursor:pointer;transition:all .2s;flex:1}.theme-option:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.theme-option.active{background:var(--color-accent-primary);color:#fff}.theme-toggle-compact{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-muted);font-size:16px;cursor:pointer;transition:all .2s}.theme-toggle-compact:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.floating-toolbar-overflow{display:none}.floating-toolbar-overflow-btn{position:relative}.floating-toolbar-overflow-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:10002;display:flex;flex-direction:column;gap:4px;padding:8px;min-width:180px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);animation:floatingOverflowDropdown .15s ease-out}@keyframes floatingOverflowDropdown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.floating-toolbar-overflow-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);font-size:14px;text-align:left;white-space:nowrap;transition:all .15s ease}.floating-toolbar-overflow-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.floating-toolbar-overflow-item.active{background:var(--color-accent-primary);color:#fff}.floating-toolbar-overflow-item svg{width:16px;height:16px;flex-shrink:0}.floating-toolbar-overflow-divider{height:1px;margin:4px 0;background:var(--color-border-subtle)}@media(max-width:768px),(pointer:coarse){.flow-container{width:100%!important;flex:1 1 100%!important}.floating-toolbar-overflow{display:block}.floating-toolbar-right .toolbar-icon-btn.mobile-overflow-item{display:none!important}.floating-toolbar-right .toolbar-icon-btn{height:32px;padding:0 8px;font-size:13px}.floating-toolbar-right .toolbar-icon-btn .toolbar-btn-label{display:none!important}.floating-toolbar-right.panel-open{right:16px!important;animation:none!important}body:has(.node-panel) .floating-toolbar:not(.floating-toolbar-left):not(.floating-toolbar-right),body:has(.search-panel) .floating-toolbar:not(.floating-toolbar-left):not(.floating-toolbar-right){display:none!important}body:has(.node-panel) .floating-toolbar-left,body:has(.node-panel) .floating-toolbar-right,body:has(.map-config-panel) .floating-toolbar-left,body:has(.map-config-panel) .floating-toolbar-right,body:has(.ai-chat-panel) .floating-toolbar-left,body:has(.ai-chat-panel) .floating-toolbar-right,body:has(.collab-chat-panel) .floating-toolbar-left,body:has(.collab-chat-panel) .floating-toolbar-right,body:has(.search-panel) .floating-toolbar-left,body:has(.search-panel) .floating-toolbar-right{display:none!important}.node-panel,.map-config-panel{position:fixed;inset:0;width:100%!important;max-width:none;height:100%;max-height:none;z-index:1000;border-left:none;border-radius:0;box-shadow:none;flex:none!important}.node-panel:before,.map-config-panel:before{display:none}.node-panel-header,.map-config-header{border-radius:0;padding-top:max(12px,env(safe-area-inset-top))}.node-panel-content,.map-config-content{padding-bottom:env(safe-area-inset-bottom,16px)}.node-panel-footer,.map-config-panel>:last-child{border-radius:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.react-flow__node.selected .mindmap-node-wrapper:not(.read-only-node) .node-handle{opacity:1!important;background-color:#646cff4d!important;border-color:#646cffcc!important}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.offline-banner-content{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 20px;background:var(--color-warning);color:#1a1a1a;border-radius:8px;box-shadow:var(--shadow-lg);font-size:14px;font-weight:500;pointer-events:auto;animation:slideDown .3s ease-out}.offline-banner-content .offline-icon{font-size:16px;flex-shrink:0}.offline-refresh-btn{padding:6px 14px;background:#00000026;color:#1a1a1a;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.offline-refresh-btn:hover{background:#00000040}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.offline-banner{padding:0 8px;top:56px}.offline-banner-content{flex-direction:column;text-align:center;gap:8px;margin-top:8px;padding:10px 16px;font-size:13px;max-width:calc(100% - 16px)}.offline-banner-content .offline-icon{display:none}.offline-refresh-btn{width:100%;padding:8px 14px}}.export-menu{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:12px;width:100%;box-sizing:border-box}.export-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.export-menu-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.export-menu-close{background:transparent;border:none;cursor:pointer;padding:4px 8px;color:var(--color-text-muted);border-radius:4px;transition:background .2s,color .2s}.export-menu-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.export-menu-error{background:#ff64641a;border:1px solid var(--color-error);border-radius:6px;padding:8px 12px;margin-bottom:12px;color:var(--color-error);font-size:13px}.export-menu-options{display:flex;flex-direction:column;gap:8px}.export-option-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s;text-align:left;box-sizing:border-box}.export-option-btn:hover:not(:disabled){background:var(--color-accent-primary-bg-hover);border-color:var(--color-accent-primary)}.export-option-btn:disabled{opacity:.6;cursor:not-allowed}.export-option-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-accent-primary-bg);border-radius:6px;color:var(--color-accent-primary);font-size:12px}.export-option-text{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.export-option-label{font-size:13px;font-weight:500;color:var(--color-text-primary)}.export-option-desc{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-trigger-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;color:var(--color-text-primary);font-size:14px;transition:background .2s,border-color .2s}.export-trigger-btn:hover{background:var(--color-accent-primary-bg-hover);border-color:var(--color-accent-primary)}.export-trigger-btn svg{color:var(--color-accent-primary)}.filter-deleted-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:13px;transition:background .2s,color .2s,border-color .2s}.filter-deleted-btn:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-hover)}.filter-deleted-btn:disabled{opacity:.5;cursor:not-allowed}.filter-deleted-btn.active{background:#dc26261a;color:#dc2626;border-color:#dc2626}.filter-deleted-count{background:#dc2626;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.filter-deleted-btn.active .filter-deleted-count{background:#dc2626}.maps-view-toggle{display:inline-flex;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:8px;padding:4px;gap:4px;flex-shrink:0}.maps-view-toggle .toggle-option{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:90px}.maps-view-toggle .toggle-option:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-elevated)}.maps-view-toggle .toggle-option.active{background:var(--color-accent-primary);color:#fff}.maps-view-toggle .toggle-option:disabled{opacity:.5;cursor:not-allowed}.table-loading-overlay{position:absolute;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:20;border-radius:12px}.maps-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--color-text-muted)}.maps-table-row.deleted{opacity:.7;background:repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(220,38,38,.03) 10px,rgba(220,38,38,.03) 20px)}.maps-table-row.deleted:hover{opacity:.85}.deleted-badge{display:inline-flex;align-items:center;padding:2px 8px;margin-left:8px;background:#dc26261a;color:#dc2626;font-size:11px;font-weight:500;border-radius:4px}.subscribed-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin-left:8px;background:#8b5cf61a;color:#8b5cf6;font-size:11px;font-weight:500;border-radius:4px}.maps-table-row.subscribed{background:#8b5cf605}.maps-table-row.subscribed:hover{background:#8b5cf60d}.owner-cell.is-subscribed .owner-icon{color:#8b5cf6}.table-unsub-btn{background:transparent;border:none;color:var(--color-text-disabled);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all .2s;font-size:14px}.table-unsub-btn:hover{background:#8b5cf61a;color:#8b5cf6}.action-buttons{display:flex;align-items:center;gap:4px}.table-restore-btn{padding:6px 8px;background:transparent;border:none;color:#22c55e;cursor:pointer;border-radius:4px;transition:background .2s,color .2s}.table-restore-btn:hover:not(:disabled){background:#22c55e1a;color:#16a34a}.table-restore-btn:disabled,.table-delete-btn:disabled,.mobile-restore-btn:disabled,.mobile-delete-btn:disabled{opacity:.5;cursor:not-allowed}.table-delete-btn.permanent{color:#dc2626}.maps-table-row.restoring,.map-mobile-card.restoring{opacity:.6;pointer-events:none}.table-delete-btn.permanent:hover{background:#dc26261a;color:#b91c1c}.map-mobile-card.deleted{opacity:.7;border-color:#dc26264d;background:repeating-linear-gradient(-45deg,var(--color-bg-secondary),var(--color-bg-secondary) 10px,rgba(220,38,38,.03) 10px,rgba(220,38,38,.03) 20px)}.mobile-action-buttons{position:absolute;top:12px;right:12px;display:flex;gap:4px}.mobile-restore-btn{padding:8px;background:transparent;border:none;color:#22c55e;cursor:pointer;border-radius:4px;transition:background .2s,color .2s}.mobile-restore-btn:hover{background:#22c55e1a}.mobile-delete-btn.permanent{color:#dc2626}.mobile-delete-btn.permanent:hover{color:#b91c1c}.group-boundary{box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease}.group-boundary.selected{box-shadow:0 0 0 2px var(--color-accent-primary)}.group-boundary.hovered{box-shadow:0 0 0 1px var(--color-border-hover)}.group-name-label{-webkit-user-select:none;user-select:none;letter-spacing:.02em}.group-toolbar{display:flex;gap:2px;padding:4px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:6px;box-shadow:0 2px 8px #00000026}.group-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.group-toolbar-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.group-toolbar-btn:active{background:var(--color-bg-hover)}.group-toolbar-btn--danger:hover{background:var(--color-error-bg);color:var(--color-error)}.group-toolbar-btn--danger:active{background:var(--color-error-bg);color:var(--color-error-hover)}.group-toolbar-btn--active{background:var(--color-accent-primary);color:#fff}.group-toolbar-btn--active:hover{background:var(--color-accent-primary-hover);color:#fff}.multi-select-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:0 4px 12px #0003}.multi-select-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-accent-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .15s ease,transform .1s ease}.multi-select-toolbar-btn:hover{background:var(--color-accent-primary-hover, #2563eb);transform:translateY(-1px)}.multi-select-toolbar-btn:active{transform:translateY(0)}.multi-select-toolbar-btn--danger{background:transparent;color:var(--color-text-secondary);padding:6px 8px}.multi-select-toolbar-btn--danger:hover{background:var(--color-error-bg);color:var(--color-error)}.multi-select-toolbar-label{display:none}.multi-select-toolbar-count{font-size:11px;color:var(--color-text-muted);padding-left:4px;border-left:1px solid var(--color-border-subtle);margin-left:4px}@media(min-width:480px){.multi-select-toolbar-label{display:inline}}.gdpr-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:3000}.gdpr-modal{background:var(--color-bg-tertiary);border-radius:12px;box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;margin:16px}.gdpr-modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between}.gdpr-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.gdpr-modal-close{background:none;border:none;color:var(--color-text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.gdpr-modal-close:hover{color:var(--color-text-primary)}.gdpr-modal-content{padding:20px 24px;overflow-y:auto;flex:1}.gdpr-modal-description{margin:0 0 16px;font-size:14px;color:var(--color-text-secondary);line-height:1.6}.gdpr-modal-description a{color:var(--color-accent-primary);text-decoration:none}.gdpr-modal-description a:hover{text-decoration:underline}.gdpr-customize-btn{background:none;border:none;color:var(--color-accent-primary);font-size:14px;cursor:pointer;padding:0;text-decoration:underline}.gdpr-customize-btn:hover{opacity:.8}.gdpr-options{display:flex;flex-direction:column;gap:16px}.gdpr-option{padding:12px 16px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-default)}.gdpr-option-header{display:flex;align-items:center}.gdpr-option-label{display:flex;align-items:center;gap:10px;cursor:pointer;width:100%}.gdpr-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent-primary)}.gdpr-checkbox:disabled{cursor:not-allowed;opacity:.7}.gdpr-option-title{font-size:14px;font-weight:500;color:var(--color-text-primary)}.gdpr-required-badge{font-size:11px;padding:2px 6px;background:var(--color-accent-primary-bg, rgba(59, 130, 246, .1));color:var(--color-accent-primary);border-radius:4px;margin-left:auto}.gdpr-option-description{margin:8px 0 0 28px;font-size:13px;color:var(--color-text-tertiary);line-height:1.5}.gdpr-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-default);background:var(--color-bg-secondary)}.gdpr-btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.gdpr-btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.gdpr-btn-secondary:hover{background:var(--color-border-subtle);color:var(--color-text-primary)}.gdpr-btn-primary{background:var(--color-accent-primary);color:#fff}.gdpr-btn-primary:hover{background:var(--color-accent-primary-hover, #2563eb)}@media(max-width:480px){.gdpr-modal{max-width:100%;margin:8px;border-radius:8px}.gdpr-modal-header,.gdpr-modal-content,.gdpr-modal-footer{padding-left:16px;padding-right:16px}.gdpr-modal-footer{flex-direction:column}.gdpr-btn{width:100%;justify-content:center}}.settings-cookie-summary{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0}.settings-cookie-item{font-size:14px;color:var(--color-text-secondary)}.settings-cookie-item strong{color:var(--color-text-primary)}.node-label-truncated{cursor:pointer}.node-label-expand-hint{display:block;font-size:11px;color:var(--color-accent-primary, #6366f1);margin-top:4px;font-weight:500;opacity:.9}.mobile-expanded-content-container{position:fixed;inset:0;z-index:10000;pointer-events:auto}.mobile-expanded-content-backdrop{position:absolute;inset:0;background:#0006;animation:expandedContentBackdropFadeIn .2s ease-out}@keyframes expandedContentBackdropFadeIn{0%{opacity:0}to{opacity:1}}.mobile-expanded-content-sheet{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;max-height:70vh;overflow:hidden;animation:expandedContentSlideUp .25s ease-out}@keyframes expandedContentSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-expanded-content-handle{display:flex;justify-content:center;padding:12px 0 8px}.mobile-expanded-content-handle-bar{width:36px;height:4px;background:#d1d5db;border-radius:2px}.mobile-expanded-content-body{padding:0 20px 16px;overflow-y:auto;max-height:calc(70vh - 120px);font-size:16px;line-height:1.6;color:#374151;white-space:pre-wrap;word-break:break-word}.mobile-expanded-content-actions{display:flex;gap:12px;padding:12px 20px calc(env(safe-area-inset-bottom,20px) + 12px);border-top:1px solid #e5e7eb}.mobile-expanded-content-btn{flex:1;padding:14px 20px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;min-height:48px}.mobile-expanded-content-btn-edit{background:var(--color-accent-primary, #6366f1);color:#fff}.mobile-expanded-content-btn-edit:active{background:var(--color-accent-primary-hover, #4f46e5)}.mobile-expanded-content-btn-close{background:#f3f4f6;color:#374151}.mobile-expanded-content-btn-close:active{background:#e5e7eb}[data-theme=dark] .mobile-expanded-content-sheet{background:#1f2937;box-shadow:0 -4px 20px #0006}[data-theme=dark] .mobile-expanded-content-handle-bar{background:#4b5563}[data-theme=dark] .mobile-expanded-content-body{color:#e5e7eb}[data-theme=dark] .mobile-expanded-content-actions{border-top-color:#374151}[data-theme=dark] .mobile-expanded-content-btn-close{background:#374151;color:#e5e7eb}[data-theme=dark] .mobile-expanded-content-btn-close:active{background:#4b5563}.logo-component{display:flex;align-items:center;gap:8px}.logo-component .logo-img{object-fit:contain}.logo-component .logo-text{font-weight:600;color:var(--color-text-primary);white-space:nowrap}.logo-component .logo-text-highlight{font-weight:700;color:#dd7d04}.logo-sm .logo-img{width:16px;height:16px}.logo-sm .logo-text{font-size:14px}.logo-md .logo-img{width:24px;height:24px}.logo-md .logo-text{font-size:16px}.logo-lg .logo-img{width:32px;height:32px}.logo-lg .logo-text{font-size:20px}.logo-xl .logo-img{width:48px;height:48px}.logo-xl .logo-text{font-size:28px}.logo-text-on-hover{gap:0}.logo-text-on-hover .logo-text{max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease;margin-left:0}.logo-text-on-hover:hover .logo-text{max-width:150px;opacity:1;margin-left:8px}.logo-light .logo-text{color:#fff}.logo-tier{position:relative;top:-.6em;margin-left:2px;font-size:.45em;font-weight:700;letter-spacing:.5px;padding:2px 4px;border-radius:3px;vertical-align:super}.logo-tier-free{background:#e0e0e0;color:#666}.logo-tier-pro{background:linear-gradient(135deg,#dd7d04,#f5a623);color:#fff}.drawing-extension{width:100%;height:100%;position:relative;overflow:visible;padding:0;margin:0}.drawing-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 8px;background:#2a2a2afa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000004d;z-index:1000}.drawing-toolbar-external{position:absolute;top:-90px;left:50%;transform:translate(-50%);width:max-content;min-width:600px;max-width:90vw}.drawing-toolbar-section{display:flex;align-items:center;gap:6px}.drawing-toolbar-section label{font-size:11px;font-weight:500;color:#fff9;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.drawing-tools{display:flex;gap:3px}.drawing-tools button{width:28px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .15s}.drawing-tools button:hover{background:#ffffff26;border-color:#ffffff4d}.drawing-tools button.active{background:#646cff4d;border-color:#646cff99;color:#fff}.drawing-colors{display:flex;gap:4px}.color-swatch{width:24px;height:24px;border:2px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;transition:all .15s;padding:0}.color-swatch:hover{transform:scale(1.1);border-color:#fff6}.color-swatch.active{border-color:#646cffcc;border-width:3px;transform:scale(1.15)}.stroke-width-slider{width:80px;height:4px;border-radius:2px;background:#fff3;outline:none;-webkit-appearance:none}.stroke-width-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#646cff;cursor:pointer}.stroke-width-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#646cff;cursor:pointer;border:none}.stroke-width-value{font-size:11px;color:#fff9;min-width:28px;text-align:right}.drawing-toolbar-actions{margin-left:auto;gap:4px}.drawing-btn{padding:5px 10px;font-size:11px;font-weight:500;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff1a;color:#ffffffe6;cursor:pointer;transition:all .15s;white-space:nowrap}.drawing-btn:hover{background:#ffffff26;border-color:#ffffff4d}.drawing-btn-primary{background:#646cff4d;border-color:#646cff99}.drawing-btn-primary:hover{background:#646cff66;border-color:#646cffcc}.drawing-btn-danger{background:#ef444433;border-color:#ef444466}.drawing-btn-danger:hover{background:#ef44444d;border-color:#ef444499}.drawing-canvas{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:8px;background:#fff;display:block}.drawing-canvas.editable{cursor:crosshair}@media(max-width:768px){.drawing-toolbar{flex-direction:column;gap:8px}.drawing-toolbar-section{width:100%;justify-content:space-between}.drawing-toolbar-actions{margin-left:0;justify-content:flex-end}.drawing-tools,.drawing-colors{flex-wrap:wrap}.drawing-tools button,.color-swatch{width:44px;height:44px}}.google-extension{width:100%;height:100%;display:flex;flex-direction:column;background:var(--color-bg-secondary, #242424);border-radius:4px;overflow:hidden;position:relative}.google-extension__badge{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;z-index:10}.google-extension__iframe{flex:1;width:100%;min-height:200px;border:none;background:#fff;pointer-events:auto}.react-flow__node.dragging .google-extension__iframe,.react-flow__node.dragging .google-extension{pointer-events:none!important}.google-extension__footer{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-bg-tertiary, #2a2a2a);border-top:1px solid var(--color-border-default, #333333);font-size:12px;color:var(--color-text-secondary, #cccccc)}.google-extension__type{display:flex;align-items:center;gap:4px;flex-shrink:0}.google-extension__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-extension__link{display:flex;align-items:center;color:var(--color-text-secondary, #cccccc);padding:4px;border-radius:4px;transition:background .15s,color .15s}.google-extension__link:hover{background:var(--color-bg-elevated, #333333);color:var(--color-text-primary, #ffffff)}.google-extension--link-prompt{display:flex;align-items:center;justify-content:center;padding:20px}.google-link-prompt{text-align:center;max-width:280px}.google-link-prompt__icon{display:flex;justify-content:center;margin-bottom:12px;color:var(--color-accent-primary, #646cff)}.google-link-prompt__title{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--color-text-primary, #ffffff)}.google-link-prompt__description{margin:0 0 16px;font-size:12px;color:var(--color-text-secondary, #cccccc);line-height:1.5}.google-link-prompt__button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:var(--color-accent-primary, #646cff);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.google-link-prompt__button:hover{background:var(--color-accent-primary-hover, #535bf2)}.google-extension--type-selector{display:flex;align-items:center;justify-content:center;padding:16px}.google-doc-type-selector{text-align:center;max-width:320px}.google-doc-type-selector__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--color-text-primary, #ffffff)}.google-doc-type-selector__subtitle{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary, #cccccc)}.google-doc-type-selector__error{margin-bottom:12px;padding:8px 12px;background:var(--color-error-bg, rgba(239, 68, 68, .1));border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--color-error, #ef4444);font-size:12px}.google-doc-type-selector__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:12px}.google-doc-type-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--color-bg-tertiary, #2a2a2a);border:1px solid var(--color-border-default, #333333);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s;color:var(--color-text-primary, #ffffff)}.google-doc-type-option:hover:not(:disabled){background:var(--color-bg-elevated, #333333);border-color:var(--color-accent-primary, #646cff)}.google-doc-type-option:disabled{opacity:.6;cursor:not-allowed}.google-doc-type-option__spinner{animation:spin 1s linear infinite}.google-doc-type-option__name{font-size:11px;font-weight:500}.google-doc-type-option__desc{font-size:10px;color:var(--color-text-secondary, #cccccc);display:none}.google-doc-type-selector__notice{margin:0;font-size:11px;color:var(--color-text-tertiary, #aaaaaa);line-height:1.4}.google-extension--placeholder{display:flex;align-items:center;justify-content:center;padding:20px;min-height:120px}.google-extension__placeholder-content{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--color-text-secondary, #cccccc)}.google-extension__placeholder-content svg{color:var(--color-accent-primary, #646cff);opacity:.7}.google-extension__placeholder-content p{margin:0;font-size:14px;font-weight:500;color:var(--color-text-primary, #ffffff)}.google-extension__placeholder-hint{font-size:11px;color:var(--color-text-tertiary, #aaaaaa)}.google-extension--unconfigured,.google-extension--error{display:flex;align-items:center;justify-content:center;padding:20px;color:var(--color-text-secondary, #cccccc);font-size:13px}.google-extension__message{text-align:center}.google-panel-message{text-align:center;padding:16px;color:var(--color-text-secondary, #cccccc)}.google-panel-link{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 8px}.google-panel-link__icon{color:var(--color-accent-primary, #646cff);margin-bottom:4px}.google-panel-link h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary, #ffffff)}.google-panel-link p{margin:0;font-size:12px;color:var(--color-text-secondary, #cccccc);line-height:1.4}.google-panel-link__button{margin-top:8px;padding:8px 16px;background:var(--color-accent-primary, #646cff);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.google-panel-link__button:hover{background:var(--color-accent-primary-hover, #535bf2)}.google-panel-selector{padding:8px 0}.google-panel-selector h4{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--color-text-primary, #ffffff)}.google-panel-selector>p{margin:0 0 12px;font-size:11px;color:var(--color-text-secondary, #cccccc)}.google-panel-error{margin-bottom:12px;padding:8px 12px;background:var(--color-error-bg, rgba(239, 68, 68, .1));border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--color-error, #ef4444);font-size:12px}.google-panel-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-bottom:12px}.google-panel-type-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--color-bg-tertiary, #2a2a2a);border:1px solid var(--color-border-default, #333333);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;color:var(--color-text-primary, #ffffff);font-size:11px}.google-panel-type-option:hover:not(:disabled){background:var(--color-bg-elevated, #333333);border-color:var(--color-accent-primary, #646cff)}.google-panel-type-option:disabled{opacity:.6;cursor:not-allowed}.google-panel-notice{margin:0;font-size:10px;color:var(--color-text-tertiary, #aaaaaa);line-height:1.4}.google-panel-info{padding:8px 0}.google-panel-info__header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--color-text-primary, #ffffff);font-size:13px;font-weight:500}.google-panel-badge{margin-left:auto;padding:2px 6px;background:var(--color-bg-tertiary, #2a2a2a);border-radius:4px;font-size:10px;font-weight:400;color:var(--color-text-secondary, #cccccc)}.google-panel-info__name{margin-bottom:8px;padding:8px;background:var(--color-bg-tertiary, #2a2a2a);border-radius:4px;font-size:12px;color:var(--color-text-secondary, #cccccc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-panel-info__link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg-tertiary, #2a2a2a);border-radius:4px;color:var(--color-text-secondary, #cccccc);font-size:12px;text-decoration:none;transition:background .15s,color .15s}.google-panel-info__link:hover{background:var(--color-bg-elevated, #333333);color:var(--color-accent-primary, #646cff)}.google-panel-paste{padding:8px 0}.google-panel-paste h4{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--color-text-primary, #ffffff)}.google-panel-paste>p{margin:0 0 12px;font-size:11px;color:var(--color-text-secondary, #cccccc)}.google-panel-paste__input{width:100%;padding:10px 12px;margin-bottom:12px;background:var(--color-bg-tertiary, #2a2a2a);border:1px solid var(--color-border-default, #333333);border-radius:6px;color:var(--color-text-primary, #ffffff);font-size:12px;box-sizing:border-box;transition:border-color .15s}.google-panel-paste__input:focus{outline:none;border-color:var(--color-accent-primary, #646cff)}.google-panel-paste__input::placeholder{color:var(--color-text-tertiary, #aaaaaa)}.google-panel-paste__input:disabled{opacity:.6}.google-panel-paste__actions{display:flex;gap:8px}.google-panel-paste__button{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center;gap:6px}.google-panel-paste__button--primary{background:var(--color-accent-primary, #646cff);color:#fff}.google-panel-paste__button--primary:hover:not(:disabled){background:var(--color-accent-primary-hover, #535bf2)}.google-panel-paste__button--secondary{background:var(--color-bg-tertiary, #2a2a2a);color:var(--color-text-primary, #ffffff)}.google-panel-paste__button--secondary:hover:not(:disabled){background:var(--color-bg-elevated, #333333)}.google-panel-paste__button:disabled{opacity:.5;cursor:not-allowed}.google-panel-divider{display:flex;align-items:center;gap:12px;margin:16px 0}.google-panel-divider:before,.google-panel-divider:after{content:"";flex:1;height:1px;background:var(--color-border-default, #333333)}.google-panel-divider span{font-size:11px;color:var(--color-text-tertiary, #aaaaaa);text-transform:lowercase}.google-panel-link__button--secondary{background:var(--color-bg-tertiary, #2a2a2a);color:var(--color-text-primary, #ffffff)}.google-panel-link__button--secondary:hover{background:var(--color-bg-elevated, #333333)}.google-panel-paste-toggle{width:100%;padding:8px 12px;background:transparent;border:1px dashed var(--color-border-default, #333333);border-radius:6px;color:var(--color-text-secondary, #cccccc);font-size:11px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.google-panel-paste-toggle:hover{background:var(--color-bg-tertiary, #2a2a2a);border-color:var(--color-accent-primary, #646cff);color:var(--color-text-primary, #ffffff)}[data-theme=light] .google-extension__badge{background:#0009}[data-theme=light] .google-panel-link__button,[data-theme=light] .google-link-prompt__button,[data-theme=light] .google-panel-paste__button--primary{color:#fff}.floating-toolbar{display:flex;gap:4px;padding:4px 6px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:6px;box-shadow:var(--shadow-md);z-index:5;pointer-events:auto}.floating-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:var(--color-accent-primary-bg);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.floating-toolbar-btn:hover{background:var(--color-accent-primary-bg-hover);color:var(--color-text-primary)}.floating-toolbar-btn--primary{background:#646cff4d;color:#a5a8ff}.floating-toolbar-btn--primary:hover{background:#646cff80;color:#fff}.floating-toolbar-btn--danger{background:var(--color-error-bg);color:var(--color-error)}.floating-toolbar-btn--danger:hover{background:#ff646466;color:#fff}.floating-toolbar-btn svg{display:block}.floating-toolbar-btn.drag-handle{cursor:grab}.floating-toolbar-btn.drag-handle:active{cursor:grabbing}.text-formatting-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:6px;box-shadow:var(--shadow-md);z-index:10000;pointer-events:auto}.text-formatting-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:var(--color-accent-primary-bg);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.text-formatting-btn:hover{background:var(--color-accent-primary-bg-hover);color:var(--color-text-primary)}.text-formatting-btn svg{display:block}.text-formatting-btn--save{background:var(--color-success-bg);color:var(--color-success)}.text-formatting-btn--save:hover{background:#28c84080;color:#fff}.text-formatting-divider{width:1px;height:20px;background:var(--color-border-subtle);margin:0 2px}.text-formatting-select{height:28px;padding:0 8px;border:none;border-radius:4px;background:var(--color-accent-primary-bg);color:var(--color-text-tertiary);font-size:12px;cursor:pointer;transition:all .15s ease}.text-formatting-select:hover{background:var(--color-accent-primary-bg-hover);color:var(--color-text-primary)}.text-formatting-select:focus{outline:none;background:var(--color-accent-primary-bg-hover)}.text-formatting-select option{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.extension-container{position:relative;margin-top:8px;border-radius:6px;overflow:visible;background:#0003}.extension-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#0000004d;font-size:10px}.extension-type-badge{text-transform:uppercase;color:#888;font-weight:600;letter-spacing:.5px}.extension-actions{display:flex;gap:4px}.extension-action-btn{width:18px;height:18px;border:none;border-radius:3px;background:#ffffff1a;color:#888;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.extension-action-btn:hover{background:#fff3;color:#fff}.extension-remove-btn:hover{background:#ff64644d;color:#f66}.extension-content{padding:8px}.extension-collapsed{padding:6px 10px;background:#0003;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:11px;color:#888;margin-top:4px}.extension-collapsed:hover{background:#0000004d}.extension-collapsed-icon{font-weight:700}.extension-empty{color:#666;font-size:12px;font-style:italic}.extension-input{width:100%;padding:6px 10px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:12px;margin-bottom:6px}.extension-input:focus{outline:none;border-color:var(--color-accent-primary)}.extension-select{width:100%;padding:6px 10px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:12px;margin-bottom:6px;cursor:pointer}.extension-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:#aaa;cursor:pointer}.extension-checkbox input{cursor:pointer}.youtube-extension,.youtube-preview{border-radius:4px;overflow:hidden}.youtube-preview{margin-top:8px}.text-extension-edit{display:flex;flex-direction:column;gap:6px}.text-toolbar{display:flex;gap:4px;padding:4px;background:#0000004d;border-radius:4px}.toolbar-btn{width:24px;height:24px;border:none;border-radius:3px;background:transparent;color:#aaa;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:#ffffff1a;color:#fff}.toolbar-divider{width:1px;background:#444;margin:0 4px}.text-editor{min-height:60px;padding:8px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;line-height:1.5;cursor:text;user-select:text;-webkit-user-select:text}.text-editor.focused{border-color:var(--color-accent-primary)}.text-editor:focus{outline:none}.text-extension{font-size:13px;line-height:1.5;color:#ddd}.text-extension-preview{padding:0 8px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.text-content-preview{font-size:13px;line-height:1.5;color:inherit;width:100%;max-width:100%;word-break:normal;overflow-wrap:anywhere;word-wrap:break-word;white-space:normal;-webkit-hyphens:none;hyphens:none}.text-content-preview p,.text-content-preview span,.text-content-preview div,.text-content-preview strong,.text-content-preview em,.text-content-preview u,.text-content-preview s,.text-content-preview a{margin:0;word-break:normal;overflow-wrap:anywhere;word-wrap:break-word;white-space:normal;-webkit-hyphens:none;hyphens:none;display:inline}.text-content-preview p{display:block}.text-content-preview p+p{margin-top:.5em}.text-extension ul,.text-extension ol{margin:4px 0;padding-left:20px}.image-extension,.image-preview{text-align:center}.image-extension{width:100%;height:100%;min-height:60px;display:flex;align-items:center;justify-content:center}.image-extension-img{width:100%;height:100%;max-width:100%;border-radius:4px}.image-extension img,.image-preview img{border-radius:4px;max-width:100%}.code-extension-edit .code-textarea{width:100%;min-height:80px;padding:8px;border:1px solid #444;border-radius:4px;background:#0d0d0d;color:#e0e0e0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;resize:vertical;margin-bottom:6px}.code-extension{position:relative}.code-language-badge{position:absolute;top:4px;right:4px;padding:2px 6px;background:#646cff4d;border-radius:3px;font-size:9px;text-transform:uppercase;color:#aaa}.code-block{margin:0;padding:8px;background:#0d0d0d;border-radius:4px;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;line-height:1.4}.code-line{display:flex}.line-number{width:24px;color:#555;text-align:right;padding-right:8px;-webkit-user-select:none;user-select:none}.line-content{flex:1;white-space:pre}.task-list-extension{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box}.task-add-row{display:flex;gap:8px}.task-add-input{flex:1;padding:8px 12px;border:none;border-radius:6px;background:#646cff;color:#fff;font-size:13px}.task-add-input::placeholder{color:#ffffffb3}.task-add-input:focus{outline:none;background:#5558dd}.task-add-btn{padding:8px 16px;border:none;border-radius:6px;background:#646cff;color:#fff;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.task-add-btn:hover:not(:disabled){background:#5558dd}.task-add-btn:disabled{opacity:.5;cursor:not-allowed}.task-filter-row{display:flex;justify-content:flex-end}.task-filter-select{padding:6px 12px;border:none;border-radius:6px;background:#646cff33;color:#a5a8ff;font-size:12px;cursor:pointer}.task-filter-select:focus{outline:none}.task-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.task-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px;transition:background .2s,opacity .2s;position:relative}.task-item:hover{background:#ffffff14}.task-item.completed .task-title{text-decoration:line-through;opacity:.6}.task-checkbox-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.task-checkbox-wrapper input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.task-checkbox-wrapper.read-only{cursor:default}.task-checkbox-wrapper.read-only input{cursor:default;pointer-events:none}.task-checkmark{width:18px;height:18px;border:2px solid #888;border-radius:4px;background:transparent;transition:all .2s}.task-checkbox-wrapper input:checked+.task-checkmark{background:#646cff;border-color:#646cff}.task-checkbox-wrapper input:checked+.task-checkmark:after{content:"✓";display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.task-title{font-size:13px;color:#fff;word-break:break-word}.task-date{font-size:11px;color:#888}.task-edit-input{width:100%;padding:4px 8px;border:1px solid #646cff;border-radius:4px;background:#1a1a1a;color:#fff;font-size:13px}.task-edit-input:focus{outline:none}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.task-item:hover .task-actions{opacity:1}.task-action-btn{width:28px;height:28px;border:none;border-radius:4px;background:#ffffff1a;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.task-action-btn:hover{background:#fff3;color:#fff}.task-delete-btn:hover{background:#ff64644d;color:#f66}.task-empty{padding:16px;text-align:center;color:#666;font-size:12px;font-style:italic}.task-hidden-count{padding:8px;text-align:center;color:#666;font-size:11px}.task-list-view .task-item{padding:8px;gap:8px}.task-list-view .task-title{font-size:12px}.task-list-view .task-date{font-size:10px}.task-list-view .task-reorder-actions{opacity:1;flex-shrink:0}.task-list-view .task-reorder-actions .task-action-btn{width:24px;height:24px;padding:0}.task-list-view .task-drag-handle{width:16px}.notes-textarea{width:100%;padding:8px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:12px;resize:vertical;font-family:inherit}.notes-content{margin:0;white-space:pre-wrap;font-size:12px;color:var(--color-text-secondary);font-family:inherit}.embed-edit-row{display:flex;gap:8px;align-items:center}.embed-edit-row .extension-input{flex:1}.embed-extension-edit{display:flex;flex-direction:column;gap:8px;flex:1}.embed-preview,.embed-extension,.embed-extension-view{border-radius:4px;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:150px}.embed-preview iframe,.embed-extension iframe,.embed-extension-view iframe{display:block;width:100%;height:100%;flex:1;border:none}.extension-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.extension-picker-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:pointer;font-size:10px;transition:all .2s}.extension-picker-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.extension-picker-icon{font-size:18px}.extensions-loading{color:#888;font-size:12px;font-style:italic;padding:8px 0}.extensions-error{color:#f66;font-size:12px;background:#ff64641a;border-radius:4px;padding:8px;margin-top:8px}.text-edit-btn,.notes-edit-btn,.code-edit-btn,.image-edit-btn,.embed-edit-btn,.task-manage-btn{position:absolute;top:4px;right:4px;padding:3px 8px;border:none;border-radius:4px;background:#646cff4d;color:#a5a8ff;font-size:10px;font-weight:500;cursor:pointer;z-index:10;transition:all .2s;opacity:0}.text-extension-view:hover .text-edit-btn,.notes-extension-view:hover .notes-edit-btn,.code-extension-view:hover .code-edit-btn,.image-extension-view:hover .image-edit-btn,.embed-extension-view:hover .embed-edit-btn,.task-list-view:hover .task-manage-btn{opacity:1}.text-edit-btn:hover,.notes-edit-btn:hover,.code-edit-btn:hover,.image-edit-btn:hover,.embed-edit-btn:hover,.task-manage-btn:hover{background:#646cff80;color:#fff}.notes-done-btn,.code-done-btn,.image-done-btn,.embed-done-btn,.task-done-btn,.toolbar-btn-save{padding:4px 10px;border:none;border-radius:4px;background:#646cff;color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.notes-done-btn:hover,.code-done-btn:hover,.image-done-btn:hover,.embed-done-btn:hover,.task-done-btn:hover,.toolbar-btn-save:hover{background:#5558dd}.text-extension-view,.notes-extension-view,.code-extension-view,.image-extension-view,.embed-extension-view,.youtube-extension-view,.task-list-view{position:relative}.text-extension-clickable,.notes-extension-clickable,.code-extension-clickable,.image-extension-clickable,.embed-extension-clickable,.youtube-extension-clickable,.task-extension-clickable{cursor:pointer;padding:16px;text-align:center;border:1px dashed #555;border-radius:6px;background:#646cff0d;transition:all .2s}.text-extension-clickable:hover,.notes-extension-clickable:hover,.code-extension-clickable:hover,.image-extension-clickable:hover,.embed-extension-clickable:hover,.youtube-extension-clickable:hover,.task-extension-clickable:hover{background:#646cff1a;border-color:#646cff}.text-placeholder,.notes-placeholder,.code-placeholder,.image-placeholder,.embed-placeholder,.youtube-placeholder,.task-placeholder{color:#888;font-size:12px;font-style:italic}.code-edit-header{display:flex;gap:8px;align-items:center;margin-bottom:8px}.code-edit-header .extension-select{width:auto;margin-bottom:0}.code-edit-header .extension-checkbox{margin-left:auto}.image-edit-footer{display:flex;gap:8px;align-items:center;margin-bottom:8px}.image-edit-footer .extension-select{width:auto;margin-bottom:0}.image-source-buttons{display:flex;align-items:center;gap:10px;margin-bottom:8px}.image-source-btn{padding:6px 12px;border:none;border-radius:4px;background:#646cff;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.image-source-btn:hover{background:#5558dd}.image-source-or{color:#888;font-size:11px}.task-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-edit-title{font-size:12px;font-weight:500;color:#888}.task-list-view{position:relative}.task-list-view .task-manage-btn{position:absolute;top:0;right:0}.task-list-editing .task-action-btn{width:auto;padding:4px 8px;font-size:10px}.task-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;cursor:grab;color:#555;-webkit-user-select:none;user-select:none;transition:color .2s}.task-drag-handle:active{cursor:grabbing}.task-item:hover .task-drag-handle{color:#888}.drag-dots{font-size:12px;letter-spacing:-2px;line-height:1}.task-move-btn{font-size:14px!important;font-weight:700}.task-move-btn:disabled{opacity:.3;cursor:not-allowed}.task-move-btn:disabled:hover{background:#ffffff1a;color:#888}.task-item.dragging{opacity:.5;background:#646cff1a}.task-item.drag-over{border-top:2px solid #646cff;margin-top:-2px}.task-item.drag-over:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:#646cff;box-shadow:0 0 8px #646cff80}.task-list-readonly .task-status{width:20px;text-align:center;flex-shrink:0}.task-list-readonly .task-status.done{color:#646cff}.task-list-readonly .task-status.pending{color:#666}.youtube-extension-empty{min-height:60px;display:flex;align-items:center;justify-content:center}.mindmap-node.theme-notepad{--notepad-bg: #fffef0;--notepad-text: #3d3929;--notepad-font-size: 14px;--notepad-line-color: #e8d4b8;--notepad-line-thickness: 1px;--notepad-margin-color: #f5a5a5;background:var(--notepad-bg)!important;border-color:#d4a574!important;border-width:1px!important;border-radius:4px!important;box-shadow:2px 2px 8px #00000026,inset 0 0 0 1px #ffffff80;position:relative;overflow:visible!important;padding:12px 12px 12px 36px!important}.mindmap-node.theme-notepad:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(transparent,transparent 23px,var(--notepad-line-color) 23px,var(--notepad-line-color) calc(23px + var(--notepad-line-thickness)));opacity:.4;border-radius:inherit}.mindmap-node.theme-notepad:after{content:"";position:absolute;top:0;bottom:0;left:28px;width:1px;background:var(--notepad-margin-color);opacity:.6;pointer-events:none}.mindmap-node.theme-notepad .node-label,.mindmap-node.theme-notepad .node-label-input{color:var(--notepad-text)!important;font-size:var(--notepad-font-size)!important;font-family:Patrick Hand,Comic Sans MS,cursive,sans-serif}.mindmap-node.theme-notepad .node-label-input{background:transparent!important;border-color:#d4a574!important}.mindmap-node.theme-notepad .node-divider{border-color:#d4a574!important;opacity:.5}.mindmap-node.theme-notepad .notes-content{color:var(--notepad-text);font-size:var(--notepad-font-size);font-family:Patrick Hand,Comic Sans MS,cursive,sans-serif;line-height:24px;padding:5px 8px 0 0;margin:0}.mindmap-node.theme-notepad .notes-extension-view{position:absolute!important;inset:0;padding:8px 8px 8px 36px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.4) transparent}.mindmap-node.theme-notepad .notes-extension-view::-webkit-scrollbar{width:6px}.mindmap-node.theme-notepad .notes-extension-view::-webkit-scrollbar-track{background:transparent}.mindmap-node.theme-notepad .notes-extension-view::-webkit-scrollbar-thumb{background:#d4a57466;border-radius:3px}.mindmap-node.theme-notepad .notes-extension-view::-webkit-scrollbar-thumb:hover{background:#d4a57499}.mindmap-node.theme-notepad .notes-placeholder{color:#8b7355}.mindmap-node.theme-notepad .notes-extension-clickable{border-color:#d4a574;background:#d4a5741a}.mindmap-node.theme-notepad .notes-extension-clickable:hover{background:#d4a57433;border-color:#c49264}.mindmap-node.theme-tasks{--task-bg: #1e3a5f;--task-text: #e0f0ff;--task-accent: #4a90d9;--task-font-size: 13px;background:linear-gradient(135deg,var(--task-bg) 0%,color-mix(in srgb,var(--task-bg) 85%,white 15%) 100%)!important;border-color:var(--task-accent)!important;border-radius:8px!important;padding:0!important;overflow:visible!important;min-width:150px;min-height:80px;position:relative}.mindmap-node.theme-tasks .node-title-section,.mindmap-node.theme-tasks .node-divider{display:none!important}.mindmap-node.theme-tasks .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-tasks .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-tasks .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important}.mindmap-node.theme-tasks .extension-content{position:absolute!important;inset:0;padding:0!important;margin:0!important}.mindmap-node.theme-tasks .task-list-extension,.mindmap-node.theme-tasks .task-list-view,.mindmap-node.theme-tasks .task-list-editing,.mindmap-node.theme-tasks .task-list-readonly{position:absolute!important;inset:0;margin:0!important;padding:12px!important;box-sizing:border-box;border-radius:inherit;display:flex!important;flex-direction:column!important;overflow:hidden}.mindmap-node.theme-tasks .task-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--task-accent) 40%,transparent 60%) transparent;min-height:0}.mindmap-node.theme-tasks .task-list::-webkit-scrollbar{width:4px}.mindmap-node.theme-tasks .task-list::-webkit-scrollbar-track{background:transparent}.mindmap-node.theme-tasks .task-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--task-accent) 40%,transparent 60%);border-radius:2px}.mindmap-node.theme-tasks .task-list-editing{display:flex!important;flex-direction:column!important;gap:8px}.mindmap-node.theme-tasks .task-edit-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.mindmap-node.theme-tasks .task-edit-title{color:var(--task-text);font-weight:600;font-size:var(--task-font-size)}.mindmap-node.theme-tasks .task-done-btn{background:var(--task-accent)}.mindmap-node.theme-tasks .task-done-btn:hover{background:color-mix(in srgb,var(--task-accent) 80%,black 20%)}.mindmap-node.theme-tasks .task-item{background:#ffffff14}.mindmap-node.theme-tasks .task-item:hover{background:#ffffff1f}.mindmap-node.theme-tasks .task-title{color:var(--task-text);font-size:var(--task-font-size)}.mindmap-node.theme-tasks .task-checkmark{border-color:color-mix(in srgb,var(--task-accent) 60%,var(--task-text) 40%)}.mindmap-node.theme-tasks .task-checkbox-wrapper input:checked+.task-checkmark{background:var(--task-accent);border-color:var(--task-accent)}.mindmap-node.theme-tasks .task-placeholder,.mindmap-node.theme-tasks .task-empty,.mindmap-node.theme-tasks .task-extension-empty{color:color-mix(in srgb,var(--task-text) 50%,transparent 50%);text-align:center;padding:20px;flex:1;display:flex;align-items:center;justify-content:center;font-size:var(--task-font-size)}.mindmap-node.theme-tasks .task-add-input{background:color-mix(in srgb,var(--task-accent) 30%,transparent 70%);border:1px solid var(--task-accent);color:var(--task-text);font-size:var(--task-font-size)}.mindmap-node.theme-tasks .task-add-input::placeholder{color:color-mix(in srgb,var(--task-text) 70%,transparent 30%)}.mindmap-node.theme-tasks .task-add-input:focus{background:color-mix(in srgb,var(--task-accent) 40%,transparent 60%);border-color:color-mix(in srgb,var(--task-accent) 80%,white 20%)}.mindmap-node.theme-tasks .task-add-btn{background:var(--task-accent);font-size:var(--task-font-size)}.mindmap-node.theme-tasks .task-add-btn:hover:not(:disabled){background:color-mix(in srgb,var(--task-accent) 80%,black 20%)}.mindmap-node.theme-tasks .task-filter-select{background:color-mix(in srgb,var(--task-accent) 20%,transparent 80%);color:color-mix(in srgb,var(--task-text) 80%,var(--task-accent) 20%);font-size:calc(var(--task-font-size) - 1px)}.mindmap-node.theme-code{padding:0!important;overflow:visible!important;min-width:150px;min-height:80px;position:relative;background:#0d0d0d!important}.mindmap-node.theme-code .node-title-section,.mindmap-node.theme-code .node-divider{display:none!important}.mindmap-node.theme-code .node-handle,.mindmap-node.theme-code .node-handle.visible,.mindmap-node.theme-code .react-flow__handle{opacity:0!important;pointer-events:auto;z-index:20!important}.mindmap-node.theme-code:hover .node-handle,.mindmap-node-wrapper:hover .mindmap-node.theme-code .node-handle,.react-flow__node:hover .mindmap-node.theme-code .node-handle,.react-flow__node.connecting .mindmap-node.theme-code .node-handle{opacity:0!important}.mindmap-node.theme-code .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-code .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-code .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important;border-radius:inherit}.mindmap-node.theme-code .extension-content{position:absolute!important;inset:0;padding:0!important;margin:0!important}.mindmap-node.theme-code .code-extension,.mindmap-node.theme-code .code-extension-view,.mindmap-node.theme-code .code-extension-view.terminal-theme,.mindmap-node.theme-code .code-extension-edit,.mindmap-node.theme-code .code-extension-edit.terminal-theme{position:absolute!important;inset:0!important;margin:0!important;padding:0!important;border-radius:inherit!important;background:transparent!important;border:none!important;box-shadow:none!important}.mindmap-node.theme-code .code-block,.mindmap-node.theme-code .code-extension-view.terminal-theme .code-block,.mindmap-node.theme-code .terminal-theme .code-block{position:absolute!important;inset:0;margin:0!important;padding:28px 8px 8px!important;box-sizing:border-box;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(0,255,65,.3) transparent;border-radius:0!important}.mindmap-node.theme-code .code-block code{display:block;width:100%}.mindmap-node.theme-code .code-extension-edit{display:flex!important;flex-direction:column!important}.mindmap-node.theme-code .code-extension-edit .code-edit-header{flex-shrink:0;position:relative;z-index:10}.mindmap-node.theme-code .code-extension-edit .code-textarea{position:absolute!important;inset:36px 0 0;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:8px!important;box-sizing:border-box;border:none!important;border-radius:0!important;resize:none!important}.mindmap-node.theme-code .code-block::-webkit-scrollbar{width:4px;height:4px}.mindmap-node.theme-code .code-block::-webkit-scrollbar-track{background:transparent}.mindmap-node.theme-code .code-block::-webkit-scrollbar-thumb{background:#00ff414d;border-radius:2px}.mindmap-node.theme-code .code-block::-webkit-scrollbar-thumb:hover{background:#00ff4180}.mindmap-node.theme-code .code-extension-empty{position:absolute!important;inset:0!important;display:flex;align-items:center;justify-content:center}.mindmap-node.theme-notepad.is-selected{box-shadow:0 0 0 2px #d4a574,0 0 12px #d4a57466,2px 2px 8px #00000026}.mindmap-node.theme-notepad .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-notepad .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important}.mindmap-node.theme-notepad .extension-content{position:absolute!important;inset:0;padding:0!important;margin:0!important}.mindmap-node.theme-notepad .notes-extension-edit{position:absolute!important;inset:0;display:flex;flex-direction:column;padding:8px 8px 8px 36px;box-sizing:border-box;z-index:10}.mindmap-node.theme-notepad .notes-extension-edit .notes-textarea{flex:1;width:100%!important;min-height:0!important;margin:0!important;padding:5px 8px 0 0!important;box-sizing:border-box;resize:none!important;background:transparent!important;color:var(--notepad-text)!important;font-family:Patrick Hand,Comic Sans MS,cursive,sans-serif!important;font-size:var(--notepad-font-size)!important;border:none!important;border-radius:0!important;outline:none;line-height:24px}.mindmap-node.theme-notepad .notes-extension-edit .notes-textarea:focus{border:none!important;box-shadow:none!important}.mindmap-node.theme-notepad .notes-extension-edit .notes-done-btn{align-self:flex-end;margin-top:8px;background:#d4a574}.mindmap-node.theme-notepad .notes-extension-edit .notes-done-btn:hover{background:#c49264}.mindmap-node.theme-tasks.is-selected{box-shadow:0 0 0 2px var(--task-accent),0 0 12px color-mix(in srgb,var(--task-accent) 40%,transparent 60%)}.mindmap-node.theme-code.is-selected{box-shadow:0 0 0 2px #00ff41,0 0 20px #00ff4180,inset 0 0 30px #00ff411a}.mindmap-node.theme-image{padding:0!important;overflow:visible!important;min-width:100px;min-height:80px;position:relative}.mindmap-node.theme-image .react-flow__handle{z-index:20!important}.mindmap-node.theme-image .node-title-section,.mindmap-node.theme-image .node-divider{display:none!important}.mindmap-node.theme-image .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-image .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-image .image-extension,.mindmap-node.theme-image .image-extension-view{position:absolute!important;inset:0;width:100%;height:100%;margin:0!important;padding:0!important;border-radius:inherit;display:flex;align-items:center;justify-content:center}.mindmap-node.theme-image .image-extension-img{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;object-fit:cover;border-radius:inherit;display:block;max-width:none!important;max-height:none!important}.mindmap-node.theme-image .image-extension-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:80px;background:#646cff0d}.mindmap-node.theme-image.is-selected{box-shadow:0 0 0 2px var(--border-color, #646cff),0 0 12px #646cff66}.mindmap-node.theme-youtube{padding:0!important;overflow:visible!important;min-width:200px;min-height:120px;position:relative}.mindmap-node.theme-youtube .react-flow__handle{z-index:20!important}.mindmap-node.theme-youtube .node-title-section,.mindmap-node.theme-youtube .node-divider{display:none!important}.mindmap-node.theme-youtube .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-youtube .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-youtube .youtube-extension,.mindmap-node.theme-youtube .youtube-extension-view{position:absolute!important;inset:0;width:100%;height:100%;margin:0!important;padding:0!important;border-radius:inherit}.mindmap-node.theme-youtube .youtube-extension iframe,.mindmap-node.theme-youtube .youtube-extension-view iframe{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;border:none;border-radius:inherit}.mindmap-node.theme-youtube .youtube-extension-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;background:#ff00000d}.mindmap-node.theme-youtube .youtube-preview-wrapper,.mindmap-node.theme-youtube .youtube-preview{position:absolute;inset:0}.mindmap-node.theme-youtube .youtube-preview-disabled,.mindmap-node.theme-youtube .youtube-preview-disabled iframe{pointer-events:none}.youtube-drag-handle{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#000000b3;border-radius:10px;color:#fff;cursor:grab;opacity:0;transition:opacity .2s ease;z-index:10}.youtube-drag-handle:active{cursor:grabbing}.youtube-preview-wrapper:hover .youtube-drag-handle{opacity:1}.youtube-drag-handle:hover{background:#000000d9}.react-flow__node.dragging .youtube-preview iframe,.react-flow__node.dragging .youtube-preview{pointer-events:none!important}.mindmap-node.theme-youtube.is-selected{box-shadow:0 0 0 2px var(--border-color, #ff0000),0 0 12px #f006}.mindmap-node.theme-embed{padding:0!important;overflow:visible!important;min-width:200px;min-height:150px;position:relative;border-radius:8px!important}.mindmap-node.theme-embed .node-title-section,.mindmap-node.theme-embed .node-divider{display:none!important}.mindmap-node.theme-embed .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-embed .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-embed .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important;border-radius:inherit}.mindmap-node.theme-embed .extension-content{position:absolute!important;inset:0;padding:0!important;margin:0!important}.mindmap-node.theme-embed .embed-extension,.mindmap-node.theme-embed .embed-extension-view{position:absolute!important;inset:0;margin:0!important;padding:0!important;border-radius:inherit;display:flex;flex-direction:column;background:#1e1e1e}.mindmap-node.theme-embed .embed-extension:before,.mindmap-node.theme-embed .embed-extension-view:before{content:"";position:absolute;top:0;left:0;right:0;height:28px;background:linear-gradient(180deg,#3a3a3a,#2d2d2d);border-bottom:1px solid #1a1a1a;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;z-index:5}.mindmap-node.theme-embed .embed-extension:after,.mindmap-node.theme-embed .embed-extension-view:after{content:"";position:absolute;top:9px;left:10px;width:10px;height:10px;background:#ff5f57;border-radius:50%;box-shadow:16px 0 #febc2e,32px 0 #28c840;z-index:6}.mindmap-node.theme-embed .embed-extension iframe,.mindmap-node.theme-embed .embed-extension-view iframe{position:absolute!important;inset:28px 0 0;width:100%!important;height:calc(100% - 28px)!important;border:none;border-radius:0 0 inherit inherit;background:#fff}.mindmap-node.theme-embed .embed-extension-empty{position:absolute;inset:28px 0 0;display:flex;align-items:center;justify-content:center;background:#2a2a2a;border-radius:0 0 inherit inherit}.mindmap-node.theme-embed .embed-placeholder{color:#888;font-size:12px}.mindmap-node.theme-embed .embed-extension-edit{position:absolute!important;inset:0;margin:0!important;padding:0!important;border-radius:inherit;display:flex;flex-direction:column;background:#1e1e1e}.mindmap-node.theme-embed .embed-extension-edit:before{content:"";position:absolute;top:0;left:0;right:0;height:28px;background:linear-gradient(180deg,#3a3a3a,#2d2d2d);border-bottom:1px solid #1a1a1a;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;z-index:1}.mindmap-node.theme-embed .embed-extension-edit:after{content:"";position:absolute;top:9px;left:10px;width:10px;height:10px;background:#ff5f57;border-radius:50%;box-shadow:16px 0 #febc2e,32px 0 #28c840;z-index:2}.mindmap-node.theme-embed .embed-edit-row{position:absolute;top:4px;left:56px;right:8px;height:20px;display:flex;gap:6px;z-index:3}.mindmap-node.theme-embed .embed-edit-row .extension-input{flex:1;height:20px;padding:2px 8px;margin:0;border:none;border-radius:4px;background:#1a1a1a;color:#ccc;font-size:11px}.mindmap-node.theme-embed .embed-edit-row .extension-input:focus{outline:none;background:#222}.mindmap-node.theme-embed .embed-done-btn{height:20px;padding:0 10px;font-size:10px;border-radius:4px}.mindmap-node.theme-embed .embed-preview{position:absolute!important;inset:28px 0 0;margin:0!important;border-radius:0 0 inherit inherit;overflow:hidden}.mindmap-node.theme-embed .embed-preview iframe{width:100%!important;height:100%!important;border:none;background:#fff}.mindmap-node.theme-embed .embed-preview-wrapper{position:absolute;inset:28px 0 0}.mindmap-node.theme-embed .embed-preview-wrapper .embed-preview{position:absolute;inset:0}.mindmap-node.theme-embed .embed-preview-wrapper .embed-preview iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:#fff}.embed-drag-handle{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#000000b3;border-radius:10px;color:#fff;cursor:grab;opacity:0;transition:opacity .2s ease;z-index:10}.embed-drag-handle:active{cursor:grabbing}.embed-preview-wrapper:hover .embed-drag-handle{opacity:1}.embed-drag-handle:hover{background:#000000d9}.react-flow__node.dragging .embed-preview iframe,.react-flow__node.dragging .embed-preview{pointer-events:none!important}.mindmap-node.theme-embed.is-selected{box-shadow:0 0 0 2px var(--border-color, #646cff),0 0 12px #646cff66}.mindmap-node.theme-text{padding:0!important;overflow:visible!important;min-width:150px;min-height:80px;position:relative}.mindmap-node.theme-text .node-title-section,.mindmap-node.theme-text .node-divider{display:none!important}.mindmap-node.theme-text .node-content{position:absolute!important;inset:2px;padding:0!important;margin:0!important;overflow:hidden;border-radius:inherit;z-index:1}.mindmap-node.theme-text .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important}.mindmap-node.theme-text .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important;border-radius:inherit}.mindmap-node.theme-text .extension-content{position:absolute!important;inset:0;padding:0!important;margin:0!important}.mindmap-node.theme-text .text-extension,.mindmap-node.theme-text .text-extension-view,.mindmap-node.theme-text .text-extension-preview{position:absolute!important;inset:0;width:100%;height:100%;margin:0!important;padding:0!important;border-radius:inherit;overflow:auto;box-sizing:border-box}.mindmap-node.theme-text .text-content-preview{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:12px!important;border-radius:inherit;overflow:auto;box-sizing:border-box}.mindmap-node.theme-text .text-content-preview p,.mindmap-node.theme-text .text-content-preview h1,.mindmap-node.theme-text .text-content-preview h2,.mindmap-node.theme-text .text-content-preview h3,.mindmap-node.theme-text .text-content-preview h4,.mindmap-node.theme-text .text-content-preview h5,.mindmap-node.theme-text .text-content-preview h6,.mindmap-node.theme-text .text-content-preview ul,.mindmap-node.theme-text .text-content-preview ol,.mindmap-node.theme-text .text-content-preview li,.mindmap-node.theme-text .text-content-preview blockquote,.mindmap-node.theme-text .text-content-preview pre,.mindmap-node.theme-text .text-content-preview div,.mindmap-node.theme-text .text-content-preview span{margin:0!important;padding:0!important}.mindmap-node.theme-text .text-content-preview p+p{margin-top:.5em!important}.mindmap-node.theme-text .text-content-preview ul,.mindmap-node.theme-text .text-content-preview ol{padding-left:1.5em!important;margin-top:.5em!important;margin-bottom:.5em!important}.mindmap-node.theme-text .text-extension{color:inherit;font-size:inherit;line-height:1.5}.mindmap-node.theme-text .text-extension-empty{display:flex;align-items:center;justify-content:center}.mindmap-node.theme-text .text-placeholder{color:#fff6;font-size:12px;font-style:italic}.mindmap-node.theme-text .text-extension-edit{position:absolute!important;inset:0;margin:0!important;padding:0!important;border-radius:inherit;overflow:hidden}.mindmap-node.theme-text .text-editor{position:absolute!important;inset:0;margin:0!important;padding:12px!important;border:none!important;border-radius:inherit!important;background:transparent!important;overflow:auto;color:inherit;box-sizing:border-box}.mindmap-node.theme-text .text-editor.focused{border:none!important;outline:none}.mindmap-node.theme-text .text-extension::-webkit-scrollbar,.mindmap-node.theme-text .text-editor::-webkit-scrollbar{width:4px}.mindmap-node.theme-text .text-extension::-webkit-scrollbar-track,.mindmap-node.theme-text .text-editor::-webkit-scrollbar-track{background:transparent}.mindmap-node.theme-text .text-extension::-webkit-scrollbar-thumb,.mindmap-node.theme-text .text-editor::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.mindmap-node.theme-text .text-extension::-webkit-scrollbar-thumb:hover,.mindmap-node.theme-text .text-editor::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.mindmap-node.theme-text.is-selected{box-shadow:0 0 0 2px var(--border-color, #646cff),0 0 12px #646cff66}.terminal-theme{position:relative;overflow:hidden}.terminal-scanlines{position:absolute;inset:0;pointer-events:none;z-index:5;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px)}.terminal-code{position:relative;border-radius:4px;border:1px solid rgba(0,255,65,.2)}.terminal-theme .code-language-badge{position:absolute;top:4px;right:4px;padding:2px 8px;background:#0009;border:1px solid;border-radius:3px;font-size:9px;text-transform:uppercase;font-family:Monaco,Menlo,Ubuntu Mono,monospace;letter-spacing:1px;z-index:10}@keyframes terminal-blink{0%,49%{opacity:1}50%,to{opacity:0}}.terminal-theme .code-placeholder:after{content:"_";animation:terminal-blink 1s infinite;margin-left:2px}.code-extension-view.terminal-theme{border-radius:6px;border:2px solid rgba(0,255,65,.3);background:linear-gradient(180deg,rgba(0,20,0,.3) 0%,transparent 100%)}.code-extension-view.terminal-theme .code-block{margin:0;padding:24px 8px 8px;border-radius:4px}.mindmap-node.theme-code .code-extension-view.terminal-theme,.mindmap-node.theme-code .code-extension-edit.terminal-theme{border:none!important;border-radius:inherit}.code-extension-edit.terminal-theme{border-radius:6px;border:2px solid rgba(0,255,65,.3);background:#000a0080}.code-extension-edit.terminal-theme .code-edit-header{background:#0006;border-bottom:1px solid rgba(0,255,65,.2);padding:6px 8px}.code-extension-edit.terminal-theme .code-textarea{border:1px solid rgba(0,255,65,.2);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;caret-color:#00ff41}.terminal-theme .code-extension-empty{padding:20px;text-align:center;font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#0000004d;border-radius:4px}@keyframes crt-flicker{0%{opacity:.97}5%{opacity:.98}10%{opacity:.96}15%{opacity:.99}20%{opacity:.97}50%{opacity:.98}80%{opacity:.97}to{opacity:.98}}.iframe-touch-overlay{position:absolute;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;background:#0006;border-radius:inherit;cursor:grab}.iframe-touch-overlay:active{cursor:grabbing}.iframe-touch-overlay-hint{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#000000b3;border-radius:12px;color:#fff;font-size:14px;font-weight:500;text-align:center}.iframe-touch-overlay-hint svg{opacity:.9}.youtube-preview-blocked iframe,.embed-preview-blocked iframe{pointer-events:none!important}.mindmap-node.theme-drawing{padding:0!important;overflow:visible!important}.mindmap-node.theme-drawing .node-title-section,.mindmap-node.theme-drawing .node-divider{display:none!important}.mindmap-node.theme-drawing .node-content{position:absolute!important;inset:0;padding:0!important;margin:0!important;overflow:visible!important;border-radius:inherit;z-index:1}.mindmap-node.theme-drawing .node-extensions-section{position:absolute!important;inset:0;margin:0!important;padding:0!important;overflow:visible!important}.mindmap-node.theme-drawing .extension-container{position:absolute!important;inset:0;margin:0!important;padding:0!important;background:transparent!important}.mindmap-node.theme-drawing .extension-content{position:absolute!important;inset:0;margin:0!important;padding:0!important;overflow:visible!important}@media(max-width:768px){.text-formatting-toolbar{left:8px!important;right:8px!important;transform:none!important;width:auto!important;max-width:none;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.text-formatting-toolbar::-webkit-scrollbar{display:none}.text-formatting-btn{flex-shrink:0;min-width:32px;width:32px;height:32px}.text-formatting-select{flex-shrink:0;height:32px;min-width:40px}.text-formatting-divider{flex-shrink:0;margin:0 2px}.youtube-drag-handle,.embed-drag-handle{display:none}}.mobile-context-sheet-container{position:fixed;inset:0;z-index:10000;pointer-events:auto}.mobile-context-sheet-backdrop{position:absolute;inset:0;background:#0006;animation:mobileSheetBackdropFadeIn .2s ease-out}@keyframes mobileSheetBackdropFadeIn{0%{opacity:0}to{opacity:1}}.mobile-context-sheet{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;max-height:70vh;overflow:hidden;animation:mobileSheetSlideUp .25s ease-out;transition:transform .1s ease-out}@keyframes mobileSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-context-sheet-handle{display:flex;justify-content:center;padding:12px 0 8px;cursor:grab}.mobile-context-sheet-handle-bar{width:36px;height:4px;background:#d1d5db;border-radius:2px}.mobile-context-sheet-content{padding:0 0 env(safe-area-inset-bottom,20px);overflow-y:auto;max-height:calc(70vh - 40px)}.mobile-context-sheet-item{display:flex;align-items:center;width:100%;padding:16px 20px;border:none;background:none;cursor:pointer;font-size:16px;color:#374151;text-align:left;gap:14px;transition:background-color .1s ease;min-height:52px}.mobile-context-sheet-item:active:not(.disabled){background-color:#f3f4f6}.mobile-context-sheet-item.disabled{opacity:.4;cursor:not-allowed}.mobile-context-sheet-icon{width:20px;height:20px;color:#6b7280;flex-shrink:0}.mobile-context-sheet-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-context-sheet-divider{height:1px;background-color:#e5e7eb;margin:4px 20px}@media(prefers-color-scheme:dark){.mobile-context-sheet{background:#1f2937;box-shadow:0 -4px 20px #0006}.mobile-context-sheet-handle-bar{background:#4b5563}.mobile-context-sheet-item{color:#e5e7eb}.mobile-context-sheet-item:active:not(.disabled){background-color:#374151}.mobile-context-sheet-icon{color:#9ca3af}.mobile-context-sheet-divider{background-color:#374151}}.line-toolbar{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:lineToolbarSlideIn .15s ease-out}@keyframes lineToolbarSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.line-toolbar-divider{width:1px;height:24px;background:var(--color-border-subtle);margin:0 4px}.line-toolbar-dropdown{position:relative}.line-toolbar-dropdown-btn{display:flex;align-items:center;gap:4px;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.line-toolbar-dropdown-btn:hover,.line-toolbar-dropdown-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary)}.line-toolbar-dropdown-btn .dropdown-arrow{opacity:.6;transition:transform .15s ease}.line-toolbar-dropdown-btn.active .dropdown-arrow{transform:rotate(180deg)}.line-toolbar-dropdown-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:140px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:8px;box-shadow:var(--shadow-lg);z-index:10;animation:lineDropdownFadeIn .15s ease-out}@keyframes lineDropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.line-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.line-toolbar-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.line-toolbar-btn svg{display:block}.line-toolbar-delete{color:var(--color-error)}.line-toolbar-delete:hover{background:var(--color-error-bg);color:var(--color-error)}@media(max-width:768px){.line-toolbar{left:50%;right:auto;transform:translate(-50%);max-width:calc(100% - 16px)}@keyframes lineToolbarSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.line-toolbar-dropdown-btn{padding:6px;gap:0}.line-toolbar .dropdown-label{display:none}.line-toolbar .dropdown-arrow{margin-left:2px}.line-toolbar-btn{min-width:32px;flex-shrink:0}.line-toolbar-divider{flex-shrink:0;margin:0 2px}.line-toolbar-dropdown{flex-shrink:0}}.line-node{pointer-events:all}.line-node.locked{pointer-events:none}.line-endpoint-handle{pointer-events:all;box-shadow:0 1px 3px #0000004d;transition:transform .1s ease,box-shadow .1s ease}.line-endpoint-handle:hover{transform:scale(1.2);box-shadow:0 2px 6px #0006}.line-endpoint-handle:active{cursor:grabbing}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.upgrade-to-pro{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;max-width:280px;margin:0 auto}.upgrade-to-pro.compact{padding:16px;max-width:none;background:var(--color-bg-primary);border-radius:6px;border:1px dashed var(--color-border-default)}.upgrade-icon{width:64px;height:64px;margin-bottom:16px;border-radius:50%;background:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff}.upgrade-title{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.upgrade-description{margin:0 0 16px;font-size:14px;color:var(--color-text-muted);line-height:1.5}.upgrade-to-pro.compact .upgrade-description{margin-bottom:12px;font-size:13px}.upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s}.upgrade-to-pro.compact .upgrade-btn{padding:8px 16px;font-size:13px}.upgrade-btn:hover{background:var(--color-accent-primary-hover);transform:translateY(-1px)}.pro-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-accent-primary);border-radius:4px;color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pro-badge svg{font-size:9px;color:#fff!important}.collaborators-tab{padding:16px}.collaborators-header{margin-bottom:16px}.collaborators-description{margin:0 0 12px;font-size:13px;color:var(--color-text-muted);line-height:1.5}.add-collaborator-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.add-collaborator-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.add-collaborator-btn:disabled{opacity:.5;cursor:not-allowed}.collaborators-loading,.collaborators-error{text-align:center;padding:32px 16px;color:var(--color-text-muted);font-size:14px}.collaborators-error{color:var(--color-error)}.collaborators-empty{text-align:center;padding:32px 16px;background:var(--color-bg-secondary);border-radius:8px;border:1px dashed var(--color-border-subtle)}.collaborators-empty p{margin:0;font-size:15px;color:var(--color-text-muted)}.collaborators-empty small{display:block;margin-top:8px;font-size:13px;color:var(--color-text-disabled)}.collaborators-list{display:flex;flex-direction:column;gap:8px}.collaborator-card{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-default)}.collaborator-info{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.collaborator-avatar,.collaborator-avatar-placeholder{width:36px;height:36px;border-radius:50%;flex-shrink:0}.collaborator-avatar{object-fit:cover}.collaborator-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-border-subtle);color:var(--color-text-primary);font-size:14px;font-weight:600}.collaborator-details{display:flex;flex-direction:column;min-width:0;overflow:hidden}.collaborator-name{font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collaborator-email{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collaborator-actions{display:flex;align-items:center;gap:8px}.permission-select{flex:1;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;cursor:pointer;outline:none}.permission-select:focus{border-color:var(--color-border-focus)}.remove-collaborator-btn{width:36px;height:36px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.remove-collaborator-btn:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff}.remove-collaborator-btn:disabled{opacity:.5;cursor:not-allowed}.collaborator-modal-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:#000000b3!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;padding:0!important;margin:0!important}.collaborator-modal{background:var(--color-bg-tertiary)!important;border-radius:12px!important;width:90%!important;max-width:440px!important;max-height:80vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;border:1px solid var(--color-border-default)!important}.collaborator-modal .modal-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 20px!important;border-bottom:1px solid var(--color-border-default)!important;flex-shrink:0!important;box-sizing:border-box!important;width:100%!important;background:var(--color-bg-tertiary)!important}.collaborator-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.collaborator-modal .modal-header .close-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s}.collaborator-modal .modal-header .close-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.collaborator-modal .modal-content{padding:20px!important;overflow-y:auto!important;box-sizing:border-box!important;width:100%!important}.collaborator-modal .no-friends-message{text-align:center;padding:24px}.collaborator-modal .no-friends-message p{margin:0;font-size:15px;color:var(--color-text-muted)}.collaborator-modal .no-friends-message small{display:block;margin-top:8px;font-size:13px;color:var(--color-text-disabled)}.collaborator-modal .form-group{margin-bottom:16px}.collaborator-modal .form-group>label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.collaborator-modal .add-method-tabs{display:flex;gap:8px;margin-bottom:16px}.collaborator-modal .add-method-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-muted);font-size:14px;cursor:pointer;transition:all .2s}.collaborator-modal .add-method-tab:hover{border-color:var(--color-border-subtle);color:var(--color-text-primary)}.collaborator-modal .add-method-tab.active{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg);color:var(--color-text-primary)}.collaborator-modal .email-input{width:100%;padding:10px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;outline:none;box-sizing:border-box}.collaborator-modal .email-input:focus{border-color:var(--color-border-focus)}.collaborator-modal .email-input::placeholder{color:var(--color-text-disabled)}.collaborator-modal .form-hint{display:block;margin-top:8px;font-size:12px;color:var(--color-text-disabled)}.collaborator-modal .friend-select-list{max-height:200px;overflow-y:auto;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-primary)}.collaborator-modal .friend-select-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--color-border-default)}.collaborator-modal .friend-select-item:last-child{border-bottom:none}.collaborator-modal .friend-select-item:hover{background:var(--color-bg-tertiary)}.collaborator-modal .friend-select-item.selected{background:var(--color-accent-primary-bg);border-color:var(--color-accent-primary)}.collaborator-modal .friend-avatar,.collaborator-modal .friend-avatar-placeholder{width:36px;height:36px;border-radius:50%;flex-shrink:0}.collaborator-modal .friend-avatar{object-fit:cover}.collaborator-modal .friend-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-border-subtle);color:var(--color-text-primary);font-size:14px;font-weight:600}.collaborator-modal .friend-details{display:flex;flex-direction:column;min-width:0}.collaborator-modal .friend-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.collaborator-modal .friend-email{font-size:12px;color:var(--color-text-muted)}.collaborator-modal .permission-options{display:flex;flex-direction:column;gap:8px}.collaborator-modal .permission-option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-primary);cursor:pointer;transition:all .2s}.collaborator-modal .permission-option:hover{border-color:var(--color-border-subtle)}.collaborator-modal .permission-option.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.collaborator-modal .permission-option input[type=radio]{display:none}.collaborator-modal .permission-option svg{width:20px;color:var(--color-text-muted)}.collaborator-modal .permission-option.selected svg{color:var(--color-accent-primary)}.collaborator-modal .permission-option div{display:flex;flex-direction:column}.collaborator-modal .permission-option strong{font-size:14px;color:var(--color-text-primary)}.collaborator-modal .permission-option small{font-size:12px;color:var(--color-text-muted);margin-top:2px}.collaborator-modal .add-error{padding:10px 12px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:13px;margin-bottom:16px}.collaborator-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-default)}.collaborator-modal .modal-actions .cancel-btn{padding:10px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:all .2s}.collaborator-modal .modal-actions .cancel-btn:hover:not(:disabled){background:var(--color-bg-elevated)}.collaborator-modal .modal-actions .add-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.collaborator-modal .modal-actions .add-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.collaborator-modal .modal-actions .add-btn:disabled,.collaborator-modal .modal-actions .cancel-btn:disabled{opacity:.5;cursor:not-allowed}.collaborator-modal .add-success{padding:10px 12px;background:var(--color-success-bg, rgba(74, 222, 128, .1));border:1px solid var(--color-success, #4ade80);border-radius:6px;color:var(--color-success, #4ade80);font-size:13px;margin-bottom:16px}.pending-invites-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-default)}.pending-invites-header{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:500;color:var(--color-text-muted)}.pending-invites-header svg{font-size:12px;color:var(--color-text-disabled)}.pending-invites-list{display:flex;flex-direction:column;gap:8px}.pending-invite-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-secondary);border-radius:8px;border:1px dashed var(--color-border-subtle)}.pending-invite-info{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.pending-invite-avatar-placeholder{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-border-subtle);color:var(--color-text-muted);font-size:12px;flex-shrink:0}.pending-invite-details{display:flex;flex-direction:column;min-width:0;overflow:hidden}.pending-invite-email{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-invite-meta{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cancel-invite-btn{width:28px;height:28px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.cancel-invite-btn:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff}.cancel-invite-btn:disabled{opacity:.5;cursor:not-allowed}.share-settings{display:flex;flex-direction:column;gap:16px}.share-loading{text-align:center;padding:24px;color:var(--color-text-muted);font-size:14px}.share-error{padding:10px 12px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:13px}.share-description{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.5}.share-section{background:var(--color-bg-secondary);border-radius:8px;padding:12px;border:1px solid var(--color-border-default)}.share-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.share-type-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.share-type-label svg{color:var(--color-accent-primary)}.share-type-desc{margin:0 0 12px;font-size:12px;color:var(--color-text-muted)}.create-link-btn{width:28px;height:28px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.create-link-btn:hover:not(:disabled){background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.create-link-btn:disabled{opacity:.5;cursor:not-allowed}.share-links-list{display:flex;flex-direction:column;gap:8px}.no-links{text-align:center;padding:16px;color:var(--color-text-muted);font-size:13px;background:var(--color-bg-primary);border-radius:6px;border:1px dashed var(--color-border-default)}.share-link-item{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--color-bg-primary);border-radius:6px;border:1px solid var(--color-border-default);gap:8px}.share-link-info{flex:1;min-width:0;overflow:hidden}.share-link-url{display:flex;align-items:center;gap:6px;color:var(--color-text-primary);font-size:13px;font-family:monospace}.share-link-url .link-icon{color:var(--color-text-muted);flex-shrink:0}.share-link-url .link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-link-meta{margin-top:4px;font-size:11px;color:var(--color-text-muted)}.share-link-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.copy-link-btn,.revoke-link-btn{width:30px;height:30px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.copy-link-btn:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.copy-link-btn.copied{background:var(--color-success);border-color:var(--color-success);color:#fff}.revoke-link-btn:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff}.revoke-link-btn:disabled{opacity:.5;cursor:not-allowed}.expiry-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 6px;background:var(--color-accent-primary-bg);border-radius:4px;color:var(--color-accent-primary);font-size:10px}.expiry-badge.expired{background:var(--color-error-bg);color:var(--color-error)}.share-link-item.expired{opacity:.6}.expiry-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.expiry-modal{background:var(--color-bg-tertiary);border-radius:12px;width:100%;max-width:360px;border:1px solid var(--color-border-default);box-shadow:0 8px 32px #0000004d}.expiry-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--color-border-default)}.expiry-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.expiry-modal-header h3 svg{color:var(--color-accent-primary)}.close-modal-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-modal-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.expiry-modal-desc{margin:0;padding:16px 20px 12px;font-size:13px;color:var(--color-text-muted);line-height:1.5}.expiry-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px 16px}.expiry-option{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:var(--color-text-tertiary)}.expiry-option:hover{border-color:var(--color-border-subtle);color:var(--color-text-primary)}.expiry-option.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg);color:var(--color-text-primary)}.expiry-option input[type=radio]{display:none}.expiry-option svg{color:var(--color-accent-primary)}.custom-date-picker{padding:12px 16px}.date-input{width:100%;padding:10px 12px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;outline:none;box-sizing:border-box}.date-input:focus{border-color:var(--color-border-focus)}.expiry-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px;border-top:1px solid var(--color-border-default)}.expiry-modal-actions .cancel-btn{padding:10px 16px;border:1px solid var(--color-border-subtle);border-radius:8px;background:transparent;color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:all .2s}.expiry-modal-actions .cancel-btn:hover{background:var(--color-bg-elevated)}.expiry-modal-actions .create-btn{padding:10px 20px;border:none;border-radius:8px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.expiry-modal-actions .create-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.expiry-modal-actions .create-btn:disabled{opacity:.5;cursor:not-allowed}.edge-toolbar{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:edgeToolbarSlideIn .15s ease-out}@keyframes edgeToolbarSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.edge-toolbar-divider{width:1px;height:24px;background:var(--color-border-subtle);margin:0 4px}.edge-toolbar-dropdown{position:relative}.edge-toolbar-dropdown-btn{display:flex;align-items:center;gap:4px;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.edge-toolbar-dropdown-btn:hover,.edge-toolbar-dropdown-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary)}.edge-toolbar-dropdown-btn .dropdown-arrow{opacity:.6;transition:transform .15s ease}.edge-toolbar-dropdown-btn.active .dropdown-arrow{transform:rotate(180deg)}.dropdown-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.edge-toolbar-dropdown-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:140px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:8px;box-shadow:var(--shadow-lg);z-index:10;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dropdown-section{display:flex;flex-direction:column;gap:6px}.dropdown-section-label{font-size:10px;color:var(--color-text-disabled);text-transform:uppercase;letter-spacing:.5px;padding:0 4px}.dropdown-options{display:flex;flex-direction:column;gap:2px}.dropdown-options.horizontal{flex-direction:row;gap:4px}.dropdown-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.dropdown-option:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.dropdown-option.active{background:var(--color-accent-primary);color:#fff}.dropdown-option span{font-size:12px}.dropdown-option-small{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.dropdown-option-small:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.dropdown-option-small.active{background:var(--color-accent-primary);color:#fff}.dropdown-divider{height:1px;background:var(--color-border-subtle);margin:8px 0}.color-preview{width:16px;height:16px;border-radius:3px;border:1px solid var(--glass-border)}.color-panel{min-width:160px}.color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.color-swatch{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.color-swatch:hover{transform:scale(1.1);border-color:var(--glass-border)}.color-swatch.active{border-color:var(--color-text-primary);box-shadow:0 0 0 2px #646cff80}.color-custom{display:flex;align-items:center;gap:8px}.color-custom input[type=color]{width:28px;height:22px;padding:0;border:none;border-radius:4px;cursor:pointer;background:transparent}.color-custom input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-custom input[type=color]::-webkit-color-swatch{border:1px solid var(--color-border-hover);border-radius:4px}.color-custom span{font-size:12px;color:var(--color-text-muted)}.text-size-preview{font-size:13px;font-weight:600;min-width:18px;text-align:center}.text-panel{min-width:auto}.line-panel{min-width:160px}.text-option span{font-weight:500}.edge-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.edge-toolbar-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.edge-toolbar-btn.active{background:var(--color-accent-primary);color:#fff}.edge-toolbar-btn svg{display:block}.edge-toolbar-paint.active{animation:paintPulse 1.5s ease-in-out infinite}@keyframes paintPulse{0%,to{box-shadow:0 0 #646cff66}50%{box-shadow:0 0 0 4px #646cff00}}.edge-toolbar-delete{color:var(--color-error)}.edge-toolbar-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.edge-toolbar-edit-label{display:none}@media(max-width:768px){.edge-toolbar{left:50%;right:auto;transform:translate(-50%);max-width:calc(100% - 16px)}@keyframes edgeToolbarSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.edge-toolbar-dropdown-btn{padding:6px;gap:0}.dropdown-label,.text-size-preview{display:none}.dropdown-arrow{margin-left:2px}.edge-toolbar-btn{min-width:32px;flex-shrink:0}.edge-toolbar-divider{flex-shrink:0;margin:0 2px}.edge-toolbar-dropdown{flex-shrink:0}.edge-toolbar-edit-label{display:flex}}.undo-redo-toolbar-wrapper{display:contents}.undo-redo-toolbar{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg)}.scroll-indicator{display:none}.toolbar-section{display:flex;flex-direction:column;gap:4px}.toolbar-divider{width:24px;height:1px;margin:4px 0;background:var(--color-border-subtle)}.undo-redo-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:4px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .15s ease}.undo-redo-btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn:active:not(:disabled){background:var(--color-accent-primary);color:#fff}.undo-redo-btn:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.undo-redo-btn.active{background:var(--color-accent-primary);color:#fff}.undo-redo-btn.add-node-btn{color:var(--color-accent-primary)}.undo-redo-btn.add-node-btn:hover{background:var(--color-accent-primary);color:#fff}.undo-redo-btn.add-node-btn.active{background:var(--color-accent-primary);color:#fff!important}.undo-redo-btn.cheatsheet-btn{color:var(--color-text-tertiary)}.undo-redo-btn.cheatsheet-btn:hover{background:var(--color-accent-primary-bg);color:var(--color-accent-primary)}.undo-redo-btn.hand-btn{color:var(--color-text-secondary)}.undo-redo-btn.hand-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn.hand-btn.active{background:var(--color-accent-primary);color:#fff}.undo-redo-btn.marquee-btn{color:var(--color-text-secondary)}.undo-redo-btn.marquee-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn.marquee-btn.active{background:var(--color-accent-primary);color:#fff}.undo-redo-btn[data-shortcut]{position:relative}.undo-redo-btn[data-shortcut]:after{content:attr(data-tooltip) " " attr(data-shortcut);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:6px 10px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:6px;box-shadow:var(--shadow-md);white-space:nowrap;font-size:12px;color:var(--color-text-secondary);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;z-index:1000}.undo-redo-btn[data-shortcut]:hover:after{opacity:1;visibility:visible}.undo-redo-btn[data-shortcut]:after{display:flex;gap:6px;align-items:center}@media(max-width:768px){.undo-redo-btn[data-shortcut]:after{display:none}}.mobile-mode-toggle{display:none}.undo-redo-btn.mobile-edit-btn{color:var(--color-text-secondary)}.undo-redo-btn.mobile-edit-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn.mobile-edit-btn.active{background:var(--color-accent-primary);color:#fff}.undo-redo-btn.add-shape-btn{color:var(--color-text-secondary)}.undo-redo-btn.add-shape-btn:hover,.undo-redo-btn.add-shape-btn.active{background:var(--color-accent-primary);color:#fff}.node-picker-container{position:relative}.node-picker-dropdown{position:absolute;left:calc(100% + 8px);top:0;z-index:10002;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:6px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);animation:nodePickerSlideIn .15s ease-out;min-width:120px}@keyframes nodePickerSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.node-picker-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .15s ease;text-align:left;white-space:nowrap}.node-picker-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.node-picker-item:active{background:var(--color-accent-primary);color:#fff}.node-picker-item svg{width:14px;height:14px;flex-shrink:0}.node-picker-label{font-size:12px;font-weight:500}.shape-picker-container{position:relative}.shape-picker-dropdown{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:10002;display:flex;flex-direction:row;align-items:center;gap:4px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);animation:shapePickerSlideIn .15s ease-out}@keyframes shapePickerSlideIn{0%{opacity:0;transform:translateY(-50%) translate(-8px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.shape-picker-item{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:4px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .15s ease}.shape-picker-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.shape-picker-item:active{background:var(--color-accent-primary);color:#fff}.shape-picker-item svg{width:14px;height:14px}.chat-draw-picker-container{position:relative}.chat-draw-picker-dropdown{position:absolute;left:calc(100% + 8px);top:0;z-index:10002;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:6px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);animation:chatDrawPickerSlideIn .15s ease-out;min-width:100px}@keyframes chatDrawPickerSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.chat-draw-picker-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:6px 10px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);font-size:12px;white-space:nowrap;text-align:left;transition:all .15s ease}.chat-draw-picker-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.chat-draw-picker-item.active,.chat-draw-picker-item:active{background:var(--color-accent-primary);color:#fff}.chat-draw-picker-item svg{width:14px;height:14px}.chat-draw-picker-label{font-weight:500}.mobile-mode-buttons{align-items:center;gap:2px}.undo-redo-btn.mobile-mode-inline-btn{color:var(--color-text-secondary)}.undo-redo-btn.mobile-mode-inline-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn.mobile-mode-inline-btn.active{background:var(--color-accent-primary);color:#fff}.mobile-undo-divider,.mobile-overflow-divider{display:none}@media(pointer:coarse),(max-width:768px){.desktop-only{display:none!important}.mobile-mode-toggle{display:flex!important}.shape-picker-container,.chat-draw-picker-container,.zoom-section,.node-picker-divider,.shape-divider,.chat-draw-divider,.zoom-divider,.cheatsheet-divider{display:none!important}.mobile-undo-divider,.mobile-overflow-divider{display:block!important}}.mobile-overflow-section{display:none}.undo-redo-btn.overflow-menu-btn{color:var(--color-text-secondary)}.undo-redo-btn.overflow-menu-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.undo-redo-btn.overflow-menu-btn.active{background:var(--color-accent-primary);color:#fff}.overflow-menu-dropdown{position:absolute;left:calc(100% + 8px);top:0;z-index:10002;display:flex;flex-direction:column;gap:4px;padding:8px;min-width:160px;background:var(--glass-bg);border:1px solid var(--color-border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);animation:overflowMenuSlideIn .15s ease-out}@keyframes overflowMenuSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.overflow-menu-group{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--color-border-subtle)}.overflow-menu-group:last-child{padding-bottom:0;border-bottom:none}.overflow-menu-group-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--color-text-tertiary);padding:2px 6px;letter-spacing:.5px}.overflow-menu-row{display:flex;gap:2px}.overflow-menu-row .overflow-menu-item{flex:1}.overflow-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);font-size:13px;text-align:left;white-space:nowrap;transition:all .15s ease}.overflow-menu-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.overflow-menu-item:active,.overflow-menu-item.active{background:var(--color-accent-primary);color:#fff}.overflow-menu-item svg{width:14px;height:14px;flex-shrink:0}@media(pointer:coarse),(max-width:768px){.undo-redo-toolbar-wrapper{display:flex;position:fixed;left:50%;transform:translate(-50%);bottom:12px;z-index:100;align-items:center;width:fit-content;max-width:calc(100% - 24px)}.undo-redo-toolbar{position:relative;inset:auto;transform:none;flex:0 1 auto;min-width:0;flex-direction:row;padding:8px 12px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.undo-redo-toolbar::-webkit-scrollbar{display:none}.toolbar-section{flex-direction:row;flex-shrink:0}.node-picker-container,.shape-picker-container,.chat-draw-picker-container,.mobile-mode-picker-container{position:static}.toolbar-divider{width:1px;height:32px;margin:0 6px;flex-shrink:0}.undo-redo-btn{min-width:44px;min-height:44px;width:44px;height:44px;flex-shrink:0}.undo-redo-btn svg{width:18px;height:18px}.scroll-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:40px;padding:0;border:none;background:transparent;color:var(--color-text-tertiary);opacity:0;pointer-events:none;transition:opacity .2s ease,color .15s ease,background .15s ease;flex-shrink:0;cursor:pointer;border-radius:4px}.scroll-indicator.visible{opacity:1;pointer-events:auto}.scroll-indicator.visible:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.scroll-indicator.visible:active{background:var(--color-accent-primary);color:#fff}.scroll-indicator-left{margin-right:4px}.scroll-indicator-right{margin-left:4px}.scroll-indicator svg{font-size:12px}.node-picker-dropdown{position:fixed;inset:auto auto 58px 50%;transform:translate(-50%);z-index:10002;animation:nodePickerSlideUpMobile .15s ease-out}@keyframes nodePickerSlideUpMobile{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.shape-picker-dropdown{position:fixed;inset:auto auto 58px 50%;transform:translate(-50%);flex-direction:column;z-index:10002;animation:shapePickerSlideUpMobile .15s ease-out}@keyframes shapePickerSlideUpMobile{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.chat-draw-picker-dropdown{position:fixed;inset:auto auto 58px 50%;transform:translate(-50%);flex-direction:column;z-index:10002;animation:chatDrawPickerSlideUpMobile .15s ease-out}@keyframes chatDrawPickerSlideUpMobile{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mobile-mode-picker-dropdown{position:fixed;inset:auto auto 58px 50%;transform:translate(-50%);flex-direction:column;z-index:10002;animation:mobilePickerSlideUpMobile .15s ease-out}@keyframes mobilePickerSlideUpMobile{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mobile-overflow-section{display:flex!important;position:static}.overflow-menu-dropdown{position:fixed;inset:auto auto 58px 50%;transform:translate(-50%);z-index:10002;animation:overflowMenuSlideUpMobile .15s ease-out;max-height:60vh;overflow-y:auto}@keyframes overflowMenuSlideUpMobile{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}}.paste-suggestion-popover{z-index:10000;min-width:280px;max-width:360px;background:var(--glass-bg, rgba(30, 30, 30, .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:12px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;overflow:hidden;animation:paste-popover-in .2s ease-out}@keyframes paste-popover-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.paste-suggestion-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--glass-border, rgba(255, 255, 255, .1))}.paste-suggestion-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #fff)}.paste-suggestion-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary, #888);cursor:pointer;transition:all .15s ease}.paste-suggestion-close:hover{background:#ffffff1a;color:var(--color-text-primary, #fff)}.paste-suggestion-list{padding:8px;display:flex;flex-direction:column;gap:4px}.paste-suggestion-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text-primary, #fff);cursor:pointer;transition:all .15s ease;text-align:left}.paste-suggestion-item:hover{background:#646cff26}.paste-suggestion-item--primary{background:#646cff33;border:1px solid rgba(100,108,255,.3)}.paste-suggestion-item--primary:hover{background:#646cff4d}.paste-suggestion-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#646cff33;color:var(--color-accent-primary, #646cff);font-size:12px}.paste-suggestion-label{flex:1;font-size:13px;font-weight:500}.paste-suggestion-confidence{font-size:11px;color:var(--color-text-secondary, #888);padding:2px 6px;background:#ffffff0d;border-radius:4px}.paste-suggestion-badge{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--color-success, #22c55e);padding:2px 6px;background:#22c55e26;border-radius:4px}.paste-suggestion-footer{padding:8px;border-top:1px solid var(--glass-border, rgba(255, 255, 255, .1))}.paste-suggestion-plain-text{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:#ffffff0d;color:var(--color-text-secondary, #888);font-size:12px;cursor:pointer;transition:all .15s ease}.paste-suggestion-plain-text:hover{background:#ffffff1a;color:var(--color-text-primary, #fff)}.paste-suggestion-uploading{padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.paste-suggestion-progress{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.paste-suggestion-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent-primary, #646cff),#8b5cf6);border-radius:3px;transition:width .2s ease}.paste-suggestion-progress-text{font-size:12px;color:var(--color-text-secondary, #888)}.paste-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--glass-bg, rgba(30, 30, 30, .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:10px;box-shadow:0 4px 24px #0000004d;animation:paste-toast-in .25s ease-out}@keyframes paste-toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.paste-toast--exiting{animation:paste-toast-out .2s ease-in forwards}@keyframes paste-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(16px)}}.paste-toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px}.paste-toast-icon--success{background:#22c55e33;color:var(--color-success, #22c55e)}.paste-toast-icon--error{background:#ef444433;color:var(--color-error, #ef4444)}.paste-toast-icon--loading{background:#646cff33;color:var(--color-accent-primary, #646cff)}.paste-toast-message{font-size:13px;font-weight:500;color:var(--color-text-primary, #fff)}.paste-toast--success{border-color:#22c55e33}.paste-toast--error{border-color:#ef444433}.paste-toast--loading{border-color:#646cff33}.paste-workflow-overlay{position:fixed;inset:0;background:var(--color-bg-overlay, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:10000;animation:paste-workflow-fade-in .2s ease-out}@keyframes paste-workflow-fade-in{0%{opacity:0}to{opacity:1}}.paste-workflow-modal{background:var(--glass-bg, var(--color-bg-primary, #ffffff));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border, var(--color-border-default, rgba(0, 0, 0, .1)));border-radius:16px;padding:24px;width:340px;max-width:90vw;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .3));animation:paste-workflow-slide-up .3s ease-out}@keyframes paste-workflow-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.paste-workflow-header{text-align:center;margin-bottom:20px}.paste-workflow-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:24px;background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1))}.paste-workflow-icon svg.active{color:var(--color-accent-primary, #646cff);animation:paste-workflow-pulse 1.5s ease-in-out infinite}.paste-workflow-icon svg.success{color:var(--color-success, #16a34a)}.paste-workflow-icon svg.error{color:var(--color-error, #dc2626)}@keyframes paste-workflow-pulse{0%,to{opacity:1}50%{opacity:.5}}.paste-workflow-title{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--color-text-primary, #1a1a1a)}.paste-workflow-subtitle{margin:0;font-size:14px;color:var(--color-text-tertiary, #555555)}.paste-workflow-progress{height:4px;background:var(--color-border-default, #e0e0e0);border-radius:2px;overflow:hidden;margin-bottom:20px}.paste-workflow-progress-bar{height:100%;background:var(--color-accent-primary, #646cff);border-radius:2px;transition:width .3s ease-out}.paste-workflow-progress-bar.success{background:var(--color-success, #16a34a)}.paste-workflow-progress-bar.error{background:var(--color-error, #dc2626)}.paste-workflow-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.paste-workflow-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--color-bg-tertiary, #e8e8e8);transition:all .2s ease}.paste-workflow-step--active{background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1))}.paste-workflow-step--complete{opacity:.6}.paste-workflow-step--pending{opacity:.4}.paste-workflow-step--error{background:var(--color-error-bg, rgba(220, 38, 38, .1))}.paste-workflow-step-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px}.paste-workflow-step--active .paste-workflow-step-icon{color:var(--color-accent-primary, #646cff)}.paste-workflow-step--complete .paste-workflow-step-icon{color:var(--color-success, #16a34a)}.paste-workflow-step--error .paste-workflow-step-icon{color:var(--color-error, #dc2626)}.paste-workflow-step--pending .paste-workflow-step-icon{color:var(--color-text-muted, #777777);font-size:6px}.paste-workflow-step-label{font-size:13px;font-weight:500;color:var(--color-text-primary, #1a1a1a)}.paste-workflow-step--pending .paste-workflow-step-label{color:var(--color-text-muted, #777777)}.paste-workflow-upload-details{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1));border-radius:8px;margin-bottom:16px}.paste-workflow-upload-details .upload-icon{color:var(--color-accent-primary, #646cff);font-size:16px}.paste-workflow-upload-details .upload-percent{font-size:14px;font-weight:600;color:var(--color-accent-primary, #646cff)}.paste-workflow-upload-details .upload-resize-info{font-size:12px;color:var(--color-text-tertiary, #555555);margin-left:8px;padding-left:8px;border-left:1px solid var(--color-border-default, #e0e0e0)}.paste-workflow-action{width:100%;padding:12px 16px;border:none;border-radius:8px;background:var(--gradient-accent, linear-gradient(135deg, #646cff 0%, #5558dd 100%));color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.paste-workflow-action:hover{background:var(--gradient-accent-hover, linear-gradient(135deg, #5558dd 0%, #4448cc 100%));transform:translateY(-1px)}.paste-workflow-action:active{transform:translateY(0)}.remote-cursors-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.remote-cursor{position:absolute;top:0;left:0;pointer-events:none;transition:transform .1s ease-out;z-index:1001}.cursor-icon{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.cursor-label{position:absolute;top:18px;left:12px;display:flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;border-radius:10px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap;box-shadow:0 1px 3px #0003;max-width:150px}.cursor-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover;flex-shrink:0}.cursor-initials{width:16px;height:16px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;flex-shrink:0}.cursor-initials.hidden{display:none}.cursor-name{overflow:hidden;text-overflow:ellipsis}.remote-cursor{animation:cursor-appear .2s ease-out}@keyframes cursor-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.multi-select-align-container{position:relative}.multi-select-toolbar-btn.active{background:var(--color-accent-primary-hover, #2563eb)}.multi-select-dropdown-icon{font-size:8px;margin-left:2px;opacity:.7}.multi-select-align-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-bg-primary, white);border:1px solid var(--color-border-default, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:8px;min-width:180px;z-index:101;animation:alignMenuFadeIn .1s ease-out}@keyframes alignMenuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.multi-select-align-section{margin-bottom:8px}.multi-select-align-section:last-child{margin-bottom:0}.multi-select-align-section-label{font-size:10px;font-weight:600;color:var(--color-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em;padding:4px 4px 6px}.multi-select-align-row{display:flex;gap:4px}.multi-select-align-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-text-secondary, #374151);cursor:pointer;transition:all .1s ease}.multi-select-align-btn:hover{background:var(--color-bg-tertiary, #f3f4f6);border-color:var(--color-border-default, #e5e7eb);color:var(--color-text-primary, #111827)}.multi-select-align-btn:active{background:var(--color-bg-hover, #e5e7eb)}.multi-select-align-btn--wide{width:auto;flex:1;gap:6px;font-size:11px;padding:0 8px}.multi-select-align-btn--wide span{font-weight:500}@media(prefers-color-scheme:dark){.multi-select-align-menu{background:var(--color-bg-primary, #1f2937);border-color:var(--color-border-default, #374151)}.multi-select-align-btn:hover{background:var(--color-bg-tertiary, #374151);border-color:var(--color-border-default, #4b5563)}}.cheatsheet-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;animation:cheatsheet-fade-in .2s ease-out}@keyframes cheatsheet-fade-in{0%{opacity:0}to{opacity:1}}.cheatsheet-modal{background:var(--glass-bg, rgba(30, 30, 40, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:20px;width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d inset;animation:cheatsheet-slide-up .3s ease-out;overflow:hidden}@keyframes cheatsheet-slide-up{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.cheatsheet-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .08));flex-shrink:0}.cheatsheet-title-area{display:flex;align-items:center;gap:12px}.cheatsheet-title-icon{font-size:20px;color:var(--color-accent-primary, #646cff)}.cheatsheet-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary, #fff);letter-spacing:-.02em}.cheatsheet-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:10px;cursor:pointer;color:var(--color-text-tertiary, rgba(255, 255, 255, .5));transition:all .15s ease}.cheatsheet-close:hover{background:var(--color-bg-elevated, rgba(255, 255, 255, .1));color:var(--color-text-primary, #fff)}.cheatsheet-content{flex:1;overflow-y:auto;padding:20px 24px;scrollbar-width:thin;scrollbar-color:var(--color-border-subtle) transparent}.cheatsheet-content::-webkit-scrollbar{width:6px}.cheatsheet-content::-webkit-scrollbar-track{background:transparent}.cheatsheet-content::-webkit-scrollbar-thumb{background:var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:3px}.cheatsheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.cheatsheet-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .03));border:1px solid transparent;border-radius:12px;transition:all .2s ease;animation:cheatsheet-item-in .3s ease-out backwards}@keyframes cheatsheet-item-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cheatsheet-item:hover{background:var(--color-bg-elevated, rgba(255, 255, 255, .06));border-color:var(--color-border-subtle, rgba(255, 255, 255, .1));transform:translateY(-2px)}.cheatsheet-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:var(--color-accent-primary-bg, rgba(100, 108, 255, .15));border-radius:10px;color:var(--color-accent-primary, #646cff);font-size:16px;transition:all .2s ease}.cheatsheet-item:hover .cheatsheet-item-icon{background:var(--color-accent-primary, #646cff);color:#fff;transform:scale(1.05)}.cheatsheet-item-info{flex:1;min-width:0}.cheatsheet-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.cheatsheet-item-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #fff)}.cheatsheet-kbd{display:inline-flex;align-items:center;padding:2px 6px;font-family:var(--font-secondary, "Inter", sans-serif);font-size:10px;font-weight:500;color:var(--color-text-secondary, rgba(255, 255, 255, .7));background:var(--color-bg-primary, rgba(0, 0, 0, .3));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:4px;white-space:nowrap}.cheatsheet-item-desc{font-size:11px;color:var(--color-text-tertiary, rgba(255, 255, 255, .5));line-height:1.4}.cheatsheet-footer{padding:16px 24px;border-top:1px solid var(--color-border-subtle, rgba(255, 255, 255, .08));flex-shrink:0}.cheatsheet-footer-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--color-text-muted, rgba(255, 255, 255, .4))}.cheatsheet-hint-icon{color:var(--color-warning, #f59e0b);font-size:14px}.cheatsheet-footer-hint kbd{display:inline-flex;align-items:center;padding:2px 6px;font-family:var(--font-secondary, "Inter", sans-serif);font-size:11px;font-weight:500;color:var(--color-text-secondary, rgba(255, 255, 255, .7));background:var(--color-bg-primary, rgba(0, 0, 0, .3));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:4px}@media(max-width:768px){.cheatsheet-overlay{padding:12px;align-items:flex-end}.cheatsheet-modal{max-width:100%;max-height:80vh;border-radius:20px 20px 0 0;animation:cheatsheet-slide-up-mobile .3s ease-out}@keyframes cheatsheet-slide-up-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cheatsheet-header{padding:16px 20px}.cheatsheet-title{font-size:18px}.cheatsheet-content{padding:16px 20px}.cheatsheet-grid{grid-template-columns:1fr;gap:8px}.cheatsheet-item{padding:10px 12px}.cheatsheet-item-icon{width:32px;height:32px;font-size:14px}.cheatsheet-item-title{font-size:12px}.cheatsheet-kbd{font-size:9px;padding:1px 5px}.cheatsheet-item-desc{font-size:10px}.cheatsheet-footer{padding:14px 20px}.cheatsheet-footer-hint{font-size:11px}}@media(max-width:480px){.cheatsheet-modal{max-height:85vh}.cheatsheet-item{gap:10px}.cheatsheet-item-header{flex-direction:column;align-items:flex-start;gap:4px}}[data-theme=light] .cheatsheet-overlay{background:#0006}[data-theme=light] .cheatsheet-modal{background:#ffffffeb;border-color:#0000001a}[data-theme=light] .cheatsheet-item{background:#00000008}[data-theme=light] .cheatsheet-item:hover{background:#0000000f;border-color:#0000001a}[data-theme=light] .cheatsheet-kbd,[data-theme=light] .cheatsheet-footer-hint kbd{background:#0000000d;border-color:#0000001a}.ai-chat-panel{width:400px;height:100%;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;z-index:50;position:relative;box-sizing:border-box}.ai-chat-panel *{box-sizing:border-box}.ai-chat-panel-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ai-chat-panel-content[inert]{opacity:.5;pointer-events:none}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-default);flex-shrink:0;gap:8px;background:var(--color-bg-primary)}.ai-chat-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ai-chat-header-icon{width:20px;height:20px;color:var(--color-accent-primary);flex-shrink:0}.ai-chat-header-title{font-weight:600;font-size:14px;color:var(--color-text-primary);white-space:nowrap}.ai-experimental-badge{padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border-radius:4px;white-space:nowrap}.ai-quota-badge{padding:2px 6px;font-size:10px;font-weight:600;background:var(--color-surface-2, #f3f4f6);color:var(--color-text-secondary, #6b7280);border-radius:4px;white-space:nowrap}.ai-quota-badge.low{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.ai-quota-badge.exhausted{background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #991b1b)}.ai-chat-header-actions{display:flex;align-items:center;gap:4px}.ai-chat-header-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.ai-chat-header-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.ai-chat-header-btn svg{width:16px;height:16px}.ai-role-selector{padding:8px 16px;border-bottom:1px solid var(--color-border-default);background:var(--color-bg-secondary);flex-shrink:0}.ai-role-selector-label{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.ai-role-selector-buttons{display:flex;flex-wrap:wrap;gap:6px}.ai-role-btn{padding:6px 10px;font-size:12px;font-weight:500;border:1px solid var(--color-border-default);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:16px;cursor:pointer;transition:all .15s ease}.ai-role-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.ai-role-btn.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.ai-scope-bar{display:flex;align-items:center;gap:6px;padding:6px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default);font-size:12px;color:var(--color-text-tertiary);flex-shrink:0}.ai-scope-bar svg{flex-shrink:0;opacity:.6}.ai-scope-bar.focused{background:linear-gradient(90deg,rgba(139,92,246,.08) 0%,transparent 100%);color:var(--color-text-secondary)}.ai-scope-bar.focused svg{color:var(--color-accent-primary);opacity:1}.ai-scope-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-scope-bar.focused .ai-scope-label{font-weight:500;color:var(--color-text-primary)}.ai-scope-hint{font-size:11px;color:var(--color-text-disabled);font-style:italic}.ai-scope-clear-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px;font-size:12px;transition:all .15s;flex-shrink:0}.ai-scope-clear-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.ai-scope-indicator{padding:8px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default);font-size:11px;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.ai-scope-indicator.stale{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.ai-scope-indicator.has-omitted{background:var(--color-info-bg, #dbeafe);color:var(--color-info-text, #1e40af)}.ai-scope-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--color-bg-tertiary);border-radius:4px;font-weight:500}.ai-scope-badge svg{width:12px;height:12px}.ai-scope-lock{cursor:pointer;opacity:.6;transition:opacity .15s}.ai-scope-lock:hover{opacity:1}.ai-scope-lock.locked{opacity:1;color:var(--color-accent-primary)}.ai-scope-refresh{margin-left:auto;padding:2px 8px;font-size:11px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:4px;cursor:pointer;transition:all .15s}.ai-scope-refresh:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.ai-scope-root{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;background:var(--color-bg-tertiary);border-radius:4px;font-weight:500}.ai-scope-root svg{width:12px;height:12px;flex-shrink:0}.ai-scope-root-select{border:none;background:transparent;font-size:11px;color:inherit;cursor:pointer;padding:0 2px;max-width:100px}.ai-scope-root-select:focus{outline:none}.ai-scope-hint{font-size:10px;color:var(--color-text-tertiary);font-style:italic}.ai-scope-indicator.ai-scope-empty{padding:6px 16px;background:transparent;border-bottom:none}.ai-scope-empty-label{color:var(--color-text-tertiary);font-size:11px}.ai-scope-clear{margin-left:auto;padding:2px 8px;font-size:12px;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px;transition:all .15s}.ai-scope-clear:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.ai-scope-badge.ai-scope-stale{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);cursor:pointer;border:none}.ai-scope-badge.ai-scope-stale:hover{filter:brightness(.95)}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.ai-chat-message{max-width:90%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.ai-chat-message.user{align-self:flex-end;background:var(--color-accent-primary);color:#fff;border-bottom-right-radius:4px}.ai-chat-message.assistant{align-self:flex-start;background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:4px}.ai-message-content p{margin:0 0 8px}.ai-message-content p:last-child{margin-bottom:0}.ai-message-content ul,.ai-message-content ol{margin:8px 0;padding-left:20px}.ai-message-content li{margin:4px 0}.ai-message-content code{background:var(--color-bg-tertiary);padding:2px 6px;border-radius:4px;font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace}.ai-message-content pre{background:var(--color-bg-tertiary);padding:12px;border-radius:6px;overflow-x:auto;margin:8px 0}.ai-message-content pre code{background:none;padding:0}.ai-message-content strong{font-weight:600}.ai-message-content a{color:var(--color-accent-primary);text-decoration:underline}.ai-message-content h1,.ai-message-content h2,.ai-message-content h3{font-weight:600;margin:12px 0 8px}.ai-message-content h1{font-size:16px}.ai-message-content h2{font-size:15px}.ai-message-content h3{font-size:14px}.ai-chat-message.system{align-self:center;background:transparent;color:var(--color-text-tertiary);font-size:11px;padding:4px 8px;text-align:center;max-width:100%}.ai-chat-message.error{background:var(--color-error-bg, #fef2f2);color:var(--color-error-text, #991b1b);border:1px solid var(--color-error-border, #fecaca)}.ai-chat-message.streaming:after{content:"";display:inline-block;width:6px;height:14px;background:var(--color-text-secondary);margin-left:2px;animation:ai-cursor-blink 1s infinite;vertical-align:text-bottom}@keyframes ai-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-message-time{font-size:10px;color:var(--color-text-tertiary);margin-top:4px;opacity:.7}.ai-chat-message.user .ai-message-time{color:#ffffffb3}.ai-preview-card{margin-top:8px;padding:12px;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border-default);overflow:hidden;word-break:break-word}.ai-preview-card.blocked{border-color:var(--color-error-border, #fecaca);background:var(--color-error-bg, #fef2f2)}.ai-preview-section{margin-bottom:12px}.ai-preview-section:last-child{margin-bottom:0}.ai-preview-section-title{font-size:10px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:flex;align-items:center;gap:4px}.ai-preview-section-title .count{background:var(--color-bg-secondary);padding:1px 5px;border-radius:8px;font-size:10px}.ai-preview-list{display:flex;flex-direction:column;gap:4px}.ai-preview-item{font-size:12px;color:var(--color-text-primary);padding:4px 8px;background:var(--color-bg-primary);border-radius:4px;display:flex;align-items:center;gap:6px}.ai-preview-item.new{border-left:2px solid var(--color-success, #22c55e)}.ai-preview-item.stub{color:var(--color-text-tertiary);font-style:italic;border-left:2px solid var(--color-text-tertiary)}.ai-preview-item.low-confidence{border-left:2px dashed var(--color-warning-text, #d97706)}.ai-preview-item-key{font-family:ui-monospace,monospace;font-size:11px;color:var(--color-text-secondary)}.ai-preview-item-label{flex:1}.ai-preview-item-type{font-size:10px;color:var(--color-text-tertiary);font-style:italic}.ai-preview-relation{display:flex;align-items:center;gap:4px;font-size:11px}.ai-preview-relation-arrow{color:var(--color-text-tertiary)}.ai-warnings-list{display:flex;flex-direction:column;gap:4px}.ai-warning{padding:6px 10px;border-radius:4px;font-size:11px;display:flex;align-items:flex-start;gap:6px}.ai-warning svg{width:14px;height:14px;flex-shrink:0;margin-top:1px}.ai-warning.info{background:var(--color-info-bg, #dbeafe);color:var(--color-info-text, #1e40af)}.ai-warning.warn{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.ai-warning.block{background:var(--color-error-bg, #fef2f2);color:var(--color-error-text, #991b1b)}.ai-warning-code{font-family:ui-monospace,monospace;font-size:10px;opacity:.7}.ai-canonical-changes{font-size:11px;color:var(--color-text-secondary)}.ai-canonical-change{display:flex;align-items:center;gap:4px;padding:2px 0}.ai-canonical-from{text-decoration:line-through;opacity:.6}.ai-canonical-arrow{color:var(--color-text-tertiary)}.ai-canonical-to{font-weight:500}.ai-preview-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-default)}.ai-preview-btn{flex:1;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;display:flex;align-items:center;justify-content:center;gap:6px}.ai-preview-btn svg{width:14px;height:14px}.ai-preview-btn.primary{background:var(--color-accent-primary);color:#fff}.ai-preview-btn.primary:hover{background:var(--color-accent-primary-hover, #4f46e5)}.ai-preview-btn.primary:disabled{opacity:.5;cursor:not-allowed}.ai-preview-btn.secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.ai-preview-btn.secondary:hover{border-color:var(--color-text-tertiary)}.ai-preview-btn.repair{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border:1px solid var(--color-warning-text, #d97706)}.ai-preview-btn.repair:hover{background:var(--color-warning-text, #d97706);color:#fff}.ai-accept-generic{display:flex;align-items:flex-start;gap:8px;padding:8px;background:var(--color-warning-bg, #fef3c7);border-radius:6px;margin-top:8px;font-size:11px;color:var(--color-warning-text, #92400e)}.ai-accept-generic input[type=checkbox]{margin-top:2px}.ai-accept-generic-label{flex:1}.ai-accept-generic-hint{font-size:10px;opacity:.8;margin-top:2px}.ai-chat-input-area{padding:12px 16px;border-top:1px solid var(--color-border-default);flex-shrink:0;display:flex;flex-direction:column;gap:4px;background:var(--color-bg-primary)}.ai-chat-input-row{display:flex;align-items:center;gap:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:12px;padding:8px 8px 8px 12px;transition:border-color .15s}.ai-chat-input-row:focus-within{border-color:var(--color-accent-primary)}.ai-chat-textarea{flex:1;min-height:44px;max-height:120px;padding:0;border:none;background:transparent;color:var(--color-text-primary);font-size:14px;resize:none;font-family:inherit;line-height:1.5;box-sizing:border-box;overflow-y:auto}.ai-chat-textarea:focus{outline:none}.ai-chat-textarea::placeholder{color:var(--color-text-tertiary)}.ai-chat-textarea:disabled{opacity:.6;cursor:not-allowed}.ai-chat-send-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-accent-primary);color:#fff;border-radius:8px;cursor:pointer;transition:all .15s;flex-shrink:0}.ai-chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.ai-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-chat-char-count{font-size:11px;text-align:right;padding-right:4px;font-size:10px;color:var(--color-text-tertiary)}.ai-chat-char-count.warning{color:var(--color-warning-text, #d97706)}.ai-chat-char-count.error{color:var(--color-error-text, #991b1b)}.ai-chat-actions{display:flex;gap:8px;justify-content:flex-end}.ai-chat-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;display:flex;align-items:center;gap:6px}.ai-chat-btn svg{width:16px;height:16px}.ai-chat-btn.primary{background:var(--color-accent-primary);color:#fff}.ai-chat-btn.primary:hover{background:var(--color-accent-primary-hover, #4f46e5)}.ai-chat-btn.secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.ai-chat-btn.secondary:hover{background:var(--color-bg-secondary)}.ai-chat-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-message.ai-thinking{display:flex;align-items:center;justify-content:center;min-height:40px;padding:12px 16px}.ai-loading-dots{display:flex;gap:5px;align-items:center}.ai-loading-dot{width:8px;height:8px;background:var(--color-text-tertiary);border-radius:50%;animation:ai-loading-bounce 1.4s infinite ease-in-out both}.ai-loading-dot:nth-child(1){animation-delay:-.32s}.ai-loading-dot:nth-child(2){animation-delay:-.16s}.ai-loading-dot:nth-child(3){animation-delay:0}@keyframes ai-loading-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--color-text-tertiary)}.ai-empty-state-icon{width:48px;height:48px;margin-bottom:16px;opacity:.5}.ai-empty-state-title{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.ai-empty-state-text{font-size:12px;line-height:1.5;max-width:240px}.ai-overview{padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default)}.ai-overview-stats{display:flex;gap:16px;margin-bottom:12px}.ai-overview-stat{display:flex;flex-direction:column}.ai-overview-stat-value{font-size:18px;font-weight:600;color:var(--color-text-primary)}.ai-overview-stat-label{font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase}.ai-overview-central{margin-top:8px}.ai-overview-central-title{font-size:10px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;margin-bottom:6px}.ai-overview-central-list{display:flex;flex-wrap:wrap;gap:4px}.ai-overview-central-item{padding:4px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s}.ai-overview-central-item:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.ai-overview-central-item.selected{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}@media(max-width:768px){.ai-chat-panel{position:fixed;top:0;left:0;right:0;width:100%;height:100svh;border-left:none;z-index:1000}.ai-chat-panel-content{height:100%;display:flex;flex-direction:column}.ai-chat-header{position:sticky;top:0;padding:16px;padding-top:max(16px,env(safe-area-inset-top));z-index:10;flex-shrink:0}.ai-chat-header-btn{width:36px;height:36px;background:var(--color-bg-tertiary)}.ai-chat-header-btn svg{width:20px;height:20px}.ai-chat-messages{flex:1;min-height:0;overflow-y:auto}.ai-chat-input-area{position:sticky;bottom:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:var(--color-bg-primary);border-top:1px solid var(--color-border-default);flex-shrink:0;z-index:10}.ai-chat-textarea{min-height:48px;max-height:100px}.ai-role-selector-buttons{justify-content:center}}[data-theme=dark] .ai-chat-message.user{background:var(--color-accent-primary)}[data-theme=dark] .ai-preview-card{background:var(--color-bg-secondary)}[data-theme=dark] .ai-preview-item{background:var(--color-bg-tertiary)}.ai-experimental-modal{max-width:480px;margin:0 16px;width:calc(100% - 32px)}.ai-experimental-modal-header{display:flex;align-items:center;gap:10px}.ai-experimental-modal-header svg{color:var(--color-warning-text, #d97706)}.ai-experimental-modal-header h4{margin:0}.ai-experimental-modal-intro{margin:0 0 12px;font-size:14px;color:var(--color-text-secondary)}.ai-experimental-modal-list{margin:0 0 16px;padding-left:20px;font-size:13px;color:var(--color-text-secondary);line-height:1.6}.ai-experimental-modal-list li{margin-bottom:8px}.ai-experimental-modal-list li:last-child{margin-bottom:0}.ai-experimental-modal-disclaimer{margin:0;font-size:12px;color:var(--color-text-tertiary);font-style:italic}.ai-experimental-modal-checkbox{padding:12px 16px;border-top:1px solid var(--color-border-default);background:var(--color-bg-secondary)}.ai-experimental-modal-checkbox label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.ai-experimental-modal-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent-primary)}.planning-mode-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border-bottom:1px solid rgba(139,92,246,.3);color:var(--color-text-primary);font-size:14px;z-index:100;flex-shrink:0}.planning-mode-toolbar-icon{width:18px;height:18px;color:#a78bfa;flex-shrink:0}.planning-mode-label{color:var(--color-text-secondary)}.planning-mode-stats{font-weight:600;color:#a78bfa}.planning-mode-actions{display:flex;gap:6px;margin-left:auto}.planning-mode-btn{padding:5px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:4px}.planning-mode-btn-cancel{background:transparent;border:1px solid var(--color-border-default, rgba(255, 255, 255, .15));color:var(--color-text-secondary)}.planning-mode-btn-cancel:hover:not(:disabled){background:#ffffff14;color:var(--color-text-primary)}.planning-mode-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.planning-mode-btn-apply{background:#a78bfa;border:none;color:#fff}.planning-mode-btn-apply:hover:not(:disabled){background:#8b5cf6}.planning-mode-btn-apply:disabled{opacity:.5;cursor:not-allowed}.planning-mode-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app.immersive-editor .planning-mode-toolbar{position:fixed;top:72px;left:50%;transform:translate(-50%);width:auto;border-radius:10px;border:1px solid rgba(139,92,246,.3);background:var(--glass-bg, rgba(30, 30, 30, .9));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000004d}@media(max-width:768px){.planning-mode-toolbar{padding:6px 12px;gap:8px}.app.immersive-editor .planning-mode-toolbar{top:16px;left:16px;right:16px;transform:none}}.search-panel{width:320px;height:100%;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;z-index:10}.search-panel-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default);gap:8px;flex-shrink:0}.search-panel-header h3{margin:0;font-size:14px;font-weight:600;flex:1;color:var(--color-text-primary)}.search-panel-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--color-text-muted);padding:4px 8px;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.search-panel-close:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.search-panel-input-wrapper{padding:12px 16px;border-bottom:1px solid var(--color-border-default);position:relative;flex-shrink:0}.search-panel-input-wrapper input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.search-panel-input-wrapper input:focus{border-color:var(--color-accent-primary)}.search-panel-input-wrapper input::placeholder{color:var(--color-text-muted)}.search-clear-btn{position:absolute;right:22px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.search-clear-btn:hover{color:var(--color-text-primary)}.search-panel-results{flex:1;overflow-y:auto;padding:8px;min-height:0}.search-empty-state{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:13px}.search-result-item{padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s;margin-bottom:2px;display:flex;align-items:center;gap:8px}.search-result-item:hover,.search-result-item.selected{background:var(--color-bg-secondary)}.search-result-label{flex:1;font-size:13px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-type-badge{font-size:10px;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:3px;text-transform:lowercase;flex-shrink:0}.search-panel-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--color-border-default);background:var(--color-bg-primary);flex-shrink:0}.search-result-count{font-size:12px;color:var(--color-text-muted)}.search-keyboard-hint{font-size:11px;color:var(--color-text-muted);display:flex;align-items:center;gap:4px}.search-keyboard-hint kbd{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:10px}@media(max-width:768px){.search-panel{position:fixed;inset:0;width:100%;height:100svh;z-index:1000;border-left:none}}.context-menu{position:fixed;z-index:10000;min-width:200px;max-width:280px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;padding:4px 0;animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:#374151;text-align:left;gap:10px;transition:background-color .1s ease}.context-menu-item:hover:not(.disabled){background-color:#f3f4f6}.context-menu-item:active:not(.disabled){background-color:#e5e7eb}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-icon{width:14px;height:14px;color:#6b7280;flex-shrink:0}.context-menu-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu-shortcut{font-size:11px;color:#9ca3af;margin-left:auto;padding-left:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.context-menu-divider{height:1px;background-color:#e5e7eb;margin:4px 0}@media(prefers-color-scheme:dark){.context-menu{background:#1f2937;box-shadow:0 4px 20px #0006,0 0 0 1px #ffffff1a}.context-menu-item{color:#e5e7eb}.context-menu-item:hover:not(.disabled){background-color:#374151}.context-menu-item:active:not(.disabled){background-color:#4b5563}.context-menu-icon{color:#9ca3af}.context-menu-shortcut{color:#6b7280}.context-menu-divider{background-color:#374151}}@media(max-width:768px){.context-menu{min-width:180px}.context-menu-item{padding:12px 16px;font-size:14px}.context-menu-shortcut{display:none}}.command-palette-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:10001;animation:backdropFadeIn .15s ease-out}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.command-palette{width:560px;max-width:calc(100vw - 32px);max-height:60vh;background:#fff;border-radius:12px;box-shadow:0 16px 70px #0003;display:flex;flex-direction:column;overflow:hidden;animation:paletteSlideIn .15s ease-out}@keyframes paletteSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.command-palette-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;gap:12px}.command-palette-search-icon{color:#9ca3af;font-size:14px;flex-shrink:0}.command-palette-input{flex:1;border:none;outline:none;font-size:16px;background:transparent;color:#111827}.command-palette-input::placeholder{color:#9ca3af}.command-palette-shortcut-hint{font-size:11px;color:#9ca3af;padding:2px 6px;background:#f3f4f6;border-radius:4px;flex-shrink:0}.command-palette-list{flex:1;overflow-y:auto;padding:8px}.command-palette-empty{padding:24px;text-align:center;color:#6b7280;font-size:14px}.command-category{margin-bottom:8px}.command-category:last-child{margin-bottom:0}.command-category-label{padding:8px 8px 4px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.command-item{display:flex;align-items:center;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;border-radius:8px;gap:12px;text-align:left;transition:background-color .1s ease}.command-item:hover,.command-item.selected{background:#f3f4f6}.command-item-icon{width:16px;height:16px;color:#6b7280;flex-shrink:0}.command-item.selected .command-item-icon{color:#3b82f6}.command-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-item-label{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-item-description{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-item-shortcut{font-size:11px;color:#9ca3af;padding:2px 6px;background:#f3f4f6;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;flex-shrink:0}.command-item.selected .command-item-shortcut{background:#e5e7eb}@media(prefers-color-scheme:dark){.command-palette-backdrop{background:#000000b3}.command-palette{background:#1f2937;box-shadow:0 16px 70px #00000080}.command-palette-header{border-bottom-color:#374151}.command-palette-input{color:#f9fafb}.command-palette-input::placeholder{color:#6b7280}.command-palette-shortcut-hint{background:#374151;color:#9ca3af}.command-palette-empty,.command-category-label{color:#9ca3af}.command-item:hover,.command-item.selected{background:#374151}.command-item-icon{color:#9ca3af}.command-item.selected .command-item-icon{color:#60a5fa}.command-item-label{color:#f9fafb}.command-item-description{color:#9ca3af}.command-item-shortcut{background:#374151;color:#9ca3af}.command-item.selected .command-item-shortcut{background:#4b5563}}@media(max-width:640px){.command-palette-backdrop{padding-top:10vh}.command-palette{max-height:70vh;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-width:100%;width:100%}.command-palette-header{padding:16px}.command-palette-input{font-size:17px}.command-item{padding:14px 12px}.command-item-label{font-size:15px}}.quick-actions-menu{position:fixed;z-index:10000;width:320px;max-height:400px;background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden;animation:quickActionsSlideIn .12s ease-out}@keyframes quickActionsSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.quick-actions-header{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid #e5e7eb;gap:10px}.quick-actions-search-icon{color:#9ca3af;font-size:13px;flex-shrink:0}.quick-actions-input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:#111827}.quick-actions-input::placeholder{color:#9ca3af}.quick-actions-list{flex:1;overflow-y:auto;padding:6px}.quick-actions-empty{padding:20px;text-align:center;color:#6b7280;font-size:13px}.quick-actions-category{margin-bottom:4px}.quick-actions-category:last-child{margin-bottom:0}.quick-actions-category-label{padding:6px 8px 4px;font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.quick-action-item{display:flex;align-items:center;width:100%;padding:8px 10px;border:none;background:none;cursor:pointer;border-radius:6px;gap:10px;text-align:left;transition:background-color .08s ease}.quick-action-item:hover,.quick-action-item.selected{background:#f3f4f6}.quick-action-icon{width:16px;height:16px;color:#6b7280;flex-shrink:0}.quick-action-item.selected .quick-action-icon{color:#3b82f6}.quick-action-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.quick-action-label{font-size:13px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action-description{font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-actions-footer{padding:8px 12px;border-top:1px solid #e5e7eb;background:#f9fafb}.quick-actions-hint{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b7280}.quick-actions-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:10px;font-family:inherit;color:#374151}@media(prefers-color-scheme:dark){.quick-actions-menu{background:#1f2937;box-shadow:0 8px 30px #0006,0 0 0 1px #ffffff1a}.quick-actions-header{border-bottom-color:#374151}.quick-actions-input{color:#f9fafb}.quick-actions-input::placeholder{color:#6b7280}.quick-actions-empty,.quick-actions-category-label{color:#9ca3af}.quick-action-item:hover,.quick-action-item.selected{background:#374151}.quick-action-icon{color:#9ca3af}.quick-action-item.selected .quick-action-icon{color:#60a5fa}.quick-action-label{color:#f9fafb}.quick-action-description{color:#9ca3af}.quick-actions-footer{border-top-color:#374151;background:#111827}.quick-actions-hint{color:#9ca3af}.quick-actions-hint kbd{background:#374151;border-color:#4b5563;color:#e5e7eb}}@media(max-width:640px){.quick-actions-menu{width:calc(100vw - 32px);max-width:360px}.quick-action-item{padding:12px 10px}.quick-action-label{font-size:14px}}.breadcrumb-container{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:150;pointer-events:auto;max-width:min(500px,calc(100vw - 200px));display:flex;align-items:center;gap:4px}.breadcrumb{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-lg);max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.breadcrumb::-webkit-scrollbar{display:none}.breadcrumb-scroll-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;flex-shrink:0;font-size:10px;box-shadow:var(--shadow-sm)}.breadcrumb-scroll-btn:hover{background:var(--color-accent-primary-bg, rgba(59, 130, 246, .15));color:var(--color-accent-primary, #3b82f6)}.breadcrumb-item-wrapper{display:flex;align-items:center;flex-shrink:0}.breadcrumb-separator{font-size:8px;color:var(--color-text-muted, #9ca3af);margin:0 2px;opacity:.6}.breadcrumb-item{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;white-space:nowrap}.breadcrumb-item:hover{background:var(--color-accent-primary-bg, rgba(59, 130, 246, .1));color:var(--color-text-primary, #111827)}.breadcrumb-item.current{background:var(--color-accent-primary-bg, rgba(59, 130, 246, .15));color:var(--color-accent-primary, #3b82f6);font-weight:600}.breadcrumb-item.current:hover{background:var(--color-accent-primary-bg-hover, rgba(59, 130, 246, .25))}.breadcrumb-home-icon{font-size:10px}.breadcrumb-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.breadcrumb-container{top:50px;left:10px;right:10px;transform:none;max-width:calc(100vw - 20px)}.breadcrumb{max-width:100%;border-radius:16px}.breadcrumb-label{max-width:80px}}.voice-input-container{position:fixed;bottom:20px;left:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.voice-input-button{width:56px;height:56px;border-radius:50%;border:none;background:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #00000026;position:relative;outline:none}.voice-input-button:hover:not(:disabled){background:#e8e8e8;transform:scale(1.05)}.voice-input-button:active:not(:disabled){transform:scale(.95)}.voice-input-button:disabled{opacity:.5;cursor:not-allowed}.voice-input-button.voice-input-listening{background:#f44;color:#fff;transform:scale(1.1)}.voice-input-button.voice-input-unsupported{background:#ddd;color:#999}.voice-input-pulse{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid #ff4444;animation:voice-pulse 1.2s ease-out infinite;pointer-events:none}@keyframes voice-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.8);opacity:0}}.voice-input-preview{background:#000c;color:#fff;padding:8px 16px;border-radius:8px;max-width:280px;font-size:14px;line-height:1.4;word-wrap:break-word;animation:fade-in .2s ease}.voice-input-hint{background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;animation:fade-in .2s ease}.voice-input-error{background:#f44;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;max-width:240px;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.voice-input-button{background:#333;color:#ccc}.voice-input-button:hover:not(:disabled){background:#444}.voice-input-button.voice-input-listening{background:#f44;color:#fff}.voice-input-button.voice-input-unsupported{background:#222;color:#666}}@media(max-width:768px){.voice-input-container{display:none}}.stripe-test-banner{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-align:center;padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #f59e0b4d}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.plan-info{display:flex;align-items:baseline;gap:12px}.plan-name{font-size:20px;font-weight:600;color:var(--color-text-primary, #fff)}.plan-price{font-size:15px;color:var(--color-text-secondary, #aaa);transition:filter .2s}.plan-price.price-loading{filter:blur(4px);-webkit-user-select:none;user-select:none}.plan-actions{display:flex;align-items:center;gap:12px}.see-pro-btn{padding:10px 16px;background:transparent;color:#dd7d04;border:1px solid #DD7D04;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.see-pro-btn:hover{background:#dd7d041a}.upgrade-btn{padding:10px 20px;background:#dd7d04;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.upgrade-btn:hover:not(:disabled){background:#c56f03}.upgrade-btn:disabled{opacity:.6;cursor:not-allowed}.downgrade-btn{padding:10px 20px;background:transparent;color:var(--color-text-secondary, #888);border:1px solid var(--color-border-default, #444);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.downgrade-btn:hover:not(:disabled){border-color:var(--color-text-secondary, #888);color:var(--color-text-primary, #fff)}.pro-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.pro-modal{background:var(--color-bg-secondary, #1a1a2e);border:1px solid var(--color-border-default, #2a2a3e);border-radius:12px;padding:32px;max-width:400px;width:90%;position:relative;box-shadow:0 20px 60px #00000080}.pro-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;color:var(--color-text-secondary, #888);cursor:pointer;line-height:1;padding:4px 8px}.pro-modal-close:hover{color:var(--color-text-primary, #fff)}.pro-modal h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--color-text-primary, #fff)}.trial-banner{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;text-align:center;padding:12px 16px;font-size:16px;font-weight:600;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px #22c55e4d}.preparing-trial-modal{background:var(--color-bg-secondary, #1a1a2e);border:1px solid var(--color-border-default, #2a2a3e);border-radius:12px;padding:48px 32px;text-align:center;box-shadow:0 20px 60px #00000080}.preparing-trial-modal h2{margin:20px 0 8px;font-size:24px;font-weight:600;color:var(--color-text-primary, #fff)}.preparing-trial-modal p{margin:0;font-size:15px;color:var(--color-text-secondary, #aaa)}.preparing-spinner{width:48px;height:48px;border:3px solid var(--color-border-default, #2a2a3e);border-top-color:#22c55e;border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pro-modal-price{font-size:18px;font-weight:600;color:#dd7d04;margin:0 0 24px;transition:filter .2s}.pro-modal-price.price-loading{filter:blur(4px);-webkit-user-select:none;user-select:none}.pro-modal-features{list-style:none;padding:0;margin:0 0 24px}.pro-modal-features li{padding:8px 0;font-size:15px;color:var(--color-text-secondary, #aaa);border-bottom:1px solid var(--color-border-subtle, #2a2a3e)}.pro-modal-features li:last-child{border-bottom:none}.pro-modal-features li:before{content:"✓";color:#22c55e;font-weight:700;margin-right:12px}.pro-modal .upgrade-btn{width:100%}.downgrade-modal{background:var(--color-bg-secondary, #1a1a2e);border:1px solid var(--color-border-default, #2a2a3e);border-radius:12px;padding:32px;max-width:440px;width:90%;position:relative;box-shadow:0 20px 60px #00000080}.downgrade-modal h2{margin:0 0 16px;font-size:24px;font-weight:600;color:var(--color-text-primary, #fff)}.downgrade-warning{font-size:15px;color:var(--color-text-secondary, #aaa);margin:0 0 16px}.downgrade-features{list-style:none;padding:0;margin:0 0 20px}.downgrade-features li{padding:8px 0;font-size:14px;color:var(--color-text-secondary, #aaa);border-bottom:1px solid var(--color-border-subtle, #2a2a3e)}.downgrade-features li:last-child{border-bottom:none}.downgrade-features li:before{content:"✗";color:var(--color-error, #ef4444);font-weight:700;margin-right:12px}.downgrade-note{font-size:13px;color:var(--color-text-secondary, #666);margin:0 0 24px;padding:12px;background:#ffffff0d;border-radius:8px}.downgrade-actions{display:flex;gap:12px}.cancel-btn{flex:1;padding:12px 20px;background:#dd7d04;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#c56f03}.confirm-downgrade-btn{flex:1;padding:12px 20px;background:transparent;color:var(--color-error, #ef4444);border:1px solid var(--color-error, #ef4444);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-downgrade-btn:hover:not(:disabled){background:var(--color-error-bg, rgba(239, 68, 68, .1))}.confirm-downgrade-btn:disabled{opacity:.5;cursor:not-allowed}.billing-error{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-error-bg, rgba(239, 68, 68, .15));border:1px solid var(--color-error, #ef4444);border-radius:8px;color:var(--color-error, #ef4444);margin-bottom:24px;font-size:14px}.billing-error button{background:none;border:none;color:var(--color-error, #ef4444);font-size:20px;cursor:pointer;padding:0;line-height:1}.modal-error{padding:12px;background:var(--color-error-bg, rgba(239, 68, 68, .15));border:1px solid var(--color-error, #ef4444);border-radius:8px;color:var(--color-error, #ef4444);margin-bottom:16px;font-size:13px;text-align:center}.billing-cycle-toggle{display:flex;background:var(--color-bg-tertiary, #0a0a12);border-radius:8px;padding:4px;margin-bottom:16px}.cycle-btn{flex:1;padding:10px 16px;background:transparent;border:none;color:var(--color-text-secondary, #888);font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s;position:relative}.cycle-btn.active{background:var(--color-bg-secondary, #1a1a2e);color:var(--color-text-primary, #fff)}.cycle-btn:hover:not(.active){color:var(--color-text-primary, #fff)}.savings-badge{display:inline-block;background:#22c55e;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.pro-modal-note{font-size:12px;color:var(--color-text-secondary, #666);margin-top:16px;text-align:center}.plan-cancel-notice{display:block;font-size:13px;color:#f59e0b;margin-top:4px}.manage-btn{padding:10px 16px;background:transparent;color:var(--color-text-secondary, #888);border:1px solid var(--color-border-default, #444);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.manage-btn:hover:not(:disabled){border-color:var(--color-text-secondary, #888);color:var(--color-text-primary, #fff)}.manage-btn:disabled{opacity:.6;cursor:not-allowed}.reactivate-btn{padding:10px 20px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.reactivate-btn:hover:not(:disabled){background:#16a34a}.reactivate-btn:disabled{opacity:.6;cursor:not-allowed}.billing-empty{color:var(--color-text-secondary, #888);font-size:14px;padding:20px 0;text-align:center}.billing-table{width:100%;border-collapse:collapse}.billing-table th,.billing-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border-subtle, #2a2a3e)}.billing-table th{font-size:12px;font-weight:600;color:var(--color-text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.billing-table td{font-size:14px;color:var(--color-text-primary, #fff)}.billing-table tbody tr:last-child td{border-bottom:none}.billing-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.billing-status-paid{background:#22c55e26;color:#22c55e}.billing-status-pending{background:#f59e0b26;color:#f59e0b}.billing-status-failed{background:var(--color-error-bg, rgba(239, 68, 68, .15));color:var(--color-error, #ef4444)}.invoice-link{color:#dd7d04;text-decoration:none;font-size:14px;font-weight:500}.invoice-link:hover{text-decoration:underline}.invoice-na{color:var(--color-text-secondary, #666)}@media(max-width:600px){.plan-row{flex-direction:column;align-items:flex-start;gap:16px}.plan-actions{width:100%;flex-direction:column}.see-pro-btn,.upgrade-btn{width:100%}.billing-table{font-size:13px}.billing-table th,.billing-table td{padding:8px 6px}.billing-table th:nth-child(2),.billing-table td:nth-child(2){max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.admin-page{min-height:100vh;background:var(--color-bg-secondary)}.admin-header{background:var(--color-bg-primary);color:var(--color-text-primary);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--color-border-subtle)}.admin-header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.admin-header h1{margin:0;font-size:20px}.admin-header-right{display:flex;align-items:center;gap:16px}.admin-user{color:var(--color-text-muted)}.back-button{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);padding:8px 16px;border-radius:4px;cursor:pointer}.back-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.sign-out-button{background:transparent;color:var(--color-error);border:1px solid var(--color-error);padding:8px 16px;border-radius:4px;cursor:pointer}.sign-out-button:hover{background:var(--color-error);color:#fff}.admin-tabs{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-subtle);display:flex;padding:0 24px;overflow-x:auto}.admin-tab{background:none;border:none;padding:16px 24px;font-size:14px;font-weight:500;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.admin-tab:hover{color:var(--color-text-primary)}.admin-tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.admin-content{max-width:1400px;margin:0 auto;padding:24px}.admin-section{background:var(--color-bg-primary);border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-subtle)}.admin-section h2{margin:0 0 16px;font-size:18px;color:var(--color-text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-header h2{margin:0}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.section-actions button,.section-actions a{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;background:var(--color-accent-primary);color:#fff;text-decoration:none;font-size:inherit;font-family:inherit}.section-actions button:hover,.section-actions a:hover{background:var(--color-accent-primary-hover)}.section-actions button:disabled{background:var(--color-text-disabled);cursor:not-allowed}.danger-button{background:var(--color-error)!important}.danger-button:hover{background:#c82333!important}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.metrics-grid-wide{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.metric-card{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;text-align:center;border:1px solid var(--color-border-subtle)}.metric-card-large{padding:20px}.metric-card h3{margin:0 0 8px;font-size:14px;color:var(--color-text-muted)}.metric-value{font-size:36px;font-weight:700;color:var(--color-text-primary)}.metric-label{font-size:12px;color:var(--color-text-muted);margin-top:4px}.metric-secondary{font-size:11px;color:var(--color-text-disabled);margin-top:8px}.metric-card-pro{background:linear-gradient(135deg,#805ad5,#9f7aea)}.metric-card-pro h3,.metric-card-pro .metric-value,.metric-card-pro .metric-label{color:#fff!important}.stats-timestamp{font-size:12px;color:var(--color-text-muted);margin-bottom:20px}.cache-note{margin-left:8px;color:var(--color-text-disabled);font-style:italic}.stats-row{margin-bottom:32px}.stats-row:last-child{margin-bottom:0}.stats-row-title{font-size:16px;color:var(--color-text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-subtle)}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.bar-chart-card{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;grid-column:span 1;border:1px solid var(--color-border-subtle)}.bar-chart-card-wide{grid-column:span 2}.bar-chart{margin-top:0}.bar-chart-title{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px;font-weight:600}.bar-chart-container{display:flex;flex-direction:column;gap:10px}.bar-chart-row{display:flex;align-items:center;gap:12px}.bar-chart-label{width:90px;font-size:13px;color:var(--color-text-secondary);flex-shrink:0}.bar-chart-bar-container{flex:1;display:flex;align-items:center;background:var(--color-bg-elevated);border-radius:4px;height:28px;overflow:hidden;position:relative}.bar-chart-bar{height:100%;border-radius:4px;min-width:4px;transition:width .3s ease}.bar-chart-value{font-size:13px;font-weight:600;color:var(--color-text-primary);padding:0 12px;position:absolute;right:0}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:12px;border-radius:4px;margin-bottom:16px}.info-message{background:var(--color-success-bg);color:var(--color-success);padding:12px;border-radius:4px;margin-bottom:16px}.user-search{margin-top:8px}.search-form{display:flex;align-items:center;gap:12px;margin-bottom:20px}.search-form input{flex:1;max-width:400px;padding:12px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;font-size:14px;background:var(--color-bg-input);color:var(--color-text-primary)}.search-form input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-primary-bg)}.search-form button{padding:12px 24px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap}.search-form button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.search-form button:disabled{background:var(--color-text-disabled);cursor:not-allowed}.user-management-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.search-results-column,.user-details-column{min-width:0}.search-results{border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden}.search-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--color-border-subtle);transition:background .15s;background:var(--color-bg-primary)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--color-bg-tertiary)}.search-result-item.selected{background:var(--color-accent-primary-bg)}.result-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-bg-elevated);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.result-avatar img{width:100%;height:100%;object-fit:cover}.result-avatar span{font-weight:600;color:var(--color-text-secondary)}.result-info{flex:1;min-width:0}.result-email{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-name{font-size:13px;color:var(--color-text-muted)}.result-badges{display:flex;gap:6px;flex-shrink:0}.badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.badge-free{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.badge-pro{background:#805ad5;color:#fff}.badge-admin{background:#fed7e2;color:#97266d}.no-results{text-align:center;color:var(--color-text-muted);padding:24px;background:var(--color-bg-tertiary);border-radius:8px}.select-user-hint{text-align:center;color:var(--color-text-muted);padding:48px 24px;background:var(--color-bg-tertiary);border-radius:8px;border:2px dashed var(--color-border-subtle)}.user-details-loading{text-align:center;color:var(--color-text-muted);padding:48px 24px;background:var(--color-bg-tertiary);border-radius:8px}.user-card{background:var(--color-bg-tertiary);border-radius:8px;padding:24px;border:1px solid var(--color-border-subtle)}.user-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border-subtle);position:relative}.user-card-close{position:absolute;top:0;right:0;background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px}.user-card-close:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.user-avatar-large{width:64px;height:64px;border-radius:50%;background:var(--color-bg-elevated);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-avatar-large img{width:100%;height:100%;object-fit:cover}.user-avatar-large span{font-size:24px;font-weight:600;color:var(--color-text-secondary)}.user-header-info h3{margin:0 0 4px;font-size:18px;color:var(--color-text-primary)}.user-email{color:var(--color-text-muted);font-size:14px}.user-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:20px}.user-field{display:flex;flex-direction:column}.user-field label{font-size:12px;color:var(--color-text-muted);margin-bottom:4px}.user-field span{font-size:14px;color:var(--color-text-primary)}.user-field .monospace{font-family:monospace;font-size:11px;background:var(--color-bg-elevated);padding:4px 8px;border-radius:4px;word-break:break-all}.tier-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.tier-badge.free{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.tier-badge.pro{background:#805ad5;color:#fff}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.role-badge.user{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.role-badge.sysadmin{background:#fed7e2;color:#97266d}.user-actions{border-top:1px solid var(--color-border-subtle);padding-top:16px}.user-actions h4{margin:0 0 12px;font-size:14px;color:var(--color-text-muted)}.role-buttons{display:flex;gap:8px}.role-buttons button{padding:8px 20px;border:1px solid var(--color-border-subtle);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer}.role-buttons button:hover:not(:disabled){background:var(--color-bg-tertiary)}.role-buttons button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.role-buttons button:disabled{cursor:not-allowed;opacity:.6}.tier-buttons .pro-button{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border-color:#9333ea}.tier-buttons .pro-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.tier-buttons .pro-button.active{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#6d28d9}.admin-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--color-text-muted);background:var(--color-bg-secondary)}.ip-bans-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.active-only-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-text-secondary);font-size:14px}.active-only-toggle input{width:16px;height:16px;cursor:pointer}.add-ban-button{background:var(--color-error)!important}.add-ban-button:hover{background:#c82333!important}.ip-bans-table-container{overflow-x:auto}.ip-bans-table{width:100%;border-collapse:collapse;font-size:14px}.ip-bans-table th,.ip-bans-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border-subtle)}.ip-bans-table th{background:var(--color-bg-tertiary);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.ip-bans-table td{color:var(--color-text-primary)}.ip-bans-table tr:hover{background:var(--color-bg-tertiary)}.ip-bans-table tr.inactive{opacity:.6}.ip-cell{font-family:monospace;font-weight:500}.reason-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ban-type{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.ban-type.auto{background:var(--color-warning-bg);color:var(--color-warning)}.ban-type.manual{background:#fed7e2;color:#97266d}.ban-status{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.ban-status.active{background:var(--color-error-bg);color:var(--color-error)}.ban-status.expired{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.ban-status.unbanned{background:var(--color-success-bg);color:var(--color-success)}.unban-button{padding:6px 12px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.unban-button:hover{opacity:.9}.no-bans{text-align:center;color:var(--color-text-muted);padding:24px!important}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination button{padding:8px 16px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.pagination button:disabled{background:var(--color-text-disabled);cursor:not-allowed}.page-info{color:var(--color-text-secondary);font-size:14px}.modal-content{background:var(--color-bg-primary);border-radius:8px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-subtle)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle)}.modal-header h3{margin:0;font-size:18px;color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--color-text-primary)}.modal-body{padding:20px}.form-field{margin-bottom:16px}.form-field:last-child{margin-bottom:0}.form-field label{display:block;font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-field input,.form-field textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:6px;font-size:14px;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text-primary)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-primary-bg)}.form-field textarea{resize:vertical;min-height:80px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border-subtle)}.modal-footer button{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer}.modal-footer button:first-child{background:var(--color-bg-elevated);color:var(--color-text-secondary);border:none}.modal-footer button:first-child:hover{background:var(--color-bg-tertiary)}@media(max-width:1200px){.bar-chart-card-wide{grid-column:span 1}}@media(max-width:900px){.user-management-layout{grid-template-columns:1fr}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-content,.admin-section{padding:16px}}@media(max-width:600px){.admin-header{padding:12px 16px}.admin-header h1{font-size:16px}.admin-header-right{gap:8px}.admin-user{display:none}.admin-tabs{padding:0 16px}.admin-tab{padding:12px 16px;font-size:13px}.metrics-grid,.metrics-grid-wide{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:28px}.stats-cards{grid-template-columns:1fr 1fr}.search-form{flex-direction:column;align-items:stretch}.search-form input{max-width:none}.user-card-header{flex-wrap:wrap}.user-info{grid-template-columns:1fr}.result-badges{flex-direction:column;gap:4px}.ip-bans-controls{flex-direction:column;align-items:stretch}.ip-bans-table{font-size:12px}.ip-bans-table th,.ip-bans-table td{padding:8px}.modal-content{margin:16px;max-width:calc(100% - 32px)}}@media(max-width:400px){.metrics-grid,.metrics-grid-wide,.stats-cards{grid-template-columns:1fr}.bar-chart-label{width:70px;font-size:12px}}.webhook-issues-info{background:var(--color-bg-tertiary);padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid var(--color-border-subtle)}.webhook-issues-info p{margin:0;color:var(--color-text-secondary);font-size:14px}.webhook-issues-table .event-id-cell{font-family:monospace;font-size:12px;color:var(--color-text-secondary)}.webhook-issues-table .event-type-cell{font-weight:500}.webhook-issues-table .error-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-error);font-size:13px}.webhook-issues-table .actions-cell{display:flex;gap:8px}.webhook-status{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.webhook-status.needs_manual{background:var(--color-warning-bg);color:var(--color-warning)}.webhook-status.retryable_failed{background:var(--color-error-bg);color:var(--color-error)}.webhook-status.claimed{background:var(--color-accent-primary-bg);color:var(--color-accent-primary)}.webhook-status.completed{background:var(--color-success-bg);color:var(--color-success)}.retry-button{padding:6px 12px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.retry-button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.retry-button:disabled{opacity:.6;cursor:not-allowed}.resolve-button{padding:6px 12px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.resolve-button:hover:not(:disabled){opacity:.9}.resolve-button:disabled{opacity:.6;cursor:not-allowed}.stripe-dashboard{margin-top:16px}.stripe-revenue-section{margin-bottom:24px}.stripe-revenue-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.revenue-metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1200px){.revenue-metrics-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.revenue-metrics-grid{grid-template-columns:repeat(2,1fr)}}.revenue-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:12px;padding:20px;text-align:center}.revenue-card-primary{background:linear-gradient(135deg,#38a169,#2f855a);border:none}.revenue-card-primary .revenue-label,.revenue-card-primary .revenue-value,.revenue-card-primary .revenue-sublabel{color:#fff}.revenue-card-churn{border-color:#e53e3e4d}.revenue-card-churn .revenue-value{color:#e53e3e}.revenue-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.revenue-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.revenue-sublabel{font-size:11px;color:var(--color-text-muted);margin-top:4px}.stripe-config-section{margin-bottom:24px;padding:16px;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border-subtle)}.stripe-config-section h3{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.config-status-grid{display:flex;flex-wrap:wrap;gap:16px 32px}.config-status-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-primary)}.config-status-item.status-live{color:#38a169}.config-status-item.status-test{color:#ed8936}.config-status-item.status-ok{color:#38a169}.config-status-item.status-warn{color:#ed8936}.config-icon{font-size:14px}.config-text{font-weight:500}.stripe-prices-summary{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-subtle)}.stripe-prices-summary h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.current-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.price-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:16px}.price-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.price-amount{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.price-id{font-size:11px;font-family:monospace;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-ok{color:#38a169}.status-warn{color:#dd6b20}.success-message{background:#38a16926;color:#38a169;padding:12px 16px;border-radius:4px;margin-bottom:16px;border:1px solid rgba(56,161,105,.3)}.stripe-products-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-top:16px}@media(max-width:900px){.stripe-products-layout{grid-template-columns:1fr}}.products-list{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;border:1px solid var(--color-border-subtle)}.products-list h3{margin:0 0 16px;font-size:14px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.product-item{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:6px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .2s}.product-item:hover{border-color:var(--color-border-hover);background:var(--color-bg-elevated)}.product-item.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg)}.product-name{font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.product-id{font-size:11px;font-family:monospace;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}.product-desc{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.prices-panel{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;border:1px solid var(--color-border-subtle);min-height:300px}.select-product-hint{color:var(--color-text-muted);text-align:center;padding:48px 16px}.prices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.prices-header h3{margin:0;font-size:16px;color:var(--color-text-primary)}.add-price-btn{background:var(--color-accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px}.add-price-btn:hover{background:var(--color-accent-primary-hover)}.loading-text{color:var(--color-text-muted);padding:16px;text-align:center}.no-data{color:var(--color-text-muted);padding:24px;text-align:center;font-style:italic}.prices-list{display:flex;flex-direction:column;gap:12px}.price-item{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.price-item.inactive{opacity:.6;background:var(--color-bg-secondary)}.price-main{display:flex;flex-direction:column;gap:8px}.price-amount-large{font-size:20px;font-weight:600;color:var(--color-text-primary)}.price-interval{font-size:14px;font-weight:400;color:var(--color-text-secondary)}.price-badges{display:flex;gap:8px;flex-wrap:wrap}.badge-current{background:#805ad5;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-inactive{background:var(--color-bg-tertiary);color:var(--color-text-muted);padding:2px 8px;border-radius:4px;font-size:11px}.badge-active{background:#38a16926;color:#38a169;padding:2px 8px;border-radius:4px;font-size:11px}.price-details{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px}.price-detail-row{display:flex;gap:8px;font-size:12px}.detail-label{color:var(--color-text-muted);min-width:60px}.detail-value{color:var(--color-text-secondary)}.price-actions{display:flex;gap:8px}.deactivate-btn{background:transparent;color:var(--color-error);border:1px solid var(--color-error);padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer}.deactivate-btn:hover{background:var(--color-error);color:#fff}.modal-info{background:var(--color-bg-tertiary);border-radius:6px;padding:16px;margin-bottom:20px}.modal-info p{margin:0 0 8px;font-size:14px;color:var(--color-text-secondary)}.modal-info p:last-child{margin-bottom:0}.modal-warning{color:#dd6b20!important;font-size:13px!important}.interval-toggle{display:flex;gap:0;border:1px solid var(--color-border-subtle);border-radius:6px;overflow:hidden}.interval-toggle button{flex:1;padding:10px 20px;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;font-size:14px;transition:all .2s}.interval-toggle button:not(:last-child){border-right:1px solid var(--color-border-subtle)}.interval-toggle button:hover{background:var(--color-bg-tertiary)}.interval-toggle button.active{background:var(--color-accent-primary);color:#fff}.amount-input{display:flex;align-items:center;gap:8px}.currency-symbol{font-size:18px;color:var(--color-text-muted)}.amount-input input{flex:1;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:16px}.amount-input input:focus{outline:none;border-color:var(--color-accent-primary)}.price-suffix{color:var(--color-text-muted);font-size:14px;white-space:nowrap}.discount-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;background:var(--color-bg-tertiary);border-radius:6px;margin-top:8px}.discount-label{color:var(--color-text-secondary);font-size:14px}.discount-value{font-size:18px;font-weight:600;color:#38a169}.discount-detail{color:var(--color-text-muted);font-size:12px;width:100%}.primary-button{background:var(--color-accent-primary)!important;color:#fff!important}.primary-button:hover:not(:disabled){background:var(--color-accent-primary-hover)!important}.primary-button:disabled{opacity:.6;cursor:not-allowed}.quick-calc-section{background:var(--color-bg-tertiary);border-radius:8px;padding:16px;margin-bottom:16px}.quick-calc-section .section-label{display:block;font-weight:600;font-size:14px;margin-bottom:12px;color:var(--color-text-primary)}.quick-calc-row{display:flex;gap:12px;align-items:flex-end}.quick-calc-row .form-field.compact{flex:1;margin-bottom:0}.quick-calc-row .form-field.compact label{font-size:12px;margin-bottom:4px}.quick-calc-row .form-field.compact .amount-input input{padding:8px 8px 8px 24px}.apply-calc-btn{padding:8px 16px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.apply-calc-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.apply-calc-btn:disabled{opacity:.5;cursor:not-allowed}.quick-calc-preview{margin-top:12px;font-size:13px;color:var(--color-text-secondary);text-align:center}.quick-calc-preview strong{color:#38a169}.divider-with-text{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--color-text-muted);font-size:12px}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;border-bottom:1px solid var(--color-border-subtle)}.divider-with-text span{padding:0 12px}.rooms-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.rooms-list{display:flex;flex-direction:column;gap:12px}.no-rooms{text-align:center;color:var(--color-text-muted);padding:48px 24px;background:var(--color-bg-tertiary);border-radius:8px;border:2px dashed var(--color-border-subtle)}.rooms-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.rooms-search{display:flex;gap:8px;flex:1;min-width:250px}.rooms-search input{flex:1;padding:8px 12px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;max-width:300px}.rooms-search input:focus{outline:none;border-color:var(--color-accent-primary)}.rooms-search button{padding:8px 16px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.rooms-search button:hover:not(:disabled){background:var(--color-accent-hover)}.rooms-search button:disabled{opacity:.6;cursor:not-allowed}.rooms-search .clear-search{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.rooms-search .clear-search:hover{background:var(--color-bg-tertiary)}.rooms-sort{display:flex;align-items:center;gap:8px}.rooms-sort label{font-size:14px;color:var(--color-text-secondary)}.rooms-sort select{padding:8px 12px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;cursor:pointer}.sort-order-btn{padding:8px 12px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:16px;cursor:pointer;transition:background .2s}.sort-order-btn:hover{background:var(--color-bg-elevated)}.rooms-filter-info{font-size:13px;color:var(--color-text-muted);margin-bottom:12px;padding:8px 12px;background:var(--color-bg-tertiary);border-radius:6px}.rooms-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-subtle)}.rooms-pagination button{padding:8px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:background .2s}.rooms-pagination button:hover:not(:disabled){background:var(--color-bg-elevated)}.rooms-pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--color-text-secondary)}.room-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden}.room-header{display:flex;justify-content:space-between;align-items:center;padding:16px;cursor:pointer;transition:background .2s}.room-header:hover{background:var(--color-bg-elevated)}.room-info{display:flex;align-items:center;gap:16px}.room-map-id{font-family:monospace;font-size:14px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-elevated);padding:4px 8px;border-radius:4px}.room-user-count{background:var(--color-accent-primary);color:#fff;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:500}.room-meta{display:flex;align-items:center;gap:16px}.room-created{font-size:13px;color:var(--color-text-muted)}.expand-icon{font-size:12px;color:var(--color-text-muted);transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.room-users{border-top:1px solid var(--color-border-subtle);padding:16px;background:var(--color-bg-primary)}.room-users-table{width:100%;border-collapse:collapse;font-size:14px}.room-users-table th,.room-users-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border-subtle)}.room-users-table th{font-weight:600;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.room-users-table tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar-small{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0;overflow:hidden}.user-avatar-small img{width:100%;height:100%;object-fit:cover}.user-name{color:var(--color-text-primary);font-weight:500}.permission-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.permission-badge.permission-owner{background:linear-gradient(135deg,#805ad5,#9f7aea);color:#fff}.permission-badge.permission-edit{background:var(--color-success-bg);color:var(--color-success)}.permission-badge.permission-view{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.room-users-table .ip-cell{font-family:monospace;font-size:12px;color:var(--color-text-muted)}.activity-cell{display:flex;gap:8px}.activity-indicator{font-size:14px;cursor:default}@media(max-width:768px){.room-info{flex-direction:column;align-items:flex-start;gap:8px}.room-meta{flex-direction:column;align-items:flex-end;gap:4px}.room-users-table{font-size:12px}.room-users-table th,.room-users-table td{padding:8px}.room-users-table .ip-cell{display:none}}.feature-flags-info{background:var(--color-bg-tertiary);padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid var(--color-border-subtle)}.feature-flags-info p{margin:0;color:var(--color-text-secondary);font-size:14px}.feature-flags-list{display:flex;flex-direction:column;gap:12px}.no-flags{text-align:center;color:var(--color-text-muted);padding:48px 24px;background:var(--color-bg-tertiary);border-radius:8px;border:2px dashed var(--color-border-subtle)}.feature-flag-item{background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.feature-flag-item:hover{border-color:var(--color-border-hover)}.flag-info{flex:1;min-width:0}.flag-id{font-weight:600;font-size:16px;color:var(--color-text-primary);font-family:monospace}.flag-description{font-size:13px;color:var(--color-text-muted);margin-top:4px}.flag-toggle{display:flex;align-items:center;gap:12px;flex-shrink:0}.flag-status{font-size:13px;font-weight:500;min-width:70px}.flag-status.enabled{color:var(--color-success)}.flag-status.disabled{color:var(--color-text-muted)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:26px;transition:all .3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success);border-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px var(--color-accent-primary-bg)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}@media(max-width:600px){.feature-flag-item{flex-direction:column;align-items:stretch;gap:12px}.flag-toggle{justify-content:space-between}}.admin-map-viewer .map-search-form{display:flex;gap:12px;margin-bottom:16px}.admin-map-viewer .map-id-input{flex:1;max-width:500px;padding:12px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;font-size:14px;font-family:monospace;background:var(--color-bg-input);color:var(--color-text-primary)}.admin-map-viewer .map-id-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-primary-bg)}.admin-map-viewer .fetch-button{padding:12px 24px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap}.admin-map-viewer .fetch-button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.admin-map-viewer .fetch-button:disabled{background:var(--color-text-disabled);cursor:not-allowed}.admin-map-viewer .map-data-section{margin-top:16px}.admin-map-viewer .map-data-section .section-header{flex-wrap:wrap}.admin-map-viewer .json-search-input{padding:8px 12px;border:1px solid var(--color-border-subtle);border-radius:4px;font-size:14px;min-width:200px;background:var(--color-bg-input);color:var(--color-text-primary)}.admin-map-viewer .json-search-input:focus{outline:none;border-color:var(--color-accent-primary)}.admin-map-viewer .copy-all-button{padding:8px 16px;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);border-radius:4px;cursor:pointer;font-size:14px}.admin-map-viewer .copy-all-button:hover{background:var(--color-bg-tertiary)}.admin-map-viewer .map-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;background:var(--color-bg-tertiary);border-radius:8px;margin-bottom:20px;border:1px solid var(--color-border-subtle)}.admin-map-viewer .summary-item{display:flex;flex-direction:column;gap:4px}.admin-map-viewer .summary-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.admin-map-viewer .summary-value{font-size:14px;color:var(--color-text-primary)}.admin-map-viewer .summary-value code{font-family:monospace;font-size:12px;background:var(--color-bg-elevated);padding:4px 8px;border-radius:4px;word-break:break-all}.admin-map-viewer .json-sections{display:flex;flex-direction:column;gap:12px}.admin-map-viewer .json-section{border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden;background:var(--color-bg-primary)}.admin-map-viewer .json-section-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.admin-map-viewer .json-section-header:hover{background:var(--color-bg-elevated)}.admin-map-viewer .json-section-header.expanded{border-bottom:1px solid var(--color-border-subtle)}.admin-map-viewer .expand-icon{font-size:10px;color:var(--color-text-muted);width:12px}.admin-map-viewer .section-title{font-weight:600;color:var(--color-text-primary)}.admin-map-viewer .section-count{color:var(--color-text-muted);font-size:13px}.admin-map-viewer .match-count{background:var(--color-warning-bg);color:var(--color-warning);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.admin-map-viewer .copy-button{margin-left:auto;padding:4px 12px;background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:4px;font-size:12px;cursor:pointer}.admin-map-viewer .copy-button:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.admin-map-viewer .json-content{margin:0;padding:16px;overflow-x:auto;background:var(--color-bg-primary);font-size:12px;line-height:1.6;max-height:600px;overflow-y:auto}.admin-map-viewer .json-content code{font-family:SF Mono,Monaco,Consolas,monospace;color:var(--color-text-primary);white-space:pre}.admin-map-viewer .search-highlight{background:var(--color-warning-bg);color:var(--color-warning);padding:1px 2px;border-radius:2px}@media(max-width:768px){.admin-map-viewer .map-search-form{flex-direction:column}.admin-map-viewer .map-id-input{max-width:none}.admin-map-viewer .map-summary{grid-template-columns:1fr 1fr}.admin-map-viewer .section-actions{flex-direction:column;width:100%}.admin-map-viewer .json-search-input{width:100%;min-width:auto}}@media(max-width:480px){.admin-map-viewer .map-summary{grid-template-columns:1fr}.admin-map-viewer .json-section-header{flex-wrap:wrap;gap:8px}.admin-map-viewer .copy-button{width:100%;margin-top:8px;margin-left:0}}.friends-page{min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}.friends-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default)}.friends-header h1{margin:0;font-size:24px;font-weight:600}.back-btn{padding:8px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:14px;transition:all .2s}.back-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-hover)}.add-friend-btn{padding:8px 16px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.add-friend-btn:hover{background:var(--color-accent-primary-hover)}.friends-tabs{display:flex;gap:4px;padding:12px 24px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default)}.friends-tabs .tab{padding:10px 20px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.friends-tabs .tab:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.friends-tabs .tab.active{background:var(--color-accent-primary);color:#fff}.friends-tabs .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-error);color:#fff;font-size:12px;font-weight:600}.friends-content{padding:24px;max-width:800px;margin:0 auto}.loading,.empty{text-align:center;padding:48px 24px;color:var(--color-text-muted);font-size:16px}.friends-list,.requests-list,.blocked-list{display:flex;flex-direction:column;gap:12px}.requests-list h3{margin:24px 0 12px;font-size:16px;font-weight:600;color:var(--color-text-muted)}.requests-list h3:first-child{margin-top:0}.friend-card,.request-card,.blocked-card,.search-result{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border-default);transition:border-color .2s}.friend-card:hover,.request-card:hover,.blocked-card:hover{border-color:var(--color-border-subtle)}.user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-info>div{min-width:0;overflow:hidden}.user-info .name{font-size:16px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .email{font-size:14px;color:var(--color-text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .since,.user-info .status{font-size:12px;color:var(--color-text-disabled);margin-top:4px}.user-info .message{font-size:13px;color:var(--color-text-tertiary);font-style:italic;margin-top:4px}.actions{display:flex;gap:8px}.remove-btn{padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:16px;transition:all .2s}.remove-btn:hover{color:var(--color-error);background:var(--color-bg-elevated)}.cancel-btn,.decline-btn,.unblock-btn{padding:8px 16px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:13px;transition:all .2s;min-width:90px;flex-shrink:0}.remove-btn:disabled,.cancel-btn:disabled,.decline-btn:disabled,.unblock-btn:disabled{opacity:.6;cursor:not-allowed}.remove-btn:hover,.cancel-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-hover)}.decline-btn:hover{background:var(--color-error);border-color:var(--color-error)}.unblock-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-hover)}.accept-btn,.send-request-btn{padding:8px 16px;border:none;border-radius:6px;background:var(--color-accent-primary);color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s;min-width:90px}.accept-btn:disabled,.send-request-btn:disabled{opacity:.6;cursor:not-allowed}.accept-btn:hover,.send-request-btn:hover{background:var(--color-accent-primary-hover)}.load-more-btn{width:100%;padding:12px;border:1px solid var(--color-border-subtle);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;transition:all .2s;margin-top:12px}.load-more-btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-border-hover)}.load-more-btn:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-bg-tertiary);border-radius:12px;width:calc(100% - 32px);max-width:480px;max-height:80vh;margin:0 16px;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-default)}.modal-header h2{margin:0;font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.modal-content{padding:20px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.search-input-container{display:flex;gap:8px;width:100%;box-sizing:border-box}.search-input-container input{flex:1;min-width:0;padding:12px 16px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.search-input-container input:focus{border-color:var(--color-border-focus)}.search-input-container input::placeholder{color:var(--color-text-disabled)}.search-btn{padding:12px 20px;border:none;border-radius:8px;background:var(--color-accent-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0;box-sizing:border-box}.search-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-error{margin-top:8px;padding:8px 12px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:13px}.searching{text-align:center;padding:16px;color:var(--color-text-muted)}.search-results{margin-top:16px;display:flex;flex-direction:column;gap:8px}.search-result{padding:12px}.no-results{text-align:center;padding:24px;color:var(--color-text-disabled)}.add-friend-modal{max-width:400px}.add-friend-modal .search-results{margin-top:16px;margin-bottom:16px;max-height:200px;overflow-y:auto}.add-friend-modal .search-result{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--color-bg-elevated);border-radius:8px}.add-friend-modal .search-error,.add-friend-modal .searching,.add-friend-modal .no-results{margin-top:12px;margin-bottom:16px}@media(max-width:600px){.friends-header{padding:12px 16px}.friends-header h1{font-size:18px}.friends-tabs{padding:8px 16px}.friends-tabs .tab{padding:8px 12px;font-size:13px}.friends-content{padding:16px}.friend-card,.request-card,.blocked-card{padding:10px 12px;gap:8px}.user-info{flex:1;min-width:0;gap:10px}.user-info .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.user-info .details{min-width:0}.user-info .email{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .since{display:none}.cancel-btn,.decline-btn,.unblock-btn,.accept-btn{padding:6px 10px;font-size:12px;min-width:auto}.modal-content{padding:16px}.search-input-container{flex-direction:column}.search-input-container input,.search-btn{width:100%}}.request-sent-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.request-sent-success .success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--color-success-bg);color:var(--color-success);font-size:32px;margin-bottom:16px}.request-sent-success p{margin:0;font-size:18px;font-weight:500;color:var(--color-text-primary)}.share-landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#1a1a2e);padding:24px;box-sizing:border-box}.share-landing-content{width:100%;max-width:480px}.share-loading{text-align:center;color:#888}.share-loading svg{margin-bottom:16px;color:#646cff}.share-loading p{margin:0;font-size:14px}.share-error-state{text-align:center;padding:48px 32px;background:#242424f2;border-radius:16px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.share-error-state .error-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:#ff47571a;display:flex;align-items:center;justify-content:center;color:#ff4757;font-size:28px}.share-error-state h2{margin:0 0 8px;font-size:22px;color:#fff;font-weight:600}.share-error-state p{margin:0 0 28px;color:#888;font-size:15px}.back-home-btn{padding:12px 28px;border:none;border-radius:10px;background:#646cff;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.back-home-btn:hover{background:#535bf2;transform:translateY(-1px)}.share-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;color:#fff;font-size:22px;font-weight:600}.share-logo svg{color:#646cff;font-size:26px}.share-card{background:#242424f2;border-radius:20px;padding:32px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 60px #0000004d}.share-owner-section{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.share-owner-section .owner-avatar{border:2px solid rgba(100,108,255,.3)}.owner-info{display:flex;flex-direction:column;gap:2px}.owner-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.owner-name{font-size:16px;font-weight:600;color:#fff}.share-map-info{text-align:center;margin-bottom:24px}.share-map-name{margin:0 0 8px;font-size:28px;font-weight:700;color:#fff;line-height:1.3}.share-map-description{margin:0 0 16px;font-size:15px;color:#999;line-height:1.6}.share-stats{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.stat-item svg{font-size:12px;color:#555}.share-permission-section{margin-bottom:24px}.permission-badge-large{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.permission-badge-large>svg{font-size:24px;flex-shrink:0}.permission-badge-large.view>svg{color:#646cff}.permission-badge-large.edit>svg{color:#4ade80}.permission-text{display:flex;flex-direction:column;gap:2px}.permission-title{font-size:15px;font-weight:600;color:#fff}.permission-desc{font-size:13px;color:#888}.share-card-header{display:flex;justify-content:center;margin-bottom:16px}.permission-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.permission-badge.view{background:#646cff26;color:#646cff}.permission-badge.edit{background:#4ade8026;color:#4ade80}.share-actions{display:flex;flex-direction:column;gap:12px}.share-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.share-action-btn.primary{background:linear-gradient(135deg,#646cff,#535bf2);border:none;color:#fff;box-shadow:0 4px 20px #646cff4d}.share-action-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #646cff66}.share-action-btn.secondary{background:transparent;border:2px solid rgba(100,108,255,.5);color:#646cff}.share-action-btn.secondary:hover{background:#646cff1a;border-color:#646cff}.share-action-btn.text{background:transparent;border:none;color:#888;padding:10px;font-weight:500}.share-action-btn.text:hover{color:#fff}.share-action-btn:disabled{opacity:.6;cursor:not-allowed}.share-note{margin:20px 0 0;font-size:13px;color:#666;text-align:center;line-height:1.5}@media(max-width:520px){.share-landing{padding:16px}.share-card{padding:24px 20px;border-radius:16px}.share-map-name{font-size:24px}.share-stats{flex-direction:column;gap:8px}.permission-badge-large{flex-direction:column;text-align:center;padding:20px}.permission-text{align-items:center}}.invite-landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#1a1a2e);padding:24px;box-sizing:border-box}.invite-landing-content{width:100%;max-width:480px}.invite-loading{text-align:center;color:#888}.invite-loading svg{margin-bottom:16px;color:#646cff}.invite-loading p{margin:0;font-size:14px}.invite-error-state{text-align:center;padding:48px 32px;background:#242424f2;border-radius:16px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.invite-error-state .error-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:#ff47571a;display:flex;align-items:center;justify-content:center;color:#ff4757;font-size:28px}.invite-error-state h2{margin:0 0 8px;font-size:22px;color:#fff;font-weight:600}.invite-error-state p{margin:0 0 28px;color:#888;font-size:15px}.invite-accepted-state{text-align:center;padding:48px 32px;background:#242424f2;border-radius:16px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.invite-accepted-state .success-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:#4ade801a;display:flex;align-items:center;justify-content:center;color:#4ade80;font-size:28px}.invite-accepted-state h2{margin:0 0 8px;font-size:22px;color:#fff;font-weight:600}.invite-accepted-state p{margin:0 0 20px;color:#888;font-size:15px}.invite-accepted-state .redirect-spinner{color:#646cff;font-size:20px}.invite-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;color:#fff;font-size:22px;font-weight:600}.invite-logo svg{color:#646cff;font-size:26px}.invite-card{background:#242424f2;border-radius:20px;padding:32px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 60px #0000004d}.invite-from-section{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.invite-from-avatar{width:48px;height:48px;border-radius:50%;background:#646cff26;display:flex;align-items:center;justify-content:center;color:#646cff;font-size:18px;flex-shrink:0}.invite-from-info{display:flex;flex-direction:column;gap:2px;min-width:0}.invite-from-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.invite-from-name{font-size:16px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-from-email{font-size:13px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-map-info{text-align:center;margin-bottom:24px}.invite-map-name{margin:0 0 12px;font-size:28px;font-weight:700;color:#fff;line-height:1.3}.invite-expiry{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#888;background:#ffffff08;padding:6px 12px;border-radius:20px}.invite-expiry svg{font-size:12px;color:#666}.invite-permission-section{margin-bottom:24px}.invite-permission-section .permission-badge-large{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.invite-permission-section .permission-badge-large>svg{font-size:24px;flex-shrink:0}.invite-permission-section .permission-badge-large.view>svg{color:#646cff}.invite-permission-section .permission-badge-large.edit>svg{color:#4ade80}.invite-permission-section .permission-text{display:flex;flex-direction:column;gap:2px}.invite-permission-section .permission-title{font-size:15px;font-weight:600;color:#fff}.invite-permission-section .permission-desc{font-size:13px;color:#888}.invite-error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:20px;background:#ff47571a;border:1px solid rgba(255,71,87,.2);border-radius:10px;color:#ff6b7a;font-size:14px}.invite-error-message svg{flex-shrink:0}.invite-actions{display:flex;flex-direction:column;gap:12px}.invite-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.invite-action-btn.primary{background:linear-gradient(135deg,#646cff,#535bf2);border:none;color:#fff;box-shadow:0 4px 20px #646cff4d}.invite-action-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #646cff66}.invite-action-btn.primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.invite-note{margin:16px 0 0;font-size:13px;color:#666;text-align:center;line-height:1.5}@media(max-width:520px){.invite-landing{padding:16px}.invite-card{padding:24px 20px;border-radius:16px}.invite-map-name{font-size:24px}.invite-permission-section .permission-badge-large{flex-direction:column;text-align:center;padding:20px}.invite-permission-section .permission-text{align-items:center}}.legal-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.legal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.legal-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--accent-color);text-decoration:none}.legal-logo:hover{opacity:.8}.legal-back{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.legal-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.legal-content{flex:1;max-width:800px;margin:0 auto;padding:2rem;line-height:1.7}.legal-content h1{font-family:var(--font-primary);font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.legal-updated{color:var(--text-tertiary);font-size:.9rem;margin-bottom:2rem}.legal-content section{margin-bottom:2rem}.legal-content h2{font-family:var(--font-primary);font-size:1.4rem;margin-top:2rem;margin-bottom:1rem;color:var(--text-primary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.legal-content h3{font-family:var(--font-primary);font-size:1.1rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.legal-content p{margin-bottom:1rem;color:var(--text-secondary)}.legal-content ul{margin:1rem 0;padding-left:1.5rem}.legal-content li{margin-bottom:.5rem;color:var(--text-secondary)}.legal-content a{color:var(--accent-color);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-contact{background:var(--bg-secondary);padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.legal-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);text-align:center}.legal-footer p{color:var(--text-tertiary);font-size:.85rem;margin-bottom:.5rem}.legal-footer-links{display:flex;justify-content:center;gap:2rem}.legal-footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.85rem}.legal-footer-links a:hover{color:var(--accent-color)}@media(max-width:768px){.legal-header{padding:1rem}.legal-logo{font-size:1.25rem}.legal-back span{display:none}.legal-content{padding:1.5rem 1rem}.legal-content h1{font-size:1.75rem}.legal-content h2{font-size:1.2rem}}.update-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:10002;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--glass-bg, rgba(30, 30, 30, .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.3);border-radius:10px;box-shadow:0 4px 24px #0000004d;animation:update-banner-in .3s ease-out}@keyframes update-banner-in{0%{opacity:0;transform:translate(-50%) translateY(-16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.update-banner-message{font-size:13px;font-weight:500;color:var(--color-text-primary, #fff)}.update-banner-refresh{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:6px;color:#818cf8;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.update-banner-refresh:hover{background:#6366f14d;border-color:#6366f199}.update-banner-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--color-text-secondary, #888);font-size:14px;cursor:pointer;transition:all .15s ease}.update-banner-dismiss:hover{background:#ffffff1a;color:var(--color-text-primary, #fff)}.onboarding-tour,.tour-spotlight-overlay{position:fixed;inset:0;z-index:10100;pointer-events:none}.tour-spotlight-full{background:#000000bf}.tour-spotlight-cutout{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #000000bf;pointer-events:none;transition:all .3s ease-out}.tour-spotlight-ring{position:fixed;border-radius:14px;border:2px solid var(--color-accent-primary, #646cff);box-shadow:0 0 20px #646cff66;animation:tour-pulse 2s ease-in-out infinite;pointer-events:none;transition:all .3s ease-out}@keyframes tour-pulse{0%,to{box-shadow:0 0 20px #646cff66}50%{box-shadow:0 0 30px #646cff99}}.tour-tooltip{position:fixed;z-index:10101;width:320px;max-width:calc(100vw - 32px);padding:24px;background:var(--glass-bg, rgba(30, 30, 40, .95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:16px;box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .4));animation:tour-tooltip-in .3s ease-out;pointer-events:auto}@keyframes tour-tooltip-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tour-tooltip.position-top{animation-name:tour-tooltip-in-top}@keyframes tour-tooltip-in-top{0%{opacity:0;transform:translate(-50%,calc(-100% + 10px))}to{opacity:1;transform:translate(-50%,-100%)}}.tour-tooltip.position-bottom{animation-name:tour-tooltip-in-bottom}@keyframes tour-tooltip-in-bottom{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tour-tooltip.position-left{animation-name:tour-tooltip-in-left}@keyframes tour-tooltip-in-left{0%{opacity:0;transform:translate(calc(-100% + 10px),-50%)}to{opacity:1;transform:translate(-100%,-50%)}}.tour-tooltip.position-right{animation-name:tour-tooltip-in-right}@keyframes tour-tooltip-in-right{0%{opacity:0;transform:translateY(-50%) translate(-10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.tour-tooltip-title{font-size:18px;font-weight:600;color:var(--color-text-primary, #fff);margin:0 0 12px;line-height:1.3}.tour-tooltip-content{font-size:14px;color:var(--color-text-secondary, #ccc);line-height:1.6;margin:0 0 8px}.tour-tooltip-action{font-size:13px;color:var(--color-accent-primary, #646cff);font-style:italic;margin:8px 0 0}.tour-tooltip-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:12px}.tour-step-dots{display:flex;gap:6px}.tour-step-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-subtle, #444);transition:all .2s ease}.tour-step-dot.active{background:var(--color-accent-primary, #646cff);transform:scale(1.25)}.tour-step-dot.completed{background:var(--color-success, #22c55e)}.tour-tooltip-buttons{display:flex;gap:8px}.tour-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.tour-btn-skip{background:transparent;border:1px solid var(--color-border-subtle, #444);color:var(--color-text-secondary, #ccc)}.tour-btn-skip:hover{border-color:var(--color-border-hover, #555);color:var(--color-text-primary, #fff)}.tour-btn-back{background:var(--color-bg-tertiary, #2a2a2a);color:var(--color-text-secondary, #ccc)}.tour-btn-back:hover{background:var(--color-bg-elevated, #333);color:var(--color-text-primary, #fff)}.tour-btn-next{background:var(--color-accent-primary, #646cff);color:#fff}.tour-btn-next:hover{background:var(--color-accent-primary-hover, #535bf2)}@media(max-width:768px){.tour-tooltip{position:fixed!important;inset:auto 16px 24px!important;width:auto!important;max-width:none!important;transform:none!important}.tour-tooltip.position-top,.tour-tooltip.position-bottom,.tour-tooltip.position-left,.tour-tooltip.position-right,.tour-tooltip.position-center{animation-name:tour-tooltip-in-mobile}@keyframes tour-tooltip-in-mobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip-footer{flex-direction:column;gap:16px}.tour-step-dots{order:2;justify-content:center}.tour-tooltip-buttons{order:1;width:100%;justify-content:stretch}.tour-btn{flex:1;padding:12px 16px;font-size:14px}}[data-theme=light] .tour-spotlight-cutout,[data-theme=light] .tour-spotlight-full{box-shadow:0 0 0 9999px #0009}[data-theme=light] .tour-spotlight-full{background:#0009}.rte-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:rte-overlay-fade-in .2s ease-out}@keyframes rte-overlay-fade-in{0%{opacity:0}to{opacity:1}}.rte-modal{width:80%;max-width:1200px;height:85vh;max-height:900px;min-width:400px;min-height:400px;background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:12px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;animation:rte-modal-scale-in .2s ease-out;overflow:hidden}@keyframes rte-modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.rte-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .03));flex-shrink:0}.rte-modal__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary, #fff)}.rte-modal__header-actions{display:flex;align-items:center;gap:12px}.rte-modal__unsaved-indicator{font-size:12px;color:var(--color-warning, #f59e0b);padding:4px 8px;background:#f59e0b26;border-radius:4px}.rte-modal__close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary, rgba(255, 255, 255, .5));cursor:pointer;transition:all .15s ease}.rte-modal__close-btn:hover{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-primary, #fff)}.rte-modal__content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.rte-modal__content .quill{display:flex;flex-direction:column;height:100%}.rte-modal__content .ql-toolbar{border:none;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .03));padding:12px 16px;flex-shrink:0}.rte-modal__content .ql-toolbar .ql-stroke{stroke:var(--color-text-tertiary, rgba(255, 255, 255, .5))}.rte-modal__content .ql-toolbar .ql-fill{fill:var(--color-text-tertiary, rgba(255, 255, 255, .5))}.rte-modal__content .ql-toolbar .ql-picker{color:var(--color-text-tertiary, rgba(255, 255, 255, .5))}.rte-modal__content .ql-toolbar .ql-picker-label:hover,.rte-modal__content .ql-toolbar button:hover{color:var(--color-text-primary, #fff)}.rte-modal__content .ql-toolbar button:hover .ql-stroke{stroke:var(--color-text-primary, #fff)}.rte-modal__content .ql-toolbar button:hover .ql-fill{fill:var(--color-text-primary, #fff)}.rte-modal__content .ql-toolbar button.ql-active,.rte-modal__content .ql-toolbar .ql-picker-label.ql-active{color:var(--color-accent-primary, #646cff)}.rte-modal__content .ql-toolbar button.ql-active .ql-stroke{stroke:var(--color-accent-primary, #646cff)}.rte-modal__content .ql-toolbar button.ql-active .ql-fill{fill:var(--color-accent-primary, #646cff)}.rte-modal__content .ql-toolbar .ql-picker-options{background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:6px;box-shadow:0 10px 20px #0000004d}.rte-modal__content .ql-toolbar .ql-picker-item:hover{color:var(--color-accent-primary, #646cff)}.rte-modal__content .ql-container{flex:1;border:none;font-family:inherit;font-size:16px;overflow-y:auto}.rte-modal__content .ql-editor{padding:24px 32px;color:var(--color-text-primary, #fff);line-height:1.7;min-height:100%}.rte-modal__content .ql-editor.ql-blank:before{color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-style:normal}.rte-modal__content .ql-editor h1,.rte-modal__content .ql-editor h2,.rte-modal__content .ql-editor h3{color:var(--color-text-primary, #fff);margin-top:1.5em;margin-bottom:.5em}.rte-modal__content .ql-editor h1:first-child,.rte-modal__content .ql-editor h2:first-child,.rte-modal__content .ql-editor h3:first-child{margin-top:0}.rte-modal__content .ql-editor a{color:var(--color-accent-primary, #646cff)}.rte-modal__content .ql-editor blockquote{border-left:4px solid var(--color-accent-primary, #646cff);padding-left:16px;margin-left:0;color:var(--color-text-secondary, rgba(255, 255, 255, .7));font-style:italic}.rte-modal__content .ql-editor pre.ql-syntax{background:var(--color-bg-tertiary, rgba(0, 0, 0, .3));border-radius:6px;padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:14px;overflow-x:auto}.rte-modal__content .ql-editor ul,.rte-modal__content .ql-editor ol{padding-left:1.5em}.rte-modal__content .ql-editor li{margin-bottom:.25em}.rte-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .03));flex-shrink:0}.rte-modal__footer-hint{font-size:12px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.rte-modal__footer-hint kbd{display:inline-block;padding:2px 6px;font-family:inherit;font-size:11px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .15));border-radius:4px;margin:0 2px}.rte-modal__footer-actions{display:flex;gap:12px}.rte-modal__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.rte-modal__btn--secondary{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.rte-modal__btn--secondary:hover{background:var(--color-bg-tertiary-hover, rgba(255, 255, 255, .15));color:var(--color-text-primary, #fff)}.rte-modal__btn--primary{background:var(--color-accent-primary, #646cff);color:#fff}.rte-modal__btn--primary:hover{background:var(--color-accent-primary-hover, #5558e3)}.rte-unsaved-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.rte-unsaved-dialog{background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:12px;padding:24px;max-width:400px;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:rte-modal-scale-in .15s ease-out}.rte-unsaved-dialog__icon{width:48px;height:48px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#f59e0b26;border-radius:50%;color:var(--color-warning, #f59e0b);font-size:24px}.rte-unsaved-dialog h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-primary, #fff)}.rte-unsaved-dialog p{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.rte-unsaved-dialog__actions{display:flex;gap:12px;justify-content:center}.rte-unsaved-dialog__btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.rte-unsaved-dialog__btn--secondary{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.rte-unsaved-dialog__btn--secondary:hover{background:var(--color-bg-tertiary-hover, rgba(255, 255, 255, .15));color:var(--color-text-primary, #fff)}.rte-unsaved-dialog__btn--primary{background:var(--color-accent-primary, #646cff);color:#fff}.rte-unsaved-dialog__btn--primary:hover{background:var(--color-accent-primary-hover, #5558e3)}@media(max-width:1024px){.rte-modal{width:90%}.rte-modal__content .ql-editor{padding:20px 24px}}@media(max-width:768px){.rte-modal-overlay{padding:0}.rte-modal{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:0}.rte-modal__header{padding:12px 16px}.rte-modal__title{font-size:16px}.rte-modal__content .ql-toolbar{padding:8px 12px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.rte-modal__content .ql-editor{padding:16px;font-size:15px}.rte-modal__footer{flex-direction:column;gap:12px;padding:12px 16px}.rte-modal__footer-hint{order:2}.rte-modal__footer-actions{order:1;width:100%}.rte-modal__btn{flex:1;justify-content:center}.rte-unsaved-dialog{margin:16px;max-width:calc(100% - 32px)}.rte-unsaved-dialog__actions{flex-direction:column}.rte-unsaved-dialog__btn{width:100%}}.task-editor-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:task-editor-overlay-fade-in .2s ease-out}@keyframes task-editor-overlay-fade-in{0%{opacity:0}to{opacity:1}}.task-editor-modal{width:80%;max-width:800px;height:85vh;max-height:700px;min-width:400px;min-height:400px;background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:12px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;animation:task-editor-modal-scale-in .2s ease-out;overflow:hidden}@keyframes task-editor-modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.task-editor-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .03));flex-shrink:0}.task-editor-modal__header-left{display:flex;align-items:center;gap:16px}.task-editor-modal__title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary, #fff)}.task-editor-modal__progress-text{font-size:13px;color:var(--color-text-tertiary, rgba(255, 255, 255, .5))}.task-editor-modal__header-actions{display:flex;align-items:center;gap:12px}.task-editor-modal__unsaved-indicator{font-size:12px;color:var(--color-warning, #f59e0b);padding:4px 8px;background:#f59e0b26;border-radius:4px}.task-editor-modal__close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary, rgba(255, 255, 255, .5));cursor:pointer;transition:all .15s ease}.task-editor-modal__close-btn:hover{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-primary, #fff)}.task-editor-progress-bar{height:4px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));flex-shrink:0}.task-editor-progress-bar__fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease;border-radius:0 2px 2px 0}.task-editor-add-section{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));flex-shrink:0}.task-editor-add-input{flex:1;padding:12px 16px;font-size:15px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:8px;color:var(--color-text-primary, #fff);outline:none;transition:all .15s ease}.task-editor-add-input::placeholder{color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.task-editor-add-input:focus{border-color:var(--color-accent-primary, #646cff);background:var(--color-bg-secondary, rgba(255, 255, 255, .08))}.task-editor-add-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;background:var(--color-accent-primary, #646cff);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.task-editor-add-btn:hover:not(:disabled){background:var(--color-accent-primary-hover, #5558e3)}.task-editor-add-btn:disabled{opacity:.5;cursor:not-allowed}.task-editor-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .02));flex-shrink:0;flex-wrap:wrap}.task-editor-filter-btn{padding:8px 16px;font-size:13px;font-weight:500;background:transparent;color:var(--color-text-secondary, rgba(255, 255, 255, .7));border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.task-editor-filter-btn:hover{background:var(--color-bg-tertiary, rgba(255, 255, 255, .05))}.task-editor-filter-btn.active{background:var(--color-accent-primary, #646cff);color:#fff}.task-editor-clear-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;background:transparent;color:var(--color-error, #ef4444);border:1px solid var(--color-error, #ef4444);border-radius:6px;cursor:pointer;transition:all .15s ease}.task-editor-clear-btn:hover{background:var(--color-error, #ef4444);color:#fff}.task-editor-list{flex:1;overflow-y:auto;padding:8px 12px}.task-editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.task-editor-empty__icon{font-size:48px;margin-bottom:16px}.task-editor-empty__text{font-size:16px;font-weight:500;color:var(--color-text-secondary, rgba(255, 255, 255, .7));margin-bottom:8px}.task-editor-empty__hint{font-size:13px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.task-editor-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:4px 0;background:var(--color-bg-secondary, rgba(255, 255, 255, .03));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .08));border-radius:8px;transition:all .15s ease}.task-editor-item:hover{background:var(--color-bg-tertiary, rgba(255, 255, 255, .06));border-color:var(--color-border-subtle, rgba(255, 255, 255, .15))}.task-editor-item.dragging{opacity:.5;box-shadow:0 10px 20px #0000004d}.task-editor-item.completed{opacity:.7}.task-editor-item.completed .task-editor-title{text-decoration:line-through;color:var(--color-text-tertiary, rgba(255, 255, 255, .5))}.task-editor-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--color-text-tertiary, rgba(255, 255, 255, .3));cursor:grab;border-radius:4px;transition:all .15s ease}.task-editor-drag-handle:hover{color:var(--color-text-secondary, rgba(255, 255, 255, .6));background:var(--color-bg-tertiary, rgba(255, 255, 255, .1))}.task-editor-drag-handle:active{cursor:grabbing}.task-editor-checkbox{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.task-editor-checkbox input{position:absolute;opacity:0;width:0;height:0}.task-editor-checkmark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .05));border:2px solid var(--color-border-subtle, rgba(255, 255, 255, .2));border-radius:6px;transition:all .15s ease;font-size:12px;color:transparent}.task-editor-checkbox input:checked+.task-editor-checkmark{background:#10b981;border-color:#10b981;color:#fff}.task-editor-checkbox:hover .task-editor-checkmark{border-color:var(--color-accent-primary, #646cff)}.task-editor-content{flex:1;min-width:0}.task-editor-title{display:block;font-size:14px;color:var(--color-text-primary, #fff);word-break:break-word}.task-editor-edit-input{width:100%;padding:6px 10px;font-size:14px;background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-accent-primary, #646cff);border-radius:4px;color:var(--color-text-primary, #fff);outline:none}.task-editor-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.task-editor-item:hover .task-editor-item-actions{opacity:1}.task-editor-item-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));cursor:pointer;transition:all .15s ease}.task-editor-item-btn:hover{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1))}.task-editor-item-btn--edit:hover{color:var(--color-accent-primary, #646cff)}.task-editor-item-btn--delete:hover{color:var(--color-error, #ef4444)}.task-editor-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-bg-secondary, rgba(255, 255, 255, .03));flex-shrink:0}.task-editor-modal__footer-hint{font-size:12px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.task-editor-modal__footer-hint kbd{display:inline-block;padding:2px 6px;font-family:inherit;font-size:11px;background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .15));border-radius:4px;margin:0 2px}.task-editor-modal__footer-actions{display:flex;gap:12px}.task-editor-modal__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.task-editor-modal__btn--secondary{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.task-editor-modal__btn--secondary:hover{background:var(--color-bg-tertiary-hover, rgba(255, 255, 255, .15));color:var(--color-text-primary, #fff)}.task-editor-modal__btn--primary{background:var(--color-accent-primary, #646cff);color:#fff}.task-editor-modal__btn--primary:hover{background:var(--color-accent-primary-hover, #5558e3)}.task-editor-unsaved-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.task-editor-unsaved-dialog{background:var(--color-bg-primary, #1a1a2e);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .1));border-radius:12px;padding:24px;max-width:400px;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:task-editor-modal-scale-in .15s ease-out}.task-editor-unsaved-dialog__icon{width:48px;height:48px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#f59e0b26;border-radius:50%;color:var(--color-warning, #f59e0b);font-size:24px}.task-editor-unsaved-dialog h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-primary, #fff)}.task-editor-unsaved-dialog p{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.task-editor-unsaved-dialog__actions{display:flex;gap:12px;justify-content:center}.task-editor-unsaved-dialog__btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.task-editor-unsaved-dialog__btn--secondary{background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.task-editor-unsaved-dialog__btn--secondary:hover{background:var(--color-bg-tertiary-hover, rgba(255, 255, 255, .15));color:var(--color-text-primary, #fff)}.task-editor-unsaved-dialog__btn--primary{background:var(--color-accent-primary, #646cff);color:#fff}.task-editor-unsaved-dialog__btn--primary:hover{background:var(--color-accent-primary-hover, #5558e3)}@media(max-width:1024px){.task-editor-modal{width:90%}}@media(max-width:768px){.task-editor-modal-overlay{padding:0}.task-editor-modal{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:0}.task-editor-modal__header{padding:12px 16px;flex-wrap:wrap;gap:8px}.task-editor-modal__header-left{flex-direction:column;align-items:flex-start;gap:4px}.task-editor-modal__title{font-size:16px}.task-editor-add-section{flex-direction:column;padding:12px 16px}.task-editor-add-btn{width:100%;justify-content:center}.task-editor-filters{padding:8px 12px;gap:4px}.task-editor-filter-btn{padding:6px 12px;font-size:12px}.task-editor-clear-btn{margin-left:0;margin-top:8px;width:100%;justify-content:center}.task-editor-item{padding:10px 12px;gap:8px}.task-editor-item-actions{opacity:1}.task-editor-modal__footer{flex-direction:column;gap:12px;padding:12px 16px}.task-editor-modal__footer-hint{order:2;text-align:center}.task-editor-modal__footer-actions{order:1;width:100%}.task-editor-modal__btn{flex:1;justify-content:center}.task-editor-unsaved-dialog{margin:16px;max-width:calc(100% - 32px)}.task-editor-unsaved-dialog__actions{flex-direction:column}.task-editor-unsaved-dialog__btn{width:100%}}.collab-chat-panel{position:fixed;top:0;right:0;width:320px;height:100%;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow:hidden;z-index:50;box-sizing:border-box;animation:collabChatSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes collabChatSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.collab-chat-panel *{box-sizing:border-box}.collab-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-default);flex-shrink:0;gap:8px;background:var(--color-bg-primary)}.collab-chat-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.collab-chat-header-icon{width:20px;height:20px;color:var(--color-accent-primary);flex-shrink:0}.collab-chat-header-title{font-weight:600;font-size:14px;color:var(--color-text-primary);white-space:nowrap}.collab-chat-participant-count{padding:2px 6px;font-size:11px;font-weight:500;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:10px}.collab-chat-header-actions{display:flex;align-items:center;gap:4px}.collab-chat-header-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.collab-chat-header-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.collab-chat-header-btn svg{width:16px;height:16px}.collab-chat-tabs{padding:8px 16px;border-bottom:1px solid var(--color-border-default);background:var(--color-bg-secondary);flex-shrink:0;display:flex;gap:6px}.collab-chat-tab{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid var(--color-border-default);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:16px;cursor:pointer;transition:all .15s ease}.collab-chat-tab:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.collab-chat-tab.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.collab-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.collab-chat-messages::-webkit-scrollbar{width:6px}.collab-chat-messages::-webkit-scrollbar-track{background:transparent}.collab-chat-messages::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:3px}.collab-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.collab-chat-message{max-width:90%;display:flex;flex-direction:column;gap:4px}.collab-chat-message.own{align-self:flex-end}.collab-chat-message.other{align-self:flex-start}.collab-chat-message-header{display:flex;align-items:center;gap:6px;font-size:11px}.collab-chat-message-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;background:var(--color-bg-tertiary)}.collab-chat-message-avatar-placeholder{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.collab-chat-message-sender{font-weight:500}.collab-chat-message-time{color:var(--color-text-tertiary);font-size:10px}.collab-chat-message-bubble{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.collab-chat-message.own .collab-chat-message-bubble{background:var(--color-accent-primary);color:#fff;border-bottom-right-radius:4px}.collab-chat-message.other .collab-chat-message-bubble{background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:4px}.collab-chat-mention{background:#646cff33;color:var(--color-accent-primary);padding:1px 4px;border-radius:3px;font-weight:500}.collab-chat-message.own .collab-chat-mention{background:#fff3;color:#fff}.collab-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--color-text-tertiary)}.collab-chat-empty-icon{width:48px;height:48px;margin-bottom:16px;opacity:.5}.collab-chat-empty-title{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.collab-chat-empty-text{font-size:12px;line-height:1.5;max-width:200px}.collab-chat-input-area{padding:12px 16px;border-top:1px solid var(--color-border-default);flex-shrink:0;background:var(--color-bg-primary)}.collab-chat-input-row{display:flex;align-items:flex-end;gap:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:12px;padding:8px 8px 8px 12px;transition:border-color .15s}.collab-chat-input-row:focus-within{border-color:var(--color-accent-primary)}.collab-chat-textarea{flex:1;min-height:24px;max-height:100px;padding:0;border:none;background:transparent;color:var(--color-text-primary);font-size:14px;resize:none;font-family:inherit;line-height:1.5;overflow-y:auto}.collab-chat-textarea:focus{outline:none}.collab-chat-textarea::placeholder{color:var(--color-text-tertiary)}.collab-chat-send-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-accent-primary);color:#fff;border-radius:8px;cursor:pointer;transition:all .15s;flex-shrink:0}.collab-chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.collab-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.collab-chat-send-btn svg{width:16px;height:16px}.collab-chat-mention-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:4px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:150px;overflow-y:auto;z-index:100}.collab-chat-mention-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s}.collab-chat-mention-item:hover,.collab-chat-mention-item.selected{background:var(--color-bg-secondary)}.collab-chat-mention-item-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.collab-chat-mention-item-name{font-size:13px;color:var(--color-text-primary)}.collab-drawing-tools{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.collab-drawing-section{display:flex;flex-direction:column;gap:8px}.collab-drawing-section-title{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.collab-drawing-tool-row{display:flex;gap:8px}.collab-drawing-tool-btn{flex:1;padding:10px;border:1px solid var(--color-border-default);background:var(--color-bg-primary);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .15s}.collab-drawing-tool-btn:hover{border-color:var(--color-accent-primary)}.collab-drawing-tool-btn.active{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1))}.collab-drawing-tool-btn svg{width:20px;height:20px;color:var(--color-text-secondary)}.collab-drawing-tool-btn.active svg{color:var(--color-accent-primary)}.collab-drawing-tool-label{font-size:11px;color:var(--color-text-secondary)}.collab-drawing-tool-btn.active .collab-drawing-tool-label{color:var(--color-accent-primary)}.collab-color-palette{display:flex;flex-wrap:wrap;gap:6px}.collab-color-swatch{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s}.collab-color-swatch:hover{transform:scale(1.1)}.collab-color-swatch.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-primary)}.collab-color-swatch[data-color="#FFFFFF"]{border:1px solid var(--color-border-default)}.collab-color-swatch[data-color="#FFFFFF"].selected{border:2px solid var(--color-text-primary)}.collab-stroke-widths{display:flex;gap:8px}.collab-stroke-btn{flex:1;padding:8px;border:1px solid var(--color-border-default);background:var(--color-bg-primary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.collab-stroke-btn:hover{border-color:var(--color-accent-primary)}.collab-stroke-btn.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1))}.collab-stroke-preview{background:var(--color-text-primary);border-radius:50%}.collab-duration-options{display:flex;gap:6px}.collab-duration-btn{flex:1;padding:6px 8px;border:1px solid var(--color-border-default);background:var(--color-bg-primary);border-radius:6px;cursor:pointer;font-size:12px;color:var(--color-text-secondary);transition:all .15s}.collab-duration-btn:hover{border-color:var(--color-accent-primary)}.collab-duration-btn.selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary);color:#fff}.collab-drawing-active-hint{padding:12px;background:var(--color-accent-primary-bg, rgba(100, 108, 255, .1));border:1px solid var(--color-accent-primary);border-radius:8px;text-align:center;font-size:12px;color:var(--color-accent-primary)}.collab-chat-button{position:relative;width:40px;height:40px;border:none;background:var(--color-bg-elevated, var(--color-bg-secondary));border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:0 2px 8px #0000001a}.collab-chat-button:hover{background:var(--color-bg-tertiary);transform:translateY(-1px)}.collab-chat-button svg{width:20px;height:20px;color:var(--color-text-secondary)}.collab-chat-button.has-unread svg{color:var(--color-accent-primary)}.collab-chat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--color-error, #ef4444);color:#fff;font-size:10px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.collab-chat-button.disabled{opacity:.6;cursor:not-allowed}.collab-chat-button.disabled:hover{transform:none}.collab-annotation-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.collab-annotation-canvas.drawing{pointer-events:auto;cursor:crosshair;touch-action:none}.collab-annotation-label{position:absolute;font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:.9}.collab-people-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px;min-height:0}.collab-people-list::-webkit-scrollbar{width:6px}.collab-people-list::-webkit-scrollbar-track{background:transparent}.collab-people-list::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:3px}.collab-people-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.collab-people-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;transition:background .15s}.collab-people-item:hover,.collab-people-item.current-user{background:var(--color-bg-secondary)}.collab-people-avatar-wrapper{position:relative;flex-shrink:0}.collab-people-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--color-bg-tertiary)}.collab-people-avatar-placeholder{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.collab-people-status{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-bg-primary);display:flex;align-items:center;justify-content:center}.collab-people-status svg{width:6px;height:6px;color:#fff}.collab-people-info{flex:1;min-width:0}.collab-people-name{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.collab-people-you{font-size:11px;font-weight:400;color:var(--color-text-tertiary)}.collab-people-activity{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.collab-people-color-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.collab-people-chat-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease;flex-shrink:0;opacity:0}.collab-people-item:hover .collab-people-chat-btn{opacity:1}.collab-people-chat-btn:hover{background:var(--color-accent-primary);color:#fff}.collab-people-chat-btn svg{width:14px;height:14px}@media(max-width:768px){.collab-chat-panel{position:fixed;top:0;left:0;right:0;width:100%;height:100svh;border-left:none;z-index:1000}.collab-chat-header{padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.collab-chat-header-btn{width:36px;height:36px;background:var(--color-bg-tertiary)}.collab-chat-header-btn svg{width:20px;height:20px}.collab-chat-input-area{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}}.timer-container{position:relative;display:flex;align-items:center;justify-content:center}.timer-settings{position:relative}.timer-icon-btn{height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-primary-bg);border:1px solid var(--color-border-subtle);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;font-size:14px}.timer-icon-btn:hover{background:var(--color-accent-primary-bg-hover);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.timer-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;padding:16px;background:#2a2a2afa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;display:flex;flex-direction:column;gap:12px}.timer-mode-toggle{display:flex;gap:4px;background:#ffffff0d;border-radius:6px;padding:4px}.timer-mode-toggle button{flex:1;padding:8px 12px;font-size:13px;font-weight:500;background:transparent;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .2s}.timer-mode-toggle button:hover{color:#ffffffe6;background:#ffffff0d}.timer-mode-toggle button.active{background:#646cff4d;color:#fff}.timer-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timer-preset-btn{padding:10px;font-size:14px;font-weight:500;background:#646cff33;border:1px solid rgba(100,108,255,.4);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s}.timer-preset-btn:hover{background:#646cff4d;border-color:#646cff99;transform:translateY(-1px)}.timer-start-btn{padding:12px;font-size:14px;font-weight:500;background:#646cff4d;border:1px solid rgba(100,108,255,.6);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s}.timer-start-btn:hover{background:#646cff66;border-color:#646cffcc}.timer-active{display:flex;align-items:center;gap:8px}.timer-progress-container{position:relative;width:56px;height:56px}.timer-progress-ring{transform:rotate(0)}.timer-progress-bg{stroke:#ffffff1a}.timer-display{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.timer-time{font-size:13px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.timer-controls{display:flex;gap:4px}.timer-control-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .2s;font-size:14px}.timer-control-btn:hover{background:#ffffff26;border-color:#ffffff4d}[data-theme=light] .timer-settings-panel{background:#fffffffa;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #00000026}[data-theme=light] .timer-mode-toggle{background:#0000000d}[data-theme=light] .timer-mode-toggle button{color:#0009}[data-theme=light] .timer-mode-toggle button:hover{color:#000c;background:#0000000d}[data-theme=light] .timer-mode-toggle button.active{background:#646cff33;color:var(--color-accent-primary)}[data-theme=light] .timer-preset-btn{background:#646cff1a;border:1px solid rgba(100,108,255,.3);color:var(--color-accent-primary)}[data-theme=light] .timer-preset-btn:hover{background:#646cff33;border-color:#646cff80}[data-theme=light] .timer-start-btn{background:#646cff33;border:1px solid rgba(100,108,255,.5);color:var(--color-accent-primary)}[data-theme=light] .timer-start-btn:hover{background:#646cff4d;border-color:#646cffb3}[data-theme=light] .timer-time{color:var(--color-text-primary)}[data-theme=light] .timer-control-btn{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:var(--color-text-secondary)}[data-theme=light] .timer-control-btn:hover{background:#0000001a;border-color:#0003}[data-theme=light] .timer-progress-bg{stroke:#0000001a}@media(max-width:768px),(pointer:coarse){.timer-icon-btn{height:32px;padding:0 8px;font-size:13px}.timer-settings-panel{min-width:200px}.timer-presets{grid-template-columns:1fr 1fr}.timer-time{font-size:12px}.timer-progress-container,.timer-progress-ring{width:44px;height:44px}.timer-progress-ring circle{cx:22;cy:22;r:18}}
