.infinite-canvas-container{width:100%;height:100%;position:relative;overflow:visible;background-color:#f8f6f4;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none;cursor:default;pointer-events:auto}.infinite-canvas-world-layer{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform;transform-origin:0 0;overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none;cursor:default;overflow:visible}.grid-container{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;overflow:visible}.grid-item{position:absolute;display:flex;align-items:center;justify-content:center;background-color:transparent;border-radius:0;overflow:visible;min-width:0;min-height:0;cursor:pointer;pointer-events:auto;touch-action:none;border:none;outline:none;transform:scale(0);opacity:0;transition:pointer-events 0s}.grid-item.dragging{pointer-events:none!important}.grid-item[data-loaded=true]{animation:imageAppear .5s cubic-bezier(.2,0,.2,1) forwards}@keyframes imageAppear{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(hover:none){.grid-item:hover{transform:none;filter:none}}.grid-item img{height:100%;width:auto;object-fit:contain;object-position:center;display:block;pointer-events:auto;touch-action:none;background:transparent;position:relative;z-index:1}.grid-item-placeholder{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f0eeeb;color:#6b6560;font-size:12px;padding:12px;box-sizing:border-box;pointer-events:auto}.grid-item-placeholder-icon{font-size:28px;opacity:.7}.grid-item-placeholder-text{text-align:center;line-height:1.2}.infinite-canvas-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:root{--fls-primary: #2211A6;--fls-primary-hover: #1a0d85;--fls-white: #FFFFFF;--fls-off-white: #F8F6F4;--fls-surface-dark: #D9D9D9;--fls-text-dark: #2E3A59;--fls-border: rgba(46, 58, 89, .2);--fls-guide: rgba(34, 17, 166, .2)}.fls{display:flex;flex-direction:row;align-items:stretch;gap:32px;padding:0;min-width:0;width:100%}.fls__left{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex:1 1 0;min-width:0}.fls__right{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;flex:0 0 280px;min-width:0}.fls__title{font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:0;color:var(--fls-text-dark);margin:0;text-align:left}.fls__subtitle{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--fls-text-dark);margin:0;text-align:left;max-width:100%}.fls__drag-hint{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1;letter-spacing:0;color:var(--fls-text-dark);margin:0;text-align:left}.fls__drag-hint-desktop,.fls__drag-hint-mobile{display:none}@media(min-width:769px){.fls__drag-hint-desktop{display:inline}}@media(max-width:768px){.fls__drag-hint-mobile{display:inline}}.fls__stage-wrap{width:100%;display:flex;justify-content:center;align-items:center;background:var(--fls-surface-dark);border-radius:16px;padding:16px;min-width:0}@media(min-width:769px){.upload-modal__body .fls{gap:clamp(24px,4vw,48px);min-width:0}.upload-modal__body .fls__left{flex:1 1 0;min-width:0;padding:8px 8px 16px;background:#f8f6f499;border-radius:16px;gap:16px;align-items:center}.upload-modal__body .fls__reset-btn,.upload-modal__body .fls__back--left{display:none}.upload-modal__body .fls__drag-hint{font-size:14px;line-height:14px;color:#fff;text-align:center}.upload-modal__body .fls__stage-wrap{background:transparent;padding:0;width:100%;min-width:0}.upload-modal__body .fls__stage-area{width:100%;max-width:312px}.upload-modal__body .fls__stage{width:100%;max-width:312px;aspect-ratio:2 / 3;height:auto;min-width:0;border-radius:16px}.upload-modal__body .fls__stage:after{border-radius:16px}.upload-modal__body .fls__zoom-row{align-self:stretch;justify-content:center;gap:8px;max-width:312px}.upload-modal__body .fls__zoom-btn{flex:1 1 0;min-width:0;padding:clamp(10px,2vh,12px) clamp(16px,3vw,24px);border-radius:56px;outline:1px white solid;outline-offset:-1px;border:none;background:transparent;color:#f8f6f4;white-space:nowrap}.upload-modal__body .fls__zoom-btn:hover:not(:disabled){background:#ffffff26}.upload-modal__body .fls__reset-btn{align-self:stretch;max-width:312px;padding:8px clamp(16px,3vw,24px);border-radius:56px;outline:1px white solid;outline-offset:-1px;border:none;background:transparent;color:#fff;font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:clamp(20px,2.5vw,24px);line-height:1}.upload-modal__body .fls__reset-btn:hover{background:#ffffff26}.upload-modal__body .fls__back{color:#fff;font-weight:500;font-size:16px;line-height:20.8px}.upload-modal__body .fls__back:hover{color:#ffffffe6}.upload-modal__body .fls__right{flex:0 1 336px;min-width:260px;max-width:336px;width:100%;padding-top:16px;align-items:center;text-align:center}.upload-modal__body .fls__title{color:#fff;font-size:clamp(28px,4vw,40px);line-height:1}.upload-modal__body .fls__subtitle{color:#fff;font-weight:500;line-height:22.4px}.upload-modal__body .fls__continue{padding:clamp(14px,2vh,16px) clamp(20px,3vw,24px);border-radius:48px;background:#fff;color:#2211a6;border:none;font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:clamp(20px,2.5vw,24px);line-height:1}.upload-modal__body .fls__continue:hover{background:#fffffff2;color:#2211a6}.upload-modal__body .fls__continue-arrow{color:#2211a6}.upload-modal__body .fls__back--right{color:#fff;font-weight:500;font-size:16px;line-height:20.8px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.upload-modal__body .fls__back--right:hover{color:#ffffffe6}}.fls__stage-area{flex:0 0 auto;display:flex;justify-content:center;align-items:center;min-width:0}.fls__stage{position:relative;overflow:hidden;border-radius:12px;touch-action:none;cursor:grab;aspect-ratio:2 / 3;height:min(56vh,560px);width:auto;max-height:560px;max-width:373.33px;box-shadow:0 1px 3px #09042e0f;flex-shrink:0}.fls__stage:after{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid var(--fls-border);pointer-events:none}.fls__stage.is-dragging{cursor:grabbing}.fls__stage-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.fls__image-wrap{position:absolute;display:flex;align-items:center;justify-content:center;transform-origin:center center;pointer-events:none}.fls__image-wrap img{display:block;object-fit:none;max-width:none;max-height:none;transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:none}.fls__guide-overlay{position:absolute;inset:0;pointer-events:none}.fls__guide-image{width:100%;height:100%;object-fit:fill;object-position:center;display:block;pointer-events:none}.fls__zoom-row{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%}.fls__zoom-btn{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1;letter-spacing:0;color:var(--fls-text-dark);background:var(--fls-white);border:1px solid var(--fls-border);border-radius:9999px;padding:10px 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.fls__zoom-btn:hover:not(:disabled){background:#eee;border-color:var(--fls-text-dark)}.fls__zoom-btn:disabled{opacity:.5;cursor:not-allowed}.fls__reset-btn{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;letter-spacing:0;color:var(--fls-text-dark);background:var(--fls-white);border:1px solid var(--fls-border);border-radius:9999px;padding:10px 24px;cursor:pointer;width:auto;transition:background-color .2s ease,border-color .2s ease}.fls__reset-btn:hover{background:#eee;border-color:var(--fls-text-dark)}.fls__continue{width:100%;padding:14px 24px;background:var(--fls-white);color:var(--fls-text-dark);border:1px solid var(--fls-text-dark);border-radius:9999px;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1.3;letter-spacing:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s ease,border-color .2s ease;margin-top:auto}.fls__continue:hover{background:#eee;border-color:var(--fls-primary);color:var(--fls-primary)}.fls__continue-arrow{font-size:18px;line-height:1}.fls__back{background:none;border:none;color:var(--fls-text-dark);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1;letter-spacing:0;cursor:pointer;padding:8px 0;text-decoration:underline;transition:color .2s ease}.fls__back:hover{color:var(--fls-primary)}@media(max-width:768px){.fls{flex-direction:column;padding:0;min-width:0;overflow:hidden;gap:24px;width:100%;max-width:388px;align-items:center}.fls__right{display:contents}.fls__title{display:none}.fls__subtitle{order:1;align-self:stretch;text-align:center;margin:0;color:#fff;font-size:16px;font-weight:500;line-height:22.4px}.fls__left{order:2;align-self:stretch;width:100%;padding:24px;background:#f8f6f499;border-radius:16px;gap:16px;align-items:center;box-sizing:border-box}.fls__drag-hint{font-size:14px;line-height:14px;color:#fff;text-align:center;margin:0}.fls__stage-wrap{padding:0;width:100%;background:transparent}.fls__stage-area{min-width:0;width:100%;max-width:312px}.fls__stage{width:100%;max-width:312px;aspect-ratio:2 / 3;height:auto;border-radius:16px;min-width:0}.fls__stage:after{border-radius:16px;border-color:#ffffff4d}.fls__zoom-row,.fls__reset-btn,.fls__back--left{display:none}.fls__zoom-btn{flex:1 1 0;min-width:0;min-height:44px;padding:12px 24px;border-radius:56px;outline:1px white solid;outline-offset:-1px;border:none;background:transparent;color:#f8f6f4;white-space:nowrap}.fls__zoom-btn:hover:not(:disabled){background:#ffffff26}.fls__zoom-btn:disabled{opacity:.5}.fls__reset-btn{align-self:stretch;max-width:312px;min-height:44px;padding:8px 24px;border-radius:56px;outline:1px white solid;outline-offset:-1px;border:none;background:transparent;color:#fff;font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:24px;line-height:24px}.fls__reset-btn:hover{background:#ffffff26}.fls__back{color:#fff;font-weight:500;font-size:16px;line-height:20.8px}.fls__back:hover{color:#ffffffe6}.fls__continue{order:3;align-self:stretch;min-height:44px;padding:16px 24px;border-radius:48px;background:#fff;color:#2211a6;border:none;font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:24px;line-height:24px}.fls__continue:hover{background:#fffffff2;color:#2211a6}.fls__continue-arrow{color:#2211a6}.fls__back--right{order:4;align-self:stretch;color:#fff;font-weight:500;font-size:16px;line-height:20.8px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:center}.fls__back--right:hover{color:#ffffffe6}}.outfit-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.outfit-detail-modal{position:relative;background-color:#fff;border-radius:12px;max-width:90vw;max-height:90vh;width:100%;max-width:600px;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.outfit-detail-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background-color:#ffffffe6;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background-color .2s ease;color:#333}.outfit-detail-close:hover{background-color:#fff}.outfit-detail-content{display:flex;flex-direction:column;height:100%;min-height:0}.outfit-detail-image-container{width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background-color:#f8f6f4;overflow:auto;min-height:280px}.outfit-detail-image{width:100%;height:100%;object-fit:contain;display:block}.outfit-detail-actions{flex-shrink:0;padding:24px;border-top:1px solid #E5E5E5;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;background-color:#fff}.outfit-detail-save{background-color:#2211a6;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.outfit-detail-save:hover{background-color:#1a0d85;transform:translateY(-1px)}.outfit-detail-save:active{transform:translateY(0)}.outfit-detail-delete{background-color:transparent;color:#dc2626;border:1px solid #dc2626;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.outfit-detail-delete:hover{background-color:#dc2626;color:#fff}.outfit-detail-delete-confirm{width:100%;text-align:center}.outfit-detail-delete-confirm p{margin:0 0 12px;font-size:14px;color:#374151}.outfit-detail-delete-buttons{display:flex;justify-content:center;gap:12px}.outfit-detail-delete-cancel,.outfit-detail-delete-confirm-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:opacity .2s ease}.outfit-detail-delete-cancel{background-color:#e5e7eb;color:#374151}.outfit-detail-delete-cancel:hover:not(:disabled){background-color:#d1d5db}.outfit-detail-delete-confirm-btn{background-color:#dc2626;color:#fff}.outfit-detail-delete-confirm-btn:hover:not(:disabled){background-color:#b91c1c}.outfit-detail-delete-cancel:disabled,.outfit-detail-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.outfit-detail-modal{max-width:100vw;max-height:100vh;border-radius:0;height:100vh}.outfit-detail-image-container{min-height:60vh}}@media(prefers-reduced-motion:reduce){.outfit-detail-overlay,.outfit-detail-modal{animation:none}}*{box-sizing:border-box}body{margin:0;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f6f4}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:#f8f6f4}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:transparent;border-bottom:none;z-index:100;position:fixed;top:32px;left:0;right:0}.header-left{display:flex;align-items:center}.logo{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.logo-image{width:100%;height:100%;object-fit:cover}.header-center{display:flex;align-items:center;gap:.5rem;position:absolute;left:50%;transform:translate(-50%)}.tab-button{padding:12px 24px;border:none;border-radius:48px;background-color:#2211a633;outline:1px solid white;outline-offset:-1px;color:#fff;font-size:16px;font-weight:400;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:4px;transition:all .2s ease}.tab-button:hover{background-color:#2211a64d}.tab-button.active{background-color:#2211a6e6;color:#fff;font-size:24px;font-family:"Instrument Serif";font-weight:400;font-style:italic;gap:8px}.header-right{display:flex;align-items:center}.profile-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#2211a6;cursor:pointer;border-radius:50%;transition:background-color .2s ease;border:none;background:transparent;padding:0}.profile-icon:hover{background-color:#2211a61a}.canvas-main{flex:1;position:relative;overflow:visible;background-color:#f8f6f4;margin-top:0;padding-top:0}.add-to-canvas-button{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:16px 24px;background-color:#2211a6b3;color:#fff;border:none;border-radius:48px;outline:1px solid white;outline-offset:-1px;font-weight:400;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:all .2s ease;z-index:50}.add-to-canvas-button__plus{display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.add-to-canvas-button:hover:not(:disabled){background-color:#2211a6cc}.add-to-canvas-button:disabled{opacity:.6;cursor:not-allowed}.add-to-canvas-button--loading{cursor:default;background-color:#2211a6;outline:1px solid rgba(255,255,255,.4);pointer-events:none}.add-to-canvas-button__loading-text{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400;font-style:italic;color:#fff;line-height:1.25}.add-to-canvas-button__loading-icon{display:inline-flex;align-items:center;justify-content:center;color:#fff;animation:add-to-canvas-spin 1s linear infinite}@keyframes add-to-canvas-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-modal-overlay{position:fixed;inset:0;width:100%;height:100%;background:#0003;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.upload-modal{background-color:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.upload-modal.upload-modal--frame-step,.upload-modal[data-step=frame]{background:#0009!important;overflow-x:hidden;overflow-y:auto;border-radius:16px;outline:8px rgba(255,255,255,.2) solid;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;max-width:min(90vw,800px);max-height:90vh;padding:0}.upload-modal__top{align-self:stretch;padding:24px 24px 0;display:flex;justify-content:flex-end;align-items:center;gap:8px}.upload-modal__top .modal-close--frame{position:static;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;background:transparent;color:#fff;font-size:22px;line-height:1;border:none;border-radius:0;display:flex;align-items:center;justify-content:center}.upload-modal__top .modal-close--frame:hover{background:#fff3}.upload-modal__body{padding:0 clamp(20px,4vw,40px) clamp(24px,3vh,32px);box-shadow:0 4px 4px #00000040;display:flex;justify-content:center;align-items:flex-start;gap:clamp(24px,4vw,48px);width:100%;box-sizing:border-box}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.modal-close:hover{background-color:#f3f4f6}.login-modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modal-card{background-color:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.login-modal-close:hover{background-color:#f3f4f6}.login-modal-title{font-family:"Instrument Serif";font-weight:400;font-style:normal;font-size:1.5rem;color:#2211a6;text-align:center;margin:0 0 1.5rem}.login-modal-form{display:flex;flex-direction:column;gap:1rem}.login-modal-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.login-modal-input::placeholder{color:#9ca3af}.login-modal-error{margin:0;font-size:.875rem;color:#dc2626}.login-modal-button{padding:.75rem 1.25rem;background-color:#2211a6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.login-modal-button:hover{background-color:#1a0d85}.login-modal-logged-in{text-align:center;padding:.5rem 0}.login-modal-logged-in-text{margin:0 0 1rem;font-size:1rem;color:#374151}.error-toast{position:fixed;top:1rem;right:1rem;padding:1rem 1.5rem;background-color:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;font-size:.875rem;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 15px -3px #0000001a;z-index:200;max-width:400px}.error-toast strong{font-weight:600}.error-close{background:none;border:none;color:#991b1b;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;margin-left:auto;opacity:.7;transition:opacity .2s ease}.error-close:hover{opacity:1}.processing-overlay{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:500;pointer-events:none;padding-bottom:max(24px,env(safe-area-inset-bottom))}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:1rem 1.5rem;background-color:#fff;border:1px solid #E5E5E5;border-radius:12px;color:#333;font-size:.875rem;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:200;max-width:400px;animation:slideUpToast .3s ease-out}@keyframes slideUpToast{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.toast-view-button{background-color:#2211a6;color:#fff;border:none;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-left:auto}.toast-view-button:hover{background-color:#1a0d85}.toast-close{background:none;border:none;color:#6b7280;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .2s ease}.toast-close:hover{opacity:1}@media(max-width:768px){.toast-notification{bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;max-width:none;transform:none}@keyframes slideUpToast{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}@media(max-width:768px){.app-header{padding:.75rem 1rem}.header-center{position:static;transform:none;margin:0 auto}.logo{width:32px;height:32px}.logo-text{font-size:1rem}.tab-button{padding:.5rem 1rem;font-size:.8125rem}.add-to-canvas-button{bottom:1rem;padding:.625rem 1.5rem;font-size:.875rem}.add-to-canvas-button--loading .add-to-canvas-button__loading-text{white-space:nowrap}.upload-modal-overlay{align-items:flex-end;justify-content:center}.upload-modal{padding:1.5rem;width:95%}.upload-modal.upload-modal--frame-step,.upload-modal[data-step=frame]{width:100%;max-width:none;height:auto;max-height:100vh;max-height:100dvh;padding:0;overflow-y:auto;border-radius:32px 32px 0 0}.upload-modal--frame-step .upload-modal__top,.upload-modal[data-step=frame] .upload-modal__top{padding:12px 24px 8px}.upload-modal--frame-step .upload-modal__body,.upload-modal[data-step=frame] .upload-modal__body{padding:0 16px 32px;flex-direction:column;align-items:center;gap:24px}.error-toast{top:.5rem;right:.5rem;left:.5rem;max-width:none}}:root{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000000de;background-color:#f8f6f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#f8f6f4}#root{width:100%;height:100vh}
