@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css);code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.style-selector{margin:2rem 0}.style-selector h3{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.style-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.style-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#32323266;border:2px solid #667eea33;border-radius:12px;cursor:pointer;padding:1.25rem;text-align:center;transition:all .3s ease}.style-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea4d;transform:translateY(-2px)}.style-card.selected{background:#667eea26;border-color:#667eea;box-shadow:0 8px 24px #667eea66}.style-icon{color:#667eea;font-size:2rem;margin-bottom:.5rem}.style-name{color:#fff;font-weight:600;margin-bottom:.5rem}.style-description{color:#b0b0b0;font-size:.9rem;line-height:1.5}.custom-prompt-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3232324d;border:1px solid #667eea33;border-radius:12px;margin-top:1rem;padding:1rem}.custom-prompt-input label{color:#fff;display:block;font-weight:600;margin-bottom:.5rem}.custom-prompt-input textarea{background:#1e1e1e80;border:1px solid #667eea4d;border-radius:8px;color:#fff;font-family:inherit;min-height:100px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.custom-prompt-input textarea::placeholder{color:grey}.custom-prompt-input textarea:focus{background:#1e1e1eb3;border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.character-count{color:#b0b0b0;font-size:.8rem;margin-top:.25rem;text-align:right}.image-uploader{margin:2rem 0}.image-uploader h3{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.upload-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3232324d;border:2px dashed #667eea4d;border-radius:12px;cursor:pointer;padding:3rem 2rem;text-align:center;transition:all .3s ease}.upload-area:hover{background:#667eea1a;border-color:#667eea;transform:translateY(-2px)}.upload-area.drag-active{background:#667eea26;border-color:#667eea;box-shadow:0 8px 24px #667eea33;transform:scale(1.01)}.upload-icon{color:#667eea;font-size:3rem;margin-bottom:1rem;opacity:.7}.upload-text p{color:#e0e0e0;margin:.5rem 0}.upload-hint{color:#b0b0b0;font-size:.9rem}.preview-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#32323266;border:1px solid #667eea33;border-radius:12px;display:flex;gap:1rem;padding:1rem}.preview-image{border:1px solid #667eea4d;border-radius:8px;box-shadow:0 4px 12px #0000004d;height:80px;object-fit:cover;width:80px}.preview-info{flex:1 1}.file-name{color:#fff;font-weight:500;margin:0 0 .25rem}.file-size{color:#b0b0b0;font-size:.9rem;margin:0}.remove-button{background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:#ef5350;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.remove-button:hover{background:#f4433633;border-color:#f4433680;transform:translateY(-1px)}.webcam-button{align-items:center;background:#667eea1a;border:1px solid #667eea4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.webcam-button:hover{background:#667eea33;border-color:#667eea;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.webcam-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#32323266;border:2px solid #667eea4d;border-radius:12px;display:flex;flex-direction:column;gap:1rem;min-height:320px;padding:1rem;position:relative}.webcam-video{background:#000;border-radius:8px;max-height:500px;min-height:300px;object-fit:cover;transform:scaleX(-1);width:100%}.webcam-controls{display:flex;gap:1rem;justify-content:center}.cancel-button,.capture-button{border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.capture-button{background:#667eea33;border:1px solid #667eea4d;color:#fff}.capture-button:hover{background:#667eea4d;border-color:#667eea;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.cancel-button{background:#f443361a;border:1px solid #f443364d;color:#ef5350}.cancel-button:hover{background:#f4433633;border-color:#f4433680;transform:translateY(-2px)}.device-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#32323266;border:1px solid #667eea4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;margin-bottom:.75rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.device-selector:hover{background:#667eea1a;border-color:#667eea}.device-selector:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.device-selector option{background:#2a2a2a;color:#fff}.webcam-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:12px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.webcam-loading-overlay p{color:#e0e0e0;font-size:1rem;margin-top:1rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-top-color:#667eea;height:50px;width:50px}.webcam-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.webcam-button:disabled:hover{box-shadow:none;transform:none}.usage-quota{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#32323266;border:1px solid #667eea33;border-radius:12px;margin:1rem 0;padding:1.25rem}.usage-header{align-items:center;color:#fff;display:flex;font-weight:600;justify-content:space-between;margin-bottom:.75rem}.usage-count{color:#b0b0b0;font-size:.9rem}.usage-bar{background:#1e1e1ecc;border-radius:6px;box-shadow:inset 0 2px 4px #0000004d;height:10px;margin-bottom:.75rem;overflow:hidden;width:100%}.usage-fill{background:linear-gradient(90deg,#667eea,#764ba2 70%,#ef5350);box-shadow:0 0 10px #667eea80;height:100%;transition:width .3s ease}.usage-remaining{color:#b0b0b0;font-size:.9rem}.usage-exceeded{color:#ef5350;font-weight:600}.usage-loading{color:#b0b0b0;padding:1rem;text-align:center}.job-card{background:#28282899;border:1px solid #667eea26;border-radius:16px;box-shadow:0 4px 16px #0000004d;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.job-card:hover{border-color:#667eea4d;box-shadow:0 8px 32px #667eea4d;transform:translateY(-4px)}.job-card-image-wrapper{background:linear-gradient(135deg,#1e1e1ecc,#323232cc);overflow:hidden;padding-top:100%;position:relative;width:100%}.job-card-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:all .5s cubic-bezier(.4,0,.2,1);width:100%}.job-card-image.processing{filter:blur(10px) brightness(.8);opacity:.6;transform:scale(1.05)}.job-card-image.completed{animation:fadeInSharpen .6s cubic-bezier(.4,0,.2,1)}@keyframes fadeInSharpen{0%{filter:blur(10px) brightness(.8);opacity:.6;transform:scale(1.05)}to{filter:blur(0) brightness(1);opacity:1;transform:scale(1)}}.job-card-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute;z-index:1}.job-card-overlay.error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2);color:#fff}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px}.loading-spinner{animation:spin 1s cubic-bezier(.68,-.55,.265,1.55) infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#fff;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.loading-dots{display:flex;gap:6px}.loading-dots span{animation:bounce 1.4s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.status-text{color:#fff;font-size:15px;font-weight:600;margin-top:8px;padding:0 20px;text-align:center;text-shadow:0 2px 4px #0003}.estimated-time{color:#ffffffe6;font-size:13px;font-weight:500;margin-top:4px}.error-icon{animation:shake .5s;font-size:56px;margin-bottom:12px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-text{font-size:15px;font-weight:600;margin-bottom:16px;padding:0 20px;text-align:center}.retry-button{background:#fff;border:none;border-radius:10px;box-shadow:0 4px 12px #00000026;color:#ef4444;cursor:pointer;font-size:14px;font-weight:700;padding:10px 24px;transition:all .2s}.retry-button:hover{background:#fef2f2;box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.job-card-badge{animation:slideInAndFadeOut 3s cubic-bezier(.4,0,.2,1) forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#22c55ef2;border-radius:8px;box-shadow:0 2px 8px #22c55e4d;color:#fff;font-size:12px;font-weight:700;padding:6px 12px;position:absolute;right:12px;top:12px}@keyframes slideInAndFadeOut{0%{opacity:0;transform:translateX(20px) scale(.9)}10%{opacity:1;transform:translateX(0) scale(1)}85%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(10px) scale(.95)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.job-card-info{align-items:center;background:#1e1e1e99;display:flex;justify-content:space-between;padding:14px 16px}.job-card-meta{display:flex;flex-direction:column;gap:4px}.job-style{color:#fff;font-size:15px;font-weight:700}.job-date{color:#b0b0b0;font-size:12px;font-weight:500}.download-button{align-items:center;background:#667eea26;border:1px solid #667eea4d;border-radius:8px;color:#667eea;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:10px;transition:all .2s}.download-button:hover{background:#667eea40;border-color:#667eea80;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.download-button:active{box-shadow:0 2px 6px #667eea26;transform:translateY(0)}@media (max-width:768px){.job-card{border-radius:12px}.status-text{font-size:14px}.loading-spinner{height:40px;width:40px}}.job-history-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1ecc;border:1px solid #667eea1a;border-radius:20px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;height:100%;padding:24px}.job-history-header{align-items:center;border-bottom:2px solid #667eea33;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.job-history-title{align-items:center;color:#fff;display:flex;font-size:24px;font-weight:800;gap:12px;margin:0}.job-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;box-shadow:0 4px 12px #6366f14d;color:#fff;display:inline-flex;font-size:14px;font-weight:700;height:32px;min-width:32px;padding:0 10px}.job-count,.refresh-button{align-items:center;justify-content:center}.refresh-button{background:#667eea1a;border:1px solid #667eea33;border-radius:10px;color:#b0b0b0;cursor:pointer;display:flex;height:40px;transition:all .2s;width:40px}.refresh-button:hover{background:#667eea33;color:#667eea;transform:rotate(90deg)}.refresh-button:active{transform:rotate(90deg) scale(.95)}.job-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;padding-right:8px}.job-grid::-webkit-scrollbar{width:8px}.job-grid::-webkit-scrollbar-track{background:#1e1e1e80;border-radius:10px}.job-grid::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:10px}.job-grid::-webkit-scrollbar-thumb:hover{background:#667eea80}.job-history-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-illustration{animation:float 3s ease-in-out infinite;margin-bottom:24px;opacity:.6}.job-history-empty h4{color:#fff;font-size:20px;font-weight:700;margin:0 0 12px}.job-history-empty p{color:#b0b0b0;font-size:15px;line-height:1.6;margin:0}.job-history-skeleton{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skeleton-card{background:#28282899;border:1px solid #667eea1a;border-radius:16px;box-shadow:0 2px 8px #0000004d;overflow:hidden}.skeleton-image{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#3c3c3c99,#50505099 50%,#3c3c3c99);background-size:200% 100%;padding-top:100%;width:100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-content{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.skeleton-line{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#3c3c3c99,#50505099 50%,#3c3c3c99);background-size:200% 100%;border-radius:4px;height:16px}.skeleton-line.short{height:12px;width:60%}.job-history-error{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.job-history-error .error-icon{font-size:64px;margin-bottom:16px}.job-history-error p{color:#b0b0b0;font-size:16px;margin-bottom:24px}.retry-fetch-button{background:#6366f1;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.retry-fetch-button:hover{background:#4f46e5;box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}@media (max-width:1200px){.job-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.job-history-list{border-radius:16px;padding:20px 16px}.job-history-title{font-size:20px}.job-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.job-count{font-size:13px;height:28px;min-width:28px}}@media (max-width:480px){.job-grid{grid-template-columns:repeat(2,1fr)}}.logo-container{align-items:center;display:inline-flex;gap:12px}.logo-icon{animation:logoGlow 3s ease-in-out infinite;flex-shrink:0}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-weight:700;letter-spacing:-.5px;white-space:nowrap}.logo-icon .sparkles{animation:sparkle 2s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 4px rgba(102,126,234,.4))}50%{filter:drop-shadow(0 0 8px rgba(102,126,234,.6))}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@media (max-width:768px){.logo-container{gap:8px}.logo-text{letter-spacing:-.3px}}.generate-page{background:linear-gradient(135deg,#0f0f0f,#1a1a1a 50%,#0a0a0a);font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh}.page-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141414f2;border-bottom:1px solid #667eea33;box-shadow:0 4px 20px #0000004d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem}.page-header>div:first-child{text-align:left}.user-section{align-items:center;display:flex;gap:1rem}.user-email{background:#667eea1a;border:1px solid #667eea33;border-radius:6px;color:#b0b0b0;font-size:.9rem;padding:.5rem 1rem}.logout-button{align-items:center;background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:#ef5350;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:.5rem 1.25rem;transition:all .2s}.logout-button:hover{background:#f4433633;border-color:#f4433680;transform:translateY(-1px)}.page-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.page-header p{color:#b0b0b0;font-size:1.1rem;margin:0}.page-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1600px;min-height:calc(100vh - 140px);padding:0 2rem 2rem}.history-section{height:100%;min-height:600px}.main-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e1ecc;border:1px solid #667eea1a;border-radius:16px;box-shadow:0 8px 32px #0006;height:-webkit-fit-content;height:fit-content;padding:2rem}.generate-section{margin:2rem 0;text-align:center}.generate-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 8px 24px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.generate-button:hover:not(.disabled){box-shadow:0 12px 32px #667eea66;transform:translateY(-2px)}.generate-button.disabled{background:#64646480;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.error-alert{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f443361a;border:1px solid #f443364d;border-radius:12px;display:flex;justify-content:space-between;margin:1rem 0;padding:1rem}.error-alert p{color:#ef5350;font-weight:500;margin:0}.error-alert button{align-items:center;background:none;border:none;color:#ef5350;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:transform .2s;width:24px}.error-alert button:hover{transform:scale(1.1)}@media (max-width:1200px){.page-content{gap:1.5rem;grid-template-columns:1fr}.history-section{min-height:400px;order:2}.main-section{order:1}}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.5rem 1rem}.page-header>div:first-child p{font-size:1rem}.user-section{justify-content:space-between;width:100%}.user-email{font-size:.8rem;padding:.4rem .8rem}.logout-button{font-size:.85rem;padding:.4rem 1rem}.page-content{gap:1rem;padding:0 1rem 1rem}.main-section{border-radius:12px;padding:1.5rem 1rem}.history-section{min-height:300px}.generate-button{font-size:1rem;padding:1rem;width:100%}.result-actions{flex-direction:column;width:100%}.download-button,.new-generation-button,.retry-button{width:100%}}@media (max-width:480px){.main-section,.page-header{padding:1rem}.page-content{padding:0 .5rem .5rem}}.auth-modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 24px 48px #0000004d;max-height:90vh;max-width:450px;overflow-y:auto;padding:40px;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#a0aec0;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:40px;z-index:1}.auth-modal-close:hover{background:#f7fafc;color:#4a5568}.verification-icon{font-size:60px;margin-bottom:16px;text-align:center}.auth-modal-title{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:16px;text-align:center}.auth-modal-description{color:#718096;font-size:15px;line-height:1.6;margin-bottom:24px;text-align:center}.auth-modal-description strong{color:#4a5568;font-weight:600}.auth-modal-error{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.auth-modal-error,.auth-modal-success{font-size:14px;margin-bottom:16px;padding:12px 16px}.auth-modal-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.auth-modal-form{gap:16px}.auth-modal-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#4a5568;font-size:14px;font-weight:600}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .3s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.form-hint{color:#a0aec0;font-size:12px}.code-input{font-size:20px!important;font-weight:600;letter-spacing:4px;text-align:center}.auth-modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:transform .2s,box-shadow .2s}.auth-modal-btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.auth-modal-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-modal-btn-primary:disabled{cursor:not-allowed;opacity:.6}.auth-modal-divider{align-items:center;display:flex;margin:20px 0;text-align:center}.auth-modal-divider:after,.auth-modal-divider:before{border-bottom:1px solid #e2e8f0;content:"";flex:1 1}.auth-modal-divider span{color:#a0aec0;font-size:14px;padding:0 16px}.auth-modal-btn-google{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:12px;transition:all .3s;width:100%}.auth-modal-btn-google:hover:not(:disabled){background-color:#f7fafc;border-color:#cbd5e0}.auth-modal-btn-google:disabled{cursor:not-allowed;opacity:.6}.google-icon{height:20px;width:20px}.auth-modal-footer{display:flex;flex-direction:column;gap:12px;margin-top:20px;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:4px;text-decoration:none;transition:color .2s}.link-button:hover:not(:disabled){color:#764ba2;text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.6}.signup-prompt{color:#718096;font-size:14px}.link-button-primary{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;padding:0;text-decoration:none;transition:color .2s}.link-button-primary:hover{color:#764ba2;text-decoration:underline}@media (max-width:480px){.auth-modal-content{padding:24px;width:95%}.auth-modal-title{font-size:24px}}.phone-frame-container{align-items:center;display:flex;justify-content:center;perspective:1000px}.phone-frame{animation:float 6s ease-in-out infinite;background:linear-gradient(145deg,#2c3e50,#34495e);border-radius:45px;box-shadow:0 20px 60px #00000080,inset 0 0 6px #ffffff1a;height:650px;padding:12px;position:relative;transform:translateZ(0);width:320px}@keyframes float{0%,to{transform:translateY(0) rotateY(-5deg)}50%{transform:translateY(-20px) rotateY(-5deg)}}.power-button{background:linear-gradient(90deg,#1a252f,#34495e);border-radius:0 3px 3px 0;height:60px;position:absolute;right:-3px;top:120px;width:3px}.volume-button{background:linear-gradient(270deg,#1a252f,#34495e);border-radius:3px 0 0 3px;left:-3px;position:absolute;width:3px}.volume-up{height:40px;top:100px}.volume-down{height:40px;top:150px}.phone-body{background:#000;border-radius:36px;box-shadow:inset 0 0 8px #00000080;height:100%;overflow:hidden;position:relative;width:100%}.phone-notch{align-items:center;background:#000;border-radius:0 0 20px 20px;display:flex;gap:10px;height:28px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);width:150px;z-index:10}.notch-speaker{background:#1a1a1a;border-radius:3px;height:5px;width:50px}.notch-camera{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:50%;height:10px;width:10px}.phone-screen{background:#fff;height:100%;overflow:hidden;position:relative;width:100%}.home-indicator{background:#ffffff4d;border-radius:2px;bottom:8px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120px;z-index:10}@media (max-width:768px){.phone-frame{border-radius:40px;height:570px;padding:10px;width:280px}.phone-body{border-radius:32px}.phone-notch{height:25px;width:130px}}@media (max-width:480px){.phone-frame{border-radius:35px;height:490px;padding:8px;width:240px}.phone-body{border-radius:28px}.phone-notch{height:22px;width:110px}.home-indicator{width:100px}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f0f0f,#1a1a1a 50%,#0a0a0a);color:#e0e0e0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App{min-height:100vh}button{font-family:inherit}button:focus{outline:2px solid #4a90e2;outline-offset:2px}input,textarea{font-family:inherit}input:focus,textarea:focus{box-shadow:0 0 0 2px #4a90e233;outline:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.button-group{display:flex}.divider{position:relative}.divider:before{background:linear-gradient(90deg,#0000,#8080804d 20%,#8080804d 80%,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.divider-text{background:linear-gradient(135deg,#0f0f0f,#1a1a1a 50%,#0a0a0a);padding:0 16px;position:relative;z-index:1}@media (max-width:1200px){.login-page-content{gap:60px!important}}@media (max-width:1024px){.login-page-content{flex-direction:column!important;gap:40px!important;text-align:center!important}.login-page-left{align-items:center!important;max-width:100%!important}.login-page-title{font-size:48px!important}.login-page-subtitle{font-size:20px!important}.login-page-features{align-items:center!important}.login-page-right{margin-top:20px}}@media (max-width:768px){.login-page-content{padding:20px 0!important}.login-page-subtitle{font-size:18px!important;margin-bottom:40px!important}.login-page-features{gap:24px!important}.login-page-feature-title{font-size:18px!important}.login-page-feature-text{font-size:14px!important}.primary-btn,.secondary-btn{font-size:16px!important;padding:14px 24px!important}.google-login-button{font-size:15px!important;padding:12px 20px!important}.login-page-right{display:none!important}}@media (max-width:480px){.login-page-subtitle{font-size:16px!important}.login-page-features{gap:20px!important}.login-page-feature{align-items:center!important;flex-direction:column!important;text-align:center!important}.button-group{flex-direction:column!important;gap:12px!important}.primary-btn,.secondary-btn{font-size:16px!important;padding:14px 24px!important;width:100%!important}.google-login-button{font-size:15px!important;padding:12px 20px!important;width:100%!important}}
/*# sourceMappingURL=main.312d7866.css.map*/