@font-face{font-family:Caveat;src:url(/fonts/Caveat.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:hand-greta;src:url(/fonts/hands/greta.woff2) format("woff2");font-display:swap}@font-face{font-family:hand-sol;src:url(/fonts/hands/sol.woff2) format("woff2");font-display:swap}@font-face{font-family:hand-marcello;src:url(/fonts/hands/marcello.woff2) format("woff2");font-display:swap}@font-face{font-family:hand-miles;src:url(/fonts/hands/miles.woff2) format("woff2");font-display:swap}@font-face{font-family:hand-vesper;src:url(/fonts/hands/vesper.woff2) format("woff2");font-display:swap}@font-face{font-family:hand-whit;src:url(/fonts/hands/whit.woff2) format("woff2");font-display:swap}.hand-greta{--hand: "hand-greta";--hand-scale: 1.05}.hand-sol{--hand: "hand-sol";--hand-scale: 1}.hand-marcello{--hand: "hand-marcello";--hand-scale: 1.12}.hand-miles{--hand: "hand-miles";--hand-scale: .95}.hand-vesper{--hand: "hand-vesper";--hand-scale: .95}.hand-whit{--hand: "hand-whit";--hand-scale: 1}:root{--paper: #e9e5dd;--paper-2: #ded7c9;--card: #f4f1e9;--ink: #2a2722;--ink-soft: #4a463d;--muted: #897f70;--faint: #a89e8e;--hairline: #d8d1c2;--hairline-strong: #c6bdab;--accent: #8a6f52;--ok: #5f6b4a;--bold: #8a6f52;--caution: #9a7b3f;--clash: #9a4a3a;--dirty: #897f70;--on-ink: var(--card);--signature: "Caveat", "Snell Roundhand", cursive;--display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: var(--display);--fs-eyebrow: 10px;--fs-label: 11px;--fs-meta: 12px;--fs-sm: 13px;--fs-body: 15px;--fs-md: 16px;--fs-lg: 19px;--fs-xl: 23px;--fs-title: 26px;--fs-section: 31px;--fs-hero: clamp(42px, 10vw, 58px);--track-label: .08em;--track-eyebrow: .1em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 30px;--space-8: 40px;--r-sm: 2px;--r-md: 3px;--r-lg: 4px;--pad: var(--space-5);--maxw: 820px;--hair: 1px solid var(--hairline);--hair-strong: 1px solid var(--hairline-strong);--hair-ink: 1px solid var(--ink)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-transform:lowercase}h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.04;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;text-transform:lowercase}input,select,textarea{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);text-transform:lowercase}input[type=text],input[type=search],input[type=number],textarea{text-transform:none}img{display:block;max-width:100%}::selection{background:var(--ink);color:var(--on-ink)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);border-bottom:var(--hair)}.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:var(--space-3) var(--pad);display:flex;align-items:center;justify-content:space-between}.logo-mark{height:30px;width:auto;display:block}.logo-mark.lg{height:72px;margin:0 auto}.main{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:var(--space-7) var(--pad) 120px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);border-top:var(--hair);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}.tab{display:flex;flex-direction:column;align-items:center;gap:5px;padding:var(--space-3) 0 13px;color:var(--faint);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;border:none;background:none}.tab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.3}.tab.active{color:var(--ink)}.rail{display:none}.rail-nav a{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--hair);font-family:var(--sans);font-size:var(--fs-sm);letter-spacing:.04em;color:var(--muted);transition:color .15s ease}.rail-nav a:hover{color:var(--ink)}.rail-nav a.active{color:var(--ink);border-bottom-color:var(--ink)}.rail-nav .num{font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);color:var(--faint);font-variant-numeric:tabular-nums}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}@media (min-width: 721px){.tabbar,.with-rail .topbar{display:none}.with-rail{flex-direction:row}.rail{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;width:208px;flex:none;border-right:var(--hair);padding:var(--space-6) var(--space-6) var(--space-7)}.rail-nav{margin-top:var(--space-8)}.main{padding-bottom:var(--space-8)}}.display{font-family:var(--signature);font-weight:600;font-size:var(--fs-hero);line-height:1.05}.eyebrow{font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:lowercase;color:var(--faint);font-weight:500}.lead{color:var(--ink-soft);font-size:var(--fs-md);line-height:1.55;max-width:52ch}.section-title{font-family:var(--signature);font-weight:600;font-size:var(--fs-section);line-height:1.1}.eyebrow+.section-title{margin-top:var(--space-2)}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono-num{font-family:var(--sans);font-variant-numeric:tabular-nums}.stat-line{font-family:var(--sans);font-size:var(--fs-label);letter-spacing:.08em;text-transform:lowercase}.harmony-tag{font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;font-weight:500}.divider{border:none;border-top:var(--hair);margin:var(--space-7) 0}.stack>*+*{margin-top:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.row.between{justify-content:space-between}.row.end{align-items:flex-end}.row.tight{gap:var(--space-2)}.wrap{flex-wrap:wrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:var(--hair-ink);background:var(--ink);color:var(--on-ink);padding:var(--space-3) var(--space-5);border-radius:var(--r-sm);font-family:var(--sans);font-size:var(--fs-md);font-weight:600;letter-spacing:.01em;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.btn.ghost:hover{background:transparent;border-color:var(--ink)}.btn.small{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}.btn.danger{background:transparent;color:var(--clash);border-color:color-mix(in srgb,var(--clash) 36%,var(--hairline))}.btn.danger:hover{background:var(--clash);color:var(--on-ink);border-color:var(--clash)}.btn.block{width:100%}.linkbtn{background:none;border:none;color:var(--ink);padding:0 0 2px;font-family:var(--sans);font-weight:500;text-transform:lowercase;letter-spacing:.12em;font-size:var(--fs-label);text-decoration:none;border-bottom:var(--hair-strong)}.linkbtn:hover{color:var(--accent);border-color:var(--accent)}.card{background:var(--card);border:var(--hair);border-radius:var(--r-md)}.card.pad{padding:var(--space-5)}.card.pad-lg{padding:var(--space-7)}.tile{background:var(--card);border:var(--hair);border-radius:var(--r-md);overflow:hidden;transition:border-color .15s ease}.tile:hover{border-color:var(--hairline-strong)}.doors{display:flex;flex-direction:column;border-top:var(--hair)}.door{display:flex;align-items:center;gap:var(--space-4);border:none;border-bottom:var(--hair);padding:var(--space-5) var(--space-1);background:transparent;transition:padding-left .16s ease}.door:hover{padding-left:var(--space-3)}.door .eyebrow{width:30px;flex:none}.door h3{font-family:var(--display);font-weight:600;font-size:var(--fs-title)}.door p{display:none}.door .door-meta{margin-left:auto;display:flex;gap:var(--space-3);align-items:center;font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--faint);white-space:nowrap}.door .door-meta:after{content:"→";color:var(--ink);font-size:var(--fs-md)}.door-btn{width:100%;text-align:left;font:inherit}.tag-lock{border:var(--hair-strong);border-radius:999px;padding:3px 9px;font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.grid.groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.item-tile{display:flex;flex-direction:column;background:var(--card)}.item-thumb{aspect-ratio:3 / 4;background:var(--paper-2);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.item-thumb img{width:100%;height:100%;object-fit:cover}.item-thumb .placeholder{color:var(--faint)}.swatch-stack{display:flex;gap:5px}.swatch{width:14px;height:14px;border-radius:999px;border:1px solid rgba(0,0,0,.12);flex:none}.swatch.lg{width:24px;height:24px}.item-body{padding:var(--space-3) var(--space-3) var(--space-4)}.item-name{font-family:var(--display);font-size:var(--fs-lg);font-weight:600;line-height:1.1}.item-sub{font-family:var(--sans);font-size:var(--fs-label);color:var(--faint);margin-top:var(--space-1);display:flex;gap:var(--space-2);align-items:center;letter-spacing:.02em}.badge-dirty{position:absolute;top:var(--space-2);left:var(--space-2);background:var(--ink);color:var(--on-ink);font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:lowercase;padding:3px var(--space-2);border-radius:999px}.group-tile{padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;justify-content:space-between;min-height:116px;background:var(--card)}.group-tile h3{font-size:var(--fs-xl);font-weight:600}.group-count{font-family:var(--sans);font-size:var(--fs-label);color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:lowercase}.filters{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--space-5)}.field{display:inline-flex;flex-direction:column;gap:5px}.field label{font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--faint);font-weight:500}select,input[type=text],input[type=number],input[type=search],textarea{background:var(--card);border:var(--hair-strong);border-radius:var(--r-sm);padding:var(--space-3) var(--space-3);outline:none;transition:border-color .15s ease}select:focus,input:focus,textarea:focus{border-color:var(--ink)}.search{flex:1;min-width:180px}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{border:var(--hair-strong);background:transparent;color:var(--ink-soft);border-radius:999px;padding:7px var(--space-4);font-family:var(--sans);font-size:var(--fs-meta);letter-spacing:.02em;transition:all .15s ease}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.view-toggle{display:inline-flex;border:var(--hair-strong);border-radius:999px;overflow:hidden}.view-toggle button{padding:9px var(--space-5);font-family:var(--sans);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--track-label);text-transform:lowercase;background:transparent;color:var(--muted);border:none}.view-toggle button+button{border-left:var(--hair-strong)}.view-toggle button.on{background:var(--ink);color:var(--on-ink)}.cat-list{border-top:var(--hair)}.cat-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-1);border-bottom:var(--hair);transition:padding-left .16s ease}.cat-row:hover{padding-left:var(--space-3)}.cat-row .cn{font-family:var(--sans);font-size:var(--fs-label);color:var(--faint);width:24px;flex:none;font-weight:500}.cat-row .cl{font-family:var(--display);font-weight:600;font-size:var(--fs-xl)}.cat-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.csw{display:flex;gap:3px}.csw i{width:12px;height:16px;border:1px solid rgba(0,0,0,.12);display:block}.cc{font-family:var(--sans);font-weight:500;font-size:var(--fs-sm);min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-7);color:var(--muted);font-family:var(--sans);font-size:var(--fs-label);letter-spacing:.06em;text-transform:lowercase}.pagination button{border:var(--hair-strong);background:transparent;border-radius:var(--r-sm);padding:var(--space-2) var(--space-4)}.pagination button:not(:disabled):hover{border-color:var(--ink)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.detail{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:var(--space-8);align-items:start}.detail-photo{aspect-ratio:3 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--paper-2);border:var(--hair-strong);display:flex;align-items:center;justify-content:center}.detail-photo img{width:100%;height:100%;object-fit:cover}.tagtable{width:100%;border-collapse:collapse}.tagtable td{padding:var(--space-3) 0;border-bottom:var(--hair);vertical-align:top}.tagtable td:first-child{font-family:var(--sans);color:var(--faint);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;font-weight:500;width:38%;white-space:nowrap}.tagtable td:last-child{text-align:right}.dots{display:inline-flex;gap:var(--space-2);align-items:center}.builder{display:grid;grid-template-columns:1fr minmax(0,320px);gap:var(--space-7);align-items:start}.canvas{display:flex;flex-direction:column;border-top:var(--hair-strong)}.slot{border:none;border-bottom:var(--hair);background:var(--card);min-height:86px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-1);width:100%;text-align:left}.slot.disabled{opacity:.4}.slot-label{width:80px;flex:none;font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--faint);font-weight:500}.slot-thumb{width:54px;height:70px;border-radius:var(--r-sm);overflow:hidden;background:var(--paper-2);flex:none;display:flex;align-items:center;justify-content:center;color:var(--faint)}.slot-thumb img{width:100%;height:100%;object-fit:cover}.slot-thumb.sm{width:40px;height:50px}.slot-thumb.md{width:46px;height:58px}.slot-empty{font-family:var(--sans);color:var(--faint);font-size:var(--fs-sm);letter-spacing:.02em}.harmony-card{position:sticky;top:84px;border-radius:var(--r-md);padding:var(--space-5)}.progress{height:3px;border-radius:999px;background:var(--paper-2);overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width .2s ease}.stars{display:inline-flex;gap:var(--space-2);align-items:center}.stars button{background:none;border:none;padding:0;font-family:var(--serif);font-size:var(--fs-lg);line-height:1;color:var(--hairline-strong)}.stars button.on{color:var(--ink)}.harmony-bar{height:5px;border-radius:999px;background:var(--paper-2);overflow:hidden;display:flex;margin:var(--space-3) 0}.harmony-bar i{display:block;height:100%}.status-dot{width:8px;height:8px;border-radius:999px;flex:none;display:inline-block}.status-clean{color:var(--ok)}.status-bold{color:var(--bold)}.status-caution{color:var(--caution)}.status-clash{color:var(--clash)}.bg-clean{background:var(--ok)}.bg-bold{background:var(--bold)}.bg-caution{background:var(--caution)}.bg-clash{background:var(--clash)}.picker{margin-top:var(--space-2)}.picker-row{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) var(--space-1) var(--space-3)}.picker-item{width:80px;flex:none;border:var(--hair);border-radius:var(--r-sm);overflow:hidden;background:var(--card)}.picker-item:hover{border-color:var(--ink)}.picker-item.dim{opacity:.4}.picker-item .pi-thumb{height:92px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--faint)}.picker-item .pi-thumb img{width:100%;height:100%;object-fit:cover}.picker-item .pi-name{font-family:var(--sans);font-size:var(--fs-eyebrow);padding:5px var(--space-2);color:var(--ink-soft);line-height:1.2;letter-spacing:.02em}.empty{text-align:center;padding:60px var(--space-5);color:var(--muted);border:var(--hair-strong);border-radius:var(--r-lg);background:var(--card)}.empty h3{font-family:var(--display);font-size:var(--fs-title);font-weight:600;margin-bottom:var(--space-2);color:var(--ink)}.banner{border:var(--hair-strong);border-left:3px solid var(--accent);background:var(--card);border-radius:var(--r-sm);padding:var(--space-4)}.notice{border:var(--hair-strong);border-left:3px solid var(--ink);background:var(--card);border-radius:var(--r-sm);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--ink-soft)}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:var(--ink);color:var(--on-ink);padding:var(--space-3) var(--space-5);border-radius:var(--r-sm);font-family:var(--sans);font-size:var(--fs-meta);letter-spacing:.04em;z-index:50;box-shadow:0 16px 40px -22px #00000080}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-grid .field,.form-grid .field select,.form-grid .field input{width:100%}.field.full{grid-column:1 / -1}.today{text-align:center}.today-name{font-family:var(--signature);font-weight:600;font-size:var(--fs-hero);line-height:1.05;margin-top:var(--space-2)}.today-status{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.today-tiles{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.today-tile{position:relative;background:var(--card);border:var(--hair);border-radius:var(--r-md);height:124px;display:flex;align-items:center;justify-content:center;color:var(--faint);overflow:hidden}.today-tile img{width:100%;height:100%;object-fit:cover}.today-tile img.cutout{object-fit:contain;padding:var(--space-2) 0}.today-tile .tile-swap{position:absolute;top:var(--space-2);right:var(--space-2);width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;background:color-mix(in srgb,var(--card) 90%,transparent);border:var(--hair-strong);border-radius:var(--r-sm);color:var(--ink-soft)}.today-tile .tile-swap:hover{border-color:var(--ink);color:var(--ink)}.today-tile .tl{position:absolute;left:var(--space-3);bottom:var(--space-3);font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--ink-soft);background:color-mix(in srgb,var(--card) 88%,transparent);padding:2px var(--space-2);border-radius:var(--r-sm)}.today-why{font-family:var(--display);font-style:italic;font-size:var(--fs-md);color:var(--ink-soft);margin:var(--space-4) auto 0;max-width:44ch}.today-acts{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.today-acts .row{gap:var(--space-2)}.today-acts .row .btn{flex:1;font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);white-space:nowrap}.swipe-hint{margin-top:var(--space-3);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);color:var(--faint)}.mirror{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;gap:var(--space-3);padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--pad) calc(var(--space-6) + env(safe-area-inset-bottom));text-align:center;cursor:pointer;overflow:auto}.mirror-tiles{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.mirror-tile{position:relative;flex:1;min-height:90px;background:var(--card);border:var(--hair);border-radius:var(--r-md);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--faint)}.mirror-tile img{width:100%;height:100%;object-fit:cover}.mirror-tile img.cutout{object-fit:contain;padding:var(--space-2) 0}.mirror-tile .tl{position:absolute;left:var(--space-3);bottom:var(--space-3);font-family:var(--sans);font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--ink-soft);background:color-mix(in srgb,var(--card) 88%,transparent);padding:2px var(--space-2);border-radius:var(--r-sm)}@media (min-width: 721px){.mirror-tiles{flex-direction:row}}.lines{border-top:var(--hair);text-align:left}.line{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--hair);font-size:var(--fs-sm);width:100%;background:none;border-left:none;border-right:none;transition:padding-left .16s ease}.line:hover{padding-left:var(--space-2)}.pack-check{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:var(--hair-strong);border-radius:var(--r-sm);color:transparent}.pack-check:hover{border-color:var(--ink)}.pack-check.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.line .ln-meta{color:var(--faint);font-size:var(--fs-meta);white-space:nowrap}.home-lists{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-6);text-align:left}.home-lists>div{flex:1;min-width:0}@media (min-width: 721px){.today-tiles{flex-direction:row}.today-tile{flex:1;height:250px}.today-acts{flex-direction:row;justify-content:center}.today-acts .row .btn{flex:none}.swipe-hint{display:none}.home-lists{flex-direction:row;gap:var(--space-8)}}.suggest{border:var(--hair-strong);border-radius:var(--r-md);background:var(--card);overflow:hidden}.suggest-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--hair)}.suggest-name{font-family:var(--signature);font-weight:600;font-size:var(--fs-xl);line-height:1}.intake-tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-2)}.intake-tray figure{margin:0;text-align:center}.intake-tray img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);background:var(--paper-2);border:var(--hair)}.intake-tray img.cutout{object-fit:contain}.intake-tray figcaption{font-size:var(--fs-meta);color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intake-label-btn{font-size:var(--fs-meta);margin-top:2px}.suggest-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.suggest-thumbs a{width:100%;aspect-ratio:1 / 1.1;max-height:150px;background:var(--paper-2);border-right:var(--hair);display:flex;align-items:center;justify-content:center;color:var(--faint)}.suggest-thumbs a:last-child{border-right:none}.suggest-thumbs img{width:100%;height:100%;object-fit:cover}.suggest-why{padding:var(--space-3) var(--space-4);font-family:var(--sans);font-size:var(--fs-meta);color:var(--muted);line-height:1.5;border-top:var(--hair)}.suggest-acts{display:grid;grid-template-columns:1fr 1fr}.suggest-acts .btn{border:none;border-top:var(--hair-ink);border-radius:0;padding:var(--space-2) var(--space-4);font-size:var(--fs-sm)}.suggest-acts .btn.ghost{border-top:var(--hair)}.suggest-acts .btn:first-child{border-right:var(--hair-ink)}.suggest-tip{display:block;margin-top:var(--space-2);color:var(--faint)}.stylist-name{font-family:var(--hand, var(--signature));font-weight:600;font-size:calc(1.3em * var(--hand-scale, 1));line-height:1}.suggest-why.from-stylist{font-family:var(--hand, var(--signature));font-size:calc(var(--fs-md) * var(--hand-scale, 1));line-height:1.5}.suggest-sign{display:block;margin-top:var(--space-2);text-align:right;color:var(--muted)}.stylist-tip{font-family:var(--hand, var(--signature));font-size:calc(var(--fs-md) * var(--hand-scale, 1));line-height:1.45;margin:var(--space-2) 0 0}.stylist-card{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:start}.stylist-illo{width:96px;height:150px;object-fit:cover;object-position:top;border:var(--hair);border-radius:var(--r-sm);background:var(--card)}@media (min-width: 720px){.stylist-card{align-items:stretch}.stylist-illo{height:100%;min-height:120px}}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.quick a,.quick button{border:var(--hair-strong);background:transparent;padding:var(--space-4) var(--space-3);font-family:var(--sans);font-size:var(--fs-md);font-weight:600;text-align:center;color:var(--ink);border-radius:var(--r-sm)}.ticker{display:flex;font-family:var(--sans);font-size:var(--fs-label);letter-spacing:.08em;text-transform:lowercase;color:var(--muted)}.ticker>span{padding-right:var(--space-4);margin-right:var(--space-4);border-right:var(--hair)}.ticker>span:last-child{border-right:none}.ticker b{font-family:var(--display);color:var(--ink);font-weight:600;font-size:var(--fs-lg)}@media (max-width: 720px){.detail{grid-template-columns:1fr;gap:var(--space-6)}.detail-photo{max-width:280px}.builder{grid-template-columns:1fr}.harmony-card{position:static}.form-grid{grid-template-columns:1fr}}.landing{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-7);min-height:100dvh;display:flex;flex-direction:column}.landing-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) 0;border-bottom:var(--hair)}.landing-page{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) 0;animation:landing-rise .4s ease both}.landing-headline{font-size:clamp(44px,6.5vw,84px);margin:var(--space-3) 0 var(--space-4);max-width:14ch}.landing-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-7)}.landing-fineprint{margin-top:var(--space-3);font-size:var(--fs-meta);color:var(--faint)}.landing-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-8);align-items:center}.landing-hero-card{padding:var(--space-6);max-width:420px;justify-self:end;width:100%;box-shadow:0 1px 0 var(--hairline-strong)}.landing-outfit-name{font-family:var(--signature);font-weight:600;font-size:var(--fs-section);line-height:1.1;margin:var(--space-2) 0 var(--space-4)}.landing-outfit-items{list-style:none;margin:0;padding:0}.landing-outfit-items li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:var(--hair)}.landing-swatch{width:14px;height:14px;border-radius:50%;border:var(--hair-strong);flex:none}.landing-item-name{font-family:var(--display);font-weight:600;font-size:var(--fs-lg);flex:1}.landing-item-meta{font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);color:var(--faint)}.landing-outfit-tag{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--hair);font-size:var(--fs-meta);color:var(--muted)}.landing-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7);margin:var(--space-8) 0 0;padding:0}.landing-steps li{border-top:var(--hair-strong);padding-top:var(--space-4)}.landing-step-num{display:block;font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);color:var(--accent);font-weight:500;margin-bottom:var(--space-3)}.landing-step-title{font-family:var(--display);font-weight:600;font-size:var(--fs-xl);margin:0 0 var(--space-2)}.landing-steps p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.6}.landing-plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-7);max-width:820px}.plan{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.plan-featured{border-color:var(--ink)}.plan-name{font-family:var(--signature);font-weight:600;font-size:var(--fs-section);line-height:1.1}.plan-price{font-family:var(--display);font-size:var(--fs-lg);color:var(--ink-soft);margin-top:var(--space-1)}.plan-price .muted{font-size:var(--fs-sm)}.plan ul{list-style:none;margin:0;padding:0;flex:1}.plan li{padding:var(--space-2) 0;border-top:var(--hair);font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.5}.landing-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);border-top:var(--hair);padding:var(--space-4) 0 var(--space-5)}.landing-pager .linkbtn{justify-self:end}.landing-pager-tag{font-size:var(--fs-meta);color:var(--faint)}.landing-pager-num{font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow);color:var(--muted);font-variant-numeric:tabular-nums}.landing-pagerbar{display:none}@keyframes landing-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.landing-page{animation:none}}@media (max-width: 760px){.landing{min-height:0;padding:0 var(--pad) calc(76px + env(safe-area-inset-bottom))}.landing-page{justify-content:flex-start;padding:var(--space-7) 0}.landing-headline{font-size:var(--fs-hero)}.landing-cta-row,.landing-pager{display:none}.landing-pagerbar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--pad) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--paper);border-top:var(--hair-strong)}.landing-pagerbar-btn{flex:1}.landing-hero{grid-template-columns:1fr;gap:var(--space-7)}.landing-hero-card{justify-self:stretch;max-width:none}.landing-steps{grid-template-columns:1fr;gap:0;margin-top:var(--space-6)}.landing-steps li{display:flex;gap:var(--space-5);align-items:baseline;border-top:var(--hair);padding:var(--space-5) 0}.landing-step-num{margin-bottom:0}.landing-plans{grid-template-columns:1fr}}.item-thumb img.cutout,.detail-photo img.cutout,.slot-thumb img.cutout,.pi-thumb img.cutout,.suggest-thumbs img.cutout{object-fit:contain}.item-thumb img.cutout,.detail-photo img.cutout{padding:7%}.legal-body{flex:1;max-width:62ch;padding:var(--space-8) 0}.legal-title{font-size:var(--fs-section);margin:var(--space-3) 0 var(--space-4)}.legal-body .lead{margin:0 0 var(--space-6)}.legal-body h2{font-family:var(--display);font-weight:600;font-size:var(--fs-lg);margin:var(--space-6) 0 var(--space-2)}.legal-body p{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.7}.legal-footlink,.landing-pager-legal a{text-decoration:underline;text-underline-offset:2px}.landing-pager-legal{color:var(--faint)}.landing-pager-legal a:hover,.legal-footlink:hover{color:var(--accent)}.app .main .legal .legal-body,.legal:not(.landing) .legal-body{padding-top:var(--space-6)}.topbar-account{font-size:var(--fs-eyebrow);letter-spacing:var(--track-label);text-transform:lowercase;color:var(--faint);margin-left:var(--space-5)}.topbar-account.active,.topbar-account:hover{color:var(--ink)}
