/* Youthfin identity. Base layouts remain in onboarding.css and core.css. */
:root { --bg:#fff6e5; --text:#27211d; --text-3:#766b60; --muted:#f1e8d9; --brand:#2b1d14; --brand-dark:#493225; --brand-paper:#fff6e5; --brand-line:#ddcfbd; --content:560px; --shadow-btn:none; --tabbar-h:calc(72px + max(8px,env(safe-area-inset-bottom,0px)) + var(--inapp-b)); }
html,body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--text); background:#e8dfd0; }button,input,textarea,select { font-family:inherit; }button { touch-action:manipulation; }a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }button:disabled { cursor:default; }input:not([type=checkbox]):not([type=range]):not([type=radio]),textarea,select { font-size:16px; }
#app { background:#e8dfd0; }.shell,.screen { background:var(--bg); }.desktop-rail,.desktop-rail:not([hidden]) { display:none; }.screen.dark { background:#28211c; }.mark { font-family:inherit; text-transform:lowercase; letter-spacing:-1.2px; font-weight:850; }.mark.sm { font-size:26px; }.workspace-brand { display:inline-flex; align-items:center; gap:10px; color:var(--text); font-size:34px; font-weight:850; letter-spacing:-1.7px; text-decoration:none; }.workspace-brand>.brand-name { font-size:inherit; color:inherit; letter-spacing:inherit; }.brand-symbol { width:34px; height:34px; display:block; flex-shrink:0; border-radius:8px; object-fit:contain; }.brand-lockup { display:inline-flex; align-items:center; justify-content:center; gap:9px; }.brand-lockup .brand-symbol { width:29px; height:29px; border-radius:7px; }.mark.hero.brand-lockup { flex-direction:column; gap:20px; }.mark.hero.brand-lockup .brand-symbol { width:84px; height:84px; border-radius:20px; }.icon-btn { width:44px; height:44px; flex-shrink:0; }.btn { min-height:52px; border-radius:9px; font-size:15px; font-weight:650; }.btn-primary { background:var(--brand); color:#fff6e5; box-shadow:none; }.btn-soft { background:#fff; color:var(--text); border:1px solid var(--brand-line); }.btn-outline { border:1px solid var(--brand-line); }.title { font-weight:800; letter-spacing:-1.3px; line-height:1.08; }.title em { font-family:inherit; font-style:normal; color:var(--brand); }.sub { font-size:15px; line-height:1.65; color:var(--text-3); }
.home-top { background:var(--brand); color:var(--brand-paper); min-height:76px; padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px; border:0; }.home-top .icon-btn { color:var(--brand-paper); }.home-top .mark { color:var(--brand-paper); letter-spacing:-1.2px; }.home-scroll { padding:0 22px calc(var(--tabbar-h) + 26px); }.greet-row { align-items:flex-start; margin:0 0 26px; padding-top:26px; gap:16px; }.greet-row h2 { font-size:29px; line-height:1.08; font-weight:800; letter-spacing:-1px; max-width:230px; }.weather { flex-shrink:0; text-align:right; }#weather-city { min-height:32px; max-width:112px; padding:0; font-size:13px; background:transparent; }.weather .temp { font-size:21px; }.weather .hi { font-size:11px; }.weather-source { font-size:9px; }.occasion { display:flex; align-items:baseline; margin-bottom:14px; }.occasion strong { font-size:20px; font-weight:800; letter-spacing:-.6px; }.occasion span { font-size:12px; }.outfit-grid { height:clamp(270px,37svh,350px); min-height:270px; background:#fff; border:1px solid var(--brand-line); border-radius:12px; padding:14px; gap:10px; }.outfit-grid img { min-height:0!important; height:100%; object-fit:contain; background:transparent; border-radius:5px; mix-blend-mode:multiply; }.meta-row { margin:12px 0; font-size:12px; color:var(--text-3); }.action-row { display:flex; align-items:center; justify-content:space-between; gap:7px; margin-bottom:26px; }.action-row>button { min-width:44px; min-height:46px; background:transparent; border:1px solid var(--brand-line); border-radius:8px; color:var(--text); }.action-row .create-avatar { min-width:124px; width:auto; padding:0 15px; background:var(--brand); color:#fff6e5; border-color:var(--brand); font-size:13px; border-radius:8px; }.action-row button.on,.action-row button[aria-pressed=true] { color:var(--brand); border-color:var(--brand); }
.home-empty-prompt { grid-column:1/-1; grid-row:1/-1; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; padding:24px; text-align:center; }.home-empty-prompt strong { font-size:26px; font-weight:800; line-height:1.1; letter-spacing:-.8px; max-width:260px; }.home-empty-prompt small { font-size:13px; line-height:1.6; color:var(--text-3); max-width:240px; }.home-empty-prompt b { background:var(--brand); color:white; font-size:13px; padding:13px 20px; border-radius:8px; font-weight:600; }
.progress-card { position:relative; bottom:auto; background:#eadcc4; color:var(--text); border:0; box-shadow:none; padding:16px; margin-bottom:26px; border-radius:10px; gap:12px; }.progress-card strong { font-size:14px; font-weight:750; }.progress-card small { font-size:12px; color:#6b5740; line-height:1.5; }.progress-card .bar { background:#d4c19e; }.progress-card .bar>i { background:var(--brand); }.progress-card #progress-count { font-size:13px; font-weight:750; }.section-label { font-size:16px; font-weight:800; color:var(--text); margin:0 0 14px; }.section-label::before,.section-label::after { display:none; }.week-strip { border:0; background:transparent; padding:0; gap:5px; margin-bottom:14px; grid-template-columns:repeat(7,minmax(42px,1fr)); overflow-x:auto; scrollbar-width:none; }.week-day { min-width:0; min-height:77px; border:1px solid var(--brand-line); border-radius:8px; background:transparent; }.week-day.today,.week-day.selected { border-color:var(--brand); }.week-day .thumb { height:34px; }.cal-grid { grid-template-columns:repeat(7,minmax(42px,1fr)); gap:3px; }.home-actions { gap:8px; }.home-actions .home-pill { flex:1 1 auto; min-height:46px; padding:10px; border-radius:8px; background:transparent; border:1px solid var(--brand-line); font-size:12px; color:var(--text); }
.tabbar { background:var(--brand-paper); border-top:1px solid var(--brand-line); padding-top:7px; }.tabbar button { min-height:52px; gap:4px; color:#766b60; }.tabbar button.active { color:var(--brand); }.tabbar svg { stroke-width:1.7; }.tabbar .add { background:var(--brand); border-radius:14px; width:48px; height:48px; min-height:48px; box-shadow:none; }.tabbar .tab-avatar { background:var(--brand); }.tab-label { font-size:11px; font-weight:600; }
.closet-top { background:var(--brand); padding:calc(18px + env(safe-area-inset-top,0px)) 22px 0; }.closet-tabs { width:100%; max-width:none; display:flex; gap:28px; }.closet-tabs button { flex:0 0 auto; min-height:54px; color:#d5b183; font-size:26px; font-weight:800; letter-spacing:-1px; border-bottom:3px solid transparent; padding:10px 0 15px; }.closet-tabs button.active { color:var(--brand-paper); border-color:var(--brand-paper); }.closet-scroll,.search-scroll { padding:20px 22px calc(var(--tabbar-h) + 28px); }.closet-toolbar { align-items:center; margin-bottom:16px; }.closet-toolbar .toolbar-right>button,.sort-btn { min-width:44px; min-height:44px; }.sort-btn { font-size:14px; }.closet-count { font-size:12px; color:var(--text-3); }.closet-cats { gap:8px; padding-bottom:16px; margin-bottom:4px; }.closet-cats .chip { min-height:40px; border:1px solid var(--brand-line); border-radius:7px; background:transparent; color:var(--text); padding:8px 14px; font-size:13px; }.closet-cats .chip.active { background:var(--brand); color:#fff; border-color:var(--brand); }.closet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }.closet-card { padding:0; border:0; background:transparent; min-width:0; border-radius:0; }.closet-card .thumb { border-radius:10px; border:1px solid var(--brand-line); background:#fff; aspect-ratio:4/5; }.closet-card .thumb img { object-fit:contain; mix-blend-mode:multiply; padding:10px; }.closet-card strong { margin-top:11px; padding:0; font-size:14px; line-height:1.4; font-weight:650; color:var(--text); }.closet-card>span { padding:4px 0 0; font-size:12px; line-height:1.5; color:var(--text-3); }.closet-empty { text-align:center; padding:18px 0 30px; }.closet-empty h2 { font-size:28px; line-height:1.1; font-weight:800; letter-spacing:-1px; }.closet-empty-title { font-size:14px; line-height:1.6; color:var(--text-3); }.closet-empty>.btn { margin:24px auto; max-width:300px; }
.empty-closet-art { display:flex; justify-content:center; height:170px; margin:20px auto; }.empty-closet-art svg { width:160px; height:150px; }.empty-closet-art .state-illustration { width:180px; object-fit:contain; }.state-illustration { display:block; width:180px; height:180px; object-fit:contain; margin:0 auto 18px; }.looks-empty { display:flex; flex-direction:column; align-items:center; text-align:center; }.looks-empty h3 { font-size:24px; line-height:1.1; font-weight:800; letter-spacing:-.8px; margin:0 0 12px; }.looks-empty p { max-width:280px; font-size:14px; line-height:1.6; color:var(--text-3); margin:0 0 22px; }.looks-empty .btn { width:100%; max-width:280px; }.panel-empty,.looks-empty { padding:28px 16px; background:#f1e8d9; border-radius:10px; margin-top:20px; }.panel-empty p { font-size:14px; }.search-bar { border-radius:8px; min-height:48px; }.search-discover-cta { border-radius:8px; background:#eadcc4; }
.profile-actions { align-items:stretch; }.profile-actions>[data-action=create-avatar] { grid-column:1/-1; background:var(--brand); color:white; border-color:var(--brand); }.profile-actions .profile-btn { min-height:46px; font-size:13px; border-radius:8px; }.profile-scroll .looks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }.profile-tabs button,.trip-tabs button { min-height:48px; font-size:15px; }.profile-cta { min-height:48px; border-radius:8px; font-size:14px; }.profile-name-row h2 { font-weight:800; letter-spacing:-.9px; }.discover-hero { border-radius:12px; }.discover-chips { gap:8px; }
.core-pick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.core-pick { background:white; border-radius:9px; }.core-pick.on { border-color:var(--brand); background:#f4eadb; }.core-pick img { height:145px; mix-blend-mode:multiply; }.core-field input:not([type=checkbox]),.core-field textarea,.core-field select { min-height:48px; font-size:16px; border-color:var(--brand-line); }.core-look-card { border:1px solid var(--brand-line); border-radius:10px; background:white; }.sheet-card { border-radius:18px 18px 10px 10px; }.sheet-action { min-height:48px; }.core-dialog .sheet-card { border-radius:12px; background:var(--brand-paper); color:var(--text); }.core-dialog h3 { font-weight:800; font-size:24px; letter-spacing:-.7px; }.core-dialog .core-field { font-size:14px; }
.auth-wrap { width:100%; max-width:380px; margin:auto; padding:26px 0 32px; flex:0 0 auto; text-align:left; }.auth-wrap .workspace-brand { font-size:34px; margin:4px 0 30px; }.auth-poster { background:var(--brand); color:var(--brand-paper); padding:26px 24px; border-radius:14px 14px 0 0; position:relative; overflow:hidden; }.auth-poster>span { display:block; font-size:10px; font-weight:750; letter-spacing:1.5px; margin-bottom:24px; }.auth-poster strong { display:block; font-size:42px; line-height:.96; letter-spacing:-2px; font-weight:850; position:relative; z-index:1; }.auth-poster strong>span { color:#d5b183; }.auth-poster svg { width:96px; height:96px; position:absolute; right:12px; bottom:16px; opacity:.25; transform:rotate(12deg); }.auth-wrap h1 { font-size:28px; line-height:1.12; font-weight:800; letter-spacing:-.9px; margin:24px 0 14px; }.auth-wrap h1 em { font-family:inherit; font-style:normal; color:var(--brand); }.auth-intro { font-size:14px; line-height:1.65; color:var(--text-3); margin-bottom:24px; }.auth-wrap .btn-stack { width:100%; }.auth-wrap .btn-soft { background:#fff; border:1px solid var(--brand-line); }.auth-privacy { font-size:12px; color:var(--text-3); line-height:1.7; margin:20px 0; }.auth-back { font-size:13px; color:var(--text-3); }.auth-note { padding:12px; background:#f2e5d1; color:#604222; border-radius:8px; font-size:13px; line-height:1.6; }.screen[data-screen=auth] { flex-shrink:0; }.google-redirect-signin { min-height:44px; display:flex; justify-content:center; width:100%; }
.avatar-body .illustrated-avatar { width:240px; max-width:85%; height:min(35svh,280px); object-fit:contain; flex-shrink:0; }.illustration-caption { font-size:10px; letter-spacing:1px; color:var(--text-3); }.avatar-headline { font-size:32px; line-height:1.08; font-weight:800; letter-spacing:-1px; margin-top:0; }.avatar-flow .footer-cta { display:grid; gap:10px; }.photo-guidance { display:flex; flex-direction:column; align-items:center; gap:20px; padding:36px 20px; background:#eadcc4; border-radius:12px; width:100%; }.photo-guidance svg { width:64px; height:64px; stroke-width:1.2; }.photo-guidance span { font-size:13px; color:var(--text-3); }.avatar-result-body { display:flex; flex-direction:column; gap:24px; padding:18px 16px 30px; }.avatar-result-image { position:relative; background:#fff; border:1px solid var(--brand-line); border-radius:12px; overflow:hidden; }.avatar-result-image img { width:100%; height:min(38svh,330px); min-height:220px; object-fit:contain; display:block; }.avatar-result-image>span { display:block; text-align:center; font-size:10px; letter-spacing:.8px; padding:12px; color:var(--text-3); border-top:1px solid var(--brand-line); }.avatar-result-controls { display:grid; gap:15px; }.avatar-result-controls>p { margin:0; color:var(--text-3); font-size:14px; line-height:1.65; }.avatar-result-controls .avatar-limit { font-size:12px; }.avatar-consent { display:flex; align-items:flex-start; gap:12px; padding:14px; background:#eadcc4; border-radius:10px; font-size:13px; line-height:1.65; }.avatar-consent input { width:22px; height:22px; flex-shrink:0; accent-color:var(--brand); }.avatar-result-controls .avatar-status { color:var(--brand-dark); background:#f2e5d1; border-radius:9px; padding:13px; font-size:13px; }.avatar-status:empty { display:none; }.avatar-result-controls .linkish { min-height:44px; font-size:13px; text-decoration:underline; }.avatar-result-controls select { padding:12px; border:1px solid var(--brand-line); border-radius:8px; background:#fff; }.avatar-intro-art { display:flex; align-items:center; justify-content:center; width:100%; min-height:180px; background:var(--brand); border-radius:14px; margin-bottom:26px; color:var(--brand-paper); }.avatar-intro-art svg { width:140px; height:160px; }
@media(min-width:900px) { #app { padding:0; }.shell,.shell.workspace { max-width:760px; margin:0 auto; border:0; border-left:1px solid var(--brand-line); border-right:1px solid var(--brand-line); border-radius:0; box-shadow:none; }.home-scroll,.closet-scroll,.search-scroll,.profile-scroll { padding-left:36px; padding-right:36px; }.closet-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.outfit-grid { height:360px; }.auth-wrap { padding-top:40px; } }
@media(max-width:359px) { .home-scroll,.closet-scroll,.search-scroll { padding-left:16px; padding-right:16px; }.greet-row h2 { font-size:25px; }.action-row { gap:5px; }.action-row .create-avatar { min-width:104px; padding:0 9px; font-size:12px; }.home-actions .home-pill { font-size:11px; }.auth-poster strong { font-size:38px; } }
@media(max-height:740px) { .auth-wrap { padding-top:14px; }.auth-wrap .workspace-brand { margin-bottom:20px; }.auth-poster { padding:22px; }.auth-poster>span { margin-bottom:18px; }.auth-poster strong { font-size:35px; }.auth-wrap h1 { font-size:25px; margin-top:20px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Core workflow: add clothes, clean a photo, make an outfit. */
.home-howto { margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--text-3); }
.home-primary-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:26px; }
.home-primary-actions .btn { padding:12px 10px; font-size:14px; }
.home-secondary { margin-top:20px; border-top:1px solid var(--brand-line); padding-top:4px; }
.home-secondary>summary { min-height:52px; display:flex; align-items:center; justify-content:space-between; font-size:14px; font-weight:650; cursor:pointer; list-style:none; }
.home-secondary>summary::after { content:'+'; font-size:24px; color:var(--brand); }.home-secondary[open]>summary::after { content:'−'; }.home-secondary>summary::-webkit-details-marker { display:none; }
.home-secondary .action-row { margin-top:12px; }.home-secondary .home-actions { flex-wrap:wrap; }.home-secondary .home-pill { min-width:110px; }
.home-weather { position:relative; flex-shrink:0; }.home-weather>summary { min-height:44px; display:flex; align-items:center; font-size:12px; cursor:pointer; }.home-weather>.weather { position:absolute; top:44px; right:0; z-index:4; padding:12px; background:var(--brand-paper); border:1px solid var(--brand-line); border-radius:8px; box-shadow:0 4px 12px #0002; }
.outfit-grid.is-empty { height:210px; min-height:210px; }.outfit-grid.is-empty .home-empty-prompt strong { font-size:23px; }
.prettify-copy { font-size:14px; line-height:1.6; color:var(--text-3); }.prettify-comparison { display:grid; grid-template-columns:1fr; gap:12px; }.prettify-comparison.has-result { grid-template-columns:1fr 1fr; }.prettify-comparison figure { margin:0; min-width:0; background:white; border:1px solid var(--brand-line); border-radius:10px; overflow:hidden; }.prettify-comparison img { display:block; width:100%; height:230px; object-fit:contain; }.prettify-comparison figcaption { font-size:12px; padding:10px; border-top:1px solid var(--brand-line); }.prettify-consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.6; }.prettify-consent input { width:22px; height:22px; flex-shrink:0; accent-color:var(--brand); }.prettify-limit { font-size:12px; line-height:1.5; color:var(--text-3); }.prettify-status { font-size:13px; line-height:1.6; }.prettify-status:empty { display:none; }.review-actions { flex-wrap:wrap; }.review-actions .mini-btn { min-height:44px; }
@media(max-width:359px) { .prettify-comparison img { height:190px; }.home-primary-actions .btn { font-size:13px; } }
.core-dialog>.sheet-card>.chip-outline { min-height:44px; }
.split-source { width:100%; max-height:220px; object-fit:contain; background:#fff; border:1px solid var(--brand-line); border-radius:8px; }
.split-results { display:grid; gap:16px; }
.split-item { display:grid; gap:10px; padding:12px; border:1px solid var(--brand-line); background:#fff; border-radius:8px; min-width:0; }
.split-item>img { width:100%; height:220px; object-fit:contain; }
.split-item>label { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; }
.split-item input[type=checkbox] { width:22px; height:22px; accent-color:var(--brand); }
.split-item>input,.split-item>select { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid var(--brand-line); border-radius:6px; font:inherit; font-size:16px; color:var(--text); background:#fff; }
.split-item summary { min-height:44px; cursor:pointer; padding:12px 0; font-size:14px; }
.split-item details label { display:grid; grid-template-columns:54px 1fr; align-items:center; gap:8px; font-size:13px; min-height:44px; }
.split-item input[type=range] { width:100%; min-width:0; accent-color:var(--brand); }
.outfit-grid[data-count="1"] { grid-template-columns:1fr; grid-template-rows:1fr; }
.outfit-grid[data-count="2"],.outfit-grid[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.outfit-grid[data-count="2"] { grid-template-rows:1fr; }
.outfit-grid[data-count="1"] img,.outfit-grid[data-count="2"] img,.outfit-grid[data-count="4"] img { grid-row:auto; }
.outfit-grid[data-count="3"] { grid-template-columns:1.15fr 1fr; grid-template-rows:1fr 1fr; }
.outfit-howto { margin:18px 16px 6px; font-size:15px; line-height:1.6; }
.outfit-options { margin:8px 16px 12px; border:1px solid var(--brand-line); border-radius:9px; }
.outfit-options>summary { min-height:46px; cursor:pointer; padding:13px; font-size:13px; font-weight:600; }
.outfit-options>.cal-toggle,.outfit-options>.core-field { margin:12px 16px; }

/* Individual wardrobe items, with cleanup attached to the selected garment. */
.home-items-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; }
.home-items-heading h3 { margin:0; font-size:20px; font-weight:800; letter-spacing:-.6px; }
.home-items-heading p { margin:6px 0 0; font-size:12px; color:var(--text-3); }
.home-items-heading>button { min-height:44px; padding:8px 0 8px 12px; font-size:13px; color:var(--brand); }
.home-item-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
.home-item-card { min-width:0; }
.home-item-open { width:100%; padding:0; display:block; text-align:left; }
.home-item-open img { display:block; width:100%; aspect-ratio:4/5; object-fit:contain; padding:10px; background:#fff; border:1px solid var(--brand-line); border-radius:10px; }
.home-item-open strong { display:block; margin-top:10px; font-size:14px; line-height:1.4; font-weight:650; overflow-wrap:anywhere; }
.home-item-clean { min-height:44px; margin-top:8px; width:100%; border:1px solid var(--brand-line); border-radius:7px; font-size:13px; background:transparent; color:var(--brand); }
.home-items-empty { padding:22px 0; font-size:14px; line-height:1.6; color:var(--text-3); }
@media(min-width:900px) { .home-item-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Locket iOS camera structure, translated into Youthfin wardrobe actions. */
.home .home-top { background:var(--bg); color:var(--text); }
.home .home-top .icon-btn,.home .home-top .mark { color:var(--text); }
.home .home-top .icon-btn { background:var(--muted); border-radius:50%; }
.home .greet-row { padding-top:18px; margin-bottom:20px; }
.home .greet-row h2 { font-size:23px; }
.capture-stage { margin:0 0 30px; }
.capture-preview { width:100%; aspect-ratio:1; border-radius:40px; border:1px solid var(--brand-line); background:var(--muted); color:var(--text); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; }
.capture-preview>svg { width:44px; height:44px; stroke-width:1.5; margin-bottom:12px; }
.capture-preview strong { font-size:23px; letter-spacing:-.6px; }
.capture-preview>span { font-size:13px; color:var(--text-3); line-height:1.6; }
.capture-controls { display:flex; align-items:center; justify-content:space-evenly; gap:20px; margin-top:24px; }
.capture-side { min-width:70px; min-height:60px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--text); font-size:12px; }
.capture-side svg { width:24px; height:24px; }
.capture-shutter { width:78px; height:78px; flex-shrink:0; border:3px solid var(--brand); border-radius:50%; padding:5px; background:var(--bg); }
.capture-shutter span { display:block; width:100%; height:100%; border-radius:50%; background:var(--brand); }
.capture-label { text-align:center; font-size:14px; font-weight:650; margin:12px 0 0; }
@media(min-width:900px) { .capture-stage { max-width:430px; margin-left:auto; margin-right:auto; } }

/* Unified photo-led application layout. Existing actions and screen state are retained. */
:root { --radius-photo:32px; --radius-control:24px; --tabbar-h:108px; }
.btn,.profile-btn,.profile-cta,.chip-outline,.sheet-action,.save-pill { border-radius:var(--radius-control); }
.home-top,.profile-top,.item-top,.outfit-detail-top,.cal-top,.avatar-top { background:var(--bg); color:var(--text); border:0; }
.profile-top,.item-top,.outfit-detail-top,.cal-top,.avatar-top { padding:calc(16px + env(safe-area-inset-top,0px)) 22px 16px; }
.icon-btn,.item-top-actions>button { border-radius:50%; background:var(--muted); color:var(--text); min-width:44px; min-height:44px; }
.capture-preview { aspect-ratio:auto; height:clamp(240px,37svh,340px); border-radius:var(--radius-photo); }
.capture-controls { margin-top:20px; }
.capture-stage { margin-bottom:32px; }
.home-item-open img,.closet-card .thumb,.core-look-card { border-radius:24px; }
.home-item-clean { border-radius:var(--radius-control); }
.home-items-heading h3 { font-size:19px; }
.tabbar { left:16px; right:16px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); width:auto; height:72px; padding:6px 8px; border:1px solid var(--brand-line); border-radius:40px; background:var(--brand-paper); backdrop-filter:none; }
.tabbar button { min-width:0; border-radius:28px; }
.tabbar button.active:not(.add) { background:var(--muted); }
.tabbar .add { border-radius:50%; width:48px; height:48px; margin:auto; }
.tabbar .tab-label { font-size:10px; }
.closet-top { padding:calc(18px + env(safe-area-inset-top,0px)) 22px 0; background:var(--bg); }
.closet-tabs { gap:8px; padding:5px; background:var(--muted); border-radius:32px; }
.closet-tabs button { flex:1; padding:12px 8px; min-height:46px; border:0; border-radius:28px; color:var(--text-3); font-size:18px; letter-spacing:-.4px; }
.closet-tabs button.active { background:var(--brand); color:var(--brand-paper); border:0; }
.closet-cats .chip { border-radius:24px; }
.closet-toolbar { padding-bottom:4px; }
.closet-grid { gap:24px 14px; }
.closet-empty { padding-top:32px; }
.item-media { margin:0 16px; border-radius:var(--radius-photo); overflow:hidden; background:var(--muted); }
.item-media>img { object-fit:contain; max-height:52svh; }
.prettify-float { border-radius:24px; min-height:44px; padding:10px 18px; }
.item-fields { margin:24px 22px; }
.item-scroll>.btn { width:calc(100% - 44px); margin:12px 22px 28px; }
.outfit-detail-top { position:sticky; top:0; z-index:5; gap:12px; }
.save-pill { min-height:44px; padding:10px 18px; background:var(--brand); color:var(--brand-paper); }
.outfit-preview-thumb { border-radius:50%; overflow:hidden; }
.core-look-image { border-radius:var(--radius-photo); background:var(--muted); }
.outfit-options { border-radius:24px; margin:16px; }
.outfit-options>summary { min-height:52px; padding:16px; }
.core-field input:not([type=checkbox]),.core-field select,.core-field textarea { border-radius:16px; background:var(--bg); color:var(--text); }
.core-pick-grid { padding:16px; gap:14px; }
.core-pick { border-radius:24px; padding:10px; background:var(--bg); border-color:var(--brand-line); color:var(--text); }
.core-pick.on { border-color:var(--brand); background:var(--muted); }
.core-pick img { height:155px; }
.core-pick span { font-size:13px; line-height:1.5; }
.profile-top h1 { font-size:26px; letter-spacing:-.8px; }
.profile-hero { align-items:center; gap:20px; padding-top:8px; }
.profile-avatar { border-radius:32px; background:var(--muted); }
.profile-actions .profile-btn { border-radius:24px; }
.profile-tabs { background:var(--muted); padding:4px; border-radius:28px; border:0; gap:4px; }
.profile-tabs button { border:0; border-radius:24px; }
.profile-tabs button.active { background:var(--brand); color:var(--brand-paper); border:0; }
.profile-scroll .looks-grid { gap:16px; }
.cal-month-nav { margin:12px 0 24px; }
.cal-month-nav strong { font-size:26px; letter-spacing:-.8px; }
.cal-month-nav>button { width:44px; height:44px; border-radius:50%; background:var(--muted); color:var(--text); }
.cal-dow { color:var(--text-3); padding-bottom:12px; }
.cal-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.cal-cell { border-radius:16px; min-height:74px; background:var(--muted); border:1px solid transparent; }
.cal-cell.today { border-color:var(--brand); }
.cal-cell .look { object-fit:contain; border-radius:12px; }
.cal-cell .n { color:var(--text); }
.avatar-intro-art { border-radius:var(--radius-photo); min-height:240px; background:var(--muted); color:var(--brand); }
.avatar-result-image { border-radius:var(--radius-photo); background:var(--muted); }
.avatar-result-image>img { height:min(48svh,440px); }
.avatar-result-image>span { border:0; padding:16px; }
.avatar-consent { border-radius:20px; background:var(--muted); }
.avatar-result-controls select { min-height:48px; border-radius:16px; }
.avatar-result-controls .avatar-status { border-radius:16px; background:var(--muted); }
.core-dialog .sheet-card,.sheet-card { border-radius:28px; }
.split-source,.split-item,.prettify-comparison figure { border-radius:20px; }
.sheet-card { padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
.auth-poster { border-radius:32px; }
@media(max-width:359px) { .tabbar { left:10px; right:10px; padding:6px 4px; }.profile-hero { gap:12px; }.cal-grid { gap:3px; }.cal-cell { min-height:62px; }.capture-preview strong { font-size:21px; } }
@media(min-width:900px) { .home-scroll { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; align-content:start; }.home-scroll>.greet-row,.home-scroll>.home-toast,.home-scroll>.home-secondary { grid-column:1/-1; }.capture-stage { grid-column:1; grid-row:2/6; width:100%; max-width:none; }.home-items-heading,.home-items-empty,.home-item-grid { grid-column:2; }.home-item-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }.home-item-open img { aspect-ratio:1; }.avatar-result-body { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }.avatar-result-image { position:sticky; top:20px; }.avatar-result-image>img { height:450px; }.core-pick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.cal-cell { min-height:104px; }.tabbar { max-width:520px; margin:auto; } }

/* Light-theme text must also override the original dark outfit/calendar views. */
.outfit-detail,.calendar,.avatar-flow { color:var(--text); }
.outfit-detail-top .icon-btn,.cal-top .icon-btn,.avatar-top .icon-btn { background:var(--muted); color:var(--text); }
.outfit-howto,.outfit-options,.outfit-options summary,.cal-month-nav,.cal-dow { color:var(--text); }
.outfit-preview-thumb:has(img[hidden]) { visibility:hidden; }
.chip-outline { min-height:44px; padding:10px 16px; }
.outfit-options .cal-toggle { color:var(--text); }
.outfit-preview-thumb { background:transparent; }
.calendar .cal-top { position:relative; z-index:2; flex-shrink:0; }
.calendar .streak-pill.on { background:var(--muted); color:var(--text); }
.profile-tabs button::after { display:none; }
.avatar-top .mark { font-size:18px; letter-spacing:-.4px; font-weight:750; }
.avatar-flow .footer-cta { padding:16px 22px calc(22px + env(safe-area-inset-bottom,0px)); }
@media(max-width:359px) { .avatar-top .mark { font-size:16px; }.profile-counts { gap:8px; font-size:12px; } }
/* Die-cut white edges follow transparent product silhouettes. */
.sticker-cutout { filter:drop-shadow(3px 0 0 white) drop-shadow(-3px 0 0 white) drop-shadow(0 3px 0 white) drop-shadow(0 -3px 0 white) drop-shadow(0 5px 3px #2b1d1424); mix-blend-mode:normal!important; }
.home-item-open img.sticker-cutout,.closet-card .thumb:has(.sticker-cutout),.core-pick:has(.sticker-cutout),.item-media:has(.sticker-cutout) { background:var(--muted); }
.sticker-photo { border:5px solid white!important; border-radius:24px; box-shadow:0 3px 8px #2b1d1412; mix-blend-mode:normal!important; }
