.upload-page{max-width:1000px}.upload-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--muted)}.upload-heading{margin-bottom:20px}.upload-heading h1{max-width:22ch}.upload-privacy{display:flex;align-items:flex-start;gap:9px;color:var(--success);font-size:.9rem;margin-bottom:28px;max-width:65ch}.upload-privacy svg{flex-shrink:0;margin-top:3px}.upload-form{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.2fr);gap:36px;align-items:start}.upload-photo-column{min-width:0}.upload-preview{width:100%;height:clamp(260px,38vw,470px);background:var(--rail);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.upload-preview img{width:100%;height:100%;object-fit:contain}.upload-preview-empty{display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--muted);text-align:center;padding:24px}.upload-file-label{display:block;font-size:.875rem;font-weight:600;margin-top:20px;margin-bottom:8px}.upload-file-input{display:block;width:100%;min-height:44px;font:inherit;color:var(--ink);font-size:.875rem;overflow:hidden}.upload-file-input::file-selector-button{padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;margin-right:10px;cursor:pointer;min-height:44px}.upload-file-input:disabled::file-selector-button{cursor:default}.upload-help{color:var(--muted);font-size:.85rem;line-height:1.55;margin-top:10px;max-width:65ch}.upload-photo-ready{display:flex;align-items:center;gap:7px;color:var(--success);margin-top:12px;font-size:.85rem;font-variant-numeric:tabular-nums}.upload-fields{min-width:0}.upload-fieldset{display:flex;flex-direction:column;gap:20px;min-width:0;border:0;padding:0;margin:0}.upload-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-optional{display:inline;font-weight:400;color:var(--muted);font-size:.85rem}.upload-page .upload-style-fieldset,.upload-page .upload-colors-fieldset{border:0;padding:0;margin:0;min-width:0}.upload-style-fieldset legend,.upload-colors-fieldset legend{padding:0;font-size:.875rem;font-weight:600;margin-bottom:10px}.upload-style-fieldset legend span,.upload-colors-fieldset legend span{color:var(--muted);font-weight:400}.upload-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.upload-page label.upload-style-option{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:36px;font-weight:400;cursor:pointer}.upload-page .upload-style-option input{width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:var(--accent);flex-shrink:0}.upload-style-option:has(input:disabled){color:var(--muted);cursor:default}.upload-colors{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.upload-color{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--surface)}.upload-page .upload-color input[type=color]{width:44px;min-height:44px;height:44px;border:0;background:transparent;padding:5px;border-radius:0;cursor:pointer}.upload-remove-color{width:32px;min-height:44px;color:var(--muted);display:flex;align-items:center;justify-content:center}.upload-remove-color:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.upload-submit-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.upload-fields>.upload-help{margin-top:-7px}.upload-page .form-error{margin-top:0;line-height:1.55}.upload-photo-column .form-error{margin-top:12px}.upload-notice{display:flex;align-items:flex-start;gap:8px;color:var(--success);margin-top:26px;font-size:.95rem}.upload-notice svg{flex-shrink:0;margin-top:3px}.upload-owned{margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}.upload-owned-heading{display:flex;align-items:baseline;gap:12px}.upload-owned-heading h2{font-size:1.35rem}.upload-owned-heading>span{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.upload-empty{margin-top:16px;color:var(--muted);line-height:1.6;max-width:60ch}.upload-owned-list{list-style:none;margin:18px 0 0;padding:0}.upload-owned-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.upload-owned-photo{width:68px;height:90px;border-radius:5px;background:var(--rail);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted)}.upload-owned-photo img{width:100%;height:100%;object-fit:contain}.upload-owned-caption{min-width:0}.upload-owned-caption h3{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.upload-owned-caption p{font-size:.85rem;color:var(--muted);margin-top:5px}.upload-delete{display:flex;gap:7px;align-items:center;color:var(--danger)}.upload-delete-confirm{max-width:300px}.upload-delete-confirm p{color:var(--danger);font-size:.9rem;margin-bottom:9px}.upload-delete-confirm>div{display:flex;gap:8px;flex-wrap:wrap}.upload-owned>.form-error{margin-top:16px}.upload-spinner{animation:upload-spin 1s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.upload-form{gap:26px;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr)}.upload-owned-item:has(.upload-delete-confirm){grid-template-columns:68px minmax(0,1fr)}.upload-delete-confirm{grid-column:2}}@media(max-width:760px){.upload-back{margin-bottom:12px}.upload-heading{margin-bottom:16px}.upload-privacy{font-size:.85rem;margin-bottom:24px}.upload-form{display:flex;flex-direction:column;gap:28px}.upload-photo-column{width:100%;max-width:460px}.upload-preview{height:320px}.upload-fields{width:100%}.upload-owned{margin-top:36px;padding-top:26px}.upload-owned-heading h2{font-size:1.2rem}.upload-owned-item{gap:12px;grid-template-columns:58px minmax(0,1fr) auto}.upload-owned-photo{width:58px;height:78px}.upload-owned-item:has(.upload-delete-confirm){grid-template-columns:58px minmax(0,1fr)}.upload-delete-confirm{grid-column:1 / -1;max-width:none;padding-top:2px}.upload-delete{gap:5px;font-size:.85rem}}@media(max-width:360px){.upload-field-pair{gap:10px}.upload-style-options{gap:4px 8px}.upload-preview{height:280px}.upload-submit-row{gap:16px}}@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}@font-face{font-family:Barlow;src:url(/fonts/barlow-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-semibold.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:light;--bg:#f5f7f7;--surface:#fff;--rail:#e5ebed;--ink:#172c35;--muted:#526570;--line:#ccd6db;--accent:#2551be;--on-accent:#fff;--soft:#e6ecfa;--soft-ink:#244ba5;--danger:#a13d42;--danger-bg:#faedef;--success:#275b4b;--shadow:0 12px 32px rgb(23 44 53 / 9%);--radius:10px;font-family:Barlow,system-ui,sans-serif;font-synthesis:none;font-weight:400;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--bg:#14232c;--surface:#1c303b;--rail:#1a2c35;--ink:#e4eff2;--muted:#aec1ca;--line:#3e5663;--accent:#a9c2ff;--on-accent:#14232c;--soft:#273e5e;--soft-ink:#bfd1ff;--danger:#ffb9bf;--danger-bg:#482e38;--success:#a2d5c0;--shadow:0 12px 32px rgb(0 0 0 / 22%)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:default;opacity:.48}a{color:var(--accent);text-underline-offset:4px}button,a,select,input,textarea{touch-action:manipulation}button{transition:background-color .16s ease-out,color .16s ease-out,opacity .16s ease-out}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--on-accent)}input,textarea{caret-color:var(--accent);accent-color:var(--accent)}html{scrollbar-color:var(--line) var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:600}h1{font-size:clamp(2.15rem,3.2vw,3rem);line-height:1.12;letter-spacing:-.035em}h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.015em}h3{font-size:1.05rem;line-height:1.4}img{display:block;width:100%;object-fit:cover}svg{flex-shrink:0;stroke-width:1.7}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:12px;left:12px;background:var(--accent);color:var(--on-accent);padding:12px;z-index:10}.muted{color:var(--muted)}.small-text{font-size:.875rem}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;display:flex}.rail{width:210px;position:fixed;inset:0 auto 0 0;padding:36px 20px 22px;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;padding:0 12px;font-size:46px;font-weight:700;line-height:1;letter-spacing:-.055em;width:max-content}.brand-period{color:var(--accent)}.brand-symbol{position:relative;display:block;width:32px;height:30px;margin-right:10px}.brand-symbol i{display:block;position:absolute;width:20px;height:28px;top:1px;border:2px solid var(--accent);border-radius:12px;transform:rotate(28deg)}.brand-symbol i:last-child{left:11px;transform:rotate(-28deg)}.brand-caption{margin:22px 12px 38px;font-size:.9rem;line-height:1.4;color:var(--muted)}.rail nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;text-align:left;font-weight:600;padding:13px 12px;border-radius:7px;min-height:48px;color:var(--muted)}.nav-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.nav-item.active{background:var(--accent);color:var(--on-accent)}.nav-count{font-size:.8rem;margin-left:auto}.rail-bottom{margin-top:auto;padding-top:45px}.together-mark{border-top:1px solid var(--line);padding:22px 10px;display:flex;gap:10px;color:var(--muted);font-size:.83rem;line-height:1.5}.together-mark>svg{margin-top:4px}.together-mark strong{font-weight:600;color:var(--ink)}.appearance{display:flex;gap:10px;align-items:center;padding:12px 10px;font-size:.85rem;color:var(--muted);min-height:44px}.appearance:hover{color:var(--accent)}.workspace{margin-left:210px;flex:1;min-width:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 46px;border-bottom:1px solid var(--line);gap:20px}.topbar-context{font-size:.88rem;color:var(--muted)}.topbar-actions{display:flex;gap:20px;align-items:center}.mobile-theme{display:none!important}.account-button{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600;max-width:260px;overflow-wrap:anywhere}.avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:.9rem;font-weight:600;flex-shrink:0}.avatar.large{width:66px;height:66px;font-size:1.65rem}.avatar.second{background:var(--rail);color:var(--ink)}main{max-width:1350px;margin:auto;padding:38px 46px 30px;outline:none}.page-heading{display:flex;justify-content:space-between;gap:28px;margin-bottom:34px;align-items:center}.page-heading p{color:var(--muted);margin-top:14px;line-height:1.55;max-width:58ch}.quiet-note{color:var(--muted);font-size:.875rem;display:flex;gap:8px;align-items:center;align-self:flex-start;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border-radius:6px;padding:11px 19px;font-weight:600;font-size:1rem;border:1px solid transparent;line-height:1.35;text-decoration:none}.button.primary{background:var(--accent);color:var(--on-accent)}.button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 87%,var(--ink))}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.button.small{font-size:.9rem;min-height:42px;padding:9px 14px}.button.full{width:100%}.text-button{min-height:44px;font-weight:600;font-size:.9rem;padding:8px 0}.text-button:hover{color:var(--accent)}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.icon-button:hover{background:var(--soft)}.inline-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem;color:var(--accent);padding:6px 0;min-height:36px;text-decoration:none;text-align:left}.inline-link:hover{text-decoration:underline;text-underline-offset:4px}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);padding:8px 12px 8px 18px;border-radius:6px;margin-bottom:24px;font-size:.95rem}.error-banner .icon-button{color:var(--danger)}.loading-state{min-height:60vh;display:flex;gap:20px;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.discover-layout{display:grid;grid-template-columns:minmax(350px,1fr) minmax(250px,290px);gap:clamp(28px,5vw,88px);max-width:1040px}.discovery{min-width:0}.discovery-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.audience-picker{display:flex;gap:4px;padding:4px;background:var(--rail);border-radius:7px}.audience-picker button{padding:6px 15px;min-height:36px;border-radius:4px;color:var(--muted);font-size:.9rem;font-weight:600}.audience-picker .selected{background:var(--surface);color:var(--ink);box-shadow:0 2px 4px #0000000d}.occasion-select{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.875rem}.occasion-select select{border:0;background:transparent;color:var(--ink);min-height:44px;max-width:130px;cursor:pointer;font-weight:600}.deck-stage{width:100%;max-width:420px;margin:0 auto;position:relative}.outfit-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow);touch-action:pan-y;transition:transform .22s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.outfit-card.dragging{transition:none;cursor:grabbing}.outfit-image{position:relative;height:clamp(320px,42vh,440px);background:var(--rail)}.outfit-image img{height:100%;object-position:center 42%;pointer-events:none}.photo-topline{position:absolute;inset:14px 14px auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.photo-label{border-radius:4px;padding:5px 10px;font-weight:600;font-size:.8rem;background:var(--surface);color:var(--ink)}.photo-info{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);color:var(--ink)}.photo-info:hover{color:var(--accent)}.outfit-caption{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:86px}.outfit-caption h2{font-size:1.15rem;line-height:1.25}.outfit-caption p{font-size:.83rem;color:var(--muted);margin-top:5px}.outfit-index{font-size:.85rem;flex-shrink:0;font-variant-numeric:tabular-nums}.outfit-index>span{color:var(--muted)}.swipe-label{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);padding:10px 20px;border:3px solid currentColor;font-size:1.5rem;font-weight:700;border-radius:7px;background:var(--surface);white-space:nowrap}.swipe-label.yes{color:var(--accent)}.swipe-label.no{color:var(--danger)}.vote-actions{display:flex;justify-content:center;align-items:center;gap:36px;margin:21px auto 14px}.vote-button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.8rem;font-weight:600;padding:0;min-width:72px}.vote-button>span{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);transition:transform .2s ease-out,background-color .2s}.vote-button.like>span{width:64px;height:64px;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.vote-button.love>span{color:var(--accent);background:var(--soft);border-color:var(--soft)}.vote-button:hover:not(:disabled)>span{transform:translateY(-3px)}.vote-button:active:not(:disabled)>span{transform:scale(.94)}.deck-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:420px;margin:auto;color:var(--muted);font-size:.7rem}.undo-button{display:inline-flex;align-items:center;gap:6px;color:var(--muted);min-height:38px;font-size:.8rem;font-weight:600;padding:6px 0}.undo-button:hover:not(:disabled){color:var(--accent)}.swipe-hint{display:none}.discovery-aside{padding-top:68px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading h2{font-size:1.06rem;max-width:22ch}.count-badge{border:1px solid var(--line);padding:0 7px;min-width:24px;border-radius:4px;text-align:center;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.collection-preview p,.style-preview p{font-size:.9rem;line-height:1.6;color:var(--muted);margin-top:16px}.empty-contact{display:flex;align-items:center;justify-content:center;gap:18px;min-height:140px;background:var(--rail);border:1px dashed var(--line);border-radius:7px;margin-top:20px;color:var(--muted)}.empty-contact p{margin:0;line-height:1.5}.contact-strip{display:flex;gap:8px;margin-top:20px;height:137px}.contact-strip>button{position:relative;flex:1;min-width:0;padding:0;border-radius:5px;overflow:hidden;max-width:calc((100% - 16px)/3)}.contact-strip img{height:100%}.contact-strip>button>svg{position:absolute;right:4px;bottom:4px;background:var(--surface);color:var(--accent);padding:3px;box-sizing:content-box;border-radius:3px}.style-preview{border-top:1px solid var(--line);padding-top:23px;margin-top:26px}.small-icon{display:block;color:var(--accent);margin-bottom:13px}.style-preview h2{font-size:1.25rem;max-width:20ch}.style-preview .inline-link{margin-top:12px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.tags span{background:var(--soft);color:var(--soft-ink);font-size:.8rem;font-weight:600;padding:4px 9px;border-radius:4px}.couple-nudge{display:flex;gap:13px;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px;margin-top:25px;color:var(--muted)}.couple-nudge>svg{margin-top:4px}.couple-nudge p{font-weight:600;font-size:.9rem;color:var(--ink)}.couple-nudge .inline-link{font-size:.85rem}.demo-notice{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0 0;color:var(--muted);font-size:.85rem;padding:14px 10px 0;border-top:1px solid var(--line)}.demo-notice .inline-link{font-size:.85rem}.exhausted{max-width:420px;min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:auto;border:1px solid var(--line);border-radius:11px;padding:30px;background:var(--surface)}.exhausted>svg{color:var(--accent);margin-bottom:24px}.exhausted h2{font-size:1.6rem}.exhausted p{color:var(--muted);margin:15px 0 25px}.page-footer{max-width:1350px;margin:0 auto;padding:12px 46px 20px;display:flex;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--muted)}.page-footer>span:last-child{font-weight:700}.toast{position:fixed;bottom:24px;left:calc(50% + 105px);transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:10px;pointer-events:none;border-radius:7px;background:var(--ink);color:var(--bg);font-size:.9rem;max-width:min(540px,calc(100vw - 40px));box-shadow:var(--shadow)}.toast:not(:empty){padding:12px 18px}.photo-fallback{width:100%;height:100%;background:var(--rail);display:flex;gap:12px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--muted);font-size:.85rem}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:30px}.tabs{display:flex;align-items:center;gap:27px;min-width:0}.tabs button{padding:10px 0 14px;min-height:48px;color:var(--muted);font-size:.95rem;font-weight:600;border-bottom:2px solid transparent;display:flex;gap:10px;align-items:center}.tabs button.selected{border-bottom-color:var(--accent);color:var(--accent)}.tabs button>span{font-size:.75rem;border-radius:4px;background:var(--rail);color:var(--muted);padding:0 6px}.filter-button{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.85rem;color:var(--muted)}.filter-button.selected{color:var(--accent)}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.collection-item{text-align:left;min-width:0;padding:0}.collection-image{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:7px;background:var(--rail)}.collection-image img{height:100%;transition:transform .25s ease-out}.collection-item:hover img{transform:scale(1.035)}.collection-item h2{font-size:1.1rem;margin-top:12px}.collection-item p{color:var(--muted);font-size:.875rem;margin-top:5px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.collection-occasion{color:var(--muted);font-size:.78rem;display:block;margin-top:8px}.favorite-marker{position:absolute;right:11px;top:11px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border-radius:50%;color:var(--accent)}.empty-state{padding:70px 25px;min-height:400px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;max-width:650px;margin:auto}.empty-icon{display:flex;align-items:center;justify-content:center;width:74px;height:74px;background:var(--soft);color:var(--accent);border-radius:50%;margin-bottom:25px}.empty-state h2{font-size:1.65rem}.empty-state p{color:var(--muted);margin:15px auto 25px;max-width:43ch;line-height:1.7}.style-tabs{border-bottom:1px solid var(--line);margin-bottom:32px}.style-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:60px}.style-intro{padding:26px;background:var(--soft);border-radius:8px;margin-bottom:30px}.style-intro h2{font-size:1.75rem;color:var(--soft-ink)}.style-intro p{color:var(--muted);font-size:.93rem;margin-top:12px;max-width:60ch}.style-bars{margin:24px 0 34px;display:flex;flex-direction:column;gap:22px}.style-row>div:first-child{display:flex;justify-content:space-between;gap:16px;font-size:.9rem;margin-bottom:8px}.style-row>div:first-child>span:last-child{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.bar-track{height:5px;background:var(--line);border-radius:2px;overflow:hidden}.bar-track>div{height:100%;background:var(--accent)}.style-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:25px}.piece-list{margin-top:15px}.piece-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}.piece-list>div>span:last-child{color:var(--muted);white-space:nowrap;font-size:.8rem}.palette{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.palette>div{display:flex;align-items:center;flex-direction:column;gap:6px}.palette>div>span{display:block;width:31px;height:38px;border-radius:4px;border:1px solid var(--line)}.palette small{font-size:.7rem;color:var(--muted)}.style-evidence>p{color:var(--muted);font-size:.9rem;margin:10px 0 20px}.evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.evidence-grid button{padding:0;aspect-ratio:3/4;border-radius:4px;overflow:hidden}.evidence-grid img{height:100%}.style-note{display:flex;align-items:flex-start;gap:10px;margin-top:24px;font-size:.8rem;color:var(--muted);line-height:1.6}.style-note svg{margin-top:2px;color:var(--accent)}.couple-welcome{max-width:540px;text-align:center;margin:55px auto}.connection-graphic{display:flex;align-items:center;justify-content:center;gap:24px;color:var(--muted);margin-bottom:35px}.connection-graphic>span{display:flex;align-items:center;justify-content:center;width:84px;height:106px;background:var(--rail);color:var(--accent);border:1px solid var(--line);border-radius:7px;transform:rotate(-7deg)}.connection-graphic>span:last-child{transform:rotate(7deg);background:var(--soft)}.couple-welcome h2{font-size:1.8rem}.couple-welcome>p{color:var(--muted);margin:18px 0 25px;line-height:1.75}.couple-welcome>.text-button{display:block;margin:12px auto}.invite-received{background:var(--soft);border-radius:6px;padding:16px;color:var(--soft-ink)!important}.couple-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:60px;max-width:950px}.couple-main{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.couple-main>p{color:var(--muted);margin:16px 0 24px;font-size:.95rem;line-height:1.7}.couple-main>.text-button{display:block;margin-top:10px}.invite-code{padding:18px;background:var(--rail);border-radius:6px;margin:22px 0;display:flex;align-items:flex-start;flex-direction:column;gap:9px;overflow-wrap:anywhere}.invite-code>span{font-size:.8rem;color:var(--muted)}.invite-code strong{font-size:1.4rem;font-weight:600;letter-spacing:.09em;word-break:break-all}.invite-code small{font-size:.75rem;color:var(--muted)}.join-section{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.join-section h3{margin-bottom:18px}.account-settings h2{margin-bottom:10px}.account-settings .email-text{margin-bottom:25px;overflow-wrap:anywhere;font-size:.9rem}.account-boundaries{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.account-boundaries p{font-size:.85rem;line-height:1.65;color:var(--muted);margin-bottom:15px}.account-boundaries button{display:flex}.account-boundaries .text-button{font-size:.8rem;margin-top:10px}.connected-people{display:flex;align-items:center;gap:22px;margin:5px 0 25px;color:var(--accent)}.privacy-note{display:flex;align-items:flex-start;gap:9px;color:var(--success);font-size:.85rem;border-top:1px solid var(--line);padding-top:20px;margin:25px 0 18px}.danger{color:var(--danger)}.button.destructive{background:var(--danger);color:var(--bg)}.dialog{border:1px solid var(--line);border-radius:12px;padding:0;max-width:min(480px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 40px);background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #0003;scrollbar-gutter:stable}.dialog.wide{max-width:min(820px,calc(100vw - 32px))}.dialog::backdrop{background:#0a171fa6}body:has(dialog[open]){overflow:hidden}.dialog-body{padding:25px 28px 30px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.dialog-heading h2{font-size:1.65rem}.dialog-heading .icon-button{margin-right:-8px}.dialog-intro{font-size:.95rem;color:var(--muted);line-height:1.65;margin-bottom:24px}.form-stack{display:flex;flex-direction:column;gap:19px}.form-stack label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600}.form-stack input,.form-stack select,.form-stack textarea{min-height:47px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:11px 12px;border-radius:5px;font-size:1rem;font-weight:400;width:100%;min-width:0}.form-stack textarea{resize:vertical;line-height:1.5}.form-stack input::placeholder,.form-stack textarea::placeholder{color:var(--muted);opacity:1}.form-stack small{font-size:.78rem;font-weight:400;color:var(--muted)}.form-stack .checkbox-label{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;line-height:1.55}.form-stack .checkbox-label input{width:18px;height:18px;min-height:18px;margin:3px 0 0;flex-shrink:0}.checkbox-label span{max-width:45ch}.form-error{padding:12px;color:var(--danger);background:var(--danger-bg);border-radius:5px;font-size:.875rem}.auth-switch{font-size:.9rem;color:var(--muted);margin-top:24px;text-align:center}.auth-switch button{display:inline}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}.detail-photo{border-radius:7px;overflow:hidden;align-self:start;background:var(--rail)}.detail-photo img{max-height:520px;min-height:350px}.detail-description{font-size:.95rem;color:var(--muted);line-height:1.7}.detail-layout h3{margin-top:24px}.detail-pieces{padding-left:20px;margin:12px 0 16px;font-size:.9rem;color:var(--muted)}.detail-pieces li{padding-bottom:7px}.detail-layout .form-stack{margin-top:25px}.photo-credit{display:flex;align-items:center;gap:7px;font-size:.72rem;line-height:1.7;margin-top:26px;color:var(--muted)}blockquote{margin:25px 0 15px;padding:14px;background:var(--soft);border-radius:5px;font-size:.95rem;overflow-wrap:anywhere}@media(min-width:1600px){main{padding-top:50px}.outfit-image{height:470px}.discovery-aside{padding-top:68px}}@media(max-width:1200px){.rail{width:180px;padding-left:12px;padding-right:12px}.workspace{margin-left:180px}.topbar{padding:0 30px}main{padding:32px 30px 24px}.page-footer{padding-left:30px;padding-right:30px}.discover-layout{gap:32px;grid-template-columns:minmax(300px,1fr) 250px}.quiet-note{display:none}.toast{left:calc(50% + 90px)}.style-layout{gap:30px;grid-template-columns:minmax(0,1fr) 240px}.style-details{grid-template-columns:1fr}.couple-layout{gap:30px}}@media(max-width:960px)and (min-width:761px){.rail{width:150px;padding-left:8px;padding-right:8px}.workspace{margin-left:150px}.brand{font-size:40px}.brand-symbol{margin-right:5px}.brand-caption{font-size:.8rem}.nav-item{font-size:.9rem;gap:9px}.together-mark{display:none}.appearance{font-size:.75rem;gap:6px}.topbar{padding:0 25px}.topbar-context{display:none}.topbar-actions{margin-left:auto}.discover-layout{grid-template-columns:minmax(0,1fr)}.discovery{max-width:480px;width:100%;margin:auto}.discovery-aside{padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.style-preview{margin-top:0;padding-top:0;border-top:0}.couple-nudge{grid-column:1/-1;margin-top:0}.style-layout{grid-template-columns:1fr}.style-evidence{max-width:460px}.evidence-grid{grid-template-columns:repeat(3,1fr)}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 75px)}.couple-layout{grid-template-columns:1fr}.account-settings{padding:10px 0}}@media(max-width:760px){.app-shell{display:block;padding-bottom:76px}.rail{inset:auto 0 0;width:auto;height:72px;padding:5px 12px max(5px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:var(--surface);z-index:5}.rail>.brand{position:fixed;top:20px;left:20px;font-size:34px;padding:0;z-index:7}.brand-symbol{width:25px;height:26px;margin-right:5px}.brand-symbol i{width:17px;height:24px}.brand-symbol i:last-child{left:8px}.brand-caption,.rail-bottom{display:none}.rail nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%;height:100%}.nav-item{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;padding:4px 2px;font-size:.7rem;font-weight:600;border-radius:5px;min-height:55px;position:relative}.nav-item.active{color:var(--accent);background:var(--soft)}.nav-item>svg{width:21px;height:21px}.nav-count{display:none}.workspace{margin-left:0}.topbar{height:77px;padding:0 18px 0 110px;gap:8px;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-context{display:none}.topbar-actions{margin-left:auto;gap:12px}.topbar-actions>.text-button{display:none}.topbar-actions>.button{font-size:.8rem;padding:9px 10px;min-height:38px;gap:6px}.topbar-actions>.button>svg{display:none}.mobile-theme{display:inline-flex!important;width:34px;height:38px}.account-button{font-size:.85rem;max-width:190px;gap:7px}.account-button .avatar{width:27px;height:27px}.account-button>svg{display:none}main{padding:26px 20px 20px}.page-heading{margin-bottom:25px;gap:16px}.page-heading p{font-size:.95rem;margin-top:10px;line-height:1.55}.discover-heading{margin-bottom:21px}h1{font-size:2.25rem;line-height:1.1}.desktop-break{display:none}.discover-layout{display:block}.discovery-filters{margin-bottom:17px;gap:10px}.audience-picker button{font-size:.85rem;padding:5px 13px;min-height:34px}.occasion-select{gap:4px}.occasion-select select{font-size:.85rem;max-width:117px}.deck-stage{max-width:380px}.outfit-image{height:clamp(280px,43dvh,410px)}.outfit-caption{padding:14px 16px;min-height:76px}.outfit-caption h2{font-size:1.1rem}.outfit-caption p,.outfit-index{font-size:.8rem}.vote-actions{gap:30px;margin-top:17px;margin-bottom:8px}.vote-button>span{width:51px;height:51px}.vote-button.like>span{width:60px;height:60px}.vote-button{font-size:.76rem;gap:6px}.deck-footer{max-width:380px}.keyboard-hint{display:none}.swipe-hint{display:inline;font-size:.72rem}.discovery-aside{display:none}.demo-notice{display:block;text-align:center;margin-top:15px;font-size:.77rem;padding-top:14px}.demo-notice .inline-link{font-size:.8rem;min-height:36px;padding-top:3px}.demo-notice>span{display:block}.page-footer{padding:10px 20px 14px;font-size:.7rem}.toast{left:50%;bottom:86px;font-size:.8rem;min-width:min(350px,calc(100vw - 36px));max-width:calc(100vw - 36px);justify-content:center}.toast:not(:empty){padding:12px 15px}.collection-toolbar{flex-wrap:wrap;gap:5px;margin-bottom:23px}.tabs{gap:22px}.tabs button{font-size:.86rem;gap:6px;padding-bottom:11px;min-height:46px}.tabs button>span{font-size:.7rem}.filter-button{font-size:.8rem;margin-bottom:7px;margin-left:auto}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.collection-item h2{font-size:1rem;margin-top:10px}.collection-item p{font-size:.8rem}.collection-occasion{font-size:.7rem}.favorite-marker{width:25px;height:25px;right:8px;top:8px}.favorite-marker svg{width:14px}.empty-state{padding:50px 10px;min-height:440px}.empty-state h2{font-size:1.6rem}.empty-state p{font-size:.95rem}.style-layout{display:block}.style-intro{padding:22px}.style-intro h2{font-size:1.55rem}.style-details{gap:26px}.style-evidence{border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.couple-welcome{margin:35px auto}.couple-welcome h2{font-size:1.6rem}.couple-welcome>p{font-size:.95rem}.couple-layout{display:block}.couple-main{padding:22px}.account-settings{border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.invite-code strong{font-size:1.25rem}.dialog-body{padding:18px 21px 24px}.dialog-heading h2{font-size:1.5rem}.detail-layout{display:block}.detail-photo{margin-bottom:22px}.detail-photo img{max-height:350px;min-height:250px;object-fit:contain}.dialog-intro{font-size:.9rem}.detail-pieces{margin:12px 0}.form-stack{gap:17px}.exhausted{min-height:440px;padding:27px}.style-tabs{margin-bottom:25px}}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.topbar{padding-right:13px}.topbar-actions{gap:5px}.topbar-actions>.button{font-size:.75rem;padding:8px}.rail>.brand{left:16px}.vote-actions{gap:23px}.outfit-image{height:290px}h1{font-size:2rem}.tabs{gap:15px}.tabs button{font-size:.8rem}.style-details{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}.outfit-card{transform:none!important}}@media(min-width:761px){main{padding-top:30px}.discover-heading{margin-bottom:22px}.discover-heading h1{font-size:2.7rem}.discover-heading p{margin-top:10px;font-size:.95rem;line-height:1.5}.discovery-filters{margin-bottom:18px}.outfit-image{height:clamp(250px,calc(100dvh - 530px),420px)}.outfit-caption{min-height:78px;padding-top:13px;padding-bottom:13px}.vote-actions{margin-top:17px;margin-bottom:8px}.discovery-aside{padding-top:62px}}.mobile-brand{display:none}.outfit-image img{object-fit:contain;object-position:center}@media(max-width:760px){.rail>.brand{display:none}.topbar{position:relative}.topbar .mobile-brand{display:flex;position:absolute;top:20px;left:20px;font-size:34px;padding:0}.outfit-image{background:var(--rail)}}@media(max-width:360px){.topbar .mobile-brand{left:16px}}@media(max-width:760px){.outfit-image{height:clamp(180px,calc(100dvh - 630px),380px)}}.add-outfit-link{flex-shrink:0}.discovery-filters{flex-wrap:wrap}.season-select{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-basis:100%;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.season-select select{max-width:205px;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-align:right}@media(min-width:1051px){.season-select{flex-basis:auto;padding-top:0;border-top:0;gap:5px}.season-select select{max-width:175px}.discovery-filters{gap:10px}}@media(min-width:761px)and (max-width:1050px){.outfit-image{height:clamp(250px,calc(100dvh - 593px),420px)}}@media(max-width:760px){main:has(.discover-heading){padding-top:22px}.discovery-filters{gap:5px;margin-bottom:10px}.season-select{padding-top:0}}@media(max-width:760px){.page-heading:has(.add-outfit-link){align-items:flex-start;flex-direction:column;gap:18px}.add-outfit-link{min-height:44px;font-size:.875rem}}
