@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;700;900&display=swap";:root{--ac-blue-dark: #0a4b88;--ac-blue-light: #4a8cb8;--ac-orange: #ff6b35;--ac-dark: #1a2533;--white: #ffffff;--shadow: 0 10px 30px rgba(0, 0, 0, .3);--fs-xl: clamp(2rem, 6vw, 2.8rem);--fs-lg: clamp(1.4rem, 4vw, 2rem);--fs-md: clamp(1.1rem, 3vw, 1.4rem);--fs-sm: clamp(.9rem, 2.5vw, 1rem)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:hidden}body{font-family:Outfit,sans-serif;background:linear-gradient(135deg,var(--ac-blue-dark) 0%,var(--ac-blue-light) 100%);height:100dvh;overflow:hidden;color:var(--white)}#root{width:100%;height:100dvh;overflow:hidden}.kiosk-container{width:100%;height:100dvh;overflow:hidden;background:linear-gradient(135deg,var(--ac-blue-dark) 0%,var(--ac-blue-light) 100%);position:relative;display:flex;flex-direction:column;z-index:1}.screen{display:none;flex-direction:column;height:100dvh;overflow:hidden;width:100%;padding:clamp(1rem,4vw,2rem) clamp(1rem,4vw,1.5rem);animation:fadeIn .5s ease}.screen.active{display:flex}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.ai-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a4b88f2;z-index:9999;display:none;flex-direction:column;justify-content:center;align-items:center;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .4s ease}.ai-loading-overlay.active{display:flex}.loading-content{display:flex;flex-direction:column;align-items:center;text-align:center}.loading-content h2{color:var(--ac-orange);font-size:var(--fs-lg);margin-top:2rem;letter-spacing:2px}.loading-content p{opacity:.8;margin-top:.5rem}.style-spinner{width:80px;height:80px;border:8px solid rgba(255,255,255,.1);border-top:8px solid var(--ac-orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#screen-home{justify-content:center;align-items:center;text-align:center}.welcome-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:clamp(.75rem,3vw,1.25rem)}.intro-logo{width:clamp(160px,55%,250px);height:auto}#screen-home h1{font-size:var(--fs-xl);font-weight:900;line-height:1.1}#screen-home h1 span{color:var(--ac-orange)}#screen-home p{font-size:var(--fs-sm);opacity:.85;line-height:1.5;max-width:30ch}.main-cta{margin-top:clamp(1.5rem,5vw,3rem)}#screen-styles{justify-content:flex-start;align-items:center;padding-bottom:2rem}.styles-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:clamp(.5rem,2vw,1rem)}.styles-badge{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:1px;padding:.3rem .85rem;border-radius:50px;text-transform:uppercase}.styles-title{font-size:var(--fs-lg);font-weight:900;letter-spacing:1.5px;text-align:center;width:100%;margin-bottom:.25rem}.styles-title span{background:linear-gradient(90deg,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.styles-subtitle{font-size:var(--fs-sm);opacity:.7;text-align:center;width:100%;margin-bottom:clamp(1rem,3vw,1.5rem)}.style-error{background:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:14px;padding:.85rem 1rem;font-size:var(--fs-sm);color:#fca5a5;line-height:1.5;width:100%;margin-bottom:.75rem}.style-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.6rem,2vw,.9rem);width:100%}.style-card{background:#ffffff12;border:2px solid rgba(255,255,255,.15);border-radius:18px;padding:clamp(.85rem,3vw,1.25rem);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;cursor:pointer;text-align:left;transition:background .25s ease,border-color .25s ease,transform .2s ease,box-shadow .2s ease;min-height:90px;font-family:Outfit,sans-serif;color:var(--white)}.style-card:hover,.style-card:focus-visible{background:#a855f72e;border-color:#a855f7;transform:translateY(-3px) scale(1.02);box-shadow:0 8px 28px #a855f759;outline:none}.style-card:active{transform:scale(.97)}.style-card-icon{font-size:clamp(1.6rem,5vw,2rem);line-height:1}.style-card-info{display:flex;flex-direction:column;gap:.15rem}.style-card-info strong{font-size:clamp(.8rem,2.5vw,.95rem);font-weight:700;line-height:1.2}.style-card-info span{font-size:clamp(.65rem,2vw,.75rem);opacity:.6;line-height:1.3}.btn-link{background:none;border:none;color:var(--white);font-size:var(--fs-sm);font-family:Outfit,sans-serif;cursor:pointer;opacity:.75;padding:.5rem .25rem;min-height:44px;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .2s ease}.btn-link:hover,.btn-link:focus-visible{opacity:1;outline:none}#screen-camera{justify-content:flex-start;align-items:stretch;gap:clamp(.5rem,2vw,1rem)}.instructions{text-align:center;margin-bottom:clamp(.5rem,2vw,1rem);flex-shrink:0}.instructions p{font-size:var(--fs-lg);font-weight:700}.arrow{font-size:var(--fs-lg);animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.camera-frame{flex:1 1 0;min-height:0;aspect-ratio:3 / 4;width:auto;max-width:100%;align-self:center;background:#000;border-radius:20px;overflow:hidden;position:relative;box-shadow:var(--shadow);border:4px solid rgba(255,255,255,.1);margin-bottom:0}#webcam{width:100%;height:100%;object-fit:cover;transition:filter .3s ease;display:block;transform:scaleX(-1)}#photo-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5}#countdown{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(5rem,20vw,10rem);font-weight:900;color:var(--ac-orange);text-shadow:0 0 30px rgba(255,107,53,.8);z-index:10}.branding-area{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);z-index:10;padding-bottom:clamp(.5rem,2vw,1rem)}.main-logo{width:clamp(100px,35%,150px);height:auto}.btn-primary{background-color:var(--ac-dark);color:var(--white);border:none;padding:clamp(.9rem,3vw,1.2rem) clamp(1.5rem,5vw,2.5rem);font-size:var(--fs-md);font-family:Outfit,sans-serif;font-weight:700;border-radius:50px;cursor:pointer;box-shadow:var(--shadow);transition:background-color .25s ease,transform .15s ease;text-transform:uppercase;min-height:52px;white-space:nowrap}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--ac-orange);outline:none}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{background:#fff3;color:#fff6;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--white);border:2px solid var(--white);padding:clamp(.9rem,3vw,1.2rem) clamp(1.5rem,5vw,2.5rem);font-size:var(--fs-md);font-family:Outfit,sans-serif;border-radius:50px;cursor:pointer;transition:background-color .25s ease,color .25s ease;min-height:52px;white-space:nowrap}.btn-secondary:hover,.btn-secondary:focus-visible{background-color:#ffffff26;outline:none}.post-capture-btns{display:flex;gap:clamp(.5rem,2vw,1rem);flex-wrap:wrap;justify-content:center}.gender-selector{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.btn-gender{background:transparent;color:#ffffffb3;border:2px solid rgba(255,255,255,.3);padding:.4rem 1rem;font-size:var(--fs-sm);font-family:Outfit,sans-serif;border-radius:50px;cursor:pointer;transition:all .2s ease}.btn-gender.active{background:var(--ac-orange);border-color:var(--ac-orange);color:var(--white)}.btn-gender:hover{border-color:#fff9;color:var(--white)}.gender-hint{font-size:var(--fs-sm);opacity:.6;margin-bottom:.25rem;text-align:center}#flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:20;opacity:0;pointer-events:none}.flash-animation{animation:flash-blink .5s ease-out}@keyframes flash-blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}.waves-container{position:absolute;bottom:0;left:0;width:100%;height:clamp(80px,15vw,150px);z-index:0;pointer-events:none}.hidden{display:none!important}@media(orientation:landscape){.screen{height:100dvh;padding:clamp(.5rem,1.5vh,1.25rem) clamp(1rem,2.5vw,2rem)}#screen-home{justify-content:center;align-items:center}.intro-logo{width:clamp(70px,10vw,140px)}.main-cta{margin-top:clamp(.25rem,1.5vh,1.5rem)}.style-cards-grid{grid-template-columns:1fr 1fr 1fr}#screen-camera{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;gap:clamp(.5rem,1.5vw,1rem);padding:clamp(.5rem,1.5vh,.75rem) clamp(.75rem,2vw,1.25rem);height:100dvh}#screen-camera .camera-frame{grid-column:1;grid-row:1 / -1;height:calc(100dvh - clamp(1rem,3vh,1.5rem));width:auto;aspect-ratio:3 / 4;margin-bottom:0;align-self:center}#screen-camera .instructions{grid-column:2;grid-row:1;width:auto;margin-bottom:0;text-align:center}.arrow{display:none}#screen-camera .branding-area{grid-column:2;grid-row:2;align-self:center;justify-self:center;padding-bottom:0;gap:clamp(.75rem,2vh,1.5rem)}}.api-key-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .3s ease}.api-key-modal-box{background:linear-gradient(145deg,#1e2d42,#0f1c2e);border:2px solid rgba(168,85,247,.35);border-radius:24px;padding:clamp(1.5rem,5vw,2rem);width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 60px #00000080}.api-key-title{font-size:var(--fs-md);font-weight:800;letter-spacing:.5px}.api-key-desc{font-size:var(--fs-sm);opacity:.8;line-height:1.55}.api-key-input{width:100%;background:#ffffff12;border:2px solid rgba(255,255,255,.15);border-radius:12px;color:var(--white);font-family:Outfit,sans-serif;font-size:var(--fs-sm);padding:.8rem 1rem;transition:border-color .2s ease}.form-input{margin-bottom:10px}.api-key-input:focus{outline:none;border-color:#a855f7}.api-key-input::placeholder{color:#ffffff59}.api-key-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.camera-error{color:#fca5a5;font-size:var(--fs-sm);padding:.5rem 1rem;text-align:center;background:#ef44441a;border-radius:12px;width:100%}@media(prefers-reduced-motion:reduce){.screen,.arrow,.style-spinner{animation:none}.btn-primary,.btn-secondary,.style-card{transition:none}.flash-animation{animation:none}}
