body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.start-screen{background:#111;height:100vh;overflow:hidden;position:relative;width:100%}.start-content{align-items:center;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;text-align:center;width:100%;z-index:1}.start-logo{color:#6200ea;font-size:2em;font-weight:700;margin-bottom:1em}.start-content h1,.start-logo{position:relative;z-index:2}.button-container{align-items:center;display:flex;justify-content:center;margin-top:1.7em;position:relative;width:100%}.button-container .btn-primary{margin-top:0}.btn-primary{border-radius:6px;font-size:1.3em;font-weight:500;margin-top:1.7em;padding:1.2em 2.4em;position:relative;scale:1.5;transition:transform .3s ease,box-shadow .3s ease;z-index:2}.btn-primary:hover{background:#4b00ba;box-shadow:0 0 20px #4b00ba99;transform:scale(1.05)}@media (min-width:1px){.start-screen{font-size:.5rem}}@media (min-width:1280px){.start-screen{font-size:.8rem}}@media (min-width:1920px){.start-screen{font-size:1.2rem}}@media (min-width:2560px){.start-screen{font-size:1.5rem}}*{box-sizing:border-box}.app-container{background-color:#f3f4f6;color:#1f2937;display:flex;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;height:100vh;overflow:hidden;width:100vw}.sidebar{border-right:1px solid #e5e7eb;box-shadow:4px 0 24px #00000005;flex-direction:column;height:100%;min-width:320px;width:400px;z-index:20}.sidebar,.sidebar-header{background:#fff;display:flex}.sidebar-header{align-items:center;border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:1.5rem}.brand-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6200ea,#b388ff);-webkit-background-clip:text;cursor:pointer;font-size:1.25rem;font-weight:800}.github-icon{color:#6b7280;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.github-icon:hover,.help-btn{color:#6200ea}.help-btn{align-items:center;background:#0000;border:2px solid #6200ea;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.help-btn:hover{background:#6200ea;color:#fff;transform:scale(1.1)}.sidebar-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 6rem}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:20px}.section-title{color:#9ca3af;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;margin-top:.5rem;text-transform:uppercase}.accordion-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;overflow:hidden;transition:box-shadow .2s,border-color .2s}.accordion-item:hover{border-color:#d1d5db}.accordion-item.active{border-color:#6200ea;box-shadow:0 4px 12px #6200ea14}.accordion-header{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;padding:1rem;text-align:left;width:100%}.accordion-icon{color:#9ca3af;font-size:.8rem;transition:transform .2s}.accordion-item.active .accordion-icon{color:#6200ea;transform:rotate(180deg)}.accordion-body{animation:fadeIn .2s ease-in-out;display:none;padding:0 1rem 1rem}.accordion-item.active .accordion-body{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.chips-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s;-webkit-user-select:none;user-select:none}.chip:hover{background:#f3f4f6;border-color:#d1d5db}.chip.selected{background:#6200ea;border-color:#6200ea;box-shadow:0 2px 4px #6200ea33;color:#fff}.workspace{flex:1 1;flex-direction:column;height:100%;overflow-y:auto;padding:2rem;position:relative}.workspace,.workspace-header{align-items:center;display:flex}.workspace-header{justify-content:space-between;margin-bottom:2rem;max-width:1000px;width:100%}.workspace-title h1{color:#111827;font-size:1.8rem;font-weight:700;margin:0}.workspace-title p{color:#6b7280;margin-top:.5rem}.upload-container{align-items:center;background:#fff;border:2px dashed #e5e7eb;border-radius:20px;box-shadow:0 10px 40px -10px #00000014;display:flex;flex-direction:column;justify-content:center;max-width:1000px;min-height:400px;padding:2rem;position:relative;transition:border-color .2s;width:100%}.upload-container.has-image{background:#0000;border:none;box-shadow:none;display:block;min-height:auto;padding:0}.empty-state{align-items:center;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:4rem 2rem;text-align:center;width:100%}.empty-state:hover{background-color:#fafafa}.upload-icon{color:#d1d5db;font-size:3rem;margin-bottom:1rem}.upload-label{color:#374151;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.upload-sublabel{color:#9ca3af;margin-bottom:2rem}.file-input{display:none}.btn-example{background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-weight:500;margin-top:1rem;padding:.6rem 1.2rem;transition:all .2s}.btn-example:hover{border-color:#6200ea;color:#6200ea}.results-grid{grid-gap:2rem;animation:slideUp .4s ease-out;display:grid;gap:2rem;grid-template-columns:1fr 1fr;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;padding:1rem}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 .5rem}.result-header h3{color:#374151;font-size:1rem;font-weight:600;margin:0}.image-wrapper{align-items:center;aspect-ratio:4/3;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;overflow:hidden;width:100%}.image-wrapper img{height:100%;object-fit:contain;width:100%}.sidebar-footer{background:#fff;border-top:1px solid #e5e7eb;padding:1.5rem}.btn-generate{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 14px #6200ea4d;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:transform .1s,background .2s;width:100%}.btn-generate:hover{background:#5000cc;transform:translateY(-1px)}.btn-generate:active{transform:translateY(1px)}.btn-generate:disabled{background:#a5b4fc;box-shadow:none;cursor:not-allowed;transform:none}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border-radius:16px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:50}.loading-text{color:#6200ea;font-weight:600;margin-top:1rem}.modal-overlay{align-items:center;animation:fadeIn .2s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:100}.modal-content{animation:slideUpModal .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-sizing:border-box;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;position:relative;width:95%}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{background:#fff;border-radius:50%;color:#9ca3af;cursor:pointer;float:right;font-size:1.5rem;line-height:1;margin-right:-1rem;margin-top:-1rem;padding:.5rem;position:-webkit-sticky;position:sticky;top:0;transition:color .2s;z-index:10}.modal-close:hover{color:#111827}.modal-content h2{color:#111827;font-size:1.5rem;margin-top:0}.help-section,.modal-content h2{margin-bottom:1.5rem}.help-section h3{color:#6200ea;font-size:1rem;margin-bottom:.5rem}.help-section li,.help-section p{color:#4b5563;font-size:.95rem;line-height:1.5}.help-section ol{margin:0;padding-left:1.2rem}.help-section li{margin-bottom:.5rem}.example-sketch-display{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1rem;padding:1rem;text-align:center}.example-sketch-display img{border:1px solid #ddd;border-radius:4px;display:block;margin:0 auto .5rem;max-width:150px}.example-sketch-display span{color:#6b7280;font-size:.8rem}.btn-modal{align-items:center;background:#6200ea;border:none;border-radius:12px;box-shadow:0 4px 14px #6200ea4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:transform .1s,background .2s;width:100%}.btn-modal:hover{background:#5000cc;transform:translateY(-1px)}.btn-modal:active{transform:translateY(1px)}@media (max-width:1024px){.app-container{flex-direction:column;overflow-y:auto}.sidebar{border-bottom:1px solid #e5e7eb;border-right:none;height:auto;width:100%}.sidebar-content{max-height:300px;padding-bottom:1rem}.workspace{min-height:500px;padding:1rem}.results-grid{grid-template-columns:1fr}}@media (max-width:525px){.app-container{font-size:.8rem}.sidebar{border-bottom:1px solid #e5e7eb;border-right:none;height:auto;width:100%}.sidebar-content,.sidebar-footer,.sidebar-header{padding:.5rem}.sidebar-content{max-height:150px;padding-bottom:.3rem}.upload-container{border-width:1.5px;min-height:100px;padding:1rem}.workspace{min-height:150px;padding:1rem}.upload-icon{font-size:1.5rem;margin-bottom:.5rem}.upload-label{font-size:.8rem;margin-bottom:.25rem}.upload-sublabel{font-size:.7rem;margin-bottom:1rem}.btn-example{font-size:.7rem;margin-top:.5rem;padding:.4rem .8rem}.workspace-header{margin-bottom:.3rem}.workspace-title,.workspace-title h1{font-size:.8rem}.empty-state{font-size:.7rem;padding:.5rem}.brand-logo{font-size:1rem}.help-btn{font-size:.8rem;height:24px;width:24px}.section-title{font-size:.7rem;margin-bottom:.3rem}.accordion-header{font-size:.7rem;padding:.3rem}.chip{font-size:.65rem;padding:.25rem .6rem}.btn-generate{border-radius:7px;font-size:.8rem;padding:.5rem}.modal-content{padding:1rem;width:90%}.modal-content h2{font-size:1.1rem;margin-bottom:1rem}.help-section h3{font-size:.7rem;margin-bottom:.1rem}.help-section li,.help-section p{font-size:.7rem;line-height:1.2}.example-sketch-display img{max-width:90px}.example-sketch-display span{font-size:.6rem}}.error-banner{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.9rem;margin-bottom:1rem;padding:.75rem;text-align:center}body{background:#fff;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}h1,h2,h3,h4{margin:.5em 0}button{border:none;border-radius:4px;cursor:pointer}.btn-primary{background:#6200ea;color:#fff;font-size:1em;padding:.6em 1.2em}.btn-secondary{background:#03dac5;color:#333;margin:.5em 0;padding:.4em .8em}.btn-generate{background:#6200ea;color:#fff;margin:1em 0;padding:.6em 1.2em}