:root{--bg-primary:#1e1e1e;--bg-secondary:#252525;--bg-tertiary:#2d2d2d;--bg-hover:#3a3a3a;--bg-active:#4a4a4a;--accent:#4a9eff;--accent-hover:#6ab0ff;--accent-active:#ff6b6b;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--border:#3d3d3d;--shadow:#0000004d}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}#layout{grid-template:"display header""bottom-left canvas"1fr"bottom-left bottom-right"/1fr 1fr;height:100%;display:grid}#layout>div{z-index:1;pointer-events:none}#layout>div>*{pointer-events:auto}#layout .viewer{z-index:0;pointer-events:auto;grid-area:1/1/4/3}#layout .header{grid-area:header;place-self:start end;align-items:flex-start;gap:8px;padding:6px 6px 0 0;display:flex}#layout .display{grid-area:display;align-self:start}#layout .bottom-left{grid-area:bottom-left;align-self:end;min-width:0}#layout .bottom-right{grid-area:bottom-right;justify-content:flex-end;align-self:end;min-width:0;padding:0 10px 10px;display:flex}#layout .bottom-right:empty{display:none}#layout .canvas{grid-area:canvas;align-self:stretch;min-width:0;min-height:0;padding:10px;overflow:hidden}#layout:has(#canvas:not(.open)) .canvas{display:none}#layout:has(#canvas:not(.open)):has(.bottom-right:empty) .bottom-left{grid-area:2/1/4/-1}@media (width<=1024px){#layout{grid-template:"display""header""canvas"minmax(0,1fr)"bottom-right""bottom-left"/1fr}#layout .viewer{grid-area:1/1/6/2}}#viewer{background:var(--bg-primary);width:100%;height:100%;margin:0;padding:0;overflow:hidden}#display{background:var(--bg-secondary);border:1px solid var(--border);width:280px;box-shadow:0 1px 4px var(--shadow);-webkit-user-select:none;user-select:none;border-radius:0 0 4px 4px;margin-left:8px;overflow:hidden}#display summary{cursor:pointer;background:var(--bg-tertiary);color:var(--text-primary);border-bottom:1px solid var(--border);padding:6px 10px;font-size:.8rem;font-weight:500;transition:background .2s}#display summary:hover,#display[open] summary{background:var(--bg-hover)}#display .display-item{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;transition:background .15s;display:flex}#display .display-item:last-child{border-bottom:none}#display .display-item:hover{background:var(--bg-tertiary)}#display .display-item label{color:var(--text-secondary);margin-right:auto;font-size:.8rem}#display .display-item input[type=number]{background:var(--bg-primary);max-width:50px;color:var(--text-primary);border:1px solid var(--border);border-radius:3px;padding:3px 6px;font-size:.8rem;transition:border-color .2s}#display .display-item input[type=range]{cursor:pointer;width:50px;margin:0}#display .display-item input[type=number]:focus{border-color:var(--accent);outline:none}#display .value-display{min-width:25px;color:var(--text-secondary);text-align:right;font-size:.8rem}#list{background:var(--bg-secondary);border:1px solid var(--border);-webkit-user-select:none;user-select:none;transform-origin:0 100%;border-bottom:none;border-radius:4px 4px 0 0;flex-direction:column-reverse;width:210px;max-height:400px;margin-left:8px;transition:opacity .3s,transform .3s;display:flex;overflow-y:auto}#list[open]{animation:.3s forwards slideIn}#list:not([open]){animation:.3s forwards slideOut}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.95)}}#list::-webkit-scrollbar{width:8px}#list::-webkit-scrollbar-track{background:var(--bg-primary)}#list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#list>summary{display:none}#list .components-item{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;transition:background .15s;display:flex}#list .components-item:last-child{border-bottom:none}#list .components-item:hover{background:var(--bg-tertiary)}#list .components-item.active{background:var(--bg-tertiary);border-left:3px solid var(--accent);padding-left:7px}#list .components-item.active label{color:var(--text-primary);font-weight:600}#list .components-item label{color:var(--text-secondary);cursor:pointer;margin-right:auto;font-size:.8rem}#list .components-rename-input{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--accent);border-radius:3px;outline:none;width:100%;margin-right:auto;padding:2px 6px;font-size:.8rem}#list .components-templates{border-top:1px solid var(--border)}#list .components-divider{background:var(--bg-primary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);cursor:pointer;padding:6px 10px;font-size:.7rem;font-weight:600;transition:background .2s}#list .components-divider:hover{background:var(--bg-tertiary)}#list .components-copy-btn{cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);opacity:0;border-radius:3px;padding:2px 8px;font-size:.9rem;font-weight:600;transition:all .2s}#list .components-item.template:hover .components-copy-btn{opacity:1}#list .components-copy-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:scale(1.1)}#list .components-copy-btn:active{transform:scale(.95)}#list .components-delete-btn{cursor:pointer;color:var(--text-secondary);opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 6px;font-size:1.2rem;font-weight:600;line-height:1;transition:all .2s}#list .components-item:hover .components-delete-btn{opacity:1}#list .components-delete-btn:hover{background:var(--accent-active);color:#fff;border-color:var(--accent-active)}#list .components-delete-btn:active{transform:scale(.95)}#parameters{background:var(--bg-secondary);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-bottom:none;border-left:none;border-radius:0 4px 4px 0;width:210px;overflow:hidden}#parameters.hidden{display:none}#parameters>div{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;transition:background .15s;display:flex}#parameters>div:last-child{border-bottom:none}#parameters>div:hover{background:var(--bg-tertiary)}#parameters label{color:var(--text-secondary);margin-right:auto;font-size:.8rem}#parameters input[type=number],#parameters input[type=text]{background:var(--bg-primary);max-width:80px;color:var(--text-primary);border:1px solid var(--border);border-radius:3px;padding:3px 6px;font-size:.8rem;transition:border-color .2s}#parameters input[type=number]:focus,#parameters input[type=text]:focus{border-color:var(--accent);outline:none}#parameters input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}#analysis-status{cursor:default;justify-content:center;align-items:center;padding:4px 10px;display:flex;position:relative}#analysis-status .dot{border-radius:50%;width:10px;height:10px;transition:background .3s,box-shadow .3s}#analysis-status .label:not(:empty){color:var(--text-secondary);white-space:nowrap;margin-left:9px;font-size:.75rem;line-height:10px}#analysis-status .tooltip{background:var(--bg-tertiary);color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px;padding:4px 8px;font-size:.75rem;transition:opacity .2s;position:absolute;bottom:100%;left:0}#analysis-status:hover .tooltip{opacity:1}#analysis-status .dot.success{background:#4caf50;box-shadow:0 0 4px #4caf5088}#analysis-status .dot.error{background:#ff6b6b;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 4px #ff6b6b88}#analysis-status .dot.warning{position:relative;overflow:visible}#analysis-status .dot.warning:after{content:"⚠";color:#ffa726;font-size:.55rem;line-height:1;position:absolute;top:-7px;right:-9px}@keyframes pulse{0%,to{box-shadow:0 0 4px #ff6b6b88}50%{box-shadow:0 0 10px #ff6b6bcc}}#components-bar{background:var(--bg-secondary);border:1px solid var(--border);width:fit-content;box-shadow:0 1px 4px var(--shadow);border-radius:0 4px 4px 0;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:6px;display:flex}#components-bar .components-bar-button{cursor:pointer;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s}#components-bar .components-bar-button:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}#components-bar .components-bar-button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px var(--bg-secondary), 0 0 0 3px var(--accent)}#components-bar .analysis-badge{opacity:.75;margin-left:4px;font-size:.65rem;font-weight:400}#components-bar .components-bar-button.active .analysis-badge{opacity:.9}#components-bar #analysis-status{border-left:1px solid var(--border);margin-left:4px;padding:4px 6px 4px 10px}#components{width:fit-content}#components .components-column{align-items:flex-end;display:flex}#docs{flex-direction:column;gap:12px;display:flex}#docs h3{color:var(--text-primary);opacity:.9;margin:0 0 4px;font-size:.85rem;font-weight:600}.doc-item{color:var(--text-secondary);align-items:baseline;gap:8px;padding:4px 0;font-size:.8rem;line-height:1.6;display:flex}.doc-item strong{color:var(--text-primary);font-weight:500}.doc-number{width:14px;color:var(--accent);opacity:.8;flex-shrink:0;font-size:.75rem;font-weight:600}.doc-contact{color:var(--text-secondary);border-top:1px solid var(--border);margin-top:4px;padding:12px 0 0;font-size:.75rem}.doc-contact a{color:var(--accent);text-decoration:none;transition:color .2s}.doc-contact a:hover{color:var(--accent-hover)}#canvas-bar{gap:8px;display:flex}#canvas-bar button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}#canvas-bar button:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}#canvas-bar button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px var(--bg-secondary), 0 0 0 3px var(--accent)}#canvas-bar button.docs-button{border-radius:50%;justify-content:center;width:28px;height:28px;padding:0}#canvas{background:var(--bg-secondary);border:1px solid var(--border);width:100%;height:100%;box-shadow:0 2px 8px var(--shadow);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;display:none;overflow:hidden}#canvas.open{display:flex}.canvas-header{border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 12px;display:flex}.canvas-header-left{align-items:center;gap:10px;display:flex}.canvas-header h2{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:500}.canvas-header .print-button{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:3px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.canvas-header .print-button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.canvas-header .close-button{color:var(--text-secondary);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:1.3rem;line-height:1;transition:all .2s;display:flex}.canvas-header .close-button:hover{background:var(--bg-hover);color:var(--text-primary);opacity:1}.canvas-header .close-button:active{background:var(--bg-active)}.canvas-body{background:var(--bg-primary);flex:1;padding:12px;overflow:hidden auto}@media print{:root{--text-primary:#111;--text-secondary:#555;--border:#ccc;--bg:#fff;--bg-primary:#fff;--bg-secondary:#fff;--bg-tertiary:#f5f5f5;--shadow:none}html.printing-canvas,body.printing-canvas{height:auto!important;position:static!important;overflow:visible!important}body.printing-canvas>:not(#layout){display:none!important}body.printing-canvas #layout{height:auto!important;display:block!important;position:static!important;overflow:visible!important}body.printing-canvas #layout>div:not(.canvas){display:none!important}body.printing-canvas #layout .canvas{width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-canvas #canvas{box-shadow:none!important;border:none!important;width:100%!important;height:auto!important;display:block!important;position:static!important;overflow:visible!important}body.printing-canvas .canvas-header{display:none!important}body.printing-canvas .canvas-body{height:auto!important;padding:0!important;display:block!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}[style*="opacity: 0.6"]{opacity:1!important}[style*="background: #f59e0b"],[style*="background:#f59e0b"]{color:#7a5800!important;background:#fff8e1!important;border:1px solid #d97706!important}[style*="color: #f59e0b"]{color:#7a5800!important}[style*="background: #10b981"],[style*="background:#10b981"]{color:#065f46!important;background:#ecfdf5!important;border:1px solid #059669!important}[style*="color: #10b981"]{color:#065f46!important}[style*="background: #ef4444"],[style*="background:#ef4444"]{color:#991b1b!important;background:#fef2f2!important;border:1px solid #dc2626!important}[style*="color: #ef4444"]{color:#991b1b!important}}#welcome{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#welcome .welcome-card{background:var(--bg-secondary);border:1px solid var(--border);text-align:center;border-radius:8px;width:90%;max-width:440px;padding:2.5rem;animation:.3s ease-out welcomeSlideUp;box-shadow:0 20px 60px #00000080}@keyframes welcomeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#welcome .welcome-title{color:var(--text-primary);margin:0 0 .75rem;font-size:1.5rem;font-weight:700;line-height:1.3}#welcome .welcome-message{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.875rem;line-height:1.6}#welcome .free-plan-card{background:var(--bg-tertiary);border:1px solid var(--border);text-align:left;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}#welcome .free-plan-header{justify-content:space-between;align-items:baseline;margin-bottom:.375rem;display:flex}#welcome .free-plan-name{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:.8rem;font-weight:600}#welcome .free-plan-price{color:var(--text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}#welcome .free-plan-note{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.75rem}#welcome .free-plan-features{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}#welcome .free-plan-features li{color:var(--text-primary);font-size:.8rem}#welcome .welcome-providers{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}#welcome .welcome-provider-btn{border:1px solid var(--border);cursor:pointer;background:var(--bg-tertiary);width:100%;min-height:36px;color:var(--text-primary);border-radius:3px;justify-content:center;align-items:center;gap:.5rem;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}#welcome .welcome-provider-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}#welcome .welcome-provider-btn:disabled{cursor:not-allowed;opacity:.5}#welcome .welcome-provider-btn:active:not(:disabled){transform:scale(.98)}#welcome .provider-icon{width:20px;height:20px}#welcome .provider-icon.google{background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"%234285f4\" d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"/><path fill=\"%2334a853\" d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"/><path fill=\"%23fbbc05\" d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"/><path fill=\"%23ea4335\" d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"/></svg>") 50%/contain no-repeat}#welcome .provider-icon.microsoft{background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21 21\"><rect fill=\"%23f25022\" width=\"10\" height=\"10\"/><rect fill=\"%2300a4ef\" x=\"11\" width=\"10\" height=\"10\"/><rect fill=\"%237fba00\" y=\"11\" width=\"10\" height=\"10\"/><rect fill=\"%23ffb900\" x=\"11\" y=\"11\" width=\"10\" height=\"10\"/></svg>") 50%/contain no-repeat}#welcome .welcome-legal{color:var(--text-secondary);opacity:.7;margin:0;font-size:.7rem;line-height:1.5}#welcome .welcome-legal a{color:var(--accent);text-decoration:none}#welcome .welcome-legal a:hover{text-decoration:underline}#prompts{flex-direction:column;align-items:flex-end;gap:10px;width:min(100%,420px);display:flex}#prompts .prompts-shell{width:100%;overflow:visible}#prompts .prompts-trigger{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.9;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:4px;justify-content:center;align-self:flex-end;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}#prompts .prompts-trigger-icon{flex-shrink:0;line-height:1}#prompts .prompts-trigger:hover{opacity:1;transform:translateY(-1px);box-shadow:0 4px 8px #0003}#prompts .prompts-trigger:active{transform:translateY(0)}@media (width<=768px){#prompts{align-items:stretch;width:100%}#prompts .prompts-trigger{align-self:flex-end}}.ai-modeler-panel{background-color:var(--bg-primary,#1e1e2e);border:1px solid var(--border-color,#3a3a5a);width:100%;color:var(--text-primary,#e2e8f0);border-radius:10px;flex-direction:column;gap:12px;padding:18px;font-family:inherit;display:flex;box-shadow:0 12px 40px #000000b3}.ai-modeler-header{align-items:center;gap:8px;display:flex}.ai-modeler-close-button{color:var(--text-secondary,#94a3b8);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;padding:0;font-size:1.3rem;line-height:1;transition:all .2s;display:flex}.ai-modeler-close-button:hover{background:var(--bg-hover,#3a3a4f);color:var(--text-primary,#e2e8f0);opacity:1}.ai-modeler-close-button:active{background:var(--bg-active,#4a4a5f)}.ai-modeler-title{color:var(--text-primary,#e2e8f0);font-size:.85rem;font-weight:600}.ai-modeler-experimental-tag{text-transform:uppercase;letter-spacing:.05em;color:#a5b4fc;cursor:default;background-color:#6366f126;border:1px solid #6366f159;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:600;position:relative}.ai-modeler-experimental-tag[data-tooltip]:after{content:attr(data-tooltip);color:#94a3b8;text-transform:none;letter-spacing:0;white-space:normal;pointer-events:none;opacity:0;z-index:10;background:#1a1a2e;border:1px solid #6366f140;border-radius:6px;width:220px;padding:7px 10px;font-size:.72rem;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0006}.ai-modeler-experimental-tag[data-tooltip]:hover:after{opacity:1}.ai-modeler-form{flex-direction:column;gap:12px;display:flex}.ai-modeler-form label{color:var(--text-secondary,#94a3b8);font-size:.8rem;font-weight:500;line-height:1.4}.ai-modeler-heading{flex-direction:column;gap:8px;display:flex}.ai-modeler-input{background:var(--bg-secondary,#2a2a3e);border:1px solid var(--border-color,#4a4a6a);width:100%;color:var(--text-primary,#fff);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:80px;padding:10px;font-family:inherit;font-size:.8rem}.ai-modeler-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f133}.ai-modeler-reset-link{color:#c7d2fe;cursor:pointer;background:0 0;border:1px solid #6366f159;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:.8rem;font-weight:500}.ai-modeler-reset-link:disabled{opacity:.5;cursor:not-allowed}.ai-modeler-actions{flex-direction:column;gap:8px;display:flex}.ai-modeler-meta{justify-content:space-between;align-items:center;display:flex}.ai-modeler-usage{color:var(--text-secondary,#94a3b8);align-items:center;gap:8px;font-size:.72rem;display:inline-flex}.ai-modeler-upgrade-link{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;font-weight:600;transition:color .15s}.ai-modeler-upgrade-link:hover{color:#c7d2fe}.ai-modeler-undo-link{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;transition:color .15s}.ai-modeler-undo-link:hover:not(:disabled){color:#c7d2fe}.ai-modeler-undo-link:disabled{opacity:.35;cursor:not-allowed}.ai-modeler-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:.8rem;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #0003}.ai-modeler-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.ai-modeler-btn:active{transform:translateY(0)}.ai-modeler-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-modeler-secondary-btn{background:var(--bg-secondary,#2a2a3e);border:1px solid var(--border,#4a4a6a);color:var(--text-primary,#fff);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s}.ai-modeler-secondary-btn:hover{background:var(--bg-hover,#3a3a4f);transform:translateY(-1px)}.ai-modeler-secondary-btn:active{transform:translateY(0)}.ai-modeler-secondary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-modeler-status{word-break:break-word;border-radius:6px;padding:10px;font-size:.8rem;line-height:1.4}.ai-modeler-status:empty{display:none}.ai-modeler-status.info{color:#818cf8;background-color:#6366f126;border:1px solid #6366f14d}.ai-modeler-status.error{color:#fca5a5;background-color:#ef444426;border:1px solid #ef44444d}.ai-modeler-status.success{color:#86efac;background-color:#22c55e26;border:1px solid #22c55e4d}#projects .projects{--projects-panel-width:240px;flex-direction:column;align-items:flex-end;display:flex}#projects{align-self:flex-start}#projects .projects-btn{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s}#projects .projects-btn:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}#projects .projects-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px var(--bg-secondary), 0 0 0 3px var(--accent)}#projects #projects-list{width:var(--projects-panel-width);transform-origin:100% 0;transform:translate(-100%)}#projects .projects-panel{width:0;margin-top:8px;overflow:visible}#projects #projects-list{width:var(--projects-panel-width);background:var(--bg-secondary);border:1px solid var(--border);max-height:420px;box-shadow:0 8px 24px var(--shadow);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;transition:opacity .2s,transform .2s;animation:.2s forwards projectsDropdownIn;display:flex;overflow-y:auto}@keyframes projectsDropdownIn{0%{opacity:0;transform:translate(-100%)translateY(-8px)scale(.98)}to{opacity:1;transform:translate(-100%)translateY(0)scale(1)}}#projects #projects-list::-webkit-scrollbar{width:8px}#projects #projects-list::-webkit-scrollbar-track{background:var(--bg-primary)}#projects #projects-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#projects #projects-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#projects #projects-list .projects-item{border-bottom:1px solid var(--border);align-items:center;gap:6px;min-height:38px;padding:6px 10px;transition:background .15s;display:flex}#projects #projects-list .projects-item:hover{background:var(--bg-tertiary)}#projects #projects-list .projects-item.active{background:var(--bg-tertiary);border-left:3px solid var(--accent);padding-left:7px}#projects #projects-list .projects-item.active label{color:var(--text-primary);font-weight:600}#projects #projects-list .projects-item.loading{cursor:progress}#projects #projects-list .projects-item.creating{background:var(--bg-primary)}#projects #projects-list .projects-item-content{align-items:center;gap:6px;min-width:0;margin-right:auto;display:flex}#projects #projects-list .projects-item label{min-width:0;color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}#projects #projects-list .projects-rename-input{background:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--accent);border-radius:3px;outline:none;margin-right:auto;padding:2px 6px;font-size:.8rem}#projects #projects-list .projects-delete-btn{color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 6px;font-size:1.2rem;font-weight:600;line-height:1;transition:all .2s}#projects #projects-list .projects-item:hover .projects-delete-btn{opacity:1}#projects #projects-list .projects-delete-btn:hover:not(:disabled){background:var(--accent-active);color:#fff;border-color:var(--accent-active)}#projects #projects-list .projects-delete-btn:disabled{cursor:not-allowed;opacity:.4}#projects #projects-list .projects-add-btn{background:var(--bg-primary);width:100%;color:var(--text-secondary);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;padding:8px 10px;font-size:.8rem;transition:background .15s}#projects #projects-list .projects-add-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}#projects #projects-list .projects-add-btn:disabled{cursor:not-allowed;opacity:.5}#projects #projects-list .projects-signout-btn{background:var(--bg-primary);width:100%;color:var(--text-secondary);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;padding:8px 10px;font-size:.8rem;transition:background .15s}#projects #projects-list .projects-signout-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}#projects #projects-list .projects-empty,#projects #projects-list .projects-error{border-top:1px solid var(--border);padding:10px;font-size:.75rem}#projects #projects-list .projects-empty{color:var(--text-secondary)}#projects #projects-list .projects-error{color:#ff8d96;background:#ff6b6b1f}#projects #projects-list .projects-error .projects-error-link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}#projects #projects-list .projects-error .projects-error-link:hover{text-decoration-thickness:2px}#upgrade{background:var(--bg-primary);box-sizing:border-box;height:100%;padding:2.5rem 1.5rem 4rem;overflow-y:auto}.upgrade-header{max-width:560px;margin:0 auto 2.5rem}.upgrade-title{color:var(--text-primary);margin:0 0 .375rem;font-size:1.5rem;font-weight:700}.upgrade-subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.upgrade-cards{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1rem;max-width:700px;margin:0 auto 3rem;display:flex}.plan-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;min-width:240px;max-width:340px;padding:1.5rem;display:flex}.plan-card-pro{border-color:var(--accent);box-shadow:0 4px 16px var(--shadow)}.plan-header{justify-content:space-between;align-items:baseline;margin-bottom:.375rem;display:flex}.plan-name{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:.8rem;font-weight:600}.plan-card-pro .plan-name{color:var(--accent)}.plan-price{color:var(--text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.plan-note{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.75rem}.plan-features{flex-direction:column;flex:1;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.plan-features li{color:var(--text-primary);font-size:.8rem}.plan-features li.excluded{color:var(--text-secondary);opacity:.5}.plan-btn{cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:3px;padding:8px 16px;font-size:.8rem;font-weight:500;transition:all .2s}.plan-btn:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-1px)}.plan-btn-pro{background:var(--accent);border-color:var(--accent);color:#fff}.plan-btn-pro:hover{opacity:.9}.upgrade-disclaimer{max-width:560px;color:var(--text-secondary);opacity:.6;margin:0 auto 2rem;font-size:.75rem}.upgrade-faq{max-width:560px;margin:0 auto}.faq-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .5rem;font-size:.8rem;font-weight:600}.faq-item{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.faq-row{justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;display:flex}.faq-row span:first-child{color:var(--text-primary);font-size:.875rem}.faq-toggle{color:var(--text-secondary);flex-shrink:0;font-size:1rem;line-height:1;transition:transform .25s}.faq-toggle.open{transform:rotate(45deg)}.faq-answer{opacity:0;max-height:0;transition:max-height .3s,opacity .25s;overflow:hidden}.faq-answer.open{opacity:1;max-height:120px}.faq-answer p{color:var(--text-secondary);margin:0;padding-bottom:.875rem;font-size:.8rem;line-height:1.6}.upgrade-error{color:#ef4444;background:#dc26261a;border:1px solid #dc26264d;border-radius:6px;max-width:560px;margin:0 auto 1.5rem;padding:.75rem 1rem;font-size:.8rem}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.plan-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.success-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.success-message{color:var(--text-secondary);max-width:400px;margin:0;font-size:.875rem}.success-details{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;margin-top:1rem;padding:1rem 1.5rem;display:flex}.detail-item{justify-content:space-between;gap:2rem;display:flex}.detail-label{color:var(--text-secondary);font-size:.8rem}.detail-value{color:var(--text-primary);font-size:.8rem;font-weight:600}
