@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/marcellus-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/marcellus-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--chalk: #fafaf8;--chalk-2: #f5f5f3;--paper: #ffffff;--panel: #f4f4f2;--ink: #1f2023;--flannel-900: #33343a;--flannel-700: #55565e;--flannel-500: #7d7e86;--flannel-300: #a9aab0;--flannel-200: #c6c7cb;--flannel-100: #dcdcde;--camel: #96703c;--camel-deep: #7a5730;--camel-soft: #c4a878;--line: #e3e3e0;--line-soft: #ededeb;--danger: #9c4a3c;--ok: #4e6b52;--serif: "Marcellus", "Hoefler Text", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--rod: #b4b5b2;--rod-shadow: rgba(40, 42, 46, .15);--nav-h: 60px;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--chalk);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button{font-family:inherit;color:inherit;cursor:pointer}input,select,textarea{font-family:var(--sans);font-size:16px;color:var(--ink)}::selection{background:var(--camel-soft);color:var(--ink)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.serif{font-family:var(--serif);font-weight:400}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--flannel-500)}.hairline{height:1px;border:0;background:var(--line);margin:0}.app{min-height:100%;display:flex;flex-direction:column;max-width:720px;margin:0 auto;background:var(--chalk)}.topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--chalk) 88%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 14px) 20px 12px}.topbar h1{margin:0;font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:.01em;line-height:1;display:flex;align-items:baseline;gap:10px}.topbar h1 .mark{color:var(--camel)}.topbar .sub{margin-top:5px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--flannel-500)}.main{flex:1;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px)}.view{padding:18px 20px 8px}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:2px}.view-head h2{margin:0;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.05}.view-head .count{font-family:var(--mono);font-size:11px;color:var(--flannel-500)}.nav{position:fixed;bottom:0;left:0;right:0;z-index:40;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-top:1px solid var(--line);max-width:720px;margin:0 auto}.nav button{flex:1;background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--flannel-500);padding:0;position:relative}.nav button svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.4}.nav button .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.nav button.active{color:var(--ink)}.nav button.active:before{content:"";position:absolute;top:0;width:26px;height:2px;background:var(--camel)}.btn{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--flannel-900);background:var(--ink);color:var(--paper);padding:11px 16px;border-radius:2px;display:inline-flex;align-items:center;gap:8px;transition:opacity .15s}.btn:active{opacity:.7}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.accent{background:var(--camel);border-color:var(--camel-deep);color:#fff}.btn.sm{padding:8px 11px;font-size:10px}.btn:disabled{opacity:.4;cursor:default}.link{background:none;border:0;padding:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--camel-deep);text-transform:uppercase}.empty{text-align:center;padding:34px 24px 44px;color:var(--flannel-500)}.empty h3{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--flannel-700);margin:14px 0 6px}.empty p{margin:0 auto 18px;max-width:30ch;font-size:13.5px;line-height:1.5}.chips{display:flex;gap:7px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;background:transparent;border:1px solid var(--line);border-radius:100px;padding:6px 13px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--flannel-500)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.rail-view{position:relative}.rail{position:relative;margin:20px -20px 0;min-height:300px}.rail-rod{position:absolute;top:30px;left:14px;right:14px;height:6px;border-radius:6px;background:linear-gradient(180deg,#c9cac7 0%,var(--rod) 45%,#98999a 100%);box-shadow:0 3px 6px var(--rod-shadow),inset 0 1px #ffffff80;z-index:1}.rail-rod .cap{position:absolute;top:-3px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#dedfdc,#98999a);box-shadow:0 2px 3px var(--rod-shadow)}.rail-rod .cap.left{left:-8px}.rail-rod .cap.right{right:-8px}.rail-track{position:relative;z-index:2;display:flex;gap:6px;overflow-x:auto;padding:14px 14px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:260px}.rail-track::-webkit-scrollbar{display:none}.rail-endpad{flex:0 0 8px}.hanger{flex:0 0 auto;scroll-snap-align:center;background:none;border:0;padding:2px 0 0;display:flex;flex-direction:column;align-items:center;width:104px}.hanger .hook{height:30px;margin-bottom:-6px;z-index:3}.hanger .hook svg{width:40px;height:46px;display:block}.hanger .garment{width:100px;height:148px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--paper),#f0f0ee);border:1px solid var(--line-soft);border-radius:3px;overflow:hidden;box-shadow:0 6px 14px -10px #282a2e73;transition:transform .18s ease,box-shadow .18s ease}.hanger:active .garment{transform:translateY(2px) rotate(-.4deg)}.garment-img{width:100%;height:100%;object-fit:cover}.hanger-tag{display:flex;align-items:center;gap:5px;margin-top:9px;max-width:100px}.hanger-tag .mono{font-size:10px;color:var(--flannel-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hanger-tag .dot,.day-reg .dot,.day-events .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.rail-empty{position:relative;z-index:2;margin:0 20px;padding-top:70px}.rail-note{text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--flannel-300);margin:16px 0 0}.fab{position:fixed;right:max(18px,calc(50% - 342px));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);z-index:45;width:54px;height:54px;border-radius:50%;border:1px solid var(--camel-deep);background:var(--camel);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px #664a2899}.fab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7}.fab:active{transform:translateY(1px)}.rail-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.density-toggle{background:none;border:1px solid var(--line);border-radius:100px;padding:4px 10px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--flannel-500)}@keyframes sway{0%{transform:rotate(0)}25%{transform:rotate(1.3deg)}75%{transform:rotate(-1.1deg)}to{transform:rotate(0)}}.rail-track.swaying .hanger{animation:sway .9s ease-in-out infinite;transform-origin:top center}.rail-track.swaying .hanger:nth-child(2n){animation-delay:.12s}.rail-track.swaying .hanger:nth-child(3n){animation-delay:.24s}@media(prefers-reduced-motion:reduce){.rail-track.swaying .hanger{animation:none}}.rail-track.dense{gap:2px}.rail-track.dense .hanger{width:76px}.rail-track.dense .hanger .garment{width:72px;height:108px}.rail-track.dense .hanger .hook svg{width:30px;height:36px}.hanger{position:relative}.hanger.in-wash .garment{opacity:.45;filter:saturate(.4)}.wash-badge{position:absolute;top:34px;right:4px;z-index:4;font-size:8px;letter-spacing:.12em;text-transform:uppercase;background:var(--flannel-700);color:var(--paper);padding:2px 6px;border-radius:100px}.sheet-scrim{position:fixed;inset:0;z-index:60;background:#1f20236b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease}@keyframes fade{0%{opacity:0}}.sheet,.picker{width:100%;max-width:720px;max-height:94vh;background:var(--chalk);border-radius:16px 16px 0 0;display:flex;flex-direction:column;animation:rise .24s cubic-bezier(.22,1,.36,1);box-shadow:0 -12px 40px -12px #191a1d73}@keyframes rise{0%{transform:translateY(3%)}}.sheet-grip{width:38px;height:4px;border-radius:4px;background:var(--flannel-200);margin:9px auto 0;flex:0 0 auto}.sheet-head,.picker-head{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 8px}.sheet-body{overflow-y:auto;padding:4px 18px 18px;-webkit-overflow-scrolling:touch}.icon-btn{background:none;border:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--flannel-700);border-radius:50%}.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}.icon-btn.tiny svg{width:15px;height:15px}.icon-btn.flip svg{transform:rotate(180deg)}.photo-drop{display:block;position:relative;width:100%;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,var(--paper),#ebebe9) padding-box;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.photo-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-placeholder{display:flex;align-items:center;justify-content:center}.photo-cta{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb,var(--ink) 86%,transparent);color:var(--paper);padding:8px 14px;border-radius:100px;white-space:nowrap}.photo-cta svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.field{margin-top:18px;display:block}.field-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.field-value{font-size:11px;color:var(--camel-deep)}.field-hint{margin-top:6px;font-size:11.5px;color:var(--flannel-500)}.field-note{margin-top:8px;font-size:11px;color:var(--camel-deep)}.field>input,.field>textarea,.anchor-form input,.anchor-form textarea,.event-editor input{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:11px 12px;color:var(--ink);outline:none}.field>input:focus,.field>textarea:focus,input:focus,textarea:focus,select:focus{border-color:var(--camel)}textarea{resize:vertical;line-height:1.5;font-size:14px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 0 auto;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:9px 10px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--flannel-700);white-space:nowrap}.seg.wide button{flex:1}.seg.tiny button{padding:6px 8px;font-size:10px}.seg button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.swatches{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.swatch{aspect-ratio:1;border-radius:50%;border:1px solid rgba(0,0,0,.12);padding:0;position:relative;cursor:pointer}.swatch.on{box-shadow:0 0 0 2px var(--chalk),0 0 0 3.5px var(--camel)}.swatch.custom{display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#e3e3e0 0% 25%,#fff 0% 50%) 50% / 10px 10px;color:var(--flannel-700);font-family:var(--mono);overflow:hidden}.swatch.custom input{position:absolute;inset:0;opacity:0}.lightness{margin-top:10px;font-size:10.5px;letter-spacing:.04em;color:var(--flannel-500)}.range{width:100%;accent-color:var(--camel)}.toggle{width:100%;display:flex;align-items:center;gap:8px;justify-content:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px;font-family:var(--mono);font-size:11px;color:var(--flannel-700)}.toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.toggle.on{background:color-mix(in srgb,var(--camel) 14%,var(--paper));border-color:var(--camel);color:var(--camel-deep)}.sheet-rule{margin:22px 0 4px}.section-eyebrow{margin-top:14px}.measure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.measure{display:flex;flex-direction:column;gap:4px}.measure span{font-size:10px;color:var(--flannel-500)}.measure input{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:9px 10px}.sheet-foot{display:flex;align-items:center;gap:8px;padding:12px 18px calc(env(safe-area-inset-bottom) + 14px);border-top:1px solid var(--line);background:var(--panel);flex:0 0 auto}.sheet-foot .spacer,.anchor-form-foot .spacer{flex:1}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}.btn.del{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.btn.del.armed{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.full{width:100%;justify-content:center}.picker{max-height:72vh}.picker-grid{overflow-y:auto;padding:6px 16px calc(env(safe-area-inset-bottom) + 18px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pick{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 6px 9px;display:flex;flex-direction:column;align-items:center;gap:5px}.pick.on{border-color:var(--camel);box-shadow:inset 0 0 0 1px var(--camel)}.pick-thumb{width:100%;aspect-ratio:1;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f0f0ee}.pick-thumb img{width:100%;height:100%;object-fit:cover}.pick .mono{font-size:10px;color:var(--flannel-700);text-align:center;line-height:1.2}.pick-reg{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.none-thumb{color:var(--flannel-300)}.none-thumb svg,.slot-plus svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.4}.analyze-row{display:flex;gap:8px;margin-top:12px}.analyze-row .btn{flex:1;justify-content:center}.toggle.wash{background:color-mix(in srgb,#5b7189 14%,var(--paper));border-color:#5b7189;color:#43586f}.wear-stats{margin-top:16px;padding:10px 12px;border:1px dashed var(--line);border-radius:4px;font-size:11px;color:var(--flannel-500)}.key-row{display:flex;gap:8px;margin-top:12px}.key-row input{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:13px;outline:none}.weekbar{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px;border:1px solid var(--line);border-radius:6px;padding:6px;background:var(--paper)}.weekbar-mid{text-align:center}.weekbar .wk{font-size:10px;letter-spacing:.14em;color:var(--flannel-500)}.weekbar .wl{font-size:16px;color:var(--ink);margin-top:1px}.events-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 2px;color:var(--flannel-700)}.events-toggle .mono{font-size:11px;display:inline-flex;align-items:center;gap:6px}.caret svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;transform:rotate(90deg);transition:transform .18s}.caret.open svg{transform:rotate(-90deg)}.event-editor{padding:12px 0 6px;border-bottom:1px solid var(--line)}.event-add-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:8px}.event-add-row select,.mini-select{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:9px 8px;font-family:var(--mono);font-size:11px;color:var(--flannel-700)}.event-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.event-list li{display:flex;align-items:center;gap:10px;padding:8px 2px;border-top:1px solid var(--line-soft)}.ev-day{font-size:10px;color:var(--camel-deep);width:30px;flex:0 0 auto;letter-spacing:.08em}.ev-name{flex:1;font-size:13px}.ev-type{font-size:10px;color:var(--flannel-500);text-transform:uppercase;letter-spacing:.06em}.generate-bar{margin:16px 0;display:flex;flex-direction:column;gap:8px}.weather-btn{justify-content:center}.weather-msg{text-align:center}.worn-btn{color:var(--flannel-500);margin-right:auto}.worn-btn.on{color:var(--ok)}.days{display:flex;flex-direction:column;gap:14px}.day{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px 14px 12px}.day-top{display:flex;align-items:baseline;justify-content:space-between}.day-id{display:flex;align-items:baseline;gap:9px}.dname{font-size:18px}.ddate{font-size:10px;color:var(--flannel-400, #a8a59c);letter-spacing:.08em}.day-reg{display:flex;align-items:center;gap:6px}.day-reg .mono{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--flannel-700)}.day-events{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.event-pill{font-size:10.5px;background:color-mix(in srgb,var(--camel) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--camel) 30%,var(--line));color:var(--camel-deep);padding:4px 9px;border-radius:100px}.day-controls{display:flex;gap:8px;margin-top:12px}.mini-select{flex:1}.rain-toggle{flex:0 0 auto;width:42px;background:var(--paper);border:1px solid var(--line);border-radius:4px;color:var(--flannel-400, #a8a59c);display:flex;align-items:center;justify-content:center}.rain-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.rain-toggle.on{background:color-mix(in srgb,#5b7189 16%,var(--paper));border-color:#5b7189;color:#43586f}.outfit{display:flex;gap:7px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.outfit::-webkit-scrollbar{display:none}.slot{flex:0 0 auto;width:62px;background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:5px}.slot-thumb{width:62px;height:62px;border-radius:5px;overflow:hidden;background:linear-gradient(180deg,#f4f4f2,#e9e9e7);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center}.slot-thumb img{width:100%;height:100%;object-fit:cover}.slot.empty .slot-thumb{border-style:dashed;border-color:var(--flannel-200);background:transparent}.slot-plus{color:var(--flannel-300)}.slot-label{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--flannel-500)}.day-actions{display:flex;justify-content:flex-end;margin-top:10px}.link{display:inline-flex;align-items:center;gap:6px}.link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6}.outfit-empty{margin-top:14px;font-size:11px;color:var(--flannel-400, #a8a59c);padding:10px 0 4px}.sev-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 18px}.sev-tile{border:1px solid var(--line);border-radius:6px;padding:12px;text-align:center;background:var(--paper)}.sev-tile .n{display:block;font-size:26px;color:var(--ink);line-height:1}.sev-tile .l{display:block;margin-top:5px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--flannel-500)}.sev-tile.sev-3 .n{color:var(--danger)}.sev-tile.sev-2 .n{color:var(--camel-deep)}.dormant-block{margin-bottom:18px}.dormant-list{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}.dormant-list li{display:flex;align-items:center;gap:10px;padding:10px 13px;font-size:11.5px;border-top:1px solid var(--line-soft)}.dormant-list li:first-child{border-top:0}.dormant-list .dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex:0 0 auto}.dormant-name{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dormant-days{color:var(--camel-deep);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.finding{display:flex;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper)}.finding-bar{flex:0 0 4px;background:var(--flannel-200)}.finding.sev-3 .finding-bar{background:var(--danger)}.finding.sev-2 .finding-bar{background:var(--camel)}.finding.sev-1 .finding-bar{background:var(--flannel-300)}.finding-body{padding:12px 14px;flex:1}.finding-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.finding-title{font-size:16px;line-height:1.2}.sev-badge{flex:0 0 auto;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:100px;border:1px solid var(--line);color:var(--flannel-500)}.sev-badge.sev-3{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.sev-badge.sev-2{color:var(--camel-deep);border-color:color-mix(in srgb,var(--camel) 45%,var(--line))}.finding-detail{margin:6px 0 8px;font-size:13px;line-height:1.5;color:var(--flannel-700)}.finding-tags{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--flannel-400, #a8a59c);display:flex;gap:6px}.gaps-glyph svg,.gaps-ok svg{width:40px;height:40px;stroke:var(--flannel-300);fill:none;stroke-width:1.3;margin:0 auto}.gaps-ok svg{stroke:var(--ok)}.spec-block{margin-top:20px}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.spec-cell{display:flex;flex-direction:column;gap:6px}.spec-key{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--flannel-500)}.spec-input{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:0 10px}.spec-input input{flex:1;border:0;background:none;padding:11px 0;outline:none;font-family:var(--mono);font-size:15px}.spec-unit{font-size:10px;color:var(--flannel-300);letter-spacing:.06em}.anchor-head{display:flex;justify-content:space-between;align-items:flex-start}.anchor-note{margin:4px 0 0;font-size:12px;color:var(--flannel-500);line-height:1.5}.anchor-empty{margin-top:14px;padding:16px;border:1px dashed var(--line);border-radius:6px;color:var(--flannel-500)}.anchor-empty p{margin:0;font-size:13px;line-height:1.5}.anchor-empty p.mono{font-size:11px;margin-bottom:6px;color:var(--flannel-400, #a8a59c)}.anchor-list{display:flex;flex-direction:column;gap:10px;margin:14px 0}.anchor-card{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:13px 14px}.anchor-card-top{display:flex;align-items:baseline;justify-content:space-between}.anchor-name{font-size:16px}.anchor-brand{font-size:11px;color:var(--flannel-500)}.anchor-measures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.anchor-measure{border-left:1px solid var(--line-soft);padding-left:8px}.anchor-measure .lbl{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--flannel-400, #a8a59c)}.anchor-measure .val{display:block;font-size:14px;color:var(--ink);margin-top:3px}.anchor-notes{margin:10px 0 0;font-size:12.5px;color:var(--flannel-700);line-height:1.5;font-style:italic}.anchor-form{border:1px solid var(--camel-soft);border-radius:6px;padding:14px;background:var(--panel);margin-bottom:12px}.anchor-form .field{margin-top:12px}.anchor-form .field:first-child{margin-top:0}.anchor-form-measures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.anchor-form-foot{display:flex;align-items:center;gap:8px;margin-top:16px}.settings-flash{background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:5px;font-size:11.5px;margin-top:12px}.map-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.map-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-type{font-size:13.5px;flex:0 0 auto}.map-list .seg{flex-wrap:nowrap}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.settings-warn{margin:10px 0 0;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--flannel-400, #a8a59c)}.colophon{text-align:center;margin:34px 0 10px;font-size:12px;color:var(--flannel-400, #a8a59c)}.colophon .serif{color:var(--flannel-700)}.lock-now{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--flannel-700);cursor:pointer}.lock-now:active{background:var(--panel)}.lock-now svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.lock-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% -10%,var(--chalk-2),var(--chalk)) fixed;padding:24px}.lock-card{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.lock-mark{font-family:var(--serif);font-size:46px;color:var(--camel);line-height:1}.lock-title{font-size:26px;letter-spacing:.01em;color:var(--ink)}.lock-sub{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--flannel-500);margin-bottom:18px}.lock-form{width:100%;display:flex;flex-direction:column;gap:10px}.lock-input{width:100%;padding:14px 16px;font-size:18px;letter-spacing:.3em;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}.lock-input:focus{outline:none;border-color:var(--camel-soft)}.lock-btn{width:100%;padding:13px}.lock-bio{margin-top:12px;font-size:13px}.lock-err{margin-top:14px;font-size:11px;letter-spacing:.04em;color:var(--danger)}.lock-setup{display:flex;flex-direction:column;gap:8px;margin-top:12px}.lock-setup input{width:100%;padding:11px 13px;font-size:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.lock-setup input:focus{outline:none;border-color:var(--camel-soft)}.lock-setup .btn svg,.lock-status-on svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;margin-right:4px}.lock-status-on{color:var(--ok);font-weight:500}.batch-sheet .sheet-body{padding-bottom:8px}.batch-drop{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 16px;border:1.5px dashed var(--flannel-200);border-radius:14px;color:var(--flannel-700);font-size:14px;cursor:pointer;background:var(--panel)}.batch-drop:active{background:var(--chalk-2)}.batch-drop svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.batch-toolbar{display:flex;flex-direction:column;gap:8px;margin:14px 0 4px}.batch-count{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--flannel-500)}.batch-tools{display:flex;flex-wrap:wrap;gap:8px}.batch-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.batch-row{display:flex;align-items:flex-start;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.batch-thumb{flex:none;width:62px;height:62px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.batch-thumb img{width:100%;height:100%;object-fit:cover;display:block}.batch-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.batch-line{display:flex;gap:8px;align-items:center}.batch-select{flex:1;min-width:0;padding:7px 9px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--chalk);color:var(--ink)}.batch-color{flex:none;width:30px;height:30px;border-radius:8px;overflow:hidden;border:1px solid var(--line);cursor:pointer;position:relative}.batch-color input{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);border:none;padding:0;cursor:pointer}.batch-seg{align-self:flex-start}.batch-brand{padding:7px 9px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:var(--chalk);color:var(--ink)}.batch-brand:focus{outline:none;border-color:var(--camel-soft)}.batch-note{font-size:10px;color:var(--flannel-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-remove{flex:none;margin-top:2px}.rail-empty .btn.ghost{margin-top:8px}.ev-src{margin-left:6px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--camel);border:1px solid var(--camel-soft);border-radius:4px;padding:1px 4px;vertical-align:1px}.ev-type-select{flex:none;max-width:110px;font-size:10px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--chalk);color:var(--flannel-700)}.trip-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.trip-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);cursor:pointer}.trip-card:active{background:var(--panel)}.trip-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.trip-name{font-size:17px;color:var(--ink)}.trip-sub{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--flannel-500)}.trip-progress{flex:none;font-size:11px;color:var(--camel)}.trip-form{display:flex;flex-direction:column;gap:16px;padding:4px 0 16px}.trip-form input,.trip-form select{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.trip-form input:focus{outline:none;border-color:var(--camel-soft)}.mix-row{display:flex;align-items:center;gap:10px;padding:6px 0}.mix-row .dot{width:8px;height:8px;border-radius:50%;flex:none}.mix-label{flex:1;font-size:13px;color:var(--flannel-700)}.stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stepper button{width:34px;height:32px;border:none;background:var(--panel);font-size:16px;color:var(--flannel-700);cursor:pointer}.stepper span{min-width:30px;text-align:center;font-size:13px}.trip-weather{display:flex;gap:8px;align-items:stretch}.trip-weather select{flex:1}.forecast-btn{margin-top:8px}.trip-toggles{display:flex;gap:8px;flex-wrap:wrap}.trip-form-actions{display:flex;justify-content:flex-end;gap:10px}.trip-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px}.flip-x{display:inline-flex;transform:scaleX(-1)}.flip-x svg,.trip-back svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trip-head h3{margin:0 0 4px;font-size:22px;font-weight:400}.trip-stat{margin-top:3px;font-size:10px;letter-spacing:.05em;color:var(--camel)}.trip-warn{margin:12px 0 0;padding:9px 12px;font-size:10px;letter-spacing:.04em;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:10px;background:color-mix(in srgb,var(--danger) 5%,transparent)}.pack-group{margin-top:20px}.pack-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.pack-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--paper);cursor:pointer}.pack-row.packed{opacity:.55}.pack-row.packed .pack-name{text-decoration:line-through}.checkbox{flex:none;width:22px;height:22px;border:1.5px solid var(--flannel-200);border-radius:7px;display:grid;place-items:center;color:var(--paper);background:var(--chalk)}.checkbox.on{background:var(--camel);border-color:var(--camel)}.checkbox svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.pack-thumb{flex:none;width:42px;height:42px;border-radius:8px;overflow:hidden;border:1px solid var(--line-soft);display:grid;place-items:center;background:var(--chalk-2)}.pack-thumb img{width:100%;height:100%;object-fit:cover}.pack-name{flex:1;min-width:0;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-fabric{color:var(--flannel-500);font-size:12px}.pack-regs{flex:none;display:flex;gap:4px}.pack-regs .dot{width:7px;height:7px;border-radius:50%}.pack-qty{flex:none;font-size:11px;color:var(--flannel-500)}.formula-block{margin-top:10px}.formula-head{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--flannel-500);margin-bottom:6px}.formula-head .dot{width:7px;height:7px;border-radius:50%}.formula{display:flex;gap:6px;margin-bottom:6px}.formula-item{width:38px;height:38px;border-radius:8px;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;background:var(--chalk-2)}.formula-item img{width:100%;height:100%;object-fit:cover}.trip-actions{display:flex;gap:10px;margin:26px 0 10px}.update-banner{position:sticky;top:0;z-index:60;width:100%;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;border:none;background:var(--camel);color:#fff;font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer}.update-banner:active{background:var(--camel-deep)}.backup-nudge{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 20px 4px;padding:9px 12px;border:1px solid var(--camel-soft);border-radius:10px;background:color-mix(in srgb,var(--camel) 6%,transparent)}.backup-nudge span{font-size:10px;letter-spacing:.04em;color:var(--camel-deep)}.backup-nudge .link{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.rail-tools{display:flex;gap:8px;margin:2px 20px 8px}.rail-search{flex:1;min-width:0;padding:9px 12px;font-size:13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.rail-search:focus{outline:none;border-color:var(--camel-soft)}.rail-sort{flex:none;max-width:130px;padding:8px;font-size:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--flannel-700)}.fam-note{margin-top:14px}
