.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;width:264px;display:flex;flex-direction:column;gap:12px}.login-modal__title{font-size:13px;font-weight:500;color:var(--text-primary);letter-spacing:.03em}.login-modal__input{width:100%;background:rgba(250,247,234,.1);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--text-primary);outline:none;box-sizing:border-box}.login-modal__input:focus{border-color:#faf7ea66}.login-modal__input::placeholder{color:var(--text-muted)}.login-modal__error{font-size:11px;color:#f87171;margin-top:-4px}.login-modal__btn{width:100%;background:var(--cta-primary);color:#faf7ea;border:none;border-radius:6px;padding:9px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.login-modal__btn:disabled{opacity:.45;cursor:not-allowed}.nav-rail{width:72px;height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:8px;background:var(--bg);border-right:1px solid var(--border);flex-shrink:0}.nav-rail__logo{width:44px;height:44px;border-radius:10px;margin-bottom:16px;object-fit:cover}.nav-rail__links{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.nav-rail__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;width:100%;border-radius:8px;color:var(--text-muted);transition:color .15s,background .15s;cursor:pointer}.nav-rail__item span{font-size:9px;letter-spacing:.04em;text-align:center;line-height:1.2}.nav-rail__item:hover,.nav-rail__item.active{color:var(--text-primary);background:var(--chip-bg)}.nav-rail__auth-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.nav-rail__auth-btn:hover{color:var(--text-primary);background:var(--chip-bg)}.nav-rail__auth-btn--active{color:var(--text-primary);border-color:#faf7ea66}.scene{grid-area:scene;display:flex;flex-direction:column;padding:20px;overflow:visible;min-width:0;min-height:0}.scene__stage{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;position:relative}.scene__media{position:relative;height:100%}.scene__canvas{display:block;height:100%;width:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.scene__canvas--loading{opacity:0}.scene__garment{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.acc-strip{position:absolute;left:8px;top:50%;transform:translateY(-50%);background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px #0000002e;overflow:hidden;width:168px;max-height:80%;display:flex;flex-direction:column}.acc-strip__header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px 10px;flex-shrink:0}.acc-strip__label{font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.acc-strip__toggle{width:18px;height:18px;border-radius:50%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);padding:0;flex-shrink:0;transition:background .15s,color .15s}.acc-strip__toggle:hover{background:rgba(250,247,234,.1);color:var(--text-primary)}.acc-strip__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 8px 8px;overflow-y:auto;flex:1;min-height:0}.acc-strip__item{aspect-ratio:1;border-radius:8px;background:var(--chip-bg);border:1px solid var(--border);overflow:hidden}.acc-strip__item img{width:100%;height:100%;object-fit:cover}.cta-primary,.cta-secondary{display:flex;align-items:center;gap:7px;padding:10px 22px;border-radius:100px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s,background .15s}.cta-primary{background:var(--cta-primary);color:#faf7ea;border:none}.scene__save-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0;position:relative}.scene__save-card{position:absolute;top:calc(100% + 10px);right:0;width:252px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 32px #00000047;z-index:200;animation:card-drop .15s ease}@keyframes card-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.scene__save-card__heading{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-primary);margin:0}.scene__save-card__body{font-size:11px;color:var(--text-muted);margin:0;line-height:1.5}.scene__save-card__link{color:var(--text-primary);text-underline-offset:2px}.scene__save-card__actions{display:flex;gap:8px;margin-top:2px}.scene__save-card__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:6px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--chip-bg);color:var(--text-primary);transition:background .15s}.scene__save-card__btn:hover{background:rgba(250,247,234,.28)}.scene__save-card__btn--primary{background:var(--cta-primary);border-color:transparent;color:#faf7ea}.scene__save-card__btn--primary:hover{opacity:.88;background:var(--cta-primary)}.cta-primary:hover{opacity:.88}.layer-rail{grid-area:scene;align-self:start;justify-self:end;position:relative;z-index:2;max-height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:20px;gap:8px;flex-shrink:0;overflow:hidden}.layer-rail__list{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;min-height:0;overflow-y:auto}.layer-rail__list::-webkit-scrollbar{width:4px}.layer-rail__list::-webkit-scrollbar-track{background:transparent}.layer-rail__list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.layer-item{position:relative;display:flex;align-items:stretch;width:112px;height:64px;border-radius:10px;cursor:grab;flex-shrink:0;touch-action:none}.layer-item:active{cursor:grabbing}.layer-item__handle{flex:1;min-width:0;border-radius:8px 0 0 8px;background:var(--chip-bg);border:1.5px solid var(--border);border-right:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.7}.layer-item__thumb{width:64px;height:64px;flex-shrink:0;padding:0 8px;box-sizing:border-box;border-radius:0 10px 10px 0;background:var(--chip-bg);border:1.5px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .12s}.layer-item__thumb img{width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.layer-item__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.layer-item__placeholder svg path{fill:currentColor}.layer-item__remove{position:absolute;top:0;right:0;width:16px;height:16px;border-radius:50%;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;padding:0}.layer-item:hover .layer-item__remove{opacity:1}.layer-item__remove:hover{background:#cfa0af;border-color:var(--danger)}.layer-item--active .layer-item__thumb,.layer-item--active .layer-item__handle{border-color:var(--chip-active)}.layer-item--dragging{opacity:.75;position:relative;z-index:10}.layer-add{width:112px;height:64px;border-radius:10px;background:transparent;border:1.5px dashed rgba(250,247,234,.3);color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.layer-add__icon{font-size:18px;font-weight:300;line-height:1}.layer-add:hover,.layer-add--open{background:var(--chip-active);color:var(--chip-active-text);border-color:transparent}.layer-add-menu{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;z-index:200;min-width:160px}.layer-add-menu__item{padding:9px 14px;display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;font-family:inherit;font-weight:400;color:var(--text-primary);background:none;border:none;cursor:pointer;transition:background .1s;white-space:nowrap}.layer-add-menu__item:hover{background:var(--chip-bg)}.layer-add-menu__key{font-family:inherit;font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--chip-bg);border:1px solid var(--border);color:var(--text-muted);flex-shrink:0}.layer-add-menu__icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.layer-add-menu__icon svg path{fill:currentColor}.layer-add-menu__item-label{flex:1}.garment-panel{grid-area:garments;width:560px;flex-shrink:0;height:100%;min-height:0;padding:20px 16px 16px 0;display:flex;flex-direction:column}.gp-card{flex:1;background:var(--panel);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.gp-header{display:flex;align-items:center;gap:14px;padding:16px 16px 14px;flex-shrink:0}.gp-header__thumb{width:58px;height:58px;border-radius:10px;background:var(--chip-bg);border:1px solid var(--border);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gp-header__thumb img{width:100%;height:100%;object-fit:cover}.gp-header__thumb svg path{fill:currentColor}.gp-header__thumb{color:var(--text-muted)}.gp-header__name{flex:1;font-size:20px;font-weight:500;color:var(--text-primary)}.gp-header__delete{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:var(--danger-bg);border:1.5px solid var(--danger-border);color:var(--danger-text);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.gp-header__delete:hover{background:#cfa0af;border-color:var(--danger)}.gp-views{display:flex;align-items:center;gap:6px;padding:0 16px 12px;flex-shrink:0}.gp-views__label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-primary);flex-shrink:0;margin-right:2px}.gp-view-btn{width:48px;height:48px;border-radius:8px;border:1.5px solid transparent;background:var(--chip-bg);padding:0;cursor:pointer;overflow:hidden;transition:border-color .15s,opacity .15s;opacity:.6}.gp-view-btn img{width:100%;height:100%;object-fit:cover}.gp-view-btn:hover{opacity:.9}.gp-view-btn--active{border-color:#faf7ead9;opacity:1}.gp-filters{display:flex;flex-direction:column;gap:8px;padding:0 16px 12px;flex-shrink:0}.filter-row{display:flex;align-items:flex-start;gap:10px}.filter-row__label{font-size:10px;font-weight:600;letter-spacing:.07em;color:var(--text-muted);text-transform:uppercase;width:38px;flex-shrink:0}.filter-row__items{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 12px;border-radius:100px;font-size:11px;font-weight:500;font-family:inherit;background:var(--chip-bg);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.chip:hover{background:rgba(250,247,234,.26)}.chip--active{background:var(--chip-active);color:var(--chip-active-text);border-color:transparent}.chip--active:hover{background:var(--chip-active);color:var(--chip-active-text)}.chip--more{opacity:.7}.chip--more:hover{opacity:1}.swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex-shrink:0;transition:transform .12s,border-color .12s;outline:none}.swatch:hover{transform:scale(1.15)}.swatch--active{border-color:#faf7ea;transform:scale(1.1);box-shadow:0 0 0 1px #00000026}.gp-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.gp-results-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px 8px;flex-shrink:0}.gp-results{font-size:11px;color:var(--text-muted)}.gp-size-toggle{display:flex;gap:2px}.gp-size-btn{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.gp-size-btn:hover{background:var(--chip-bg);color:var(--text-primary)}.gp-size-btn--active{background:var(--chip-bg);color:var(--text-primary);border-color:var(--border)}.gp-grid{flex:1;overflow-y:auto;padding:10px 12px 14px;display:grid;gap:8px;align-content:start;background:var(--garment-zone);min-height:0}.gp-grid--sm{grid-template-columns:repeat(5,1fr)}.gp-grid--md{grid-template-columns:repeat(4,1fr)}.gp-grid--lg{grid-template-columns:repeat(2,1fr)}.gp-grid::-webkit-scrollbar{width:4px}.gp-grid::-webkit-scrollbar-track{background:transparent}.gp-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.garment-card{position:relative;width:100%;border-radius:10px;background:rgba(250,247,234,.12);border:1.5px solid transparent;cursor:pointer;transition:background .12s,border-color .12s}.garment-card:before{content:"";display:block;padding-top:100%}.garment-card:hover{background:rgba(250,247,234,.22)}.garment-card--selected{border-color:#faf7ea;background:rgba(250,247,234,.32)}.garment-card>img,.garment-card__placeholder{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain}.garment-card__placeholder{width:100%;height:100%}.garment-card__ranks{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:3px;padding:5px 0;z-index:2}.garment-card__rank-badge{display:flex;flex-direction:column;align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:0 6px 6px 0;padding:4px 7px 3px}.garment-card__rank-num{font-size:13px;font-weight:700;line-height:1;color:#faf7ea}.garment-card__rank-label{font-size:6.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#faf7eabf;line-height:1;margin-top:2px}.garment-card__alt-badge{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#faf7ea;white-space:nowrap;pointer-events:none}.garment-hover{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column}.garment-hover__image{position:relative;width:100%;height:180px;background:var(--chip-bg);border-radius:14px 14px 0 0;overflow:hidden;flex-shrink:0}.garment-hover__image img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}.garment-hover__alt-views{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:0;border-radius:4px;background:rgba(250,247,234,.1);overflow:hidden}.garment-hover__alt-thumb{width:40px;height:40px;flex-shrink:0}.garment-hover__alt-thumb img{width:100%;height:100%;object-fit:contain;padding:3px;box-sizing:border-box}.garment-hover__stat-row{position:absolute;top:0;right:0;bottom:0;width:25%;display:flex;flex-direction:column;gap:4px;padding:6px;background:linear-gradient(to left,rgba(0,0,0,.22),transparent)}.garment-hover__stat-tile{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-width:1px;border-style:solid;border-radius:6px;padding:2px 6px;display:flex;flex-direction:column;justify-content:center;gap:1px}.garment-hover__stat-label{font-size:8px;font-weight:500;color:#faf7ea99;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.garment-hover__stat-num{font-size:18px;font-weight:600;line-height:1;transition:color .15s}.garment-hover__stat-badge{display:inline-block;margin-top:3px;font-size:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#faf7ead9;background:rgba(250,247,234,.14);border:1px solid rgba(250,247,234,.25);border-radius:100px;padding:2px 6px;align-self:flex-start}.garment-hover__title{font-size:12px;font-weight:500;color:var(--text-primary);margin:0;text-transform:capitalize;line-height:1.3;padding:10px 12px 0}.garment-hover__body{padding:8px 12px 12px;display:flex;flex-direction:column;gap:10px}.garment-hover__section{display:flex;flex-direction:column;gap:4px}.garment-hover__section-label{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.garment-hover__chips{display:flex;flex-wrap:wrap;gap:4px}.garment-hover__chip{font-size:10px;padding:2px 8px;border-radius:100px;background:var(--chip-bg);color:var(--text-primary);border:1px solid var(--border);white-space:nowrap}.garment-hover__chip--tag{color:var(--text-muted)}.garment-hover__row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.garment-hover__swatch{width:13px;height:13px;border-radius:50%;flex-shrink:0;border:1px solid var(--border)}.garment-hover__muted{font-size:10px;color:var(--text-muted)}.garment-hover__meta{display:flex;flex-direction:column;gap:3px}.garment-hover__meta span{font-size:11px;color:var(--text-muted)}.garment-hover__details{font-size:10px;color:var(--text-muted);font-style:italic;margin:0;line-height:1.5}.gp-shortcuts{flex-shrink:0;padding:6px 16px 10px;text-align:center;font-size:10px;color:var(--text-muted);opacity:0;transition:opacity .2s;pointer-events:none}.gp-card:hover .gp-shortcuts{opacity:1}.gp-shortcuts kbd{font-family:inherit;font-size:9px;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--chip-bg);border:1px solid var(--border);margin:0 1px}.garment-card__check{position:absolute;bottom:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--cta-primary);display:flex;align-items:center;justify-content:center}.dressing-room{display:grid;grid-template-columns:1fr 560px;grid-template-rows:1fr;grid-template-areas:"scene garments";height:100%;width:100%;overflow:hidden;background:var(--bg)}.dr-header{grid-area:scene;align-self:start;justify-self:start;position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;padding:20px}.dr-header__info{display:flex;flex-direction:column;gap:2px}.dr-title{font-family:var(--font-title);font-size:22px;font-weight:400;color:var(--text-primary);letter-spacing:0}.dr-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dr-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:500}.dr-confirm{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px 24px;min-width:240px;box-shadow:0 12px 40px #00000059}.dr-confirm__msg{font-size:14px;color:var(--text-primary);margin:0 0 16px;text-transform:capitalize}.dr-confirm__actions{display:flex;gap:8px;justify-content:flex-end}.dr-confirm__cancel{padding:7px 16px;border-radius:8px;border:1px solid var(--border);background:var(--chip-bg);color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer}.dr-confirm__delete{padding:7px 16px;border-radius:8px;border:1.5px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.dr-confirm__delete:hover{background:#cfa0af;border-color:var(--danger)}.outfit-diary{height:100%;display:flex;overflow:hidden}.cal-panel{width:42%;flex-shrink:0;display:flex;flex-direction:column;padding:24px 20px 20px;border-right:1px solid var(--border);overflow:hidden}.cal-nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cal-month-label{font-size:13px;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.cal-nav-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s;line-height:1}.cal-nav-btn:hover{color:var(--text-primary);background:var(--chip-bg)}.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-dow{text-align:center;font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--text-muted);padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;flex:1;min-height:0}.cal-cell{border-radius:8px;position:relative;display:flex;flex-direction:column;overflow:visible;transition:background .1s;cursor:default;min-height:0}.cal-cell--blank{pointer-events:none}.cal-cell:not(.cal-cell--blank){background:rgba(250,247,234,.06);cursor:default}.cal-cell--drag-over{background:rgba(250,247,234,.22)!important;outline:1.5px solid rgba(250,247,234,.5)}.cal-cell--today .cal-day-num{background:var(--cta-primary);color:#faf7ea;font-weight:600;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:4px 0 0 5px}.cal-day-num{font-size:10px;color:var(--text-muted);padding:5px 0 0 6px;position:relative;z-index:2;line-height:1;flex-shrink:0;align-self:flex-start}.cal-thumbs-stack{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;z-index:1}.cal-outfit-thumb{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;transform-origin:left center}.cal-outfit-thumb img{width:100%;height:100%;object-fit:contain}.og-panel{flex:1;display:flex;flex-direction:column;padding:24px 24px 16px;overflow:hidden;min-width:0}.og-header{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-bottom:16px}.og-size-toggle{display:flex;gap:2px;margin-left:auto}.og-size-btn{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.og-size-btn:hover{background:var(--chip-bg);color:var(--text-primary)}.og-size-btn--active{background:var(--chip-bg);color:var(--text-primary);border-color:var(--border)}.og-archive-toggle{padding:4px 10px;border-radius:100px;border:1px solid var(--border);background:var(--chip-bg);color:var(--text-muted);font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.og-archive-toggle:hover,.og-archive-toggle--active{background:var(--chip-active);color:var(--chip-active-text);border-color:transparent}.og-title{font-family:var(--font-title);font-size:22px;font-weight:400;color:var(--text-primary);letter-spacing:0}.og-count{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.og-empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-muted)}.og-grid{flex:1;display:grid;gap:10px;overflow-y:auto;padding:4px 4px 8px;align-content:start;min-height:0}.og-grid--sm{grid-template-columns:repeat(6,1fr)}.og-grid--md{grid-template-columns:repeat(4,1fr)}.og-grid--lg{grid-template-columns:repeat(2,1fr)}.og-grid::-webkit-scrollbar{width:4px}.og-grid::-webkit-scrollbar-track{background:transparent}.og-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.og-card{position:relative;aspect-ratio:9 / 16;border-radius:10px;cursor:pointer;background:rgba(250,247,234,.08);transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.og-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.og-card--active{outline:2px solid rgba(250,247,234,.6)}.og-card--archived{opacity:.5}.og-card__archived-badge{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:8px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#faf7ea;background:rgba(0,0,0,.5);border-radius:100px;padding:2px 7px;white-space:nowrap;pointer-events:none}.og-card__img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.og-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;background:rgba(0,0,0,.55);color:#faf7ea;text-align:center;opacity:0;transition:opacity .15s;pointer-events:none}.og-card:hover .og-card__overlay{opacity:1}.og-card__overlay-text{font-size:12px;font-weight:500;line-height:1.35}.odc{position:fixed;width:248px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;overflow:hidden;z-index:1000}.odc__close{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:none;background:var(--chip-bg);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;transition:background .15s,color .15s}.odc__close:hover{background:rgba(250,247,234,.28);color:var(--text-primary)}.odc__preview{position:relative;display:flex;gap:0;height:140px;flex-shrink:0}.odc__nav{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:2px;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:100px;padding:3px 6px}.odc__nav-btn{background:none;border:none;color:#faf7ea;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;opacity:.85;font-family:inherit;transition:opacity .1s}.odc__nav-btn:hover{opacity:1}.odc__nav-btn:disabled{opacity:.3;cursor:default}.odc__nav-label{font-size:10px;font-weight:500;color:#faf7ea;letter-spacing:.03em;padding:0 2px}.odc__snapshot{flex:1;min-width:0;object-fit:contain;background:rgba(250,247,234,.05);display:block}.odc__palette{width:36px;flex-shrink:0;display:flex;flex-direction:column}.odc__swatch{flex:1}.odc__section{padding:12px 14px 10px;border-top:1px solid var(--border)}.odc__section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px}.odc__garments{display:flex;gap:8px;flex-wrap:wrap}.odc__garment{display:flex;flex-direction:column;align-items:center;gap:4px}.odc__garment-thumb{width:48px;height:48px;border-radius:8px;background:var(--garment-zone);overflow:hidden;border:1px solid var(--border)}.odc__garment-thumb img{width:100%;height:100%;object-fit:contain}.odc__garment-cat{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.odc__meta{padding:8px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.odc__meta span{font-size:11px;color:var(--text-muted)}.odc__actions{padding:10px 14px 14px;display:flex;gap:8px}.odc__action{flex:1;padding:8px 0;border-radius:100px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s}.odc__action:hover{opacity:.85}.odc__action--wear{background:var(--cta-primary);color:#faf7ea}.odc__action--archive{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.odc__drag-hint{display:flex;align-items:center;gap:5px;padding:0 14px 10px;font-size:10px;color:var(--text-muted)}.odc__action--remove{background:var(--danger-bg);color:var(--danger-text);border:1.5px solid var(--danger-border)}.odc__action--remove:hover{background:#cfa0af;border-color:var(--danger);opacity:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;cursor:zoom-out;animation:lightbox-in .18s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox__img{max-width:90vw;max-height:90vh;object-fit:contain;cursor:default;animation:lightbox-img-in .18s ease}@keyframes lightbox-img-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.lightbox__close{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;background:rgba(250,247,234,.15);border:1px solid rgba(250,247,234,.25);color:#faf7ea;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lightbox__close:hover{background:rgba(250,247,234,.28)}.odc__snapshot--zoomable,.odc__garment-thumb--zoomable{cursor:zoom-in}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-dialog{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px 24px;width:280px;display:flex;flex-direction:column;gap:18px;box-shadow:0 16px 48px #00000059}.confirm-message{font-size:13px;color:var(--text-primary);line-height:1.5;text-align:center}.confirm-actions{display:flex;gap:8px}.confirm-btn{flex:1;padding:9px 0;border-radius:100px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s}.confirm-btn:hover{opacity:.85}.confirm-btn--cancel{background:rgba(250,247,234,.15);color:var(--text-primary);border:1px solid var(--border)}.confirm-btn--confirm{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.garment-catalog{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.gc-header{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.gc-header__left{display:flex;flex-direction:column;gap:1px}.gc-header__title{font-family:var(--font-title);font-size:22px;font-weight:400;color:var(--text-primary);line-height:1.2}.gc-header__label{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.gc-filters{display:flex;gap:6px;flex-wrap:wrap;flex:1}.gc-header__right{display:flex;align-items:center;gap:10px;flex-shrink:0}.gc-header__count{font-size:12px;color:var(--text-muted);white-space:nowrap}.gc-export-btn{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;border:1px solid var(--border);background:var(--cta-secondary);color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}.gc-export-btn:hover{color:var(--text-primary);background:var(--chip-bg)}.gc-export-btn--active{background:var(--cta-primary);border-color:transparent;color:#faf7ea}.gc-export-btn--active:hover{filter:brightness(1.08);background:var(--cta-primary);color:#faf7ea}.gc-body{display:flex;flex:1;overflow:hidden}.gc-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:10px;padding:14px;overflow-y:auto;align-content:start;background:var(--garment-zone)}.gc-empty{grid-column:1 / -1;color:var(--text-muted);font-size:12px;padding:24px 0}.gc-card{border-radius:10px;border:1px solid transparent;background:var(--panel);cursor:pointer;transition:border-color .15s,transform .15s;position:relative}.gc-card:hover{border-color:var(--border);transform:translateY(-1px)}.gc-card--selected{border-color:#faf7ea99}.gc-card--archived{opacity:.5}.gc-card__img-wrap{position:relative;width:100%;background:var(--garment-zone);overflow:hidden}.gc-card__img-wrap:before{content:"";display:block;padding-top:100%}.gc-card__img-wrap img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.gc-card__archived-badge{position:absolute;top:6px;left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:99px;background:rgba(0,0,0,.35);color:#faf7eaa6}.gc-card__archive-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:var(--chip-bg);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.gc-card:hover .gc-card__archive-btn{opacity:1}.gc-card__archive-btn:hover{background:var(--cta-primary);color:#faf7ea}.gc-card__check{position:absolute;bottom:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--cta-primary);color:#faf7ea;font-size:10px;display:flex;align-items:center;justify-content:center}.gc-card__meta{padding:8px 10px}.gc-card__description{font-size:11px;color:var(--text-primary);line-height:1.35;margin-bottom:5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gc-card__footer{display:flex;align-items:center;gap:6px}.gc-card__id{font-size:10px;color:var(--text-muted);flex:1}.gc-card__color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(250,247,234,.2)}.gc-edit-panel{width:276px;flex-shrink:0;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.gc-ep__header{display:flex;align-items:flex-start;gap:10px;padding:14px;border-bottom:1px solid var(--border);flex-shrink:0}.gc-ep__thumb{width:54px;height:54px;object-fit:contain;border-radius:8px;background:var(--garment-zone);flex-shrink:0}.gc-ep__header-info{flex:1;display:flex;flex-direction:column;gap:5px;padding-top:2px;min-width:0}.gc-ep__id{font-size:10px;color:var(--text-muted)}.gc-ep__cat-chip{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--chip-bg);color:var(--text-primary);width:fit-content}.gc-ep__close{width:26px;height:26px;border-radius:50%;border:none;background:var(--chip-bg);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.gc-ep__close:hover{background:rgba(250,247,234,.28);color:var(--text-primary)}.gc-ep__fields{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.gc-ep__views-row{display:flex;gap:6px;flex-wrap:wrap}.gc-ep__view-thumb{width:56px;height:56px;object-fit:contain;border-radius:6px;background:rgba(250,247,234,.07);border:1px solid var(--border)}.gc-ef__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:3px}.gc-ef__value{font-size:12px;color:var(--text-primary);padding:5px 8px;border-radius:6px;border:1px solid transparent;cursor:text;line-height:1.4;min-height:28px;transition:border-color .15s,background .15s}.gc-ef__value:hover{border-color:var(--border);background:rgba(250,247,234,.07)}.gc-ef__value--empty{color:var(--text-muted);font-style:italic}.gc-ef__value--readonly{cursor:default}.gc-ef__value--readonly:hover{border-color:transparent;background:transparent}.gc-ef__input{width:100%;background:rgba(250,247,234,.12);border:1px solid rgba(250,247,234,.35);color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:12px;font-family:inherit;outline:none;line-height:1.4;min-height:28px;transition:border-color .15s}.gc-ef__input:focus{border-color:#faf7eaa6}textarea.gc-ef__input{resize:vertical;min-height:62px}.gc-ep__archive-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 14px 14px;padding:9px;border-radius:8px;border:1px solid var(--border);background:var(--cta-secondary);color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.gc-ep__archive-btn:hover{color:var(--text-primary);background:var(--chip-bg)}.gc-ep__archive-btn--unarchive{background:var(--cta-primary);border-color:transparent;color:#faf7ea}.gc-ep__archive-btn--unarchive:hover{filter:brightness(1.08);background:var(--cta-primary);color:#faf7ea}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg)}.app-main{flex:1;overflow:hidden;height:100%;display:flex;flex-direction:column}.app-page{display:contents}.app-page--hidden{display:none}:root{--font-title: "Husky Stash", sans-serif;--font-body: "Sansation", sans-serif;--bg: #8a9ab0;--panel: #9daaba;--garment-zone: #b0bbc8;--floor: #9aaabb;--border: rgba(250, 247, 234, .2);--chip-bg: rgba(250, 247, 234, .18);--chip-active: rgba(250, 247, 234, .88);--chip-active-text: #2a3540;--text-primary: #FAF7EA;--text-muted: rgba(250, 247, 234, .5);--cta-primary: #852936;--cta-secondary: rgba(250, 247, 234, .2);--danger: #E1AEBC;--danger-bg: #E1AEBC;--danger-border: #E1AEBC;--danger-text: #852936;--mannequin: rgba(250, 247, 234, .1);--mannequin-border: rgba(250, 247, 234, .3)}@font-face{font-family:PLANK;src:url(/fonts/PLANK___.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Husky Stash;src:url(/fonts/husky\ stash.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Sansation;src:url(/fonts/Sansation/Sansation-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:Sansation,sans-serif;font-size:12px;font-weight:400;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}
