@import url(https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Product+Sans:wght@400;500;700&display=swap);.main-page{min-height:100vh;width:100vw;padding:4rem 2rem;display:flex;justify-content:center;align-items:center;background-color:#000;color:#fff;background-image:radial-gradient(circle at 25% 25%,rgba(66,133,244,.1) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(234,67,53,.1) 0,transparent 50%)}.container{max-width:1200px;width:100%;margin:0 auto;padding:0 2rem}.title{font-size:4.5rem;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3);line-height:1.1}.subtitle{font-size:1.5rem;opacity:.9;max-width:700px;line-height:1.4}.description{max-width:700px;margin:3rem 0;padding:0;font-size:1.2rem;line-height:1.7;text-align:left;font-family:Product Sans,sans-serif;opacity:.85}.options-container{display:flex;justify-content:flex-start;gap:2rem;margin-top:3rem;flex-wrap:wrap}.option-card{position:relative;width:380px;height:240px;border-radius:16px;overflow:hidden;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);cursor:pointer;box-shadow:0 10px 30px -5px rgba(0,0,0,.3)}.option-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px -5px rgba(0,0,0,.4)}.card-bg{background-size:cover;background-position:50%;transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:1}.card-bg,.card-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.card-overlay{background:rgba(0,0,0,.5);backdrop-filter:blur(2px);z-index:2;transition:opacity .3s ease}.card-content{position:relative;z-index:3;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:2rem;color:#fff;text-align:left}.card-content h2{font-size:2rem;margin-bottom:.5rem;font-family:Instrument Sans,sans-serif;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.card-description{font-size:1rem;opacity:.9;margin-bottom:1.5rem;font-family:Product Sans,sans-serif;max-width:80%;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.3)}.arrow-container{display:flex;justify-content:flex-start;width:100%}.arrow{transition:all .3s cubic-bezier(.16,1,.3,1)}@media (max-width:1024px){.title{font-size:3.5rem}.subtitle{font-size:1.3rem}.option-card{width:100%;max-width:100%}}@media (max-width:768px){.main-page{padding:2rem 1.5rem}.title{font-size:2.8rem}.subtitle{font-size:1.2rem}.description{font-size:1.1rem}.options-container{flex-direction:column;gap:1.5rem}}@media (max-width:480px){.title{font-size:2.2rem}.subtitle{font-size:1.1rem}.description{font-size:1rem}.card-content h2{font-size:1.7rem}.card-description{font-size:.9rem}}.genvision-app{min-height:100vh;width:100vw;padding:2rem;display:flex;justify-content:center;align-items:flex-start;background-color:#000;color:#fff;box-sizing:border-box}.genvision-container{max-width:1200px;width:100%;margin:0 auto;animation:fadeIn .5s ease-out}.subtitle,.title{font-family:Product Sans,sans-serif}.prompt-container{margin:2rem 0;background-color:hsla(0,0%,100%,.02);border-radius:16px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)}.prompt-box{margin-bottom:2rem}.prompt-box textarea{width:100%;min-height:150px;padding:1rem;border-radius:12px;border:1px solid hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.05);color:#fff;font-size:1rem;font-family:Product Sans,sans-serif;resize:vertical;transition:border-color .3s ease}.prompt-box textarea:focus{outline:none;border-color:#4285f4}.prompt-box textarea:disabled{opacity:.5;cursor:not-allowed}.error-message{margin-top:.5rem;color:#ea4335;font-size:.9rem;font-family:Product Sans,sans-serif}.mode-selection{display:flex;gap:1rem;margin-bottom:2rem}.mode-option{flex:1;padding:1.5rem;border-radius:12px;background-color:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);cursor:pointer;transition:all .3s ease}.mode-option:hover:not(.disabled){background-color:hsla(0,0%,100%,.1);transform:translateY(-2px)}.mode-option.active{background-color:rgba(66,133,244,.2);border-color:#4285f4}.mode-option.disabled{opacity:.6;cursor:not-allowed}.mode-option h3{font-size:1.25rem;margin-bottom:.5rem;font-family:Instrument Sans,sans-serif;font-weight:700}.mode-option p{font-size:.9rem;opacity:.8}.generate-btn,.mode-option p{font-family:Product Sans,sans-serif}.generate-btn{width:100%;padding:1.25rem;border-radius:12px;border:none;background-color:#4285f4;color:#fff;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.generate-btn:hover:not(:disabled){background-color:#3367d6;transform:translateY(-2px);box-shadow:0 4px 12px rgba(66,133,244,.3)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.status-gpu-ok,.status-ok{color:#34a853}.status-busy,.status-gpu-busy,.status-gpu-ok,.status-ok{font-family:Product Sans,Instrument Sans,sans-serif;font-weight:600}.status-busy,.status-gpu-busy{color:#ea4335}.mode-info-modal,.processing-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.85)!important;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(8px)!important}.modal-content{background-color:rgba(30,30,30,.95);padding:2rem;border-radius:16px;max-width:500px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.1);text-align:center}.modal-content h3{font-size:1.5rem;margin-bottom:1rem;font-family:Instrument Sans,sans-serif;font-weight:700}.modal-content p{margin-bottom:2rem;font-family:Product Sans,sans-serif;line-height:1.6}.modal-content .error-message{color:#ea4335;margin-top:1rem;margin-bottom:0}.modal-content button{padding:.75rem 1.5rem;border-radius:8px;border:none;background-color:#34a853;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Product Sans,sans-serif;margin:.5rem}.modal-content button:hover{background-color:#2d9248;transform:translateY(-2px)}.modal-content .cancel-btn{background-color:#ea4335}.modal-content .cancel-btn:hover{background-color:#d33a2d}.results-container h2{font-family:Product Sans,sans-serif}.result-item img{-o-object-fit:cover;object-fit:cover}.download-btn{font-family:Product Sans,sans-serif}.progress-bar-modal,.progress-bar-wrapper{margin-top:1.5rem;margin-bottom:2rem;width:100%;text-align:left}.progress-bar-label{font-family:Product Sans,Instrument Sans,sans-serif;font-size:1.05rem;font-weight:500;margin-bottom:6px}.progress-label{padding:4px 12px;border-radius:8px}.progress-label-active{color:#fff;background:#34a853;opacity:.9}.progress-label-complete{color:#fff;background:#34a853;opacity:1}.progress-label-failed{color:#fff;background:#ea4335;opacity:1}.progress-bar-bg{width:100%;height:14px;border-radius:8px;background:hsla(0,0%,100%,.12);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.09)}.progress-bar{height:100%;border-radius:8px;transition:width .3s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.title{font-size:2.5rem}.subtitle{font-size:1.1rem}.mode-selection{flex-direction:column}.results-grid{grid-template-columns:1fr}.modal-content button{width:calc(100% - 1rem);margin:.5rem .5rem}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background-color:#000;font-family:Product Sans,sans-serif;color:#fff;line-height:1.6}.isovision-app{min-height:100vh;width:100vw;padding:2rem;display:flex;justify-content:center;align-items:center}.isovision-container{max-width:1200px;width:100%;margin:0 auto;animation:fadeIn .5s ease-out}.title{font-size:4rem;font-weight:700;margin-bottom:.5rem;text-align:left;letter-spacing:-.05em;background:linear-gradient(90deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 4px rgba(0,0,0,.2);line-height:1.2}.subtitle{font-size:1.25rem;opacity:.8;margin-bottom:2rem;text-align:left;font-weight:400;max-width:600px}.upload-container{margin:2rem 0;background-color:hsla(0,0%,100%,.02);border-radius:16px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);transition:all .3s ease}.upload-box{border:2px dashed hsla(0,0%,100%,.2);border-radius:12px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:hsla(0,0%,100%,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.upload-box:hover{border-color:#4285f4;background-color:rgba(66,133,244,.1);transform:translateY(-2px);box-shadow:0 4px 12px rgba(66,133,244,.2)}.upload-icon{margin-bottom:1.5rem;transition:transform .3s ease}.upload-box:hover .upload-icon{transform:scale(1.1)}.upload-box p{font-size:1.1rem;color:hsla(0,0%,100%,.8);transition:color .3s ease}.upload-box:hover p{color:#fff}.image-processing-container{position:relative;width:100%;margin:0 auto}.image-selection-area{position:relative;display:inline-block;max-width:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.3)}.image-selection-area img{max-width:100%;max-height:70vh;display:block;border-radius:8px;-o-object-fit:contain;object-fit:contain}.selection-canvas{position:absolute;top:0;left:0;cursor:crosshair;touch-action:none;-webkit-tap-highlight-color:transparent}.selection-actions{margin-top:1.5rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}button{font-family:Product Sans,sans-serif;padding:1rem 2rem;border:none;border-radius:24px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);display:inline-flex;align-items:center;justify-content:center;min-width:200px;box-shadow:0 2px 8px rgba(0,0,0,.2)}button:disabled{opacity:.7;cursor:not-allowed}.confirm-btn{background-color:#34a853;color:#fff}.confirm-btn:hover:not(:disabled){background-color:#2d9248;transform:translateY(-2px);box-shadow:0 4px 12px rgba(52,168,83,.3)}.reset-btn{background-color:#ea4335;color:#fff}.reset-btn:hover{background-color:#d33a2d;transform:translateY(-2px);box-shadow:0 4px 12px rgba(234,67,53,.3)}.processing-indicator{margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;color:#fbbc05;font-weight:500}.spinner{width:24px;height:24px;border:3px solid rgba(251,188,5,.3);border-radius:50%;border-top-color:#fbbc05;animation:spin 1s ease-in-out infinite}.processing-text{display:inline-block;min-width:120px;position:relative}.processing-text:after{content:"...";position:absolute;animation:dots 1.5s steps(5) infinite}.results-container{margin-top:3rem;animation:fadeInUp .5s ease-out}.results-container h2{font-size:2rem;margin-bottom:1.5rem;color:#fff;font-weight:600}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:1.5rem}.result-item{background-color:hsla(0,0%,100%,.05);border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px 12px rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.1)}.result-item:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.2);border-color:hsla(0,0%,100%,.2)}.result-item img{width:100%;height:200px;-o-object-fit:contain;object-fit:contain;display:block;background-color:rgba(0,0,0,.2)}.download-btn{display:block;text-align:center;padding:.85rem;background-color:#4285f4;color:#fff;text-decoration:none;font-weight:500;transition:all .3s ease;border-top:1px solid hsla(0,0%,100%,.1)}.download-btn:hover{background-color:#3367d6;letter-spacing:.5px}.error-message{margin-top:1.5rem;padding:1rem 1.5rem;background-color:rgba(234,67,53,.15);border-left:4px solid #ea4335;color:#fff;border-radius:8px;animation:shake .5s ease;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@media (max-width:1024px){.title{font-size:3.25rem}.subtitle{font-size:1.1rem}.upload-box{min-height:250px;padding:2rem}}@media (max-width:768px){.isovision-app{padding:1.5rem}.title{font-size:2.75rem}.subtitle,.title{text-align:center}.subtitle{margin-left:auto;margin-right:auto}.upload-container{padding:1.5rem}.selection-actions{flex-direction:column;gap:.75rem}button{width:100%;padding:1.25rem 2rem}.results-grid{grid-template-columns:1fr}}@media (max-width:480px){.title{font-size:2.25rem}.upload-box{padding:1.5rem}.upload-box p{font-size:1rem}.results-container h2{font-size:1.75rem}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attribution{position:fixed;bottom:20px;right:20px;font-size:.8rem;opacity:.7;color:#888;font-family:Product Sans,sans-serif;transition:opacity .3s ease;z-index:10}.attribution:hover{opacity:1;color:#aaa}@media (max-width:768px){.attribution{font-size:.7rem;bottom:15px;right:15px;background:rgba(0,0,0,.3);padding:4px 8px;border-radius:4px;color:#ccc}}