.outfit-deck{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:4px 0 max(12px,env(safe-area-inset-bottom));color:var(--ink, #f7f1eb)}.outfit-deck__heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 9px}.outfit-deck__heading h1{display:-webkit-box;overflow:hidden;margin:0;font-size:clamp(21px,6vw,27px);font-weight:500;line-height:1.12;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.outfit-deck__count{flex:0 0 auto;color:var(--muted, #b7aeb0);font-size:11px;white-space:nowrap}.outfit-deck__stage{position:relative;display:grid;flex:1 1 auto;min-height:0;place-items:stretch;margin:0 18px;isolation:isolate;container-type:size}.outfit-deck__card{position:absolute;inset:0 0 16px;margin:0 auto;height:calc(100cqh - 16px);width:min(100cqw,calc((100cqh - 16px) * 2 / 3));overflow:hidden;border:1px solid #ffffff38;border-radius:24px;background:linear-gradient(145deg,#f4efea,#ded8d4);box-shadow:0 18px 44px #0c090a42,inset 0 1px #ffffff70;transform-origin:50% 100%}.outfit-deck__card--front{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.outfit-deck__card--front:active{cursor:grabbing}.outfit-deck__card img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.outfit-deck__card--peek{border-color:#f7eee85e;background:linear-gradient(155deg,#4e3c40,#30272a);box-shadow:0 12px 28px #08060738,inset 0 1px #fff2}.outfit-deck__preview-label{position:absolute;right:11px;bottom:11px;border:1px solid #2821241f;border-radius:999px;padding:6px 9px;background:#fff9;color:#33282b;font-size:10px;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.outfit-deck__drag-label{position:absolute;z-index:2;top:19px;border:2px solid currentColor;border-radius:12px;padding:7px 11px;background:#211c1dcc;font-size:14px;font-weight:700;letter-spacing:.08em;pointer-events:none}.outfit-deck__drag-label--save{right:16px;color:#447a61;transform:rotate(8deg)}.outfit-deck__drag-label--pass{left:16px;color:#9b4f5b;transform:rotate(-8deg)}.outfit-deck__card--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;border-style:dashed;border-color:#f4e6e080;background:linear-gradient(150deg,#60484e,#33272b 78%);color:#f7eee8;font-size:12px;font-weight:500;transform:scale(.96) translateY(8px)}.outfit-deck__empty-mark{display:grid;width:45px;height:45px;place-items:center;border:1px solid #f7eee84a;border-radius:50%;color:#e5bac4}.outfit-deck__swipe-label{position:absolute;z-index:7;top:18px;border-radius:999px;padding:7px 12px;color:#fff;font-size:11px;font-weight:600;pointer-events:none}.outfit-deck__swipe-label--save{right:18px;background:#3d785e}.outfit-deck__swipe-label--pass{left:18px;background:#8f4d58}.outfit-deck__footer{display:grid;flex:0 0 auto;gap:8px;padding:9px 18px 0}.outfit-deck__hint{margin:0;color:var(--muted, #b7aeb0);font-size:10px;line-height:1.3;text-align:center}.outfit-deck__actions{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px}.outfit-deck__button{display:inline-flex;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:15px;padding:0 9px;font:inherit;font-size:12px;font-weight:500;line-height:1.1;cursor:pointer;transition:background-color .15s ease,opacity .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.outfit-deck__button:active:not(:disabled){transform:scale(.98)}.outfit-deck__button:focus-visible{outline:2px solid #e5bac4;outline-offset:3px}.outfit-deck__button:disabled{cursor:default;opacity:.48}.outfit-deck__button--quiet{border-color:var(--line, #51464a);background:transparent;color:inherit}.outfit-deck__button--shop{border-color:var(--line, #51464a);background:var(--soft, #342a2d);color:inherit}.outfit-deck__button--primary{background:var(--accent, #a97883);color:var(--on-accent, #fff8f6)}.outfit-deck__button svg{flex:0 0 auto}.outfit-deck__status{margin:1px 0 0;color:var(--muted, #b7aeb0);font-size:11px;line-height:1.35;text-align:center}.outfit-deck--empty{align-items:stretch;justify-content:center;gap:18px;padding:24px 24px max(20px,env(safe-area-inset-bottom))}.outfit-deck__empty-card{display:flex;flex:1 1 auto;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:1px solid #ffffff26;border-radius:24px;padding:25px;background:linear-gradient(150deg,#4a383d,#2e2528);box-shadow:0 18px 44px #0c090a30,inset 0 1px #ffffff13;text-align:center}.outfit-deck__empty-card h1{max-width:260px;margin:0;font-size:24px;font-weight:500;line-height:1.15}.outfit-deck__empty-card p{margin:-5px 0 0;color:var(--muted, #b7aeb0);font-size:12px;line-height:1.45}.outfit-deck--empty>.outfit-deck__button{flex:0 0 auto;width:100%}@media(max-height:680px){.outfit-deck{padding-top:0}.outfit-deck__heading{padding-bottom:6px}.outfit-deck__heading h1{font-size:21px}.outfit-deck__footer{padding-top:6px;gap:6px}.outfit-deck__button{min-height:42px}}@media(prefers-reduced-motion:reduce){.outfit-deck__button{transition:none}}.outfit-deck__card{background:#c9c4c0}.outfit-deck__swapping{position:absolute;inset:auto 12px 12px;z-index:3;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:14px;background:#211c1dd9;color:#f7eee8;font-size:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.outfit-deck__swapping span{width:12px;height:12px;border-radius:50%;border:2px solid #e4bac3;border-right-color:transparent;animation:deck-spin .7s linear infinite}@keyframes deck-spin{to{transform:rotate(360deg)}}.outfit-deck__card--placeholder{overflow:hidden}.outfit-deck__card--placeholder>span{position:relative;z-index:1}.outfit-deck__card img.outfit-deck__partial{filter:blur(10px);opacity:.55;transform:scale(1.05);transition:opacity .4s}.sofi-feedback__backdrop{position:fixed;z-index:40;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#100c10a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:sofi-feedback-backdrop .15s ease-out both}.sofi-feedback__sheet{position:relative;width:min(480px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - 14px);overflow-y:auto;overscroll-behavior:contain;padding:13px 24px max(18px,env(safe-area-inset-bottom));border:1px solid var(--line, #4b3c41);border-bottom:0;border-radius:27px 27px 0 0;background:var(--paper, #211c1d);box-shadow:0 -20px 60px #0004;-webkit-overflow-scrolling:touch;animation:sofi-feedback-enter .24s cubic-bezier(.2,.8,.2,1) both}.sofi-feedback__handle{width:32px;height:3px;margin:0 auto 23px;border-radius:4px;background:var(--line, #4b3c41)}.sofi-feedback__sheet h2{margin:0 42px 9px 0;color:var(--ink, #f7eee8);font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400;letter-spacing:-1px;line-height:1.12}.sofi-feedback__sheet>p{margin:0 0 18px;color:var(--muted, #c0afb2);font-size:12px;line-height:1.45}.sofi-feedback__close,.sofi-feedback__back{position:absolute;top:23px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink, #f7eee8);cursor:pointer}.sofi-feedback__close{right:12px;width:40px;height:40px;border-radius:50%}.sofi-feedback__back{left:19px;gap:5px;height:40px;color:var(--muted, #c0afb2);font-size:12px}.sofi-feedback__close:hover,.sofi-feedback__back:hover{background:var(--soft, #34292b)}.sofi-feedback__close:focus-visible,.sofi-feedback__back:focus-visible,.sofi-feedback__choices button:focus-visible,.sofi-feedback__piece:focus-visible,.sofi-feedback__skip:focus-visible{outline:2px solid var(--accent, #e4bac3);outline-offset:3px}.sofi-feedback__choices,.sofi-feedback__pieces{display:grid;gap:9px}.sofi-feedback__choices button{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line, #4b3c41);border-radius:15px;padding:0 14px;background:transparent;color:var(--ink, #f7eee8);font-size:13px;text-align:left;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.sofi-feedback__choices button:hover,.sofi-feedback__piece:hover{background:var(--soft, #34292b)}.sofi-feedback__choices button:active,.sofi-feedback__piece:active{transform:scale(.99)}.sofi-feedback__choices svg,.sofi-feedback__piece>svg{flex:0 0 auto;color:var(--accent, #e4bac3)}.sofi-feedback__piece{display:flex;min-width:0;min-height:67px;align-items:center;gap:11px;border:1px solid var(--line, #4b3c41);border-radius:14px;padding:7px 10px 7px 7px;background:transparent;color:var(--ink, #f7eee8);text-align:left;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.sofi-feedback__thumb{display:grid;width:46px;height:52px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:9px;background:#e9e6e0}.sofi-feedback__thumb img{width:100%;height:100%;object-fit:cover}.sofi-feedback__piece-copy{display:grid;flex:1 1 auto;min-width:0;gap:4px}.sofi-feedback__piece-copy strong{color:var(--accent, #e4bac3);font-size:11px;font-weight:600}.sofi-feedback__piece-copy span{overflow:hidden;color:var(--ink, #f7eee8);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.sofi-feedback__skip{display:block;width:100%;padding:15px 5px 4px;border:0;background:transparent;color:var(--muted, #c0afb2);font-size:12px;text-align:center;cursor:pointer}@keyframes sofi-feedback-backdrop{0%{opacity:0}to{opacity:1}}@keyframes sofi-feedback-enter{0%{transform:translateY(60px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sofi-feedback__backdrop,.sofi-feedback__sheet{animation:none}.sofi-feedback__choices button,.sofi-feedback__piece{transition:none}}.swap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;padding-bottom:6px}.swap-option{display:grid;gap:5px;text-align:left;color:var(--ink, #f7eee8);background:none;border:0;padding:0;transition:transform .12s}.swap-option:active{transform:scale(.95)}.swap-option__image{display:block;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;background:#e9e6e0}.swap-option__image img{width:100%;height:100%;object-fit:cover}.swap-option__name{font-size:10.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.swap-option__meta{font-size:10px;color:var(--muted, #c0afb2)}.swap-sheet .sofi-feedback__back~h2{margin-top:34px}.sofi-creating{box-sizing:border-box;display:flex;flex:1 1 auto;min-height:0;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 22px;overflow:hidden;background:#211c1d;color:#f7eee8;text-align:center}.sofi-creating__orb{flex:0 0 auto;filter:drop-shadow(0 0 34px rgb(228 186 195 / 12%))}.sofi-creating__message{display:grid;justify-items:center;gap:6px;min-height:62px}.sofi-creating__headline{margin:0;color:#f7eee8;font-family:Georgia,Times New Roman,serif;font-size:clamp(23px,6vw,29px);line-height:1.25;letter-spacing:-.025em;animation:sofi-message-in .36s cubic-bezier(.2,.75,.25,1) both}.sofi-creating__stage{max-width:280px;margin:0;color:#c0afb2;font-size:12px;line-height:1.5}.sofi-creating__cancel{min-width:92px;padding:10px 18px;border:1px solid rgb(228 186 195 / 34%);border-radius:999px;background:transparent;color:#e4bac3;font:inherit;font-size:13px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.sofi-creating__cancel:hover,.sofi-creating__cancel:focus-visible{border-color:#e4bac3;background:#e4bac314;color:#f7eee8}.sofi-creating__cancel:focus-visible{outline:2px solid #e4bac3;outline-offset:3px}@keyframes sofi-message-in{0%{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.sofi-creating__headline,.sofi-creating__cancel{animation:none!important;transition:none!important}}.sofi-creating{position:relative;isolation:isolate}.sofi-creating__preview{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.38;filter:blur(14px) saturate(1.1);transform:scale(1.06);animation:sofi-preview-in .8s ease-out both}@keyframes sofi-preview-in{0%{opacity:0}to{opacity:.38}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7eee8;background:#211c1d;font-synthesis:none;--paper:#211c1d;--ink:#f7eee8;--muted:#c0afb2;--line:#4b3c41;--soft:#34292b;--accent:#e4bac3;--on-accent:#352127;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a{color:inherit}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-1.2px}h1{font-size:40px;line-height:1.08}h2{font-size:27px;line-height:1.18}h3{font-size:15px;font-weight:550}em{color:var(--accent);font-weight:400}p{font-size:14px;line-height:1.6;color:var(--muted)}img{display:block;max-width:100%}.app{position:relative;max-width:480px;min-height:100dvh;margin:auto;background:var(--paper);padding-bottom:env(safe-area-inset-bottom);overflow:hidden}.header{height:83px;padding:16px 22px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{font-family:Georgia,serif;font-size:37px;letter-spacing:-2.8px;line-height:1;padding:3px 10px 9px}.wordmark span,.library-title h1 span{color:var(--accent)}.header-spacer{width:40px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.icon-button:hover{background:var(--soft)}.page{padding:20px 26px 30px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:53px;border-radius:15px;font-weight:520;font-size:14px;padding:14px 18px;width:100%;transition:background .15s,transform .15s}.primary{background:var(--accent);color:var(--on-accent)}.primary:not(:disabled):active,.secondary:not(:disabled):active{transform:scale(.98)}.secondary{border:1px solid var(--line);background:transparent}.secondary:not(:disabled):hover{background:var(--soft)}.text-button{font-size:12px;color:var(--muted);text-align:center;padding:16px 5px;display:block;width:100%}.small{font-size:11px;line-height:1.5}.centered{text-align:center}.welcome-photos{height:340px;position:relative;margin:20px -8px 5px}.welcome-photos img{position:absolute;width:43%;height:300px;object-fit:cover;border-radius:100px 100px 18px 18px;box-shadow:0 10px 25px #0004;top:25px}.welcome-photos img:nth-child(1){left:-10%;transform:rotate(-11deg)}.welcome-photos img:nth-child(2){z-index:1;left:29%;top:0;height:330px;width:42%}.welcome-photos img:nth-child(3){right:-10%;transform:rotate(11deg)}.welcome-copy{padding:24px 32px 20px;text-align:center}.welcome-copy h1{font-size:45px}.welcome-copy p{margin:17px 0 26px}.step-mark{display:flex;gap:5px;margin:0 0 30px}.step-mark span{width:26px;height:3px;background:var(--line);border-radius:3px}.step-mark span:first-child{background:var(--accent)}.photo-page>p{margin:18px 0 28px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}.photo-slot{position:relative;aspect-ratio:2/3;background:var(--soft);border:1px dashed #70575f;border-radius:60px 60px 14px 14px;display:grid;place-items:center;color:var(--accent);overflow:hidden}.photo-slot.filled{border:0}.photo-slot img{width:100%;height:100%;object-fit:cover}.remove-photo{position:absolute;bottom:8px;right:7px;width:25px;height:25px;border-radius:50%;background:#211c1dbb;display:grid;place-items:center}.gender-control{margin:0 0 18px}.gender-control__label{display:block;font-size:12px;color:var(--muted);margin:0 0 8px}.segmented{display:flex;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:4px}.segmented button{flex:1;min-height:38px;border-radius:11px;font-size:13px;font-weight:520;color:var(--muted)}.segmented button.selected{background:var(--accent);color:var(--on-accent)}.photo-hint{display:flex;align-items:center;gap:15px;padding:25px 0 20px}.hint-illustration{display:grid;place-items:center;width:36px;flex-shrink:0;height:53px;border:1px solid var(--line);border-radius:20px;font-size:27px;color:var(--accent)}.photo-hint strong{font-size:13px;font-weight:500}.photo-hint p{font-size:12px;margin-top:3px;line-height:1.5}.bottom-action{margin-top:21px}.measurements{border-top:1px solid var(--line);padding:14px 0 2px}.measurements summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:13px;font-weight:500}.measurements summary::-webkit-details-marker{display:none}.measurements summary span{color:var(--muted);font-weight:400;font-size:12px}.measurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.measurement-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.measurement-grid input{width:100%;box-sizing:border-box;background:var(--soft);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:11px 12px;font-size:16px;min-width:0}.bottom-action p{margin:13px 6px 0}.preview-label{position:absolute;left:16px;bottom:13px;background:#211c1d99;color:#fff5ed;border:1px solid #fff3;padding:5px 9px;font-size:10px;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.library-page{padding-top:24px;padding-bottom:120px}.library-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.library-title h1{font-size:38px}.count{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:50%;min-width:28px;height:28px;display:grid;place-items:center}.outfit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.outfit-card{padding:0;min-width:0;text-align:left}.outfit-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;background:var(--soft)}.outfit-card div{display:flex;align-items:center;gap:6px;justify-content:space-between;margin-top:10px;font-size:12px;line-height:1.4}.outfit-card svg{flex-shrink:0;color:var(--accent)}.library-action{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(480px,100%);padding:22px 26px max(22px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 18%);z-index:2}.library-action p{margin-top:8px}.empty-library{text-align:center;padding:24px 0 16px}.empty-library h2{font-size:25px;margin-bottom:10px}.empty-cards{position:relative;height:250px;margin:0 auto 22px;width:260px}.empty-cards img,.empty-cards>div{position:absolute;top:5px;left:15px;width:145px;height:210px;border-radius:13px;object-fit:cover;transform:rotate(-10deg);opacity:.65}.empty-cards>div{top:26px;left:102px;background:var(--soft);color:var(--accent);border:1px solid var(--line);display:grid;place-items:center;transform:rotate(10deg);opacity:1}.resume-card{display:flex;align-items:center;text-align:left;gap:13px;width:100%;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px;margin-top:27px}.resume-card img{width:42px;height:58px;object-fit:cover;border-radius:8px}.resume-card>span{flex:1;font-size:13px}.resume-card small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.shopping-page h1{font-size:32px;margin:8px 0 13px}.shopping-page h2{margin:30px 0 25px;font-size:26px}.shopping-page>p{font-size:13px}.store-group{margin:0 0 27px}.store-group h3{margin-bottom:13px}.product{display:flex;align-items:center;gap:15px;text-decoration:none;border-top:1px solid var(--line);padding:15px 0}.product-image{width:73px;height:95px;border-radius:10px;background:#e9e6e0;flex-shrink:0;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{display:grid;gap:7px;flex:1;min-width:0;font-size:12px;line-height:1.3}.product-info strong{font-size:12px;font-weight:500;color:var(--accent)}.product-info small{font-size:10px;color:var(--muted)}.product>svg{flex-shrink:0}.shopping-page .shopping-disclaimer{font-size:11px;margin-bottom:22px}.sheet-backdrop{position:fixed;inset:0;background:#100c10a6;z-index:8;display:flex;justify-content:center;align-items:flex-end;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.feedback-sheet{position:relative;width:min(480px,100%);background:var(--paper);border:1px solid var(--line);border-radius:27px 27px 0 0;padding:13px 26px max(22px,env(safe-area-inset-bottom));box-shadow:0 -20px 60px #0004;animation:slide-up .2s ease-out}.sheet-handle{width:32px;height:3px;background:var(--line);border-radius:4px;margin:0 auto 25px}.sheet-close{position:absolute;right:15px;top:25px}.feedback-sheet h2{font-size:30px;margin:0 0 10px}.feedback-sheet p{font-size:13px;margin:0 0 20px}.feedback-options{display:grid;gap:9px}.feedback-options button{justify-content:space-between;text-align:left;font-size:13px}.rethink{padding-top:30px}.rethink-orb{display:block;margin:10px auto 35px;width:125px;height:125px;border-radius:42% 58% 63% 37%;background:radial-gradient(circle at 25% 20%,#ffebe8,#d59daa 30%,#755461 60%,#2e2328 80%);box-shadow:0 0 60px #e4bac325}.rethink p{margin:25px 0 32px}.rethink .secondary{margin-top:12px}.error{position:relative;z-index:20;display:flex;align-items:flex-start;gap:13px;padding:15px 18px;background:#5b343b;color:#ffece9;font-size:12px;line-height:1.5}.error span{flex:1}.error button{padding:0}.toast{position:fixed;z-index:30;left:50%;top:22px;transform:translate(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;background:var(--accent);color:var(--on-accent);font-size:12px;border-radius:30px;padding:12px 19px;box-shadow:0 6px 20px #0003}.boot{display:grid;place-items:center}.boot .wordmark{font-size:60px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes slide-up{0%{transform:translateY(60px);opacity:.4}to{transform:translateY(0);opacity:1}}@media(min-width:700px){.app{box-shadow:0 0 100px #0003;border-left:1px solid #ffffff08;border-right:1px solid #ffffff08}.welcome-photos{margin-top:28px}.welcome-copy{padding-top:33px}}@media(max-width:370px){h1{font-size:35px}.page{padding-left:20px;padding-right:20px}.welcome-photos{height:300px}.welcome-photos img{height:270px}.welcome-photos img:nth-child(2){height:295px}.welcome-copy h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{background:#211c1d}html,body,#root{width:100%;height:100%;min-height:0;background:#211c1d}html{overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;height:100%;overflow:hidden;overscroll-behavior:none}#root{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}.app{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding-top:env(safe-area-inset-top);padding-bottom:0;overflow:hidden;overscroll-behavior:none}.header{flex:0 0 68px}.page{min-height:0}.screen-welcome{justify-content:flex-start}.screen-welcome .welcome-art{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:180px;max-height:min(38dvh,310px);margin:8px 22px 0;isolation:isolate}.welcome-glow{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#d59daa35 0,#8b5d6730 43%,transparent 72%);filter:blur(8px);z-index:-1}.welcome-card{position:absolute;display:grid;place-items:center;width:39%;height:78%;border:1px solid #f7eee847;border-radius:100px 100px 17px 17px;background:linear-gradient(150deg,#73545a,#34282a 68%);color:#e4bac3;box-shadow:0 20px 45px #0005,inset 0 1px #fff2}.welcome-card svg{width:34px;height:34px;opacity:.8}.welcome-card-back{left:13%;top:17%;transform:rotate(-11deg);opacity:.8}.welcome-card-front{right:13%;top:8%;height:84%;transform:rotate(10deg);background:linear-gradient(155deg,#8a626a,#392b2f 72%)}.screen-welcome .welcome-copy{flex:0 0 auto;padding:12px 30px max(16px,env(safe-area-inset-bottom))}.screen-welcome .welcome-copy h1{font-size:clamp(38px,10vw,45px)}.screen-welcome .welcome-copy p{margin:12px 0 18px}.screen-welcome .welcome-copy .text-button{padding:13px 5px 4px}.screen-photos .photo-page,.screen-library .library-page,.screen-detail .shopping-page,.screen-rethink .rethink,.screen-bag .bag-page{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen-photos .photo-page::-webkit-scrollbar,.screen-library .library-page::-webkit-scrollbar,.screen-detail .shopping-page::-webkit-scrollbar,.screen-rethink .rethink::-webkit-scrollbar,.screen-bag .bag-page::-webkit-scrollbar{display:none}.screen-photos .photo-page{padding-bottom:22px}.screen-photos .bottom-action{position:sticky;bottom:-22px;z-index:2;margin:12px -26px -22px;padding:16px 26px max(18px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 0,var(--paper) 18%)}.screen-photos .photo-hint{padding:18px 0 12px}.screen-result{overflow:hidden}.screen-result .header{flex-basis:52px;height:52px;padding:5px 16px}.screen-result .wordmark{font-size:31px;padding-bottom:5px}.screen-library .library-page{padding-bottom:24px}.screen-library .library-action{position:sticky;left:auto;bottom:-24px;transform:none;width:auto;margin:14px -26px -24px;padding:20px 26px max(18px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--paper) 18%)}.screen-detail .shopping-page{padding-top:0;padding-bottom:24px}.detail-hero{position:relative;display:block;width:calc(100% + 52px);margin:0 -26px;height:62dvh;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--paper);cursor:zoom-in}.detail-hero img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 8%;transform:scale(1.18);transform-origin:50% 0}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,#211c1d99 76%,var(--paper) 98%);pointer-events:none}.detail-hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;z-index:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(180deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 70%);pointer-events:none}.detail-hero__expand{position:absolute;z-index:2;top:12px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:20px;background:#211c1d99;color:#fff5ed;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.shopping-page .detail-title{position:relative;z-index:2;margin:-78px 0 13px;font-size:34px;line-height:1.05;text-shadow:0 2px 18px #211c1d}.viewer{position:fixed;inset:0;z-index:60;background:#0d0a0b;display:grid;place-items:center;animation:backdrop-enter .18s ease-out both;cursor:zoom-out}.viewer img{width:100%;height:100%;object-fit:contain;animation:viewer-in .24s cubic-bezier(.2,.8,.2,1) both}.viewer__close{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;background:#211c1d99;color:#fff}@keyframes viewer-in{0%{transform:scale(.94);opacity:.4}to{transform:scale(1);opacity:1}}.loved{margin:-10px 0 24px}.loved h2{font-size:13px;font-family:inherit;font-weight:500;color:var(--muted);margin:0 0 10px;letter-spacing:0}.loved-row{display:flex;gap:9px;overflow-x:auto;margin:0 -26px;padding:0 26px 4px;scrollbar-width:none}.loved-row::-webkit-scrollbar{display:none}.loved-row a{flex:0 0 62px;height:82px;border-radius:11px;overflow:hidden;background:#e9e6e0}.loved-row img{width:100%;height:100%;object-fit:cover}.manage-photos h1 .dot{color:var(--accent)}.manage-photos>p{margin:14px 0 24px}.manage-photos .measurements{margin-top:8px}.screen-rethink .rethink{padding-top:14px}.phone-sheet img{display:block;width:min(240px,70vw);max-height:34dvh;object-fit:contain;margin:12px auto 20px;padding:10px;border-radius:12px;background:#fff}.phone-sheet{padding-top:50px}.feedback-sheet{max-height:calc(100dvh - env(safe-area-inset-top) - 16px);overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch}.boot{height:100dvh}@media(max-height:700px){.screen-welcome .welcome-art{min-height:145px;max-height:32dvh}.screen-welcome .welcome-copy{padding-top:6px}.screen-welcome .welcome-copy p{margin:8px 0 12px}.screen-photos .step-mark{margin-bottom:18px}.screen-photos .photo-page>p{margin:12px 0 18px}.screen-photos .photo-slot{border-radius:42px 42px 12px 12px}}.page,.sofi-creating{animation:page-enter .22s ease-out both}.sheet-backdrop{animation:backdrop-enter .15s ease-out both}.feedback-sheet{animation:sheet-enter .24s cubic-bezier(.2,.8,.2,1) both}.icon-button,.outfit-card{transition:transform .15s}.icon-button:active,.outfit-card:active{transform:scale(.94)}@keyframes page-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes sheet-enter{0%{transform:translateY(60px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.login-page{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;gap:6px}.login-page .wordmark{font-size:34px;margin-bottom:28px}.login-page h1{font-size:44px}.login-page form{display:grid;gap:12px;margin-top:22px}.login-input{background:var(--soft);border:1px solid var(--line);border-radius:14px;color:var(--ink);padding:15px 16px;font-size:16px}.login-error{color:var(--accent);margin:0}.privacy{margin:34px 0 8px;border-top:1px solid var(--line);padding-top:12px}.privacy summary{list-style:none;cursor:pointer;font-size:12px;color:var(--muted);text-align:center}.privacy summary::-webkit-details-marker{display:none}.privacy[open] summary{margin-bottom:10px}.privacy>p{margin:8px 0 12px}.privacy .text-button{display:block;width:100%;padding:11px 0;font-size:13px}.privacy .danger{color:var(--accent)}.privacy-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px}.privacy-row input{width:20px;height:20px;accent-color:var(--accent)}.header--bar{flex-basis:52px;height:52px;padding:6px 14px}.header-title{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:19px;letter-spacing:-.3px;color:var(--ink)}.tab-bar{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#211c1dd9;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-top:1px solid var(--line);position:relative;z-index:6}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:6px 4px 0;opacity:.55;transition:opacity .15s,transform .12s}.tab-bar__item:active{transform:scale(.92)}.tab-bar__item--active{opacity:1}.tab-bar__icon-wrap{position:relative;display:grid;place-items:center;width:44px;height:32px}.tab-bar__item--active .tab-bar__icon-wrap:before{content:"";position:absolute;inset:-4px -8px;border-radius:16px;background:var(--accent);opacity:.2}.tab-bar__icon{position:relative;width:30px;height:30px;object-fit:contain}.tab-bar__label{font-size:10px;line-height:1.2;color:var(--muted)}.tab-bar__item--active .tab-bar__label{color:var(--ink);font-weight:600}.bag-page{padding-top:20px;padding-bottom:24px}.bag-page .store-group{margin:0 0 22px}.store-group__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px}.store-group__head h3{margin:0}.store-group__subtotal{font-size:12px;color:var(--muted)}.bag-product{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:15px 0}.bag-product .product-image{width:60px;height:78px;border-radius:9px;background:#e9e6e0;flex-shrink:0;overflow:hidden}.bag-product .product-image img{width:100%;height:100%;object-fit:cover}.bag-product .product-info{display:grid;gap:6px;flex:1;min-width:0;font-size:12px;line-height:1.3}.bag-product .product-info strong{font-size:12px;font-weight:500;color:var(--accent)}.bag-product .product-info small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-shop{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:520;text-decoration:none}.bag-total{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:16px;border-top:1px solid var(--line);font-size:15px}.bag-total strong{font-family:Georgia,serif;font-size:19px;font-weight:400;color:var(--accent)}.bag-note{margin-top:12px;color:var(--muted)}.empty-bag{text-align:center;padding:60px 10px 20px}.empty-bag__mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--line);color:var(--accent)}.empty-bag h2{font-size:23px;margin-bottom:9px}.empty-bag p{max-width:230px;margin:0 auto}
