#notification-container{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;pointer-events:none}.notification{pointer-events:auto;min-width:320px;max-width:400px;background:var(--sidebar-bg);border-radius:12px;border:1px solid var(--sidebar-border);box-shadow:0 10px 25px -5px #0000004d,0 4px 10px -2px #0003,0 0 0 1px #ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideIn .4s cubic-bezier(.16,1,.3,1);transform:translate(0) scale(1);opacity:1;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}body.light-mode .notification{box-shadow:0 10px 25px -5px #0000001a,0 4px 10px -2px #00000014,0 0 0 1px #0000000d}.notification.hide{transform:translate(100%) scale(.95);opacity:0}.notification-content{display:flex;align-items:flex-start;gap:12px;padding:16px;position:relative}.notification-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;margin-top:1px}.notification-message{flex:1;font-size:14px;line-height:1.5;font-weight:450;color:var(--text-primary);margin:0;word-wrap:break-word}.notification-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-top:-2px;margin-right:-4px;opacity:.7}.notification-close:hover{background-color:#ffffff1a;color:var(--text-primary);opacity:1;transform:scale(1.05)}.notification-close:active{transform:scale(.95)}.notification.success{border-color:var(--success-border);background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--sidebar-bg) 100%)}body.light-mode .notification.success{background:var(--success-bg);border-color:#10b9814d}.notification.success .notification-icon{background-color:#10b98126;color:var(--success-border)}.notification.success .notification-close:hover{background-color:#10b9811a}.notification.error{border-color:var(--error-border);background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--sidebar-bg) 100%)}body.light-mode .notification.error{background:var(--error-bg);border-color:#ef44444d}.notification.error .notification-icon{background-color:#ef444426;color:var(--error-border)}.notification.error .notification-close:hover{background-color:#ef44441a}.notification.info{border-color:var(--secondary-blue);background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,var(--sidebar-bg) 100%)}body.light-mode .notification.info{background:var(--info-bg);border-color:#3b82f64d}.notification.info .notification-icon{background-color:#3b82f626;color:var(--secondary-blue)}.notification.info .notification-close:hover{background-color:#3b82f61a}.notification.warning{border-color:var(--yellow-color);background:linear-gradient(135deg,rgba(245,158,11,.1) 0%,var(--sidebar-bg) 100%)}body.light-mode .notification.warning{background:#fef3c7;border-color:#f59e0b4d}.notification.warning .notification-icon{background-color:#f59e0b26;color:var(--yellow-color)}.notification.warning .notification-close:hover{background-color:#f59e0b1a}.notification:hover{transform:translate(-2px) scale(1.02);box-shadow:0 15px 35px -5px #0006,0 6px 15px -2px #0000004d,0 0 0 1px #ffffff14}body.light-mode .notification:hover{box-shadow:0 15px 35px -5px #00000026,0 6px 15px -2px #0000001a,0 0 0 1px #00000014}@keyframes slideIn{0%{transform:translate(100%) scale(.9);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@media (max-width: 480px){#notification-container{bottom:1rem;right:1rem;left:1rem;align-items:stretch}.notification{min-width:unset;max-width:unset}.notification-content{padding:14px;gap:10px}.notification-message{font-size:13px}}#normal-input-area{margin-top:16px!important;margin-bottom:0!important;padding:.5rem!important}@media (max-width: 768px){#normal-input-area{margin-top:0!important;background:var(--class-bg);padding-bottom:1.5rem!important}.user-message-bubble{max-width:85%!important}#chat-messages{padding-bottom:80px}}#chat-container{scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent}#chat-container::-webkit-scrollbar{width:6px;display:block!important}#chat-container::-webkit-scrollbar-track{background:transparent}#chat-container::-webkit-scrollbar-thumb{background:var(--sidebar-border);border-radius:10px;transition:background .2s ease}#chat-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}#scroll-to-bottom-btn{position:absolute;bottom:calc(100% + 32px);left:50%;width:38px;height:38px;background-color:var(--sidebar-bg);border:1px solid var(--sidebar-border);color:var(--text-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;opacity:0;visibility:hidden;transform:translate(-50%) translateY(10px);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#scroll-to-bottom-btn.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}#scroll-to-bottom-btn:hover{background-color:var(--sidebar-hover-bg);color:var(--primary-blue);box-shadow:0 6px 16px #0003}#scroll-to-bottom-btn i{font-size:14px}.chat-history-item{width:95%;margin:0 auto;border-radius:.5rem;transition:background-color .2s ease;padding:8px 12px!important}#chat-messages,#chat-messages *{overflow-wrap:break-word;word-break:break-word;unicode-bidi:plaintext}@media (hover: hover){.chat-history-item:hover,.chat-history-item.hover-sidebar-bg:hover,.chat-history-item.hover-sidebar-bg:focus{background-color:var(--sidebar-hover-bg)!important}}.chat-loading-animation{display:flex;justify-content:flex-start;align-items:center;padding:8px 0;margin:4px 0}.chat-loading-dot{width:18px;height:18px;background-color:var(--primary-blue);border-radius:50%;animation:bump 1.8s ease-in-out infinite;box-shadow:0 0 12px rgba(var(--primary-blue-rgb),.4)}@keyframes bump{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1}}.typing-placeholder{border-right:2px solid var(--secondary-blue);animation:blink-cursor 1s infinite}.typing-placeholder{color:var(--text-secondary);font-style:italic}@keyframes blink-cursor{0%,50%{border-color:var(--secondary-blue)}51%,to{border-color:transparent}}.message-enter{opacity:0;transform:translateY(8px) scale(.98)}.message-enter-active{opacity:1;transform:translateY(0) scale(1);transition:opacity .2s ease-out,transform .2s ease-out}.typing-dots{display:inline-flex;align-items:center;gap:4px}.typing-dot{width:8px;height:8px;background-color:var(--typing-dot-color);border-radius:50%;animation:typing 1.4s ease-in-out infinite both;box-shadow:0 0 10px rgba(var(--primary-blue-rgb),.4)}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.typing-cursor{display:inline-block;animation:blink-stream 1s step-end infinite;font-weight:700;color:var(--primary-blue);margin-left:2px}@keyframes blink-stream{0%,to{color:transparent}50%{color:var(--primary-blue)}}.quick-msg-btn{position:relative;overflow:hidden;transition:all .2s ease}@media (hover: hover){.quick-msg-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}}#send-btn,#send-btn-normal{position:relative;overflow:hidden}#send-btn:before,#send-btn-normal:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--shimmer-overlay),transparent);transition:left .5s ease;z-index:1}#send-btn:hover:before,#send-btn-normal:hover:before{left:100%}.quick-msg-btn>*,#send-btn>*,#send-btn-normal>*{position:relative;z-index:2}.welcome-heading{text-align:center;line-height:1.4;padding:.5rem 0;background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.welcome-subheader{text-align:center;font-weight:500;opacity:.9}.grid-fade{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;z-index:0}.grid-fade:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--text-primary) 1px,transparent 1px),linear-gradient(to bottom,var(--text-primary) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(circle at center,#00000014,#0000000d 20%,#00000008 30%,#00000002,#0000 60%);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.08) 0%,rgba(0,0,0,.05) 20%,rgba(0,0,0,.03) 30%,rgba(0,0,0,.008) 45%,rgba(0,0,0,0) 60%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 75%;mask-size:100% 75%}.welcome-status-dot{box-shadow:0 0 8px rgba(var(--primary-blue-rgb),.5)}.reasoning-section{background-color:var(--reasoning-bg);border-color:var(--reasoning-border)}.reasoning-section h4{color:var(--reasoning-title)}.reasoning-content{color:var(--reasoning-text)}.reasoning-toggle-btn{color:var(--reasoning-toggle)}.reasoning-toggle-btn:hover{color:var(--reasoning-toggle-hover)}.reasoning-chunk{margin-bottom:.5rem;padding:.5rem;font-size:.75rem;line-height:1.4;border-radius:.25rem}.reasoning-chunk:last-child{margin-bottom:0}.reasoning-summary{margin-bottom:.5rem;padding:.5rem;font-size:.75rem;line-height:1.4;border-radius:.25rem}.reasoning-summary:last-child{margin-bottom:0}.drag-drop-overlay{position:fixed;inset:0;background-color:rgba(var(--sidebar-bg-rgb),.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:none;border:2px dashed var(--primary-blue);color:var(--text-primary);opacity:0;transition:opacity .2s ease-in-out}.drag-drop-overlay.visible{opacity:1}#image-preview-container-welcome,#image-preview-container{padding:.5rem .75rem;border-bottom:1px solid var(--sidebar-border);text-align:left}.image-preview-wrapper{position:relative;display:inline-block;padding:0;border-radius:.75rem}.image-preview-wrapper img{max-width:120px;max-height:120px;border-radius:.5rem;object-fit:cover;border:1px solid var(--sidebar-border)}.image-preview-remove-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:var(--sidebar-hover-bg);color:var(--text-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--sidebar-border);transition:all .2s ease}.image-preview-remove-btn:hover{background:var(--error-bg);color:var(--error-text);transform:scale(1.1)}.user-message-image{max-width:250px;max-height:250px;border-radius:.75rem;margin-bottom:.75rem;cursor:pointer;transition:transform .2s ease}.user-message-image:hover{transform:scale(1.02)}.thinking-content ul{list-style-type:disc;padding-left:1.25rem}.thinking-content ul li::marker{color:var(--primary-blue)}body.thinking-hidden .thinking-quote,body.thinking-hidden .thinking-container{display:none!important}#preview-tab.active,#code-tab.active{background-color:var(--sidebar-hover-bg);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #0000000d}#share-btn{border:1px solid var(--sidebar-border)}#share-btn:hover{background-color:var(--sidebar-hover-bg);color:var(--text-primary)}#preview-controls .font-mono{opacity:.8}.welcome-input-enhanced{background:transparent!important;border:none!important;box-shadow:none!important;isolation:isolate}.border-glow{position:absolute;inset:0;border-radius:29px;background:transparent;z-index:-1;overflow:hidden}.border-glow:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,var(--primary-blue) 60deg,#a855f7 120deg,#06b6d4 180deg,var(--primary-blue) 240deg,transparent 360deg);animation:border-spin 10s linear infinite;z-index:1;opacity:1;transition:opacity .5s ease-in-out}.welcome-input-enhanced:focus-within .border-glow:before{opacity:0}.border-glow:after{content:"";position:absolute;inset:1px;border-radius:28px;background:var(--sidebar-bg);z-index:2;background-image:radial-gradient(circle at top,rgba(255,255,255,.04),transparent 70%)}@keyframes border-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-input-enhanced #welcome-plus-btn{transition:transform .2s ease,background-color .2s ease}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleInFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-entry{opacity:0;animation:slideUpFade .8s cubic-bezier(.16,1,.3,1) forwards}.animate-entry.delay-1{animation-delay:.1s}.animate-entry.delay-2{animation-delay:.2s}.animate-entry.delay-3{animation-delay:.3s}.animate-scale{opacity:0;animation:scaleInFade .8s cubic-bezier(.16,1,.3,1) forwards}.animate-scale.delay-2{animation-delay:.2s}.thinking-container{margin:.75rem 0;border:none;background:transparent;border-radius:0;box-shadow:none;transition:all .3s ease}.thinking-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 .4rem;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;border:none}.thinking-header:hover{background:transparent}.thinking-container:not(.collapsed) .thinking-header{border-bottom-color:transparent}.thinking-header-left{display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:500;color:var(--text-primary)}.thinking-icon{color:var(--primary-blue);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--text-secondary);transition:transform .3s ease}.thinking-icon.done{color:var(--text-primary)}.thinking-toggle-icon{color:var(--text-secondary);transition:transform .3s ease;font-size:.8rem}.thinking-container.collapsed .thinking-toggle-icon{transform:rotate(-90deg)}.thinking-content-wrapper{overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;max-height:20000px;opacity:1;margin-top:.25rem}.thinking-container.collapsed .thinking-content-wrapper{max-height:0;opacity:0}.thinking-content{padding:.2rem 0 0 1rem;font-size:.9rem;line-height:1.6;color:var(--text-primary);border-left:2px solid var(--sidebar-border)}.thinking-content pre{background:#0003!important;border:1px solid var(--sidebar-border);margin:.5rem 0}.thinking-status-text{font-size:.8rem;color:var(--text-secondary);margin-left:auto;margin-right:.5rem;opacity:.8}body.thinking-hidden .thinking-container{display:none!important}#filetree-resizer{background:transparent!important;border:none!important;z-index:30;width:0px;min-width:0px;max-width:0px;box-shadow:none!important;outline:none!important;transition:none!important;opacity:0;position:absolute;top:0;bottom:0;cursor:col-resize}#filetree-resizer:hover,#filetree-resizer:active,#filetree-resizer.resizing{background:transparent!important;border:none!important;box-shadow:none!important;outline:none!important;width:4px;min-width:4px;max-width:4px;opacity:1}#file-tree-panel{position:relative;border-right:1px solid var(--sidebar-border);transition:border-color .2s ease}#file-tree-panel:hover{border-right-color:#3b82f699;cursor:col-resize}#file-tree-panel.resizing{border-right-color:#3b82f6cc;cursor:col-resize}#filetree-resizer .opacity-0{opacity:0!important}#filetree-resizer:hover .opacity-0,#filetree-resizer:active .opacity-0,#filetree-resizer:focus .opacity-0{opacity:1!important;transition:opacity .2s}#file-tree-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#file-tree{padding:6px 0}.file-tree-item{display:flex;align-items:center;padding:6px 8px;font-size:14px;cursor:pointer;transition:background-color .2s;color:var(--text-secondary);border-radius:8px;margin:2px 0;width:100%}.file-tree-item:hover,.file-tree-item:focus{background-color:var(--codepanel-hover-bg)!important;color:var(--text-primary);border-radius:0}.file-tree-item.selected,.file-tree-item.active{background-color:var(--sidebar-hover-bg)!important;color:var(--text-primary);border-left:3px solid var(--primary-blue);border-radius:0}.file-tree-item i{margin-right:8px;width:16px;flex-shrink:0}.file-tree-folder,.file-tree-folder.open{color:var(--yellow-color)}.file-tree-item.drag-over{background-color:rgba(var(--primary-blue-rgb),.2)!important;border:1px dashed var(--primary-blue)!important}#file-tree.drag-over-root{background-color:rgba(var(--primary-blue-rgb),.1)!important;border:1px dashed var(--primary-blue)!important}#code-panel{position:relative;right:0;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;z-index:20;margin-top:0!important;margin-bottom:0!important;height:100%}#code-panel-inner{flex:1}#code-panel.flex{display:flex!important}#code-panel.hidden{display:none!important}#code-tabs-header{background:var(--sidebar-bg);user-select:none;-webkit-user-select:none}#code-tabs-container{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}#code-tabs-container::-webkit-scrollbar{display:none}.code-tab{display:flex;align-items:center;gap:2px;padding:0 12px;height:100%;min-width:120px;max-width:240px;background:var(--class-bg);border-right:1px solid var(--border-bg);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Teachers,sans-serif}.code-tab:hover{background:var(--codepanel-hover-bg);color:var(--text-primary)}.code-tab.active{background:var(--sidebar-bg);color:var(--text-primary)}.code-tab-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:6px}.code-tab-icon i{font-size:14px}.code-tab-label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.code-tab-unsaved{width:8px;height:8px;border-radius:50%;background:var(--primary-blue);flex-shrink:0;opacity:0;transition:opacity .2s ease;margin-left:4px}.code-tab-unsaved.visible{opacity:1}.code-tab-close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;opacity:0;transition:opacity .15s ease,background-color .15s ease;flex-shrink:0;margin-left:10px;align-self:center;line-height:1;transform:translateY(1px)}.code-tab:hover .code-tab-close,.code-tab.active .code-tab-close{opacity:1}.code-tab-close:hover{background:var(--sidebar-hover-bg)}.code-tab-close i{font-size:11px;color:var(--text-secondary)}.code-tab-close:hover i{color:var(--text-primary)}#monaco-editor{border-radius:0 0 .75rem .75rem}.tab-btn.active{background-color:var(--sidebar-hover-bg)!important;color:var(--text-primary)!important}.tab-btn:hover,.tab-btn:focus{background-color:var(--sidebar-hover-bg)!important;color:var(--text-primary)!important}#mobile-preview-btn.active,#mobile-preview-btn.active:hover{background-color:var(--primary-blue)!important;color:var(--text-on-accent)!important}#monaco-editor{width:100%!important;height:100%!important;min-height:0;min-width:0;background:var(--class-bg)!important;border-radius:0 0 1rem 1rem;padding:0!important}#unsaved-dot{font-size:1.5rem;color:var(--unsaved-dot-color);vertical-align:middle;margin-left:.5rem;transition:opacity .2s;line-height:0;padding:0;height:auto}#preview-panel,#preview-loading,#preview-placeholder{background:var(--class-bg)!important}.mobile-preview-container{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gradient-mobile-start) 0%,var(--gradient-mobile-end) 100%);padding:20px;height:100%;width:100%}.mobile-preview-iframe{width:375px!important;max-height:calc(100vh - 40px)!important;aspect-ratio:9 / 16;border:8px solid var(--mobile-frame-color)!important;border-radius:25px!important;box-shadow:0 0 30px rgba(var(--mobile-frame-shadow-rgb),var(--mobile-frame-shadow-alpha))!important;background:var(--mobile-frame-color)!important;position:relative;overflow:hidden}.mobile-preview-iframe:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--mobile-notch-color);border-radius:2px;z-index:1}.mobile-preview-iframe:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:40px;height:4px;background:var(--mobile-notch-color);border-radius:2px;z-index:1}.code-panel-fullscreen{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;margin:0!important;border-radius:0!important;border:none!important;box-shadow:none!important;transition:none!important;z-index:60!important}.file-name-animating span{display:inline-block;opacity:0;transform:translateY(100%);animation:slideUpAndFadeIn .4s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes slideUpAndFadeIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}#asset-drawer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:1px 0 #ffffff1a;transition:opacity .2s ease,visibility .2s ease;border-right:1px solid var(--sidebar-hover-bg);background:var(--sidebar-bg)}#asset-drawer-content::-webkit-scrollbar{width:6px}#asset-drawer-content::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px}#asset-drawer-content::-webkit-scrollbar-track{background:transparent}#design-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--sidebar-bg-rgb),.9);animation:slideDown .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDown{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}#inline-edit-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--sidebar-bg-rgb),.9);animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.pro-icon-item{width:100%;aspect-ratio:1;border-radius:.5rem;border:1px solid var(--sidebar-hover-bg);background:var(--input-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.25rem;color:var(--text-secondary)}.pro-icon-item:hover{border-color:var(--primary-blue);background:var(--sidebar-hover-bg);color:var(--primary-blue);transform:scale(1.05)}.pro-image-item{border-radius:.5rem;overflow:hidden;border:1px solid var(--sidebar-hover-bg);cursor:pointer;transition:all .2s ease;position:relative}.pro-image-item:hover{border-color:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.pro-image-item img{width:100%;height:100%;object-fit:cover}[contenteditable=true]{outline:2px dashed var(--primary-blue)!important;outline-offset:2px;cursor:text!important;border-radius:2px}.design-mode-hover{outline:2px solid var(--primary-blue)!important;outline-offset:2px;cursor:pointer!important}.design-tooltip{position:fixed;background:#1e293b;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;pointer-events:none;z-index:10000;box-shadow:0 4px 12px #0000004d;border:1px solid var(--sidebar-hover-bg);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.design-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:#1e293b transparent transparent transparent}#design-panel-content::-webkit-scrollbar{width:4px}#design-panel-content::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:10px}#design-panel-content::-webkit-scrollbar-track{background:transparent}#design-panel-content input:focus,#design-panel-content select:focus{box-shadow:0 0 0 3px #3b82f61a}#design-panel-content>div{animation:fadeInSlide .4s ease-out forwards}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.template-card{background:var(--sidebar-bg);border:1px solid var(--sidebar-border);border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;position:relative;cursor:pointer}.template-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.template-card-image-container{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden}.template-card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.template-card:hover .template-card-image{transform:scale(1.05)}.template-card-overlay{position:absolute;inset:0;background:#0009;display:flex;flex-direction:row;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;gap:1rem}.template-card:hover .template-card-overlay{opacity:1}.template-card-button{display:flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border-radius:.5rem;font-weight:500;font-size:.8rem;transition:all .2s ease;border:1px solid transparent}.template-card-button.mix{background:rgba(var(--primary-blue-rgb),.8);color:var(--text-on-accent);box-shadow:0 2px 6px rgba(var(--primary-blue-rgb),.2)}.template-card-button.mix:hover{background:var(--primary-blue);transform:translateY(-1px);box-shadow:0 4px 10px rgba(var(--primary-blue-rgb),.3)}.template-card-button.view{background:rgba(var(--sidebar-bg-rgb),.8);color:var(--text-primary);border-color:rgba(var(--sidebar-border-rgb),.5);box-shadow:0 2px 6px #0000001a}.template-card-button.view:hover{background:var(--sidebar-hover-bg);border-color:var(--primary-blue);transform:translateY(-1px);box-shadow:0 4px 10px rgba(var(--primary-blue-rgb),.15)}.template-card-content{padding:.8rem;text-align:left}.template-card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem;text-align:left}.template-card-stats{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-secondary)}.template-card-description{text-align:left}.template-card-tech-stack{display:flex;flex-direction:row;align-items:center;gap:.4rem}.template-card-tech-stack i{font-size:1rem;width:1rem;height:1rem}#template-preview-popup-backdrop{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease;pointer-events:none}#template-preview-popup-backdrop.visible{opacity:1;pointer-events:auto}#template-preview-popup{background:var(--class-bg);border-radius:0;box-shadow:none;width:100vw;height:100vh;max-width:100vw;max-height:100vh;display:flex;flex-direction:column;transform:scale(1);opacity:0;transition:transform .3s ease,opacity .3s ease}#template-preview-popup-backdrop.visible #template-preview-popup{transform:scale(1);opacity:1}#template-preview-popup-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--sidebar-border);background:var(--sidebar-bg);border-radius:0}#template-preview-popup-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary)}#template-preview-popup-header p{font-size:.875rem;color:var(--text-secondary);line-height:1.6}#template-preview-popup-close-btn{padding:.5rem;color:var(--text-secondary);transition:color .2s ease,background-color .2s ease;border-radius:.5rem}#template-preview-popup-close-btn:hover{color:var(--text-primary);background-color:var(--sidebar-hover-bg)}#template-mix-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--sidebar-border);box-shadow:none}#template-mix-btn:hover{background:var(--sidebar-hover-bg);color:var(--text-primary);border-color:var(--primary-blue);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-blue-rgb),.1)}#template-preview-popup-content{flex:1;display:flex;flex-direction:row;overflow:hidden}#template-details-panel{width:300px;flex-shrink:0;background:var(--sidebar-bg);padding:1.5rem;overflow-y:auto;border-right:1px solid var(--sidebar-border);border-radius:0}#template-preview-iframe-container{flex:1;background:var(--class-bg);overflow:hidden;position:relative;border-radius:0}#template-preview-iframe{width:100%;height:100%;border:none;background:#fff}#template-details-panel h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}#template-details-panel p{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.template-preview-tech-stack{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.template-preview-tech-stack-item{display:flex;align-items:center;gap:.5rem;background:var(--input-bg);border:1px solid var(--sidebar-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;color:var(--text-primary)}.template-preview-tech-stack-item i{font-size:1.1rem}@media (max-width: 1024px){#template-preview-popup{width:100vw;height:100vh;max-width:100vw;max-height:100vh}#template-preview-popup-content{flex-direction:column}#template-details-panel{flex:none;width:100%;max-height:40%;border-right:none;border-bottom:1px solid var(--sidebar-border);border-radius:0}#template-preview-iframe-container{flex:none;width:100%;height:60%;border-radius:0}}@media (max-width: 768px){#template-preview-popup-header{flex-direction:column;align-items:flex-start;padding:1rem}#template-preview-popup-header>div:first-child{margin-bottom:.75rem}#template-preview-popup-header h3{font-size:1.1rem}#template-preview-popup-header p{font-size:.8rem}#template-mix-btn{padding:.5rem 1rem;font-size:.8rem}#template-preview-popup-close-btn{padding:.3rem}#template-details-panel{padding:1rem}#template-details-panel h4{font-size:1rem;margin-bottom:.75rem}#template-details-panel p{font-size:.85rem;margin-bottom:1rem}.template-preview-tech-stack-item{padding:.4rem .6rem;font-size:.8rem}.template-preview-tech-stack-item i{font-size:.9rem}}.category-filter.active{background-color:var(--primary-blue)!important;color:var(--text-on-accent)!important}.category-filter:not(.active):hover{background-color:var(--sidebar-hover-bg)!important;color:var(--text-primary)!important}.template-card--placeholder{pointer-events:none;position:relative;overflow:hidden}.template-card--placeholder:before{content:"";display:block;width:100%;padding-bottom:56.25%;background:#94a3b82e;border-bottom:1px solid var(--sidebar-border)}.template-card--placeholder .template-card-image-container,.template-card--placeholder .template-card-overlay{display:none}.template-card--placeholder .template-card-content{display:flex;flex-direction:column;gap:.65rem;padding-top:.85rem}.placeholder-title{height:18px;width:70%;border-radius:.5rem}.placeholder-line{height:10px;border-radius:.375rem}.placeholder-line.short{width:60%}.placeholder-tech-stack{display:flex;gap:.4rem;margin-top:.2rem}.placeholder-chip{width:28px;height:28px;border-radius:999px}.template-card-image-placeholder{position:absolute;inset:0;padding:1.1rem;display:flex;flex-direction:column;gap:1.1rem;border-radius:inherit}.image-placeholder-top{flex:1.15;border-radius:.85rem}.image-placeholder-content{display:flex;flex-direction:column;gap:.75rem}.image-placeholder-line{height:12px;border-radius:.5rem}.image-placeholder-line.short{width:65%}.image-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.image-placeholder-block{height:34px;border-radius:.6rem}.skeleton-layer,.skeleton-detail{background:linear-gradient(135deg,#ffffff0d,#ffffff04);position:relative;overflow:hidden}.skeleton-layer:after,.skeleton-detail:after{content:"";position:absolute;inset:0;transform:translate(-120%);background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.24) 50%,transparent 80%);animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-detail:after{animation-duration:2s}body.light-mode .skeleton-layer,body.light-mode .skeleton-detail{background:linear-gradient(135deg,#94a3b838,#f1f5f973)}body.light-mode .template-card--placeholder .template-card-overlay{background:linear-gradient(180deg,#ffffffa6,#94a3b859)}body.light-mode .skeleton-layer:after,body.light-mode .skeleton-detail:after{background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.65) 45%,transparent 80%)}@keyframes skeleton-shimmer{to{transform:translate(120%)}}.file-generation-box{background-color:var(--sidebar-hover-bg);border:1px solid var(--sidebar-border);border-radius:8px;margin-top:16px;margin-bottom:16px;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .3s ease-out,transform .3s ease-out}.file-generation-box.visible{opacity:1;transform:translateY(0)}.file-generation-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:var(--class-bg);border-bottom:1px solid var(--sidebar-border);cursor:pointer}.file-generation-header h4{font-size:.875rem;font-weight:600;color:var(--text-primary);font-family:Teachers,sans-serif}.file-generation-header .collapse-icon{transition:transform .2s ease-in-out}.file-generation-box.collapsed .file-generation-content{display:none}.file-generation-box.collapsed .collapse-icon{transform:rotate(-90deg)}.file-generation-content{padding:0;background-color:var(--sidebar-bg)}.file-generation-item{display:flex;align-items:center;padding:12px 16px;font-family:Teachers,sans-serif;font-size:.85rem;color:var(--text-secondary);transition:background-color .2s ease,opacity .3s ease-out,transform .3s ease-out;background-color:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border)}.file-generation-item:hover{background-color:var(--sidebar-hover-bg)}.file-generation-item:last-child{border-bottom:none}.file-generation-item .file-icon{margin-right:8px;width:16px;flex-shrink:0}.file-generation-item .file-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:text-decoration .2s ease,opacity .2s ease}.file-generation-item:hover .file-name{text-decoration:underline;cursor:pointer}.file-generation-item[data-operation=delete] .file-name{color:var(--text-muted)}.file-generation-item[data-operation=rename] .file-name{color:var(--text-primary);font-weight:600}.file-name.shimmer{color:var(--shimmer-light);background:var(--shimmer-light) -webkit-gradient(linear,100% 0,0 0,from(var(--shimmer-light)),color-stop(.5,var(--text-secondary)),to(var(--shimmer-light)));background:var(--shimmer-light) linear-gradient(90deg,var(--shimmer-light),var(--text-secondary),var(--shimmer-light));background-position:-4rem top;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.5s linear infinite;background-size:4rem 100%}@keyframes shimmer{0%{background-position:-4rem top}to{background-position:12.5rem top}}.file-generation-item .file-status{display:flex;align-items:center;justify-content:flex-end;width:auto;min-width:24px;height:24px;margin-left:8px}.pizza-loading{display:flex;align-items:center;justify-content:center;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:10}.pizza-bg-wrap{background-color:#fa3118;height:100vh;left:0;opacity:.8;position:fixed;top:0;width:100%;z-index:10}.pizza-spinner{height:var(--pizza-size);position:relative;width:var(--pizza-size);z-index:10;margin-left:auto}.pizza-spinner.small{--pizza-size: 30px;height:var(--pizza-size);width:var(--pizza-size)}.pizza_piece{animation-iteration-count:infinite;animation-direction:normal;animation-duration:1.4s;align-items:center;justify-content:center;display:grid;grid-template-columns:50% 50%;grid-template-rows:50% 50%;height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}.pizza_inner{border-radius:50%;grid-column:1 / 3;grid-row:1 / 3;margin:0 auto}.pizza_crust{border:calc(var(--pizza-size) * 13 / 150) solid #ff9439;box-sizing:border-box;height:100%;width:100%}.pizza_sause{border:calc(var(--pizza-size) / 2 - calc(var(--pizza-size) * 10 / 150)) solid #ff000e;height:1px;width:1px}.pizza_cheeze{border:calc(var(--pizza-size) / 2 - calc(var(--pizza-size) * 15 / 150)) solid #efde81;height:1px;width:1px}.pizza_filling{background-image:radial-gradient(circle at center,red 0,red calc(var(--pizza-size) * 6 / 150),transparent calc(var(--pizza-size) * 6 / 150),transparent 100%);background-repeat:repeat;background-position:left center;background-size:calc(var(--pizza-size) * 18 / 150) calc(var(--pizza-size) * 18 / 150);border-radius:100%;height:calc(100% - calc(var(--pizza-size) * 20 / 150));margin:0;overflow:hidden;transform:rotate(45deg);width:calc(100% - calc(var(--pizza-size) * 20 / 150))}.pizza_piece:first-child{animation-name:top-piece}.pizza_piece:nth-child(2){animation-name:right-piece}.pizza_piece:nth-child(3){animation-name:bottom-piece}.pizza_piece:nth-child(4){animation-name:left-piece}.pizza_piece:first-child .pizza_inner{border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent}.pizza_piece:nth-child(2) .pizza_inner{border-bottom-color:transparent;border-left-color:transparent;border-top-color:transparent}.pizza_piece:nth-child(3) .pizza_inner{border-right-color:transparent;border-left-color:transparent;border-top-color:transparent}.pizza_piece:nth-child(4) .pizza_inner{border-bottom-color:transparent;border-top-color:transparent;border-right-color:transparent}.pizza_piece:first-child .pizza_filling{align-self:flex-end;grid-column:1 / 2;grid-row:1 / 2;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:0;margin-left:auto;transform-origin:right bottom}.pizza_piece:nth-child(2) .pizza_filling{align-self:flex-end;grid-column:2 / 3;grid-row:1 / 2;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:0;margin-right:auto;transform-origin:left bottom}.pizza_piece:nth-child(3) .pizza_filling{align-self:flex-start;grid-column:2 / 3;grid-row:2 / 3;border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-right:auto;transform-origin:left top}.pizza_piece:nth-child(4) .pizza_filling{align-self:flex-start;grid-column:1 / 2;grid-row:2 / 3;border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:0;margin-left:auto;transform-origin:right top}@keyframes top-piece{0%{transform:translateY(0)}20%{transform:translateY(calc(var(--pizza-size) * -30 / 150))}40%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes right-piece{0%{transform:translate(0)}20%{transform:translateY(0)}40%{transform:translate(calc(var(--pizza-size) * 30 / 150))}60%{transform:translate(0)}to{transform:translate(0)}}@keyframes bottom-piece{0%{transform:translateY(0)}40%{transform:translateY(0)}60%{transform:translateY(calc(var(--pizza-size) * 30 / 150))}80%{transform:translate(0)}to{transform:translateY(0)}}@keyframes left-piece{0%{transform:translate(0)}60%{transform:translateY(0)}80%{transform:translate(calc(var(--pizza-size) * -30 / 150))}to{transform:translate(0)}}.loading-dots-small{display:flex;gap:4px;justify-content:center;align-items:center}.loading-dot-small{width:6px;height:6px;background:linear-gradient(45deg,var(--primary-blue),var(--secondary-blue));border-radius:50%;animation:bounce-small 1.4s ease-in-out infinite both}.loading-dot-small:nth-child(1){animation-delay:-.32s}.loading-dot-small:nth-child(2){animation-delay:-.16s}.loading-dot-small:nth-child(3){animation-delay:0s}@keyframes bounce-small{0%,80%,to{transform:scale(0)}40%{transform:scale(1);opacity:1}}.file-status-typing{display:flex;align-items:center;font-size:.75rem;color:var(--text-tertiary);white-space:nowrap}.file-status-typing .typing-dot-small{width:4px;height:4px;background-color:var(--typing-dot-color);border-radius:50%;animation:typing-small 1.4s ease-in-out infinite both;margin-left:4px}.file-status-typing .typing-dot-small:nth-child(1){animation-delay:-.32s}.file-status-typing .typing-dot-small:nth-child(2){animation-delay:-.16s}.file-status-typing .typing-dot-small:nth-child(3){animation-delay:0s}@keyframes typing-small{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.supabase-connect-box{background:linear-gradient(135deg,var(--sidebar-bg) 0%,var(--sidebar-hover-bg) 100%);border:1px solid var(--sidebar-border);border-radius:10px;margin:12px 0;overflow:hidden}.supabase-connect-box .supabase-connect-content{display:flex;align-items:center;gap:14px;padding:14px 18px}.supabase-connect-box .supabase-connect-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#3ecf8e20,#3ecf8e10);border:1px solid #3ECF8E30;flex-shrink:0}.supabase-connect-box .supabase-connect-icon svg{width:20px;height:20px}.supabase-connect-box .supabase-connect-info{flex:1;min-width:0}.supabase-connect-box .supabase-connect-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.supabase-connect-box .supabase-connect-title{font-size:.9rem;font-weight:500;color:var(--text-primary)}.supabase-connect-box .supabase-connect-button{padding:8px 16px;background:linear-gradient(135deg,#3ecf8e,#2ba36e);border:none;border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px #3ecf8e40}.supabase-connect-box .supabase-connect-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3ecf8e59}.supabase-connect-box .supabase-connect-button:active{transform:translateY(0)}.supabase-connect-box.connected{background:linear-gradient(135deg,#3ecf8e14,#3ecf8e0a);border-color:#3ecf8e40}.supabase-connect-box.connected .supabase-connect-icon{background:linear-gradient(135deg,#3ecf8e30,#3ecf8e20);border-color:#3ecf8e50}.supabase-connect-box.connected .supabase-connect-icon i{font-size:1rem;color:#3ecf8e}.supabase-connect-box.connected .supabase-connect-label{color:#3ecf8e}.supabase-connect-box.connected .supabase-connect-title{color:var(--text-primary)}.supabase-connect-box.connected .project-name{font-family:JetBrains Mono,monospace;font-size:.75rem;background-color:#3ecf8e1f;padding:2px 6px;border-radius:4px;color:#3ecf8e;margin-left:4px}.supabase-connect-box.connected .supabase-connect-status{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#3ecf8e1a;border-radius:6px;font-size:.75rem;font-weight:500;color:#3ecf8e}.supabase-connect-box.connected .supabase-connect-status i{font-size:.7rem}
