.product-link-wrapper{position:relative;display:inline-block}.product-link{color:var(--primary, #3b82f6);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:var(--transition-base, all .2s ease);cursor:pointer}.product-link:hover{color:var(--primary-hover, #2563eb);border-bottom-color:var(--primary, #3b82f6)}.product-link-preview{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;background:var(--card, #ffffff);border:1px solid var(--border, #e5e7eb);border-radius:var(--radius, .5rem);box-shadow:0 4px 12px #00000026;padding:var(--spacing-sm, .75rem);min-width:200px;max-width:300px;z-index:1000;pointer-events:none;animation:productLinkFadeInUp .2s ease}.product-link-preview.loading{padding:var(--spacing-md, 1rem);text-align:center}.product-link-preview-spinner{font-size:var(--font-size-xs, .75rem);color:var(--muted-foreground, #6b7280)}@keyframes productLinkFadeInUp{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.product-link-preview-image{width:100%;height:120px;border-radius:var(--radius-sm, .375rem);overflow:hidden;background:var(--background, #f9fafb);margin-bottom:var(--spacing-xs, .5rem);display:flex;align-items:center;justify-content:center}.product-link-preview-image img{width:100%;height:100%;object-fit:contain}.product-link-preview-info{display:flex;flex-direction:column;gap:.25rem}.product-link-preview-name{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--foreground, #111827);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-link-preview-meta{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);font-size:var(--font-size-xs, .75rem);color:var(--muted-foreground, #6b7280)}.product-link-preview-brand{font-weight:500}.product-link-preview-price{font-weight:600;color:var(--primary, #3b82f6)}.product-link-preview:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--card, #ffffff)}.product-link-preview:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--border, #e5e7eb);margin-top:-1px}@media(max-width:640px){.product-link-preview{min-width:180px;max-width:250px}.product-link-preview-image{height:100px}}.message-markdown{line-height:1.6;color:inherit}.message-markdown :global(p){margin:.5rem 0;line-height:1.6}.message-markdown :global(p:first-child){margin-top:0}.message-markdown :global(p:last-child){margin-bottom:0}.message-markdown :global(h1),.message-markdown :global(h2),.message-markdown :global(h3),.message-markdown :global(h4){margin:1rem 0 .5rem;font-weight:600;line-height:1.3;color:var(--foreground)}.message-markdown :global(h1){font-size:1.25rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.message-markdown :global(h2){font-size:1.125rem}.message-markdown :global(h3){font-size:1rem}.message-markdown :global(h4){font-size:.9375rem}.message-markdown :global(ul),.message-markdown :global(ol){margin:.5rem 0;padding-left:1.5rem}.message-markdown :global(li){margin:.25rem 0;line-height:1.6}.message-markdown :global(strong){font-weight:600;color:var(--foreground)}.message-markdown :global(em){font-style:italic}.message-markdown :global(code){background:var(--background);border:1px solid var(--border);border-radius:4px;padding:.2rem .4rem;font-size:.9em;font-family:Courier New,monospace;color:var(--primary)}.message-markdown :global(pre){background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-md);overflow-x:auto;margin:.75rem 0}.message-markdown :global(pre code){background:none;border:none;padding:0;font-size:.9em}.message-markdown :global(blockquote){border-left:3px solid var(--primary);padding-left:var(--spacing-md);margin:.75rem 0;color:var(--muted-foreground);font-style:italic}.message-markdown :global(table){width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.9em;overflow-x:auto;display:block}.message-markdown :global(th),.message-markdown :global(td){border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.message-markdown :global(th){background:var(--surface-hover);font-weight:600}.message-markdown :global(tr:nth-child(2n)){background:var(--background)}.message-markdown :global(hr){border:none;border-top:1px solid var(--border);margin:1rem 0}.message-markdown :global(a){color:var(--primary);text-decoration:none;font-weight:500}.message-markdown :global(a:hover){text-decoration:underline}.message-text .chat-product-card{margin:var(--spacing-md, 1rem) 0;display:flex;flex-direction:row;align-items:center}.message-markdown+.chat-product-card{margin-top:var(--spacing-sm, .75rem)}.chat-product-card+.message-markdown{margin-top:var(--spacing-sm, .75rem)}.message-text>.message-markdown:first-child{margin-top:0}.message-text>.chat-product-card:first-child{margin-top:0}.message-text>.message-markdown:last-child{margin-bottom:0}.message-text>.chat-product-card:last-child{margin-bottom:0}.message-token-meta{font-size:.75rem;color:var(--muted-foreground, #666);opacity:.85;transition:opacity .2s ease;display:inline-block}.message:hover .message-token-meta{opacity:1}.message-product-cards-container{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin-top:.75rem;padding-bottom:.5rem;width:100%;max-width:100%;scrollbar-width:thin;scrollbar-color:var(--border) transparent;-webkit-overflow-scrolling:touch}.message-product-cards-container::-webkit-scrollbar{height:6px}.message-product-cards-container::-webkit-scrollbar-track{background:transparent}.message-product-cards-container::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:10px}.message-product-cards-container>*{scroll-snap-align:start;flex:0 0 280px;min-width:280px;max-width:280px}.thinking-block{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius);margin-bottom:var(--spacing-md);overflow:hidden;transition:max-height var(--duration-3) var(--ease-standard),box-shadow var(--duration-2)}.thinking-block:hover{box-shadow:var(--shadow-sm)}.thinking-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--primary) 2%,var(--surface));-webkit-user-select:none;user-select:none;list-style:none;border-bottom:1px solid transparent;transition:background-color var(--duration-1) var(--ease-standard)}.thinking-summary::-webkit-details-marker{display:none}.thinking-summary:hover{background:var(--surface-hover)}details[open].thinking-block .thinking-summary{border-bottom-color:var(--border)}.thinking-summary-label{display:flex;align-items:center;gap:.5rem}.thinking-summary:after{content:"▼";font-size:.75rem;transition:transform var(--duration-2) var(--ease-standard);color:var(--muted-foreground);opacity:.7}details[open] .thinking-summary:after{transform:rotate(180deg)}.thinking-status{display:inline-flex;align-items:center;gap:.5rem}.thinking-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-thinking 1s linear infinite}.thinking-completed-badge{font-size:.72rem;background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);padding:.1rem .35rem;border-radius:4px;font-weight:var(--font-weight-semibold);letter-spacing:.02em}@keyframes spin-thinking{to{transform:rotate(360deg)}}.thinking-content{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--background);line-height:1.5;max-height:350px;overflow-y:auto}.thinking-content .message-markdown p,.thinking-content .message-markdown ul,.thinking-content .message-markdown ol{margin-top:0;margin-bottom:var(--spacing-sm)}.message-assistant{position:relative}.copy-message-btn{position:absolute;top:.5rem;right:.5rem;background:var(--card);border:1px solid var(--border);color:var(--text-secondary);font-size:.7rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;cursor:pointer;opacity:0;transition:all .2s ease;box-shadow:0 2px 4px #0000000d;z-index:5}.message-assistant:hover .copy-message-btn{opacity:1}.copy-message-btn:hover{background:var(--surface);color:var(--primary);border-color:var(--primary)}.progress-indicator{padding:.75rem 1rem;background:var(--card);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;margin:0;animation:slideIn .3s ease-out;transition:all .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-indicator-content{display:flex;align-items:center;gap:12px}.progress-indicator-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.progress-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:progressSpin 1s linear infinite;flex-shrink:0;box-sizing:border-box;margin:0;padding:0;display:block}@keyframes progressSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-indicator-text{flex:1;min-width:0}.progress-indicator-operation{font-size:.875rem;font-weight:400;color:var(--text-primary);margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}.progress-indicator-tool{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.oneclick-build-panel{background:var(--card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin:var(--spacing-md) 0;box-shadow:var(--shadow-md);border:1px solid var(--border)}.oneclick-build-panel.compact{padding:var(--spacing-md);margin:var(--spacing-sm) 0}.request-card{background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-left:4px solid var(--primary);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--radius)}.request-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.request-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.request-text{font-size:var(--font-size-sm);color:var(--foreground);font-style:italic}.build-panel-setup,.build-panel-planning,.build-panel-building,.build-panel-complete{display:flex;flex-direction:column;gap:var(--spacing-lg)}.build-panel-setup h2,.build-panel-planning h2,.build-panel-building h2,.build-panel-complete h2{margin:0;font-size:var(--font-size-2xl);color:var(--foreground);font-weight:var(--font-weight-bold)}.build-panel-setup p,.build-panel-planning p,.build-panel-building p,.build-panel-complete p{margin:0;color:var(--muted-foreground);font-size:var(--font-size-sm)}.input-card{background:var(--surface);border-radius:var(--radius);padding:var(--spacing-md);border:1px solid var(--border)}.input-label{display:block;margin-bottom:var(--spacing-md)}.label-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--foreground)}.budget-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.currency{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--foreground)}.budget-input-large{flex:1;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--background);color:var(--foreground);transition:var(--transition-base)}.budget-input-large:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)}.budget-suggestions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.budget-suggestion{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-base)}.budget-suggestion:hover{background:color-mix(in srgb,var(--primary) 10%,var(--card));border-color:var(--primary);transform:translateY(-1px)}.usecase-card{margin-top:var(--spacing-lg)}.usecase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.usecase-option{padding:var(--spacing-lg);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--card);cursor:pointer;transition:var(--transition-base);text-align:left;display:flex;flex-direction:column;gap:var(--spacing-xs)}.usecase-option:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--card));transform:translateY(-2px);box-shadow:var(--shadow-md)}.usecase-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card));box-shadow:0 0 0 1px var(--primary)}.usecase-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--foreground)}.usecase-desc{font-size:var(--font-size-xs);color:var(--muted-foreground);line-height:1.4}.wizard-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.wizard-btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-base);display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-comfortable)}.wizard-btn-primary{background:var(--primary);color:var(--primary-foreground)}.wizard-btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.wizard-btn-primary:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border)}.wizard-btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-color)}.wizard-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.success-animation{text-align:center;margin-bottom:var(--spacing-xl)}.success-icon{width:72px;height:72px;margin:0 auto var(--spacing-md);color:var(--success);display:flex;align-items:center;justify-content:center;animation:scaleIn var(--duration-3) var(--ease-spring)}.build-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.oneclick-build-panel.compact .build-panel-setup h3,.oneclick-build-panel.compact .build-panel-complete h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.compact-budget-input{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.compact-budget-input label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.compact-budget-input input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--background);color:var(--foreground)}.compact-budget-input input:focus{outline:none;border-color:var(--primary)}.oneclick-build-panel.compact button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.product-comparison-wrapper{margin:var(--spacing-lg) 0;padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.product-comparison-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.product-comparison-header h3{margin:0;font-size:var(--font-size-lg)}.product-comparison-header p{margin:0;color:var(--muted-foreground);font-size:var(--font-size-sm)}.product-comparison-close{border:none;background:transparent;color:var(--muted-foreground);font-size:var(--font-size-lg);cursor:pointer}.product-comparison-wrapper .product-comparison-matrix-wrapper{margin-top:var(--spacing-md)}.product-comparison-errors{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border);font-size:var(--font-size-xs);color:var(--muted-foreground)}.product-comparison-errors ul{margin:var(--spacing-xs) 0 0;padding-left:var(--spacing-lg)}.product-comparison-empty{padding:var(--spacing-md);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted-foreground)}@media(max-width:768px){.product-comparison-wrapper{padding:var(--spacing-md)}}body.chat-page-active,body.chat-page-active html{overflow:hidden!important;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}html:has(.cgpt-root),body:has(.cgpt-root){overflow:hidden!important;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}.cgpt-root{display:flex;flex-direction:column;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100vh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));position:relative;width:100%;overflow:hidden;background:var(--background)}.cgpt-main{display:flex;flex-direction:column;background:var(--background);position:relative;width:100%;flex:1;min-height:0;overflow:visible;box-shadow:inset 0 0 100px #00000003;padding-bottom:0}.cgpt-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--border);background:var(--card);position:relative;z-index:10;min-height:56px;flex-shrink:0;box-shadow:0 2px 8px #0000000a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cgpt-header-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm);color:var(--text-primary);letter-spacing:var(--letter-spacing-tight)}.cgpt-import-build-btn{margin-left:auto;margin-right:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-sm)}@media(hover:hover)and (pointer:fine){.cgpt-import-build-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--surface);box-shadow:var(--shadow-md);transform:translateY(-1px)}}.cgpt-import-build-btn:disabled{opacity:.5;cursor:not-allowed}.cgpt-mobile-menu-btn,.cgpt-mobile-build-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:.5rem;min-width:36px;min-height:var(--touch-target-min);border-radius:6px;transition:all .2s ease;color:var(--text-primary);flex-shrink:0}.cgpt-mobile-menu-btn:hover,.cgpt-mobile-build-btn:hover{background:var(--surface)}.cgpt-menu-icon,.cgpt-build-icon{font-size:1.125rem;line-height:1;display:block}.cgpt-sidebar{position:fixed;top:var(--nav-height, 64px);left:0;width:85%;max-width:320px;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;z-index:100;overflow:hidden}.cgpt-sidebar.show{transform:translate(0)}.cgpt-sidebar-top{padding:1rem;border-bottom:1px solid var(--border);flex-shrink:0}.cgpt-new-chat{width:100%;padding:.75rem 1rem;border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.cgpt-new-chat:hover{background:var(--surface);border-color:var(--primary)}.cgpt-sidebar-content{flex:1 1 0;overflow-y:auto;overflow-x:hidden;padding:.5rem;min-height:0;max-height:100%;height:0;-webkit-overflow-scrolling:touch}.cgpt-section-title{font-size:.75rem;color:var(--text-secondary);padding:.5rem;text-transform:uppercase;font-weight:500;letter-spacing:.5px}.cgpt-session-list{display:flex;flex-direction:column;gap:.25rem}.cgpt-session{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .2s ease;min-height:var(--touch-target-min)}.cgpt-session:hover{background:var(--surface);border-color:var(--border)}.cgpt-session.active{background:var(--background);border-color:var(--primary)}.cgpt-session-name{flex:1;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cgpt-session-meta{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.cgpt-session-delete{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.25rem;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.cgpt-session-delete:hover{background:var(--surface);color:var(--danger)}.cgpt-empty{padding:1.5rem;color:var(--text-secondary);font-size:.875rem;text-align:center}.cgpt-sidebar-footer{padding:1rem;border-top:1px solid var(--border);flex-shrink:0}.cgpt-status{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.online{background:var(--success)}.status-dot.offline{background:var(--destructive)}.cgpt-sidebar-overlay{display:block;position:fixed;top:var(--nav-height, 64px);left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cgpt-content{display:flex;flex-direction:column;min-height:0;position:relative;flex:1 1 0;height:0;width:100%;overflow:visible}.oneclick-build-panel-wrapper{padding:0 1rem;margin-bottom:.5rem;max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.oneclick-build-panel-wrapper .oneclick-build-panel{margin:0}.cgpt-messages{max-width:none;width:100%;margin:0;padding:1rem;flex:1 1 0;height:0;overflow-x:hidden;overflow-y:auto;min-height:0;scroll-behavior:smooth;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px) + 1rem)}.messages-container{display:flex;flex-direction:column;gap:1.75rem;width:100%;max-width:900px;margin:0 auto}.message{display:flex;gap:.75rem;max-width:85%;word-wrap:break-word;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end;flex-direction:row-reverse}.message-assistant{align-self:flex-start}.message-avatar{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;flex-shrink:0;background:var(--surface);border:2px solid var(--border);box-shadow:0 2px 4px #00000014}.message-user .message-avatar{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border-color:var(--primary)}.message-content{flex:1;min-width:0}.message-text{padding:.875rem 1.125rem;border-radius:12px;line-height:1.65;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;font-size:.9375rem;display:flex;flex-direction:column;gap:.375rem;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s ease}.message-assistant .message-text{background:var(--card);color:var(--text-primary);border:1px solid var(--border)}.message-assistant .message-text:hover{box-shadow:0 2px 6px #0000001f}.message-user .message-text{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;border:none}.message-user .message-text:hover{box-shadow:0 2px 8px #00000026}.message-timestamp{font-size:.6875rem;color:var(--text-secondary);margin-top:.375rem;padding:0 .25rem;opacity:.7;font-weight:500}.typing-indicator{display:flex;gap:.375rem;padding:.875rem 1.125rem;background:var(--card);border:1px solid var(--border);border-radius:12px;width:fit-content;box-shadow:0 1px 3px #00000014}.typing-indicator span{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}.cgpt-rightbar{position:fixed;top:var(--nav-height, 64px);right:0;width:85%;max-width:360px;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));border-left:1px solid var(--border);background:var(--card);overflow-y:auto;overflow-x:hidden;padding:1rem;transform:translate(100%);transition:transform .3s ease;z-index:100;-webkit-overflow-scrolling:touch}.cgpt-rightbar.mobile-open{transform:translate(0)}.cgpt-build-header-mobile{display:flex;padding:1rem;border-bottom:1px solid var(--border);margin-bottom:1rem;align-items:center;justify-content:space-between;flex-shrink:0}.cgpt-build-title{font-weight:500;font-size:.9375rem;color:var(--text-primary)}.cgpt-build-close{background:transparent;border:none;cursor:pointer;padding:.5rem;min-width:36px;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-primary);font-size:1.125rem;transition:all .2s ease}.cgpt-build-close:hover{background:var(--surface)}.chat-build-panel{display:flex;flex-direction:column;gap:1rem}.chat-build-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.chat-build-header .title{font-weight:500;font-size:.9375rem;color:var(--text-primary)}.chat-build-header .budget{font-size:.875rem;color:var(--text-secondary)}.chat-build-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.chat-build-row{display:flex;flex-direction:column;padding:.75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);min-width:0;width:100%;position:relative}.chat-build-row .category-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.chat-build-row .part-info{display:flex;align-items:left;justify-content:space-between;min-width:0;width:100%;gap:.5rem}.chat-build-row .part-name{color:var(--text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:100%}.chat-build-row .part-name.clickable{color:var(--link-color, #3b82f6);text-decoration:none;transition:color .2s ease,text-decoration .2s ease}.chat-build-row .part-name.clickable:hover{color:var(--link-hover-color, #2563eb);text-decoration:underline}.chat-build-row .part-price{color:var(--text-primary);font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.chat-build-row .part-info .empty{color:var(--text-secondary);font-style:italic;font-size:.875rem}.chat-build-row .remove-part-btn{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s ease,background-color .2s ease;border-radius:4px}.chat-build-row .remove-part-btn:hover{color:var(--error, #dc2626)}.chat-build-row .remove-part-btn:active{transform:scale(.95)}.cgpt-build-overlay{display:block;position:fixed;top:var(--nav-height, 64px);left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:98;animation:fadeIn .3s ease}.chat-input-form{padding:.75rem;border:2px solid var(--border);background:var(--card);display:flex;gap:.75rem;border-radius:16px;width:100%;transition:all .2s ease;box-shadow:0 2px 8px #0000000f;align-items:flex-end}.chat-input-form:focus-within{border-color:var(--primary);box-shadow:0 4px 12px #0000001a,0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.mention-input{flex:1;min-width:0;position:relative}.mention-input-wrapper{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}.mention-popover{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.5rem;background:var(--card);border:1px solid var(--border);border-radius:12px;max-height:280px;overflow-y:auto;z-index:50;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mention-item{padding:.625rem .875rem;font-size:.875rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:background-color .15s ease,color .15s ease;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .03))}.mention-item:last-child{border-bottom:none}.mention-item.active{background:var(--surface);color:var(--primary)}.mention-item:hover{background:var(--surface)}.mention-item-image{width:36px;height:36px;object-fit:contain;border-radius:6px;background:#fff;padding:2px;border:1px solid var(--border);flex-shrink:0}.mention-item-image-placeholder{width:36px;height:36px;border-radius:6px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:1.125rem;border:1px solid var(--border);flex-shrink:0}.mention-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.mention-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.mention-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.mention-brand{color:var(--text-secondary);font-weight:400}.mention-price{color:var(--primary);font-weight:600}.mention-category-tag{align-self:flex-start;font-size:.6875rem;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);padding:.125rem .375rem;border-radius:4px;font-weight:600;text-transform:uppercase}.mention-status-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.mention-status-message.info{color:var(--text-secondary);font-style:italic}.mention-status-message.empty{color:var(--text-secondary)}.mention-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:mention-spin .8s linear infinite}@keyframes mention-spin{to{transform:rotate(360deg)}}.mention-input .chat-input{width:100%}.character-counter{position:absolute;bottom:.5rem;right:.75rem;font-size:.75rem;color:var(--text-secondary);background:var(--card);padding:.2rem .4rem;border-radius:4px;pointer-events:none;z-index:10;line-height:1.2;font-weight:500;opacity:.8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.character-counter.near-limit{color:var(--warning, #f59e0b);opacity:1}.character-counter.at-limit{color:var(--destructive, #ef4444);font-weight:600;opacity:1}.chat-input{flex:1;padding:.875rem 1rem;background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:.9375rem;transition:height .1s ease;min-height:var(--touch-target-min);resize:none;font-family:inherit;width:100%;line-height:1.5;overflow:hidden;word-wrap:break-word;white-space:pre-wrap}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--text-secondary);opacity:.7}.send-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #00000026}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 100%);transform:scale(1.05);box-shadow:0 4px 12px #0003}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 1px 3px #0000001a}.send-icon{font-size:1rem}.composer-fixed{position:sticky;bottom:0;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));margin-bottom:env(safe-area-inset-bottom,0px);z-index:20;background:var(--background);border-top:1px solid var(--border);width:100%;flex-shrink:0;box-shadow:0 -2px 10px #0000000d;align-self:flex-end}@media(min-width:1024px){.composer-fixed{margin-bottom:0;padding-bottom:1rem}}.composer-fixed .chat-input-form{max-width:100%;position:relative}.composer-fixed .mention-input-wrapper{position:relative}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--surface);border:1px solid var(--danger);border-radius:6px;color:var(--danger);font-size:.875rem;margin:1rem}.error-icon{font-size:.9375rem;flex-shrink:0}.load-more-btn{display:block;width:100%;padding:.75rem;margin:1rem auto;background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.875rem;transition:all .2s ease;max-width:200px;min-height:var(--touch-target-min)}.load-more-btn:hover:not(:disabled){background:var(--surface);border-color:var(--primary)}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}@media(min-width:640px){.cgpt-messages{padding:1.5rem;padding-bottom:max(6rem,env(safe-area-inset-bottom,0px) + 6rem)}.message{max-width:85%;gap:.75rem}.message-avatar{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:1rem}.message-text{padding:.75rem 1rem;font-size:.9375rem}.chat-input-form{padding:.75rem;gap:.75rem}.chat-input{padding:.75rem 1rem;font-size:.9375rem}.send-btn{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.send-icon{font-size:1.125rem}}@media(min-width:768px){.cgpt-header-title{font-size:1rem}.message{max-width:80%}.message-avatar{width:40px;height:40px;min-width:40px;min-height:40px;font-size:1.125rem}.message-text{padding:1rem 1.25rem;font-size:.9375rem}.send-btn{width:44px;height:44px;min-width:44px;min-height:44px}}@media(min-width:1024px){.cgpt-root{display:grid;grid-template-columns:260px 1fr;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100vh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));overflow:visible}.cgpt-main{overflow:visible;padding-bottom:0}.cgpt-import-build-btn{margin-right:1rem}.cgpt-root-3col{grid-template-columns:260px 1fr 300px}.cgpt-sidebar{position:sticky;top:var(--nav-height, 64px);transform:translate(0);width:260px;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100vh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));align-self:start;overflow:hidden;display:flex;flex-direction:column}.cgpt-sidebar-overlay,.cgpt-mobile-menu-btn,.cgpt-mobile-build-btn{display:none}.cgpt-rightbar{position:sticky;top:var(--nav-height, 64px);transform:translate(0);width:300px;height:calc(100vh - var(--nav-height, 64px));height:calc(100dvh - var(--nav-height, 64px));max-height:calc(100vh - var(--nav-height, 64px));max-height:calc(100dvh - var(--nav-height, 64px));align-self:start;overflow-y:auto;overflow-x:hidden}.cgpt-build-overlay,.cgpt-build-header-mobile{display:none}}@media(max-width:768px){.cgpt-import-build-btn{font-size:.75rem;padding:.4rem .75rem}}@media(max-width:1023px){body.chat-sidebar-open,body.chat-build-open{overflow:hidden}}.cgpt-sidebar,.cgpt-rightbar,.cgpt-sidebar-overlay,.cgpt-build-overlay{transition:transform .3s ease,opacity .3s ease}.cgpt-sidebar-content,.cgpt-messages,.cgpt-rightbar{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.cgpt-sidebar-content::-webkit-scrollbar,.cgpt-messages::-webkit-scrollbar,.cgpt-rightbar::-webkit-scrollbar{width:6px}.cgpt-sidebar-content::-webkit-scrollbar-thumb,.cgpt-messages::-webkit-scrollbar-thumb,.cgpt-rightbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.cgpt-sidebar-content::-webkit-scrollbar-thumb:hover,.cgpt-messages::-webkit-scrollbar-thumb:hover,.cgpt-rightbar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.dark .cgpt-header,.dark .cgpt-sidebar,.dark .cgpt-rightbar,.dark .chat-input-form{background:var(--card);border-color:var(--border)}.dark .cgpt-new-chat,.dark .cgpt-session{background:transparent}.dark .cgpt-new-chat:hover,.dark .cgpt-session:hover{background:var(--surface)}.cgpt-header-controls{display:flex;align-items:center;gap:var(--spacing-md, 1rem);flex-shrink:0}.cgpt-model-selector-wrapper{position:relative;display:flex;align-items:center}.cgpt-model-dropdown{background:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:.4rem 2rem .4rem .8rem;font-size:.8125rem;font-weight:500;cursor:pointer;outline:none;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .6rem center;background-size:.9em}.cgpt-model-dropdown:hover{border-color:var(--primary)}.cgpt-usage-meter-container{display:flex;flex-direction:column;gap:.25rem;min-width:140px}.cgpt-usage-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.cgpt-usage-bar-bg{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.cgpt-usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#10b981 100%);border-radius:3px;transition:width .3s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.cgpt-header-controls{gap:.5rem}.cgpt-model-dropdown{padding:.35rem 1.75rem .35rem .6rem;font-size:.75rem}.cgpt-usage-meter-container{display:none}}.cgpt-root,.cgpt-main{background:radial-gradient(circle at 50% 50%,var(--background) 0%,color-mix(in srgb,var(--background) 95%,black) 100%)}.cgpt-header{background:color-mix(in srgb,var(--card) 70%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)!important}.cgpt-sidebar{background:color-mix(in srgb,var(--card) 75%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)!important}.cgpt-rightbar{background:color-mix(in srgb,var(--card) 75%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid color-mix(in srgb,var(--border) 50%,transparent)!important}.composer-fixed{background:linear-gradient(180deg,transparent 0%,var(--background) 20%);padding:1.5rem 1rem var(--spacing-md, 1rem) 1rem}.chat-input-form{background:color-mix(in srgb,var(--card) 70%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid color-mix(in srgb,var(--border) 60%,transparent)!important;box-shadow:0 4px 20px -2px #0000000d,inset 0 1px #ffffff1a}.chat-input-form:focus-within{border-color:var(--primary)!important;box-shadow:0 8px 30px -4px color-mix(in srgb,var(--primary) 20%,transparent)!important}.cgpt-build-suggestion-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:color-mix(in srgb,var(--primary) 8%,transparent);border:1.5px dashed var(--primary);border-radius:12px;padding:.75rem 1rem;margin:.25rem 1rem .5rem;animation:slideUp .3s ease-out;box-shadow:0 4px 15px #00000008;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cgpt-build-suggestion-text{font-size:.85rem;color:var(--text-primary);font-weight:500;line-height:1.4}.cgpt-build-suggestion-actions{display:flex;gap:.5rem;flex-shrink:0}.cgpt-suggestion-btn-apply{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px color-mix(in srgb,var(--primary) 20%,transparent)}.cgpt-suggestion-btn-apply:hover{background:var(--primary-hover, #2563eb);transform:translateY(-1px)}.cgpt-suggestion-btn-dismiss{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cgpt-suggestion-btn-dismiss:hover{background:var(--surface);color:var(--text-primary)}@media(max-width:640px){.cgpt-build-suggestion-banner{flex-direction:column;align-items:flex-start;gap:.75rem}.cgpt-build-suggestion-actions{width:100%;justify-content:flex-end}}.cgpt-welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:760px;margin:auto;padding:2.5rem 1.5rem;text-align:center;animation:fadeIn .4s ease-out}.cgpt-welcome-logo{width:60px;height:60px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 8px 16px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.cgpt-welcome-logo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.cgpt-welcome-logo:hover{border-color:var(--primary);box-shadow:0 0 20px color-mix(in srgb,var(--primary) 25%,transparent);transform:translateY(-2px)}.cgpt-welcome-logo-svg{color:var(--primary);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--primary) 50%,transparent));transition:all .3s ease}.cgpt-welcome-logo:hover .cgpt-welcome-logo-svg{transform:scale(1.1);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--primary) 80%,transparent))}.cgpt-welcome-badge{font-family:var(--font-mono, monospace);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);background:var(--surface);padding:.4rem .9rem;border-radius:6px;margin-bottom:1.25rem;border:1px solid var(--border);box-shadow:0 2px 4px #0000000d}.cgpt-welcome-title{font-size:2.25rem;font-weight:800;color:var(--text-primary);letter-spacing:var(--letter-spacing-tight);margin-bottom:.75rem;background:linear-gradient(to right,var(--text-primary) 60%,color-mix(in srgb,var(--text-primary) 70%,var(--primary)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.cgpt-welcome-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2.5rem;max-width:540px}.cgpt-welcome-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}.cgpt-welcome-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:left;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000000d;position:relative}.cgpt-welcome-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 12px 24px -8px #0003,0 4px 6px -2px #0000000d;background:color-mix(in srgb,var(--surface) 25%,var(--card))}.cgpt-welcome-card .card-header{font-size:.95rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;transition:all .2s ease}.cgpt-welcome-card:hover .card-header{color:var(--primary)}.card-icon-svg{color:var(--text-secondary);transition:all .2s ease}.cgpt-welcome-card:hover .card-icon-svg{color:var(--primary);transform:scale(1.05)}.cgpt-welcome-card .card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.45}@media(max-width:640px){.cgpt-welcome-chips{grid-template-columns:1fr}.cgpt-welcome-title{font-size:1.75rem}}.cgpt-composer-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;padding:0 .25rem;animation:fadeIn .2s ease-out}.cgpt-composer-chip{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .75rem;border-radius:99px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #00000005}.cgpt-composer-chip:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--card));transform:translateY(-1px);box-shadow:0 4px 8px #0000000d}.cgpt-scroll-bottom-btn{position:absolute;bottom:1.5rem;right:2rem;width:40px;height:40px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .2s ease;z-index:90;animation:fadeIn .2s ease-out}.cgpt-scroll-bottom-btn:hover{background:var(--surface);color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.cgpt-skill-selector{display:flex;background:var(--surface);border:1px solid var(--border);padding:3px;border-radius:10px;gap:3px;margin-right:var(--spacing-sm);align-items:center;box-shadow:inset 0 2px 4px #0000000d}.cgpt-skill-btn{font-size:.75rem;font-weight:500;padding:5px 10px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:7px;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px}.skill-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--text-secondary) 40%,transparent);transition:all .3s cubic-bezier(.4,0,.2,1)}.cgpt-skill-btn:hover{color:var(--text-primary);background:#ffffff05}.cgpt-skill-btn.active{color:var(--text-primary);background:var(--card);box-shadow:0 4px 12px #0000001a;font-weight:600}.cgpt-skill-btn.active:nth-child(1){border-color:#22c55e26;background:color-mix(in srgb,#22c55e 3%,var(--card))}.cgpt-skill-btn.active:nth-child(1) .skill-dot{background:#22c55e;box-shadow:0 0 8px #22c55ecc}.cgpt-skill-btn.active:nth-child(2){border-color:#3b82f626;background:color-mix(in srgb,#3b82f6 3%,var(--card))}.cgpt-skill-btn.active:nth-child(2) .skill-dot{background:#3b82f6;box-shadow:0 0 8px #3b82f6cc}.cgpt-skill-btn.active:nth-child(3){border-color:#a855f726;background:color-mix(in srgb,#a855f7 3%,var(--card))}.cgpt-skill-btn.active:nth-child(3) .skill-dot{background:#a855f7;box-shadow:0 0 8px #a855f7cc}@media(max-width:768px){.cgpt-skill-selector{display:none}}.cgpt-locked-root{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);min-height:calc(100vh - var(--nav-height, 64px));min-height:calc(100dvh - var(--nav-height, 64px));background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 40%),radial-gradient(circle at bottom left,rgba(168,85,247,.06),transparent 45%),var(--background)}.cgpt-locked-container{width:100%;max-width:600px;animation:messageSlideIn .5s cubic-bezier(.16,1,.3,1)}.cgpt-locked-card{background:color-mix(in srgb,var(--card) 60%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:24px;padding:var(--spacing-xl);box-shadow:0 20px 40px #00000026,inset 0 1px #ffffff0d;display:flex;flex-direction:column;align-items:center;text-align:center}.cgpt-locked-badge{display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);padding:.375rem 1rem;border-radius:99px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:1px;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);margin-bottom:var(--spacing-lg)}.cgpt-locked-badge .lock-icon{font-size:.875rem}.cgpt-locked-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;line-height:1.2;color:var(--text-primary);margin-bottom:var(--spacing-md);letter-spacing:var(--letter-spacing-tight);background:linear-gradient(135deg,var(--text-primary) 30%,color-mix(in srgb,var(--text-primary) 60%,var(--primary)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.cgpt-locked-subtitle{font-size:var(--font-size-md);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:500px}.cgpt-locked-features{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left}.cgpt-locked-feature{display:flex;gap:1rem;align-items:flex-start;padding:var(--spacing-md);background:color-mix(in srgb,var(--background) 40%,transparent);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:16px;transition:all .25s ease}.cgpt-locked-feature:hover{background:color-mix(in srgb,var(--background) 80%,transparent);border-color:color-mix(in srgb,var(--border) 50%,transparent);transform:translateY(-2px)}.feature-emoji{font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:color-mix(in srgb,var(--surface) 50%,transparent);border:1px solid color-mix(in srgb,var(--border) 30%,transparent);border-radius:10px;flex-shrink:0}.cgpt-locked-feature strong{display:block;font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.125rem}.cgpt-locked-feature p{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4;margin:0}.cgpt-locked-login-btn{width:100%;max-width:280px;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);font-weight:600;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;cursor:pointer;box-shadow:0 10px 25px -5px #3b82f666,0 8px 10px -6px #3b82f666;transition:all .25s cubic-bezier(.16,1,.3,1)}.cgpt-locked-login-btn:hover{box-shadow:0 15px 30px -5px #3b82f680,0 10px 15px -6px #3b82f680;transform:translateY(-2px);filter:brightness(1.05)}.cgpt-locked-login-btn:active{transform:translateY(0)}
