:root{--ui-panel-margin: 20px;--ui-panel-margin-mobile: 10px;--interior-margin: 10px;--interior-margin-mobile: 5px;--panel-padding: 16px;--panel-border-radius: 12px;--button-padding: 8px 16px;--input-padding: 10px;--color-primary: #4ade80;--color-primary-hover: #22c55e;--color-primary-text: #ffffff;--color-background: #1a1a1a;--color-panel-bg: rgba(0, 0, 0, .8);--color-panel-border: rgba(255, 255, 255, .1);--color-text: #ffffff;--color-text-muted: #a3a3a3;--color-text-secondary: #888888;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .95);--color-success-border: rgba(34, 197, 94, .3);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .95);--color-warning-border: rgba(245, 158, 11, .3);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .95);--color-error-border: rgba(239, 68, 68, .3);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .95);--color-info-border: rgba(59, 130, 246, .3);--color-hover: rgba(255, 255, 255, .1);--color-hover-strong: rgba(255, 255, 255, .2);--color-active: rgba(255, 255, 255, .3);--color-focus: rgba(255, 255, 255, .3);--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 2px var(--color-focus);--border-width: 1px;--border-radius-sm: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-tooltip: 1000;--z-modal: 1001;--z-notification: 1002;--z-dropdown: 100;--z-inspector: 200;--z-favorites: 150;--favorites-max-height: calc(100vh - var(--ui-panel-margin) * 2);--inspector-max-height: calc(100vh - var(--ui-panel-margin) * 2);--inspector-calculated-max-height: 400px;--inspector-content-width: 320px;--inspector-optimal-width: 320px;--measurement-element-position: absolute;--measurement-element-visibility: hidden;--measurement-element-whitespace: nowrap;--inspector-text-display: block;--inspector-text-height: auto;--inspector-text-overflow: visible;--inspector-text-wrap: break-word;--inspector-text-whitespace: pre-wrap;--backdrop-filter: blur(10px);--opacity-disabled: .5;--opacity-hover: .9}@media (max-width: 768px){:root{--ui-panel-margin: var(--ui-panel-margin-mobile);--interior-margin: var(--interior-margin-mobile);--panel-padding: 12px;--font-size-base: 12px;--font-size-lg: 14px}}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{height:100%;font-size:16px}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);height:100vh;overflow:hidden;position:relative;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin:0;line-height:var(--line-height-normal)}button:focus,input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--shadow-focus)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-select{user-select:none}.select-text{user-select:text}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.hidden{display:none!important}.visible{display:block!important}.invisible{visibility:hidden}.opacity-disabled{opacity:var(--opacity-disabled)}.opacity-hover{opacity:var(--opacity-hover)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-text{cursor:text}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.break-words{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.form-group{margin-bottom:16px}.form-label{display:block;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:4px}.form-input{width:100%;background:#ffffff0d;border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-md);padding:var(--input-padding);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);transition:all var(--transition-fast);resize:vertical;min-height:40px}.form-input:focus{border-color:var(--color-primary);background:#ffffff14;box-shadow:var(--shadow-focus)}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:80px;resize:vertical}.range-container{display:flex;flex-direction:column;gap:8px}.range-header{display:flex;justify-content:space-between;align-items:center}.range-value{color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.range-input{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;transition:all var(--transition-fast);cursor:pointer}.range-input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-background);box-shadow:0 2px 4px #0003;transition:all var(--transition-fast)}.range-input::-webkit-slider-thumb:hover{background:var(--color-primary-hover);transform:scale(1.1)}.range-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-background);box-shadow:0 2px 4px #0003;transition:all var(--transition-fast)}.option-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:5px;line-height:var(--line-height-normal)}.stats-section{flex:1;display:none}.stats-section.visible{display:flex}.stat-item{display:flex;justify-content:space-between;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.stat-label{color:var(--color-text-muted)}.stat-value{color:var(--color-text);font-weight:var(--font-weight-medium)}.controls-section{display:flex;flex-direction:column;gap:12px}.control-group{display:flex;flex-direction:column;gap:4px}.control-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em}.input-section{display:flex;flex-direction:column;gap:12px}.input-container{position:relative}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.input-actions{display:flex;gap:8px;align-items:center}.transformation-section{display:flex;flex-direction:column;gap:12px}.transformations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.transformation-grid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px}.transformation-grid .control-button{width:auto!important}.transformation-grid .secondary-button{grid-column:1 / -1;margin-top:4px;width:100%!important}.transformation-item{display:flex;flex-direction:column;gap:4px}.options-panel{display:none;flex-direction:column;gap:16px;margin-top:16px;padding-top:16px;border-top:var(--border-width) solid var(--color-panel-border)}.options-panel.visible{display:flex}.options-toggle{background:transparent;color:var(--color-text-muted);border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);align-self:flex-start}.options-toggle:hover{background:var(--color-hover);color:var(--color-text);border-color:#fff6}.canvas-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:auto}.canvas{display:block;width:100%;height:100%;background:transparent}.label-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.node-label{position:absolute;background:#000c;color:var(--color-text);padding:6px 10px;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none;white-space:nowrap;border:var(--border-width) solid var(--color-panel-border);backdrop-filter:blur(5px);z-index:100;opacity:0;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md)}.plant-title-label{position:absolute;background:#000c;color:var(--color-text);padding:6px 10px;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none;white-space:nowrap;border:var(--border-width) solid var(--color-panel-border);backdrop-filter:blur(5px);z-index:100;opacity:0;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md);transform:translate(-50%);user-select:none}.plant-title-label.js-visible{opacity:.9}.plant-title-label.js-hidden{opacity:0}.plant-title-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}@media (max-width: 768px){.transformations-grid,.controls-grid{grid-template-columns:1fr;gap:6px}.input-footer{flex-direction:column;align-items:stretch;gap:8px}.input-actions{justify-content:center}.form-input{padding:8px;font-size:var(--font-size-sm)}.range-input{height:8px}.range-input::-webkit-slider-thumb{width:20px;height:20px}.node-label,.plant-title-label{font-size:var(--font-size-xs);padding:4px 6px}}@media (max-width: 768px){.controls-grid{flex-direction:row;flex-wrap:wrap;justify-content:space-around;gap:6px}.controls-grid>.control-button:not(.half-width){flex:1;min-width:80px;width:auto}.half-width-buttons{width:100%;justify-content:space-between}}@media (max-width: 480px){.controls-grid{flex-direction:column;gap:6px}.controls-grid>.control-button:not(.half-width){width:100%!important}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--button-padding);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:var(--border-width) solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);user-select:none;white-space:nowrap;position:relative;background:none;outline:none}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.btn:focus{box-shadow:var(--shadow-focus)}.btn-primary{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-hover);color:var(--color-text);border-color:var(--color-panel-border)}.btn-secondary:hover:not(:disabled){background:var(--color-hover-strong);border-color:#fff6}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-panel-border)}.btn-ghost:hover:not(:disabled){background:var(--color-hover);border-color:#fff6}.btn-sm{padding:4px 8px;font-size:var(--font-size-sm)}.btn-lg{padding:12px 24px;font-size:var(--font-size-lg)}.control-button{background:var(--color-hover);color:var(--color-text);border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-md);padding:var(--button-padding);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.control-button:hover:not(:disabled){background:var(--color-hover-strong);border-color:#fff6}.control-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.plant-button{background:var(--color-primary);color:var(--color-primary-text);border:var(--border-width) solid var(--color-primary);border-radius:var(--border-radius-md);padding:var(--button-padding);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);min-width:120px}.plant-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.plant-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.heart-button{background:transparent;color:var(--color-text-muted);border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.heart-button:hover{background:var(--color-hover);color:var(--color-text);border-color:#fff6}.heart-button.favorited{background:#ef444433;color:#ef4444;border-color:#ef4444}.toggle-button{background:var(--color-hover);border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-sm);color:var(--color-text);width:28px;height:28px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);user-select:none}.toggle-button:hover{background:var(--color-hover-strong);border-color:#fff6}.transformation-button{background:var(--color-hover);color:var(--color-text);border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-md);padding:8px 12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:center}.transformation-button:hover:not(:disabled){background:var(--color-hover-strong);border-color:#fff6;transform:translateY(-1px)}.transformation-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.transformation-button{padding:8px 12px;font-size:12px;font-weight:500;border-radius:6px;transition:all .2s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid;cursor:pointer}.transformation-button.green{background:#22c55e33;border-color:#22c55e66;color:#22c55e}.transformation-button.green:hover{background:#22c55e4d;border-color:#22c55e99;box-shadow:0 0 10px #22c55e4d}.transformation-button.red{background:#ef444433;border-color:#ef444466;color:#ef4444}.transformation-button.red:hover{background:#ef44444d;border-color:#ef444499;box-shadow:0 0 10px #ef44444d}.transformation-button.blue{background:#3b82f633;border-color:#3b82f666;color:#3b82f6}.transformation-button.blue:hover{background:#3b82f64d;border-color:#3b82f699;box-shadow:0 0 10px #3b82f64d}.transformation-button.purple{background:#9333ea33;border-color:#9333ea66;color:#9333ea}.transformation-button.purple:hover{background:#9333ea4d;border-color:#9333ea99;box-shadow:0 0 10px #9333ea4d}.transformation-button.orange{background:#f9731633;border-color:#f9731666;color:#f97316}.transformation-button.orange:hover{background:#f973164d;border-color:#f9731699;box-shadow:0 0 10px #f973164d}.transformation-button.cyan{background:#06b6d433;border-color:#06b6d466;color:#06b6d4}.transformation-button.cyan:hover{background:#06b6d44d;border-color:#06b6d499;box-shadow:0 0 10px #06b6d44d}.transformation-button.yellow{background:#eab30833;border-color:#eab30866;color:#eab308}.transformation-button.yellow:hover{background:#eab3084d;border-color:#eab30899;box-shadow:0 0 10px #eab3084d}.transformation-button.pink{background:#ec489933;border-color:#ec489966;color:#ec4899}.transformation-button.pink:hover{background:#ec48994d;border-color:#ec489999;box-shadow:0 0 10px #ec48994d}.transformation-button.teal{background:#14b8a633;border-color:#14b8a666;color:#14b8a6}.transformation-button.teal:hover{background:#14b8a64d;border-color:#14b8a699;box-shadow:0 0 10px #14b8a64d}.transformation-button.indigo{background:#6366f133;border-color:#6366f166;color:#6366f1}.transformation-button.indigo:hover{background:#6366f14d;border-color:#6366f199;box-shadow:0 0 10px #6366f14d}.transformation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px}.transformation-grid .secondary-button{grid-column:1 / -1;margin-top:4px}.btn-icon{display:flex;align-items:center;gap:8px}.btn-icon-only{padding:8px;width:auto;aspect-ratio:1}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-text)}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.btn{padding:6px 12px;font-size:var(--font-size-sm)}.btn-sm{padding:3px 6px;font-size:var(--font-size-xs)}.transformation-button{padding:6px 8px;font-size:var(--font-size-xs)}.heart-button{min-width:24px;height:24px;font-size:var(--font-size-xs);padding:2px 4px}}.controls-grid>.control-button:not(.half-width){width:100%!important;box-sizing:border-box}.panel{background:var(--color-panel-bg);backdrop-filter:var(--backdrop-filter);border-radius:var(--panel-border-radius);padding:var(--panel-padding);border:var(--border-width) solid var(--color-panel-border);transition:all var(--transition-normal);pointer-events:auto;box-sizing:border-box}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:var(--border-width) solid var(--color-panel-border);flex-shrink:0}.panel-title{margin:0;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);flex:1}.panel-content{height:auto;min-height:80px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;padding-right:4px;flex:1}.favorites-container{position:fixed;top:var(--ui-panel-margin);left:var(--ui-panel-margin);min-width:280px;max-width:400px;width:auto;height:auto;min-height:120px;max-height:var(--favorites-max-height);z-index:var(--z-favorites);resize:both;overflow:hidden;animation:slideInFromLeft var(--transition-normal) ease-out;display:flex;flex-direction:column}.favorites-container.collapsed{min-height:60px;max-height:60px;resize:none}.favorites-container.collapsed .panel-content{display:none}.favorites-content{max-height:calc(var(--favorites-max-height) - 74px)}.no-favorites-message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-base);text-align:center;font-style:italic;padding:20px 10px;line-height:var(--line-height-normal)}.favorite-item{background:#ffffff0d;border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-md);padding:8px 10px;transition:all var(--transition-fast);cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.favorite-item:hover{background:#ffffff1a;border-color:#ffffff4d}.favorite-content{flex:1;min-width:0}.favorite-text{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 4px;word-wrap:break-word;overflow-wrap:break-word}.favorite-badge{background:var(--color-primary);color:var(--color-primary-text);font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em}.trash-button{background:transparent;color:var(--color-text-muted);border:var(--border-width) solid transparent;border-radius:var(--border-radius-sm);padding:2px 4px;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.trash-button:hover{background:#ef444433;color:var(--color-error);border-color:var(--color-error)}.inspector-container{position:fixed;top:var(--ui-panel-margin);right:var(--ui-panel-margin);width:320px;height:auto;min-height:60px;max-height:var(--inspector-max-height);z-index:var(--z-inspector);display:none;overflow:visible}.inspector-container.visible{display:block;animation:slideInFromRight var(--transition-normal) ease-out}.inspector-content{height:auto;min-height:120px;max-height:none;overflow:visible;padding-right:0}.no-selection-message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-base);text-align:center;font-style:italic;padding:20px 0}.inspector-node-item{display:flex;flex-direction:column;background:#ffffff0d;border:var(--border-width) solid var(--color-panel-border);border-radius:var(--border-radius-md);margin-bottom:8px;overflow:visible}.inspector-node-header{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 10px;gap:8px;border-bottom:var(--border-width) solid var(--color-panel-border);background:#ffffff05;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.inspector-node-content{flex:1;min-width:0}.inspector-node-text{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 4px;display:block;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;height:auto;overflow:visible;user-select:text;cursor:text}.inspector-button-container{display:flex;gap:6px;margin-left:8px;flex-shrink:0}.inspector-middle-bar{display:block;min-height:auto;height:auto;overflow:visible;padding:8px 10px}.inspector-plant-button{background:var(--color-primary);color:var(--color-primary-text);border:var(--border-width) solid var(--color-primary);border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.inspector-plant-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.inspector-children{margin-left:24px;padding-left:12px;border-left:2px solid var(--color-panel-border)}#unified-panel{position:fixed;bottom:var(--ui-panel-margin);left:var(--ui-panel-margin);right:var(--ui-panel-margin);display:grid;grid-template-columns:300px 1fr 320px;grid-template-areas:"left center right";gap:32px;align-items:end;pointer-events:none;z-index:100}.panel-section{display:flex;flex-direction:column;min-width:0;pointer-events:auto}#left-panel{grid-area:left;background:#000c;backdrop-filter:blur(10px);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1)}#right-panel{grid-area:right;background:#000c;backdrop-filter:blur(10px);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1)}#center-panel{grid-area:center;display:flex;justify-content:center;align-items:center;min-height:60px}.section-title{margin-bottom:12px;color:#4ade80;font-size:16px;font-weight:600;text-align:center}.control-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:10px 16px;cursor:pointer;font-size:13px;transition:all .2s ease;white-space:nowrap;width:100%}.control-button:hover{background:#fff3;border-color:#4ade80}.control-button:active{transform:scale(.95)}.primary-button{background:#4ade8033;border-color:#4ade80}.primary-button:hover{background:#4ade804d}.control-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.secondary-button{background:#78787833;border-color:#78787866}.secondary-button:hover{background:#7878784d;border-color:#78787899}#thought-input{width:100%;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:13px;resize:none;max-height:60px;min-height:60px;overflow-y:auto;line-height:1.4;font-family:inherit}#thought-input:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 2px #4ade8033}.input-controls{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.input-controls .control-button{width:auto;flex:0 0 auto}.char-counter{font-size:11px;color:#a3a3a3}#stats-section{flex:1}.stats-grid{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:space-around}.stat-item{display:flex;justify-content:space-between;font-size:13px}.stat-label{color:#a3a3a3}.stat-value{color:#fff}.controls-grid{display:flex;flex-direction:column;gap:8px}.half-width-buttons{display:flex;gap:8px}.control-button.half-width{flex:1;width:auto}.unified-panel .left-panel{grid-area:left}.unified-panel .center-panel{grid-area:center;position:relative}.unified-panel .right-panel{grid-area:right}.center-panel:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:2px;border-radius:50%;background:#4ade804d;box-shadow:0 0 10px #4ade8033,0 0 20px #4ade801a;animation:centerPulse 4s ease-in-out infinite}.panel-section{flex:1}.section-title{margin-bottom:8px;font-size:var(--font-size-lg);color:var(--color-primary);font-weight:var(--font-weight-semibold);text-align:center}.option-reset-container{display:flex;flex-direction:column;align-items:center;gap:2px;margin-left:8px}.option-default{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-normal);font-style:italic;text-align:center;white-space:nowrap}.option-reset{background:#78787833;border:var(--border-width) solid rgba(120,120,120,.4);color:#888;padding:2px 6px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-width:50px;white-space:nowrap}.option-reset:hover{background:#7878784d;border-color:#78787899;color:#aaa}.option-reset:active{transform:scale(.95)}@keyframes centerPulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.5)}}@media (max-width: 768px){.unified-panel{grid-template-columns:1fr;grid-template-rows:auto auto;grid-template-areas:"left" "right";gap:16px;bottom:var(--ui-panel-margin-mobile);left:var(--ui-panel-margin-mobile);right:var(--ui-panel-margin-mobile)}.center-panel{display:none}.favorites-container{top:var(--ui-panel-margin-mobile);left:var(--ui-panel-margin-mobile);right:var(--ui-panel-margin-mobile);width:auto;min-width:auto;max-width:none;max-height:calc(100vh - 120px);resize:none}.inspector-container{top:var(--ui-panel-margin-mobile);right:var(--ui-panel-margin-mobile);left:var(--ui-panel-margin-mobile);width:auto;min-width:auto;max-width:none;max-height:calc(100vh - var(--ui-panel-margin-mobile) * 2);resize:none}.inspector-content{height:auto;min-height:120px;overflow:visible}.inspector-children{margin-left:20px;padding-left:8px}.inspector-node-header,.favorite-item{padding:6px 8px}.favorite-text{font-size:var(--font-size-xs)}.favorite-badge{font-size:7px;padding:1px 4px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--panel-padding)}.modal-overlay.visible{display:flex;animation:fadeIn var(--transition-normal) ease-out}.modal-window{background:var(--color-panel-bg);backdrop-filter:var(--backdrop-filter);border-radius:var(--panel-border-radius);border:var(--border-width) solid var(--color-panel-border);max-width:33.33vw;max-height:90vh;overflow:hidden;position:relative;animation:slideUp var(--transition-normal) ease-out;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-header{padding:var(--panel-padding);border-bottom:var(--border-width) solid var(--color-panel-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.modal-content{padding:var(--panel-padding);overflow-y:auto;flex:1}.modal-content p{margin-bottom:10px;line-height:var(--line-height-relaxed)}.modal-content p:last-child{margin-bottom:0}.welcome-modal{max-width:33.33vw;width:100%}.welcome-header{text-align:center;padding:20px;margin-bottom:20px}.welcome-screenshot{width:100%;max-width:400px;height:auto;border-radius:var(--border-radius-md);margin-bottom:15px;box-shadow:var(--shadow-md)}.welcome-title{color:var(--color-text);margin:0 0 15px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.welcome-description{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 0 20px;color:var(--color-text)}.welcome-button{background:var(--color-primary);color:var(--color-primary-text);border:var(--border-width) solid var(--color-primary);border-radius:var(--border-radius-md);padding:12px 24px;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);display:inline-block;text-decoration:none}.welcome-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-section{margin-bottom:30px}.modal-section:last-child{margin-bottom:0}.modal-section-title{font-size:var(--font-size-lg);margin:0 0 15px;color:var(--color-text);font-weight:var(--font-weight-semibold)}.modal-section-content{margin-left:20px;margin-bottom:30px}.modal-section-item{margin:8px 0;color:var(--color-text);line-height:var(--line-height-normal)}.modal-section-item strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.modal-section-item em{font-style:italic;color:var(--color-text-muted)}.modal-section-subitem{margin-left:20px}.modal-section-item-spaced{margin-top:12px}.modal-tip{margin:12px 0;font-style:italic;color:var(--color-text-muted);padding:12px;background:#ffffff0d;border-radius:var(--border-radius-md);border-left:3px solid var(--color-primary)}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;padding:4px;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--color-hover);color:var(--color-text)}.modal-loading{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.modal-error{color:var(--color-error);background:var(--color-error-bg);border:var(--border-width) solid var(--color-error-border);border-radius:var(--border-radius-md);padding:var(--panel-padding);margin:var(--panel-padding) 0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.modal-window{max-width:80vw;max-height:95vh}.modal-header,.modal-content,.welcome-header{padding:16px}.welcome-title{font-size:var(--font-size-xl)}.welcome-description{font-size:var(--font-size-base)}.welcome-button{padding:10px 20px;font-size:var(--font-size-base)}.modal-section-content{margin-left:16px}.modal-section-title{font-size:var(--font-size-base)}.modal-section-item{font-size:var(--font-size-sm)}}.toast-notification{position:fixed;top:20px;right:100px;background:var(--color-panel-bg);backdrop-filter:var(--backdrop-filter);border-radius:var(--border-radius-md);padding:12px 16px;border:var(--border-width) solid var(--color-panel-border);z-index:var(--z-notification);min-width:200px;max-width:400px;transition:all var(--transition-normal);opacity:0;transform:translate(100px);pointer-events:none;box-shadow:var(--shadow-lg)}.toast-notification.visible{opacity:1;transform:translate(0);pointer-events:auto}.toast-notification.success{background:var(--color-success-bg);color:var(--color-primary-text);border-color:var(--color-success-border)}.toast-notification.warning{background:var(--color-warning-bg);color:var(--color-primary-text);border-color:var(--color-warning-border)}.toast-notification.error{background:var(--color-error-bg);color:var(--color-primary-text);border-color:var(--color-error-border)}.toast-notification.info{background:var(--color-info-bg);color:var(--color-primary-text);border-color:var(--color-info-border)}.center-message{position:fixed;top:50%;left:50%;transform:translate(-50%) translateY(-50px);background:var(--color-panel-bg);backdrop-filter:var(--backdrop-filter);border-radius:var(--border-radius-lg);padding:16px 24px;border:var(--border-width) solid var(--color-panel-border);z-index:var(--z-notification);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:center;min-width:200px;max-width:400px;opacity:0;transition:all var(--transition-normal);pointer-events:none;box-shadow:var(--shadow-lg)}.center-message.visible{opacity:1;transform:translate(-50%) translateY(0)}.center-message.success{background:var(--color-success-bg);color:var(--color-primary-text);border-color:var(--color-success-border)}.center-message.warning{background:var(--color-warning-bg);color:var(--color-primary-text);border-color:var(--color-warning-border)}.center-message.error{background:var(--color-error-bg);color:var(--color-primary-text);border-color:var(--color-error-border)}.center-message.info{background:var(--color-info-bg);color:var(--color-primary-text);border-color:var(--color-info-border)}.message-stack{position:fixed;top:20px;right:20px;z-index:var(--z-notification);display:flex;flex-direction:column;gap:8px;pointer-events:none}.message-stack .toast-notification{position:relative;top:auto;right:auto;transform:none}.loading-message{display:flex;align-items:center;gap:12px}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.char-counter{font-size:var(--font-size-xs);color:var(--color-text-muted);transition:color var(--transition-fast)}.char-counter.warning{color:var(--color-warning)}.char-counter.error{color:var(--color-error)}.error-display{background:var(--color-error-bg);color:var(--color-primary-text);border:var(--border-width) solid var(--color-error-border);border-radius:var(--border-radius-md);padding:var(--panel-padding);margin:var(--panel-padding) 0;display:none}.error-display.visible{display:block}.error-title{font-weight:var(--font-weight-semibold);margin-bottom:8px}.error-message{line-height:var(--line-height-normal);margin:0}.loading-display{display:none;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:var(--z-modal);backdrop-filter:blur(5px)}.loading-display.visible{display:flex}.loading-content{text-align:center;color:var(--color-text)}.loading-spinner-large{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.tooltip{position:absolute;background:#000000e6;color:var(--color-text);padding:8px 12px;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);z-index:var(--z-tooltip);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md)}.tooltip.visible{opacity:1}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent transparent}.feedback-message{padding:8px 12px;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;margin:8px 0;transition:all var(--transition-fast)}.feedback-message.success{background:#22c55e33;color:var(--color-success);border:var(--border-width) solid var(--color-success)}.feedback-message.error{background:#ef444433;color:var(--color-error);border:var(--border-width) solid var(--color-error)}.feedback-message.warning{background:#f59e0b33;color:var(--color-warning);border:var(--border-width) solid var(--color-warning)}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.message-side{position:fixed;padding:12px 20px;border-radius:var(--border-radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:var(--border-width) solid transparent;backdrop-filter:blur(10px);z-index:var(--z-tooltip);opacity:0;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);pointer-events:auto;max-width:320px;word-wrap:break-word;line-height:var(--line-height-normal)}.message-hover{position:fixed;padding:12px 20px;border-radius:var(--border-radius-lg);background:#000000f2;color:var(--color-text);border:var(--border-width) solid rgba(255,255,255,.2);backdrop-filter:blur(10px);z-index:var(--z-tooltip);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transition:all var(--transition-normal);transform:translate(-50%) translateY(20px);white-space:nowrap}@media (max-width: 768px){.toast-notification{top:10px;right:10px;left:10px;max-width:none;transform:translateY(-100px)}.toast-notification.visible{transform:translateY(0)}.center-message{left:10px;right:10px;max-width:none;transform:translateY(-50px)}.center-message.visible{transform:translateY(0)}.message-stack{top:10px;right:10px;left:10px}.tooltip{font-size:var(--font-size-xs);padding:6px 8px}.message-side{max-width:calc(100vw - 20px);padding:10px 16px}.message-hover{max-width:calc(100vw - 40px);padding:10px 16px}}.message-notification{position:fixed;padding:12px 20px;border-radius:var(--border-radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:var(--border-width) solid transparent;backdrop-filter:blur(10px);z-index:var(--z-tooltip);opacity:0;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);pointer-events:auto;max-width:320px;word-wrap:break-word;line-height:var(--line-height-normal)}.message-notification.js-visible{opacity:1}.message-success{background:#22c55ef2;color:#fff;border-color:#22c55e4d}.message-warning{background:#f59e0bf2;color:#fff;border-color:#f59e0b4d}.message-error{background:#ef4444f2;color:#fff;border-color:#ef44444d}.message-info{background:#3b82f6f2;color:#fff;border-color:#3b82f64d}.hover-notification{position:fixed;left:50%;bottom:30px;transform:translate(-50%) translateY(20px);background:#000000f2;color:var(--color-text);border:var(--border-width) solid rgba(255,255,255,.2);border-radius:var(--border-radius-lg);padding:16px 24px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);backdrop-filter:blur(10px);z-index:var(--z-tooltip);opacity:0;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);pointer-events:none;max-width:450px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hover-notification.js-visible{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 768px){.message-notification{max-width:calc(100vw - 20px);padding:10px 16px}.hover-notification{max-width:calc(100vw - 40px);padding:14px 18px}}:root{--message-gap: 10px;--message-base-top-mobile: 10px;--message-base-top-desktop: 20px;--inspector-width: 320px;--inspector-spacing: 20px;--message-max-width-mobile: 280px;--message-max-width-desktop: 350px;--message-font-size-mobile: 13px;--message-font-size-desktop: 14px;--message-padding-mobile: 10px 14px;--message-padding-desktop: 12px 16px;--hover-max-width-mobile: 320px;--hover-max-width-desktop: 450px;--hover-padding-mobile: 14px 18px;--hover-padding-desktop: 16px 24px}.message-inspector-aware{right:calc(var(--inspector-width) + var(--ui-panel-margin) + var(--inspector-spacing))}.message-standard-position{right:var(--ui-panel-margin)}.message-mobile-position{right:var(--ui-panel-margin-mobile)}.message-truncated{max-width:var(--hover-max-width-desktop)}.message-responsive-sizing{font-size:var(--message-font-size-desktop);padding:var(--message-padding-desktop);max-width:var(--message-max-width-desktop)}@media (max-width: 768px){.message-responsive-sizing{font-size:var(--message-font-size-mobile);padding:var(--message-padding-mobile);max-width:var(--message-max-width-mobile)}.message-truncated{max-width:var(--hover-max-width-mobile)}}#inspector-container{position:fixed;top:var(--ui-panel-margin);right:var(--ui-panel-margin);width:320px;height:auto;min-height:60px;max-height:var(--inspector-max-height);background:var(--dynamic-bg-panel);backdrop-filter:var(--dynamic-backdrop-blur);border-radius:var(--panel-border-radius);padding:var(--panel-padding);border:var(--border-width) solid var(--dynamic-border-color);z-index:var(--z-inspector);display:none;transition:all var(--dynamic-transition-smooth);overflow:visible;pointer-events:auto;box-shadow:var(--dynamic-shadow-intensity)}#inspector-container.themed{background:var(--dynamic-bg-panel);color:var(--dynamic-text-primary);border-color:var(--dynamic-border-color)}#inspector-container.visible{display:block;animation:slideInFromRight .3s ease-out}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}#inspector-title{margin:0 0 12px;color:#4ade80;font-size:16px;font-weight:600;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}#inspector-content{overflow:visible;padding-right:0;color:var(--dynamic-text-primary);transition:color var(--theme-transition-duration) var(--theme-transition-easing)}#inspector-container::-webkit-scrollbar{width:6px}#inspector-container::-webkit-scrollbar-track{background:#ffffff0d}#inspector-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}#inspector-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}#no-selection-message{margin:0;color:var(--dynamic-text-secondary);font-size:var(--font-size-base);text-align:center;font-style:italic;padding:var(--ui-panel-margin) 0;transition:color var(--theme-transition-duration) var(--theme-transition-easing)}.inspector-node-item{margin:2px 0 8px;user-select:none;position:relative;display:flex;flex-direction:column;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:visible;max-height:none;height:auto}.inspector-node-header{display:flex;align-items:center;padding:8px 12px;border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative;border:1px solid transparent}.inspector-node-header:hover{background:#ffffff14;border-color:#ffffff26;transform:translate(2px)}.inspector-node-header.selected{background:#4ade8026;border-color:#4ade80;box-shadow:0 0 0 1px #4ade804d}.inspector-node-header.selected:hover{background:#4ade8033;transform:translate(0)}.inspector-expand-arrow{width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-right:8px;font-size:12px;color:#a3a3a3;transition:all .2s ease;border-radius:4px;flex-shrink:0}.inspector-expand-arrow:hover{background:#ffffff1a;color:#fff}.inspector-expand-arrow.expanded{transform:rotate(90deg);color:#4ade80}.inspector-node-badge{font-size:8px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;margin-right:8px;border:1px solid;letter-spacing:.5px;flex-shrink:0}.inspector-node-content{flex:1;min-width:0;display:flex;flex-direction:column}.inspector-node-id{font-size:10px;color:#888;font-family:Courier New,monospace;margin-bottom:2px;opacity:.7}.inspector-node-text{font-size:13px;color:#fff;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.inspector-node-text.full-content{white-space:normal;overflow:visible;text-overflow:initial;font-size:14px;padding:4px 0;line-height:1.5;font-weight:500;color:#e5e5e5}.inspector-children{margin-left:24px;border-left:2px solid rgba(74,222,128,.2);padding-left:12px;display:none;position:relative;margin-top:4px}.inspector-children.expanded{display:block;animation:expandChildren .2s ease-out}@keyframes expandChildren{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inspector-button-container{display:flex;align-items:center;gap:6px;margin-left:8px;flex-shrink:0}.inspector-heart-button{padding:4px 6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.inspector-heart-button:hover{background:#fff3;border-color:#ef4444;color:#ef4444}.inspector-heart-button.favorited{background:#ef444433;border-color:#ef4444;color:#ef4444}.inspector-plant-button{padding:4px 8px;background:#4ade8026;border:1px solid rgba(74,222,128,.4);border-radius:6px;color:#4ade80;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:8px;flex-shrink:0;white-space:nowrap;font-family:inherit;pointer-events:auto;position:relative}.inspector-plant-button:hover{background:#4ade8040;border-color:#22c55e;color:#22c55e}.inspector-top-bar{background:#ffffff1a;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center}.inspector-transform-type{font-size:8px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;margin-right:8px;border:1px solid;letter-spacing:.5px}.inspector-content-area{padding:12px;display:flex;align-items:flex-start;overflow:visible}.inspector-content-text{width:100%;line-height:1.4;font-size:13px;color:#fff;background:transparent;border:none;outline:none;resize:none;overflow:visible;max-height:none;height:auto}.inspector-bottom-bar{background:#ffffff0d;padding:8px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.inspector-node-badge.expand,.inspector-transform-type.expand{background:#22c55e33;color:#22c55e;border-color:#22c55e66}.inspector-node-badge.reverse,.inspector-transform-type.reverse{background:#ef444433;color:#ef4444;border-color:#ef444466}.inspector-node-badge.scale,.inspector-transform-type.scale{background:#3b82f633;color:#3b82f6;border-color:#3b82f666}.inspector-node-badge.perspective,.inspector-transform-type.perspective{background:#9333ea33;color:#9333ea;border-color:#9333ea66}.inspector-node-badge.tangent,.inspector-transform-type.tangent{background:#f9731633;color:#f97316;border-color:#f9731666}.inspector-node-badge.shift,.inspector-transform-type.shift{background:#06b6d433;color:#06b6d4;border-color:#06b6d466}.inspector-node-badge.deconstruct,.inspector-transform-type.deconstruct{background:#eab30833;color:#eab308;border-color:#eab30866}.inspector-node-badge.scamper,.inspector-transform-type.scamper{background:#ec489933;color:#ec4899;border-color:#ec489966}.inspector-node-badge.exemplify,.inspector-transform-type.exemplify{background:#14b8a633;color:#14b8a6;border-color:#14b8a666}.inspector-node-badge.project,.inspector-transform-type.project{background:#6366f133;color:#6366f1;border-color:#6366f166}.inspector-node-badge.initial,.inspector-transform-type.initial{background:#fff3;color:#fff;border-color:#fff6}.inspector-dynamic-constraints{max-height:var(--inspector-calculated-max-height);max-width:var(--inspector-content-width);min-height:60px}.inspector-fixed-height{height:var(--inspector-calculated-max-height);overflow-y:auto;overflow-x:hidden}.inspector-content-natural{max-height:none;height:auto;overflow-y:visible;overflow-x:visible}.measurement-element{position:var(--measurement-element-position);visibility:var(--measurement-element-visibility);white-space:var(--measurement-element-whitespace);font-family:inherit;font-size:inherit;padding:0;margin:0;border:none}.inspector-text-natural{display:var(--inspector-text-display);min-height:auto;height:var(--inspector-text-height);overflow:var(--inspector-text-overflow);user-select:text;cursor:text;word-wrap:var(--inspector-text-wrap);overflow-wrap:var(--inspector-text-wrap);white-space:var(--inspector-text-whitespace)}.inspector-node-flex{display:flex;flex-direction:column}.inspector-middle-block{display:block;min-height:auto;height:auto;overflow:visible}@media (max-width: 768px){.inspector-dynamic-constraints{max-width:calc(100vw - var(--ui-panel-margin) * 2)}.inspector-fixed-height{height:50vh}}#favorites-container{position:fixed;top:var(--ui-panel-margin);left:var(--ui-panel-margin);min-width:280px;max-width:400px;width:auto;min-height:120px;max-height:var(--favorites-max-height);background:#000c;backdrop-filter:blur(10px);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1);z-index:150;transition:all .3s ease;resize:both;overflow:hidden;pointer-events:auto;box-sizing:border-box;display:flex;flex-direction:column;animation:slideInFromLeft .3s ease-out}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}#favorites-container.collapsed{min-height:60px;max-height:60px;resize:none}#favorites-container.collapsed #favorites-content{display:none}.favorites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}#favorites-title{margin:0;color:#4ade80;font-size:16px;font-weight:600;flex:1}.favorites-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;width:28px;height:28px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:8px}.favorites-toggle:hover{background:#fff3;border-color:#4ade80}#favorites-content{overflow-y:auto;flex-grow:1}.favorites-list{display:flex;flex-direction:column;gap:8px}.favorite-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;transition:all .2s ease}.favorite-item:hover{background:#ffffff1a;border-color:#fff3}.favorite-content{display:flex;align-items:flex-start;gap:8px}.favorite-text{flex:1;font-size:12px;line-height:1.4;color:#e5e5e5;overflow-wrap:break-word}.favorite-badge{font-size:8px;font-weight:600;text-transform:uppercase;padding:2px 4px;border-radius:3px;margin-bottom:4px;display:inline-block;border:1px solid}.favorite-badge.expand{background:#22c55e33;color:#22c55e;border-color:#22c55e66}.favorite-badge.reverse{background:#ef444433;color:#ef4444;border-color:#ef444466}.favorite-badge.scale{background:#3b82f633;color:#3b82f6;border-color:#3b82f666}.favorite-badge.perspective{background:#9333ea33;color:#9333ea;border-color:#9333ea66}.favorite-badge.tangent{background:#f9731633;color:#f97316;border-color:#f9731666}.favorite-badge.shift{background:#06b6d433;color:#06b6d4;border-color:#06b6d466}.favorite-badge.deconstruct{background:#eab30833;color:#eab308;border-color:#eab30866}.favorite-badge.scamper{background:#ec489933;color:#ec4899;border-color:#ec489966}.favorite-badge.exemplify{background:#14b8a633;color:#14b8a6;border-color:#14b8a666}.favorite-badge.project{background:#6366f133;color:#6366f1;border-color:#6366f166}.favorite-badge.initial{background:#fff3;color:#fff;border-color:#fff6}.favorite-actions{display:flex;gap:4px;flex-shrink:0}.favorite-plant-button,.favorite-remove-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;width:24px;height:24px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.favorite-plant-button:hover{background:#22c55e4d;border-color:#22c55e99}.favorite-remove-button:hover{background:#ef44444d;border-color:#ef444499}.no-favorites-message{color:#a3a3a3;font-size:12px;text-align:center;font-style:italic;padding:20px 0;margin:0}.hover-notification{position:fixed;left:50%;bottom:80px;transform:translate(-50%) translateY(20px);background:#000000e6;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:14px;font-weight:500;white-space:pre-wrap;word-wrap:break-word;text-align:center;pointer-events:none;z-index:1000;opacity:0;visibility:hidden;backdrop-filter:blur(8px);transition:all .25s cubic-bezier(.4,0,.2,1)}.hover-notification.js-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.plant-title-container{position:fixed;inset:0;pointer-events:none;z-index:999}.plant-title-label{position:absolute;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1000;transform:translate(-50%);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);display:block;opacity:.9;visibility:visible}.plant-title-label.js-visible{display:block!important;opacity:.9!important;visibility:visible!important}.plant-title-label.js-hidden{display:none!important;opacity:0!important;visibility:hidden!important}.node-label{position:absolute;background:#000c;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:500;pointer-events:none;white-space:nowrap;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(5px);z-index:100;opacity:0;transition:opacity .2s ease;box-shadow:0 2px 8px #0000004d}.node-label.visible{opacity:.9}:root{--tooltip-offset: 10px;--tooltip-margin: 10px;--tooltip-arrow-size: 5px}.tooltip{position:fixed;background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.4;pointer-events:none;z-index:var(--z-tooltip);opacity:0;transition:opacity .3s ease,transform .3s ease;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);white-space:nowrap;max-width:300px;word-wrap:break-word;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.tooltip.show{opacity:.95;transform:translateY(0)}.tooltip.tooltip-top{transform:translateY(-5px)}.tooltip.tooltip-top.show{transform:translateY(0)}.tooltip.tooltip-bottom{transform:translateY(5px)}.tooltip.tooltip-bottom.show{transform:translateY(0)}.tooltip.tooltip-top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:var(--tooltip-arrow-size) solid transparent;border-top-color:#000000e6}.tooltip.tooltip-bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:var(--tooltip-arrow-size) solid transparent;border-bottom-color:#000000e6}.tooltip-offset-above{margin-bottom:var(--tooltip-offset)}.tooltip-offset-below{margin-top:var(--tooltip-offset)}.tooltip-constrained{min-width:max-content;max-width:calc(100vw - var(--tooltip-margin) * 2)}.options-header{position:relative;margin-bottom:16px;display:flex;justify-content:center;align-items:center}.options-content{display:flex;flex-direction:column;gap:12px}.option-group{display:flex;flex-direction:column;gap:6px}.option-label{font-size:12px;color:#a3a3a3;margin-bottom:2px;font-weight:600}.option-control{display:flex;align-items:center;gap:8px}.option-slider{flex:1;height:4px;background:#fff3;border-radius:2px;outline:none;-webkit-appearance:none}.option-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#4ade80;border-radius:50%;cursor:pointer}.option-slider::-moz-range-thumb{width:12px;height:12px;background:#4ade80;border-radius:50%;cursor:pointer;border:none}.option-value{font-size:11px;color:#fff;min-width:40px;text-align:right}.option-reset-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.option-default{font-size:10px;color:#888;font-style:italic}.option-description{font-size:.9em;color:#888;margin-top:5px}.back-to-controls{background:#78787833;border:1px solid rgba(120,120,120,.4);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s ease;margin-top:16px}.back-to-controls:hover{background:#7878784d;border-color:#78787899}.response-length-control{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.control-label{font-size:11px;color:#a3a3a3;margin:0}.length-slider{width:80px;height:4px;background:#fff3;border-radius:2px;outline:none;-webkit-appearance:none}.length-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#4ade80;border-radius:50%;cursor:pointer}.length-slider::-moz-range-thumb{width:12px;height:12px;background:#4ade80;border-radius:50%;cursor:pointer;border:none}.length-value{font-size:10px;color:#fff;font-weight:500;min-width:25px;text-align:center}#inspector-content::-webkit-scrollbar{width:8px}#inspector-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}#inspector-content::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:4px;border:2px solid transparent;background-clip:content-box}#inspector-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}#inspector-content{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(0,0,0,.2)}#favorites-content::-webkit-scrollbar{width:8px}#favorites-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}#favorites-content::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:4px;border:2px solid transparent;background-clip:content-box}#favorites-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}#favorites-content{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(0,0,0,.2)}:root{--inspector-calculated-max-height: 400px;--inspector-optimal-width: 320px;--inspector-content-height: auto;--inspector-offset-from-transform: 0px;--inspector-available-height: calc(100vh - var(--ui-panel-margin) * 2);--message-stack-top: var(--message-base-top-desktop);--message-right-offset: var(--ui-panel-margin);--message-inspector-offset: calc(var(--inspector-width) + var(--ui-panel-margin) + var(--inspector-spacing));--current-message-right: var(--message-right-offset);--tooltip-target-x: 0px;--tooltip-target-y: 0px;--tooltip-calculated-left: 0px;--tooltip-calculated-top: 0px;--tooltip-viewport-margin: 10px;--tooltip-max-width-constrained: calc(100vw - var(--tooltip-viewport-margin) * 2);--responsive-breakpoint-mobile: 768px;--responsive-is-mobile: 0;--dynamic-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--dynamic-transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--dynamic-transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55)}.dynamic-inspector-sizing{max-height:var(--inspector-calculated-max-height);width:var(--inspector-optimal-width);height:var(--inspector-calculated-max-height)}.dynamic-message-positioning{right:var(--current-message-right);top:var(--message-stack-top);transition:right var(--dynamic-transition-smooth),top var(--dynamic-transition-fast)}.dynamic-tooltip-positioning{left:var(--tooltip-calculated-left);top:var(--tooltip-calculated-top);max-width:var(--tooltip-max-width-constrained)}.responsive-mobile-only{display:none}.responsive-desktop-only{display:block}@media (max-width: 768px){:root{--message-stack-top: var(--message-base-top-mobile);--current-message-right: var(--ui-panel-margin-mobile);--responsive-is-mobile: 1}.responsive-mobile-only{display:block}.responsive-desktop-only{display:none}.dynamic-inspector-sizing{max-width:calc(100vw - var(--ui-panel-margin-mobile) * 2);height:50vh}}.theme-dark{--color-panel-bg: rgba(0, 0, 0, .9);--color-panel-border: rgba(255, 255, 255, .15);--backdrop-filter: blur(12px)}.theme-light{--color-panel-bg: rgba(255, 255, 255, .9);--color-panel-border: rgba(0, 0, 0, .15);--color-text: #000000;--color-text-muted: #666666;--backdrop-filter: blur(12px)}.dynamic-animating{transition:all var(--dynamic-transition-smooth)}.dynamic-instant{transition:none!important}.dynamic-bouncy{transition:all var(--dynamic-transition-bounce)}.gpu-accelerated{transform:translateZ(0);will-change:transform,opacity}.contain-layout{contain:layout style}.contain-paint{contain:paint}.debug-boundaries{outline:1px dashed rgba(255,0,0,.5)!important}.debug-inspector-constraints:before{content:"Max: " var(--inspector-calculated-max-height) " | Width: " var(--inspector-optimal-width);position:absolute;top:-20px;left:0;font-size:10px;color:red;background:#ff0;padding:2px 4px;z-index:9999}.debug-message-position:before{content:"Right: " var(--current-message-right) " | Top: " var(--message-stack-top);position:absolute;top:-20px;right:0;font-size:10px;color:red;background:#ff0;padding:2px 4px;z-index:9999}:root{--current-theme: "dark";--theme-transition-duration: .3s;--theme-transition-easing: cubic-bezier(.4, 0, .2, 1);--dynamic-bg-primary: var(--color-background);--dynamic-bg-panel: var(--color-panel-bg);--dynamic-text-primary: var(--color-text);--dynamic-text-secondary: var(--color-text-muted);--dynamic-border-color: var(--color-panel-border);--dynamic-accent-color: var(--color-primary);--theme-opacity-subtle: .6;--theme-opacity-medium: .8;--theme-opacity-strong: .95;--theme-opacity-solid: 1;--dynamic-backdrop-blur: var(--backdrop-filter);--dynamic-backdrop-opacity: .8;--dynamic-shadow-intensity: var(--shadow-lg);--theme-success-bg: var(--color-success-bg);--theme-warning-bg: var(--color-warning-bg);--theme-error-bg: var(--color-error-bg);--theme-info-bg: var(--color-info-bg)}.theme-container{transition:background-color var(--theme-transition-duration) var(--theme-transition-easing),border-color var(--theme-transition-duration) var(--theme-transition-easing),color var(--theme-transition-duration) var(--theme-transition-easing)}.theme-dark{--dynamic-bg-primary: #0a0a0a;--dynamic-bg-panel: rgba(0, 0, 0, .85);--dynamic-text-primary: #ffffff;--dynamic-text-secondary: #a0a0a0;--dynamic-border-color: rgba(255, 255, 255, .12);--dynamic-accent-color: #4ade80;--dynamic-backdrop-blur: blur(12px);--dynamic-shadow-intensity: 0 8px 32px rgba(0, 0, 0, .4);--theme-opacity-subtle: .7;--theme-opacity-medium: .85;--theme-opacity-strong: .95}.theme-light{--dynamic-bg-primary: #ffffff;--dynamic-bg-panel: rgba(255, 255, 255, .85);--dynamic-text-primary: #1a1a1a;--dynamic-text-secondary: #666666;--dynamic-border-color: rgba(0, 0, 0, .12);--dynamic-accent-color: #16a34a;--dynamic-backdrop-blur: blur(12px);--dynamic-shadow-intensity: 0 8px 32px rgba(0, 0, 0, .15);--theme-opacity-subtle: .5;--theme-opacity-medium: .75;--theme-opacity-strong: .9;--theme-success-bg: rgba(34, 197, 94, .9);--theme-warning-bg: rgba(245, 158, 11, .9);--theme-error-bg: rgba(239, 68, 68, .9);--theme-info-bg: rgba(59, 130, 246, .9)}@media (prefers-color-scheme: dark){.theme-auto{--dynamic-bg-primary: #0a0a0a;--dynamic-bg-panel: rgba(0, 0, 0, .85);--dynamic-text-primary: #ffffff;--dynamic-text-secondary: #a0a0a0;--dynamic-border-color: rgba(255, 255, 255, .12);--dynamic-accent-color: #4ade80}}@media (prefers-color-scheme: light){.theme-auto{--dynamic-bg-primary: #ffffff;--dynamic-bg-panel: rgba(255, 255, 255, .85);--dynamic-text-primary: #1a1a1a;--dynamic-text-secondary: #666666;--dynamic-border-color: rgba(0, 0, 0, .12);--dynamic-accent-color: #16a34a}}.themed-panel{background:var(--dynamic-bg-panel);color:var(--dynamic-text-primary);border-color:var(--dynamic-border-color);backdrop-filter:var(--dynamic-backdrop-blur);box-shadow:var(--dynamic-shadow-intensity)}.themed-text-primary{color:var(--dynamic-text-primary)}.themed-text-secondary{color:var(--dynamic-text-secondary)}.themed-accent{color:var(--dynamic-accent-color);border-color:var(--dynamic-accent-color)}.themed-background{background:var(--dynamic-bg-primary)}.theme-transition-fast{transition:all calc(var(--theme-transition-duration) * .5) var(--theme-transition-easing)}.theme-transition-slow{transition:all calc(var(--theme-transition-duration) * 2) var(--theme-transition-easing)}.theme-no-transition{transition:none!important}.themed-success{background:var(--theme-success-bg);color:var(--color-primary-text);border-color:var(--color-success-border)}.themed-warning{background:var(--theme-warning-bg);color:var(--color-primary-text);border-color:var(--color-warning-border)}.themed-error{background:var(--theme-error-bg);color:var(--color-primary-text);border-color:var(--color-error-border)}.themed-info{background:var(--theme-info-bg);color:var(--color-primary-text);border-color:var(--color-info-border)}@keyframes themeAwareGlow{0%{box-shadow:0 0 0 0 var(--dynamic-accent-color)}50%{box-shadow:0 0 0 8px #4ade801a}to{box-shadow:0 0 0 0 var(--dynamic-accent-color)}}.theme-glow-animation{animation:themeAwareGlow 2s ease-in-out infinite}@media (prefers-contrast: high){:root{--dynamic-border-color: var(--dynamic-text-primary);--theme-opacity-subtle: 1;--theme-opacity-medium: 1;--theme-opacity-strong: 1}.themed-panel{border-width:2px}}@media (prefers-reduced-motion: reduce){.theme-container,.theme-transition-fast,.theme-transition-slow{transition:none!important}.theme-glow-animation{animation:none!important}}.debug-theme:before{content:"Theme: " var(--current-theme);position:fixed;top:10px;left:10px;background:var(--dynamic-accent-color);color:var(--dynamic-bg-primary);padding:4px 8px;font-size:12px;border-radius:4px;z-index:9999;pointer-events:none}.js-disabled{opacity:var(--opacity-disabled)!important;cursor:not-allowed!important;pointer-events:none!important}.js-loading{position:relative!important;color:transparent!important}.js-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-text)}.js-error{border-color:var(--color-error)!important;background:#ef44441a!important}.js-success{border-color:var(--color-success)!important;background:#22c55e1a!important}.js-warning{border-color:var(--color-warning)!important;background:#f59e0b1a!important}.js-visible{display:block!important;opacity:1!important;visibility:visible!important}.js-hidden{display:none!important}.js-invisible{opacity:0!important;visibility:hidden!important}.js-fade-in{animation:fadeIn var(--transition-normal) ease-out}.js-fade-out{animation:fadeOut var(--transition-normal) ease-out}.js-slide-in-left{animation:slideInLeft var(--transition-normal) ease-out}.js-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.js-slide-in-up{animation:slideInUp var(--transition-normal) ease-out}.js-slide-in-down{animation:slideInDown var(--transition-normal) ease-out}.js-cursor-grab{cursor:grab!important}.js-cursor-grabbing{cursor:grabbing!important}.js-cursor-pointer{cursor:pointer!important}.js-cursor-not-allowed{cursor:not-allowed!important}.js-cursor-default{cursor:default!important}.js-cursor-text{cursor:text!important}.js-hover-scale{transition:transform var(--transition-fast) ease}.js-hover-scale:hover{transform:scale(1.05)}.js-hover-lift{transition:transform var(--transition-fast) ease}.js-hover-lift:hover{transform:translateY(-2px)}.js-active-scale{transform:scale(.98)!important}.js-scroll-vertical{overflow-y:auto!important;overflow-x:hidden!important}.js-scroll-horizontal{overflow-x:auto!important;overflow-y:hidden!important}.js-scroll-both{overflow:auto!important}.js-no-scroll{overflow:hidden!important}.js-fixed{position:fixed!important}.js-absolute{position:absolute!important}.js-relative{position:relative!important}.js-sticky{position:sticky!important}.js-z-front{z-index:999!important}.js-z-back{z-index:1!important}.js-z-modal{z-index:var(--z-modal)!important}.js-z-tooltip{z-index:var(--z-tooltip)!important}.js-flex{display:flex!important}.js-flex-col{flex-direction:column!important}.js-flex-row{flex-direction:row!important}.js-flex-center{align-items:center!important;justify-content:center!important}.js-flex-between{justify-content:space-between!important}.js-flex-around{justify-content:space-around!important}.js-flex-evenly{justify-content:space-evenly!important}.js-flex-wrap{flex-wrap:wrap!important}.js-flex-nowrap{flex-wrap:nowrap!important}.js-flex-1{flex:1!important}.js-flex-auto{flex:auto!important}.js-flex-none{flex:none!important}.js-full-width{width:100%!important}.js-full-height{height:100%!important}.js-auto-width{width:auto!important}.js-auto-height{height:auto!important}.js-min-h-0{min-height:0!important}.js-max-h-none{max-height:none!important}.js-text-center{text-align:center!important}.js-text-left{text-align:left!important}.js-text-right{text-align:right!important}.js-break-words{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important}.js-no-wrap{white-space:nowrap!important}.js-pre-wrap{white-space:pre-wrap!important}.js-select-none{user-select:none!important}.js-select-text{user-select:text!important}.js-select-all{user-select:all!important}.js-bg-transparent{background:transparent!important}.js-bg-panel{background:var(--color-panel-bg)!important}.js-bg-hover{background:var(--color-hover)!important}.js-bg-primary{background:var(--color-primary)!important;color:var(--color-primary-text)!important}.js-bg-success{background:var(--color-success-bg)!important;color:var(--color-primary-text)!important}.js-bg-warning{background:var(--color-warning-bg)!important;color:var(--color-primary-text)!important}.js-bg-error{background:var(--color-error-bg)!important;color:var(--color-primary-text)!important}.js-border{border:var(--border-width) solid var(--color-panel-border)!important}.js-border-none{border:none!important}.js-border-primary{border-color:var(--color-primary)!important}.js-border-success{border-color:var(--color-success)!important}.js-border-warning{border-color:var(--color-warning)!important}.js-border-error{border-color:var(--color-error)!important}.js-gap-2{gap:2px!important}.js-gap-4{gap:4px!important}.js-gap-8{gap:8px!important}.js-gap-12{gap:12px!important}.js-gap-16{gap:16px!important}.js-m-0{margin:0!important}.js-p-0{padding:0!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.js-gpu-accelerated{transform:translateZ(0)!important;will-change:transform!important}.js-no-transition{transition:none!important}.js-smooth-scroll{scroll-behavior:smooth!important}.js-color-success{background:#22c55ef2!important;color:#fff!important;border:1px solid rgba(34,197,94,.3)!important}.js-color-warning{background:#f59e0bf2!important;color:#fff!important;border:1px solid rgba(245,158,11,.3)!important}.js-color-error{background:#ef4444f2!important;color:#fff!important;border:1px solid rgba(239,68,68,.3)!important}.js-color-info{background:#3b82f6f2!important;color:#fff!important;border:1px solid rgba(59,130,246,.3)!important}.js-char-normal{color:#a3a3a3!important}.js-char-warning{color:#f59e0b!important}.js-char-danger{color:#ef4444!important}.js-btn-enabled{opacity:1!important;cursor:pointer!important}.js-btn-disabled{opacity:.5!important;cursor:not-allowed!important}.js-canvas{display:block!important;width:100%!important;height:100%!important}.js-tooltip-position{position:absolute!important;background:#000c!important;color:var(--color-text)!important;padding:6px 10px!important;border-radius:var(--border-radius-md)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important;pointer-events:none!important;white-space:nowrap!important;border:var(--border-width) solid var(--color-panel-border)!important;backdrop-filter:blur(5px)!important;z-index:100!important;opacity:.9!important;box-shadow:var(--shadow-md)!important}.js-text-element{display:block!important;user-select:text!important;cursor:text!important;word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:pre-wrap!important;height:auto!important;overflow:visible!important}@media (max-width: 768px){.js-mobile-hidden{display:none!important}.js-mobile-visible{display:block!important}.js-mobile-full-width{width:100%!important}.js-mobile-text-center{text-align:center!important}}@media (min-width: 769px){.js-desktop-hidden{display:none!important}.js-desktop-visible{display:block!important}}*,*:before,*:after{box-sizing:border-box}#app{position:relative;width:100%;height:100vh;overflow:hidden}#canvas-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:auto}.panel{position:relative;z-index:10}#loading{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-background);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);flex-direction:column;gap:16px}#loading.hidden{display:none}#error{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-error-bg);color:var(--color-primary-text);border:var(--border-width) solid var(--color-error-border);border-radius:var(--border-radius-lg);padding:var(--panel-padding);max-width:80vw;text-align:center;z-index:var(--z-modal);display:none}#error.visible{display:block}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.panel,.btn,.form-input{will-change:transform,opacity}.panel{contain:layout style paint}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--color-primary-text);padding:8px;border-radius:var(--border-radius-md);text-decoration:none;z-index:1000}.skip-link:focus{top:6px}@media print{.panel,.btn,#canvas-container{display:none!important}body{background:#fff!important;color:#000!important}}@media (prefers-contrast: high){:root{--color-panel-border: rgba(255, 255, 255, .3);--color-hover: rgba(255, 255, 255, .3);--color-text-muted: #cccccc}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.center-panel:before{animation:none!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:#ffffff80}::-webkit-scrollbar-corner{background:transparent}
