:root{--import-ivory: #f4f0e7;--import-paper: #fbf8f1;--import-ink: #24231f;--import-muted: #77736a;--import-line: rgba(36, 35, 31, .16);--import-shadow: 0 18px 55px rgba(42, 37, 28, .14);--import-ease: cubic-bezier(.22, 1, .36, 1)}.import-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:28px;color:var(--import-ink);background:#f4f0e7e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.import-drop-overlay.is-active,.import-drop-overlay[data-active=true]{opacity:1;visibility:visible;pointer-events:auto}.import-drop-target{width:min(700px,100%);min-height:min(430px,62vh);display:grid;place-items:center;align-content:center;gap:12px;padding:48px;text-align:center;border:1px dashed rgba(36,35,31,.42);border-radius:28px;background:#fbf8f19e;transform:scale(.985);transition:transform .36s var(--import-ease),background .2s ease}.import-drop-overlay.is-active .import-drop-target,.import-drop-overlay[data-active=true] .import-drop-target{transform:scale(1)}.import-drop-target.is-over{background:#fffdf7e6}.import-drop-target h2{margin:0;font:500 clamp(24px,4vw,42px)/1.05 "Instrument Sans Variable","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;letter-spacing:-.035em}.import-drop-target p{max-width:40ch;margin:0;color:var(--import-muted);font-size:14px}.import-setup-warning code{padding:2px 5px;color:var(--import-ink);background:#24231f12;border-radius:4px;font-size:.92em}.import-tray{position:fixed;left:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:0;width:auto;max-width:calc(100vw - 36px);min-height:48px;padding:4px;overflow:hidden;color:var(--import-paper);background:var(--import-ink);border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 8px 28px #19171233;transition:box-shadow .22s ease}.import-tray:hover,.import-tray:focus-within,.import-tray.is-expanded{box-shadow:0 12px 36px #19171242}.import-tray__button,.import-icon-button{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;padding:0;color:inherit;background:transparent;border:0;border-radius:50%;cursor:pointer;transition:background .16s ease,transform .22s var(--import-ease)}.import-tray__button:hover,.import-tray__button:focus-visible,.import-icon-button:hover,.import-icon-button:focus-visible{background:#ffffff1f;outline:none}.import-tray__button:active,.import-icon-button:active{transform:scale(.94)}.import-tray__actions{display:flex;align-items:center;gap:2px;min-width:0;max-width:0;overflow:hidden;opacity:0;transform:translate(-8px);pointer-events:none;transition:max-width .42s var(--import-ease),opacity .18s ease 40ms,transform .32s var(--import-ease)}.import-tray:hover .import-tray__actions,.import-tray:focus-within .import-tray__actions,.import-tray.is-expanded .import-tray__actions{max-width:min(420px,calc(100vw - 92px));opacity:1;transform:none;pointer-events:auto}.import-tray__label{min-width:0;max-width:min(240px,42vw);overflow:hidden;padding:0 10px 0 4px;white-space:nowrap;text-overflow:ellipsis;font-size:12px;letter-spacing:.01em}.import-tray__preview{width:0;height:34px;object-fit:contain;border-radius:999px;background:#ffffff1a;opacity:0;transition:width .32s var(--import-ease),opacity .18s ease}.import-tray:hover .import-tray__preview,.import-tray:focus-within .import-tray__preview,.import-tray.is-expanded .import-tray__preview{width:34px;opacity:1}.import-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:grid;place-items:center;padding:24px;background:#23211c40;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.import-popover-backdrop.is-open,.import-popover-backdrop[data-open=true]{opacity:1;visibility:visible;pointer-events:auto}.import-popover{width:min(620px,100%);max-height:min(760px,calc(100dvh - 48px));overflow:auto;padding:24px;color:var(--import-ink);background:var(--import-paper);border:1px solid var(--import-line);border-radius:26px;box-shadow:var(--import-shadow);transform:translate(-36vw,42vh) scale(.16);transform-origin:left bottom;opacity:0;transition:transform .52s var(--import-ease),opacity .18s ease}.import-popover-backdrop.is-open .import-popover,.import-popover-backdrop[data-open=true] .import-popover{transform:none;opacity:1}.import-popover__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.import-popover__eyebrow{margin:0 0 6px;color:var(--import-muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.import-popover__title{margin:0;font:500 clamp(24px,4vw,36px)/1.06 "Instrument Sans Variable","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;letter-spacing:-.035em}.import-progress{display:grid;gap:10px;margin:20px 0}.import-progress.is-reviewing{margin-bottom:24px}.import-progress__meta{display:flex;justify-content:space-between;gap:16px;color:var(--import-muted);font-size:12px}.import-progress__track{height:3px;overflow:hidden;background:#24231f1a;border-radius:99px}.import-progress__bar{width:var(--import-progress, 0%);height:100%;background:var(--import-ink);border-radius:inherit;transition:width .5s var(--import-ease)}.import-progress.is-indeterminate .import-progress__bar{width:36%;animation:import-progress 1.2s var(--import-ease) infinite}.import-status{display:flex;align-items:center;gap:9px;color:var(--import-muted);font-size:13px}.import-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45}.import-status.is-processing:before{animation:import-pulse 1.2s ease-in-out infinite}.import-status.is-complete{color:#49604b}.import-status.is-error{color:#8a3f35}.import-analyzing-state{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);align-items:center;gap:24px;padding:18px;overflow:hidden;border:1px solid var(--import-line);border-radius:20px;background:#ffffff7a}.import-analyzing-state.is-compact{margin-bottom:22px}.import-analyzing-visual{position:relative;min-height:190px;overflow:hidden;border-radius:15px;background:#ded8cc;isolation:isolate}.import-analyzing-visual img,.import-analyzing-placeholder{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.import-analyzing-visual img{object-fit:cover;filter:saturate(.8) contrast(.94)}.import-analyzing-placeholder{display:grid;place-items:center;color:var(--import-muted)}.import-analyzing-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.import-analyzing-scan{position:absolute;z-index:2;top:8%;left:0;right:0;height:2px;background:#fffffff5;box-shadow:0 -12px 28px #ffffff57,0 9px 26px #24231f38;animation:import-scan 2.4s cubic-bezier(.45,0,.55,1) infinite}.import-analyzing-spinner{position:absolute;z-index:3;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;color:var(--import-paper);background:#24231fd6;border:1px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 8px 22px #24231f38}.import-analyzing-spinner svg{animation:import-spin .9s linear infinite}.import-analyzing-copy{min-width:0;display:grid;align-content:center;gap:9px}.import-analyzing-copy h3{margin:0;font-size:20px;font-weight:560;letter-spacing:-.025em}.import-analyzing-copy>strong{overflow:hidden;color:var(--import-ink);font-size:12px;font-weight:540;text-overflow:ellipsis;white-space:nowrap}.import-analyzing-copy>p:not(.import-editor__stage){max-width:34ch;margin:0;color:var(--import-muted);font-size:12px;line-height:1.55}.import-analyzing-dots{height:12px;display:flex;align-items:center;gap:5px;margin-top:2px}.import-analyzing-dots i{width:5px;height:5px;display:block;border-radius:50%;background:var(--import-ink);animation:import-dot 1.2s ease-in-out infinite}.import-analyzing-dots i:nth-child(2){animation-delay:.14s}.import-analyzing-dots i:nth-child(3){animation-delay:.28s}.import-card-list{display:grid;gap:10px}.import-editor__stage{grid-column:1 / -1;margin:0;color:var(--import-muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.import-editor+.import-card-list,.import-cleanup-editor+.import-card-list{margin-top:28px}.import-card-list+.import-actions{margin-top:28px}.import-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;border:1px solid var(--import-line);border-radius:16px;background:#ffffff61}.import-card__image{width:88px;aspect-ratio:4 / 5;object-fit:contain;background:var(--import-ivory);border-radius:10px}.import-card__body{min-width:0}.import-card__title{margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}.import-card__detail{margin:0;color:var(--import-muted);font-size:12px}.import-card__detail--status{display:flex;align-items:center;gap:8px}.import-card__detail--status:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.42}.import-card__detail--status[data-tone=processing]:before{animation:import-pulse 1.2s ease-in-out infinite}.import-card__detail--status[data-tone=error]{color:#8a3f35}.import-card__detail--status[data-tone=complete]{color:#49604b}.import-card__actions{display:flex;gap:4px}.import-card__delete{color:#7c4038}.import-card__delete:hover,.import-card__delete:focus-visible{background:#7c40381a}.import-card__retry{min-height:34px;padding-inline:12px}.import-card.is-approved{border-color:#49604b61}.import-card.is-rejected{opacity:.55}.import-card.is-selected{border-color:#24231f7a;background:#ffffffb3}.import-editor{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr);gap:20px}.import-editor__preview{width:100%;max-height:360px;object-fit:contain;background:var(--import-ivory);border-radius:16px}.import-cleanup-editor{display:grid;gap:14px}.import-cleanup-editor>.import-card__detail{max-width:680px;line-height:1.45}.import-cleanup-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-cleanup-comparison figure{margin:0;overflow:hidden;border:1px solid var(--import-line);border-radius:14px;background-color:var(--import-ivory);background-image:linear-gradient(45deg,rgba(36,35,31,.045) 25%,transparent 25%),linear-gradient(-45deg,rgba(36,35,31,.045) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(36,35,31,.045) 75%),linear-gradient(-45deg,transparent 75%,rgba(36,35,31,.045) 75%);background-position:0 0,0 7px,7px -7px,-7px 0;background-size:14px 14px}.import-cleanup-comparison img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.import-cleanup-comparison figcaption{padding:9px 11px;border-top:1px solid var(--import-line);color:var(--import-muted);background:#f4f0e8eb;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.import-cleanup-strength label{display:flex;justify-content:space-between;gap:16px}.import-cleanup-strength label strong{color:var(--import-ink);font-weight:600}.import-cleanup-strength input[type=range]{padding-inline:0;border:0;accent-color:var(--import-ink)}.import-cleanup-scale{display:flex;justify-content:space-between;gap:16px;color:var(--import-muted);font-size:10px}.import-fields{display:grid;gap:14px;align-content:start}.import-field{display:grid;gap:6px}.import-field label{color:var(--import-muted);font-size:11px}.import-field input,.import-field select,.import-field textarea{width:100%;box-sizing:border-box;padding:11px 12px;color:var(--import-ink);background:transparent;border:1px solid var(--import-line);border-radius:10px;font:inherit}.import-field input:focus,.import-field select:focus,.import-field textarea:focus{outline:1px solid var(--import-ink);outline-offset:1px}.import-season-options{display:flex;flex-wrap:wrap;gap:6px}.import-season-options label{position:relative;cursor:pointer}.import-season-options label input{position:absolute;opacity:0;pointer-events:none}.import-season-options label{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--import-line);padding:0 11px;color:var(--import-muted);font-size:11px}.import-season-options label:has(input:checked){border-color:var(--import-ink);color:var(--import-paper);background:var(--import-ink)}.import-season-options label:has(input:focus-visible){outline:2px solid var(--import-ink);outline-offset:2px}.import-color-row{display:grid;grid-template-columns:52px 1fr;gap:8px}.import-color-row input[type=color]{height:44px;padding:5px;cursor:pointer}.import-field-error{color:#8a3f35;font-size:10px;line-height:1.35}.import-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:22px}.import-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--import-line);border-radius:999px;color:var(--import-ink);background:transparent;font:500 12px/1 Instrument Sans Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;cursor:pointer}.import-button--primary{color:var(--import-paper);background:var(--import-ink);border-color:var(--import-ink)}.import-button:disabled{cursor:default;opacity:.42}@keyframes import-progress{0%{transform:translate(-110%)}to{transform:translate(300%)}}@keyframes import-pulse{50%{transform:scale(1.65);opacity:.22}}@keyframes import-spin{to{transform:rotate(360deg)}}@keyframes import-scan{0%,to{top:8%;opacity:.5}50%{top:92%;opacity:1}}@keyframes import-dot{0%,60%,to{transform:translateY(0);opacity:.28}30%{transform:translateY(-4px);opacity:1}}.import-spinner{animation:import-spin .9s linear infinite}@media(max-width:700px){.app-shell.has-selection .import-tray,body.outfit-detail-open .import-tray{display:none}.import-tray{left:max(12px,env(safe-area-inset-left));bottom:calc(var(--mobile-nav-clearance, 60px) + 10px);max-width:calc(100vw - 24px)}.import-tray__actions{max-width:0}.import-tray:focus-within .import-tray__actions,.import-tray.is-expanded .import-tray__actions{max-width:calc(100vw - 68px)}.import-popover-backdrop{align-items:end;padding:0}.import-popover{width:100%;max-height:min(88dvh,760px);padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;transform:translateY(100%) scale(.96);transform-origin:bottom center}.import-drop-overlay{padding:12px}.import-drop-target{min-height:50vh;padding:28px 20px;border-radius:20px}.import-card{grid-template-columns:68px minmax(0,1fr)}.import-card__image{width:68px}.import-card__actions{grid-column:2}.import-editor+.import-card-list,.import-cleanup-editor+.import-card-list{margin-top:22px}.import-card-list+.import-actions{margin-top:22px}.import-editor{grid-template-columns:1fr}.import-editor__preview{max-height:240px}.import-analyzing-state{grid-template-columns:1fr;gap:16px}.import-analyzing-visual{min-height:180px}}@media(hover:none)and (pointer:coarse){.import-tray:not(.is-expanded):hover .import-tray__actions{max-width:0;opacity:0;transform:translate(-8px);pointer-events:none}.import-tray:not(.is-expanded):hover .import-tray__preview{width:0;opacity:0}}@media(prefers-reduced-motion:reduce){.import-drop-overlay,.import-drop-target,.import-tray,.import-tray__actions,.import-tray__preview,.import-popover-backdrop,.import-popover,.import-progress__bar,.import-tray__button,.import-icon-button{transition-duration:.01ms!important}.import-progress.is-indeterminate .import-progress__bar,.import-status.is-processing:before,.import-spinner,.import-analyzing-spinner svg,.import-analyzing-scan,.import-analyzing-dots i{animation:none!important}.import-analyzing-scan{top:50%}}.outfit-page{padding:34px 52px 80px}.outfit-recommend-panel{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr);gap:28px 48px;padding:30px;border:1px solid var(--line);background:#ffffff3d}.outfit-recommend-copy{align-self:center}.outfit-eyebrow{margin:0 0 8px;color:var(--muted);font-size:10px;font-weight:560;letter-spacing:.12em;text-transform:uppercase}.outfit-recommend-copy h1{max-width:14ch;margin:0;font-size:clamp(26px,3vw,42px);font-weight:520;letter-spacing:-.045em;line-height:1.02}.outfit-recommend-copy>p:last-child{max-width:42ch;margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.outfit-recommend-controls{min-width:0;display:grid;align-self:center;gap:16px}.outfit-seed-banner{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) 34px;gap:12px;align-items:center;border:1px solid rgba(25,25,25,.26);padding:8px;background:#ffffff57}.outfit-seed-banner.is-missing{grid-template-columns:minmax(0,1fr) 34px;border-color:var(--accent)}.outfit-seed-banner__image{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;background:#eae4da}.outfit-seed-banner__image img{width:100%;height:100%;display:block;padding:5px;object-fit:contain}.outfit-seed-banner__copy{min-width:0;display:grid;gap:2px}.outfit-seed-banner__copy small{color:var(--muted);font-size:9px;font-weight:570;letter-spacing:.08em}.outfit-seed-banner__copy strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.outfit-seed-banner__copy>span{color:var(--muted);font-size:10px;line-height:1.4}.outfit-seed-banner>button{width:34px;height:34px;display:grid;place-items:center;border:0;color:var(--muted);background:transparent;cursor:pointer}.outfit-seed-banner>button:hover,.outfit-seed-banner>button:focus-visible{color:var(--paper);background:var(--ink);outline:none}.outfit-part-fieldset{min-width:0;margin:0;border:0;padding:0}.outfit-part-fieldset legend{margin:0 0 7px;padding:0;color:var(--muted);font-size:10px;font-weight:550;letter-spacing:.08em;text-transform:uppercase}.outfit-part-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.outfit-part-option{position:relative;min-width:0;min-height:48px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;align-items:center;border:1px solid var(--line);padding:7px 8px;background:#f4f0e880;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,opacity .16s ease}.outfit-part-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.outfit-part-option__check{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(25,25,25,.28)}.outfit-part-option__copy{min-width:0;display:grid;gap:1px}.outfit-part-option__copy strong{font-size:11px;font-weight:580;line-height:1.1}.outfit-part-option__copy small{overflow:hidden;color:var(--muted);font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.outfit-part-option[data-checked=true]{border-color:var(--ink);color:var(--paper);background:var(--ink)}.outfit-part-option[data-checked=true] .outfit-part-option__check{border-color:#f4f0e8b8}.outfit-part-option[data-checked=true] .outfit-part-option__copy small{color:#f4f0e8ad}.outfit-part-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.outfit-part-option:not([data-empty=true]):not([data-locked=true]):hover{border-color:var(--ink)}.outfit-part-option[data-empty=true]{opacity:.42;cursor:not-allowed}.outfit-part-option[data-locked=true]{cursor:default}.outfit-recommend-form{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:end;gap:12px}.outfit-recommend-form label{min-width:0;display:grid;gap:7px}.outfit-recommend-form label>span{color:var(--muted);font-size:10px;font-weight:550;letter-spacing:.08em;text-transform:uppercase}.outfit-recommend-form label small{margin-left:4px;font-size:9px;font-weight:450}.outfit-recommend-form select,.outfit-recommend-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;padding:10px 12px;color:var(--ink);background:#f4f0e8b8;font:inherit}.outfit-recommend-form select:focus,.outfit-recommend-form input:focus{border-color:var(--ink);outline:1px solid var(--ink);outline-offset:1px}.outfit-recommend-form>button,.outfit-generate-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink);padding:0 18px;color:var(--paper);background:var(--ink);font-size:12px;font-weight:560;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,opacity .16s ease}.outfit-recommend-form>button:hover:not(:disabled),.outfit-recommend-form>button:focus-visible:not(:disabled),.outfit-generate-button:hover:not(:disabled),.outfit-generate-button:focus-visible:not(:disabled){border-color:var(--accent);background:var(--accent);outline:none}.outfit-recommend-form button:disabled,.outfit-generate-button:disabled{cursor:default;opacity:.46}.outfit-capacity{margin:-8px 0 0;color:var(--muted);font-size:11px}.outfit-page-error{margin:20px 0 0;border-left:2px solid var(--accent);padding:10px 14px;color:var(--accent);background:#6e302e0f;font-size:12px}.outfit-page-status,.outfit-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);text-align:center}.outfit-page-status{grid-auto-flow:column}.outfit-empty h2{margin:0;color:var(--ink);font-size:22px;font-weight:520;letter-spacing:-.03em}.outfit-empty p{margin:0;font-size:13px}.outfit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:26px;margin-top:32px}.outfit-load-more{display:flex;justify-content:center;padding:30px 0 10px}.outfit-load-more button{min-width:170px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 24px;background:#ffffff8c;color:var(--ink);font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.outfit-load-more button:hover:not(:disabled){border-color:var(--ink);background:#ffffffd1;transform:translateY(-1px)}.outfit-load-more button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.outfit-load-more button:disabled{cursor:wait;opacity:.62}.outfit-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:#fff3;transition:border-color .22s ease,transform .22s cubic-bezier(.22,.8,.22,1)}.outfit-card:hover{border-color:#1919198c;transform:translateY(-2px)}.outfit-card__visual{position:relative;width:100%;aspect-ratio:1;display:block;overflow:hidden;border:0;border-bottom:1px solid var(--line);padding:0;background:#ebe6dc;color:var(--ink);cursor:pointer;text-align:left}.outfit-card__visual:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.outfit-modeled-image{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .32s ease,transform .6s cubic-bezier(.22,.8,.22,1),filter .32s ease}.outfit-collage{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.outfit-collage img{width:100%;height:100%;min-width:0;min-height:0;display:block;padding:14%;object-fit:contain;background:var(--paper)}.outfit-collage{transition:opacity .26s ease,filter .26s ease}.outfit-separated-pieces{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.86),transparent 38%),linear-gradient(145deg,#f6f2eafa,#e8e2d7fa);opacity:0;pointer-events:none;transition:opacity .28s ease}.outfit-separated-pieces:before{content:"单品拆解";position:absolute;top:18px;right:18px;color:#1919197a;font-size:9px;font-weight:580;letter-spacing:.12em}.outfit-separated-pieces>span{position:absolute;width:38%;height:38%;display:grid;place-items:center;opacity:0;transition:transform .48s cubic-bezier(.18,.84,.2,1),opacity .24s ease}.outfit-separated-pieces img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(54,47,37,.12))}.outfit-separated-pieces>span:nth-child(1){top:8%;left:6%;transform:translate(-15%,-7%) rotate(-5deg) scale(.88)}.outfit-separated-pieces>span:nth-child(2){right:5%;bottom:6%;transform:translate(15%,8%) rotate(5deg) scale(.88)}.outfit-separated-pieces>span:nth-child(3){top:21%;right:2%;transform:translate(12%,-4%) rotate(4deg) scale(.86)}.outfit-separated-pieces>span:nth-child(4){bottom:7%;left:4%;transform:translate(-12%,8%) rotate(-4deg) scale(.86)}.outfit-separated-pieces>span:nth-child(5){top:35%;left:31%;transform:translateY(12%) scale(.82)}.outfit-separated-pieces[data-count="2"]>span{width:46%;height:46%}.outfit-separated-pieces[data-count="2"]>span:nth-child(1){top:8%;left:5%}.outfit-separated-pieces[data-count="2"]>span:nth-child(2){right:5%;bottom:5%}.outfit-separated-pieces[data-count="1"]>span{top:20%;left:20%;width:60%;height:60%}.outfit-card__visual:hover .outfit-separated-pieces,.outfit-card__visual:focus-visible .outfit-separated-pieces,.outfit-card__visual.is-separated .outfit-separated-pieces,.outfit-separated-pieces.is-static{opacity:1}.outfit-card__visual:hover .outfit-separated-pieces>span,.outfit-card__visual:focus-visible .outfit-separated-pieces>span,.outfit-card__visual.is-separated .outfit-separated-pieces>span,.outfit-separated-pieces.is-static>span{opacity:1;transform:translate(0) rotate(0) scale(1)}.outfit-card__visual:hover .outfit-modeled-image,.outfit-card__visual:focus-visible .outfit-modeled-image,.outfit-card__visual.is-separated .outfit-modeled-image,.outfit-card__visual:hover .outfit-collage,.outfit-card__visual:focus-visible .outfit-collage,.outfit-card__visual.is-separated .outfit-collage{opacity:.08;filter:blur(3px);transform:scale(1.025)}.outfit-visual-hint{position:absolute;z-index:4;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;color:var(--paper);background:#191919e0;font-size:9px;font-weight:550;letter-spacing:.04em;opacity:0;transform:translateY(7px);transition:opacity .2s ease,transform .24s ease}.outfit-card__visual:hover .outfit-visual-hint,.outfit-card__visual:focus-visible .outfit-visual-hint{opacity:1;transform:translateY(0)}.outfit-card__mobile-actions{display:none}.outfit-collage--1{grid-template-columns:1fr}.outfit-collage--3 img:first-child{grid-row:span 2}.outfit-collage--5{grid-template-columns:repeat(3,minmax(0,1fr))}.outfit-collage--5 img:first-child,.outfit-collage--5 img:nth-child(2){grid-row:span 2}.outfit-status{position:absolute;z-index:5;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;color:var(--ink);background:#f4f0e8e6;border:1px solid rgba(25,25,25,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:560;letter-spacing:.03em}.outfit-status.is-failed{color:var(--accent)}.outfit-generation-progress{position:absolute;inset:auto 0 0;height:3px;overflow:hidden;background:#1919191a}.outfit-generation-progress span{width:var(--outfit-progress, 0%);height:100%;display:block;background:var(--ink);transition:width .4s ease}.outfit-generation-progress.is-indeterminate span{width:34%;animation:outfit-progress 1.25s cubic-bezier(.65,0,.35,1) infinite}.outfit-error{margin:14px 0 0;color:var(--accent);font-size:11px;line-height:1.45}.outfit-generate-button{width:100%;margin-top:20px}.outfit-spinner{animation:outfit-spin .9s linear infinite}body.outfit-detail-open{overflow:hidden}.outfit-detail-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#19181657;animation:outfit-overlay-in .22s ease both}.outfit-detail{position:relative;width:clamp(520px,48vw,760px);height:100dvh;overflow:hidden;border-left:1px solid rgba(25,25,25,.18);background:var(--paper);animation:outfit-detail-in .32s cubic-bezier(.22,.8,.22,1) both}.outfit-detail__scroller{height:100%;overflow:auto;overscroll-behavior:contain}.outfit-detail__close{position:absolute;z-index:4;top:20px;right:20px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(25,25,25,.22);color:var(--ink);background:#f4f0e8db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.outfit-detail__close:hover,.outfit-detail__close:focus-visible{color:var(--paper);background:var(--ink);outline:none}.outfit-detail__close:active{transform:scale(.96)}.outfit-detail__hero{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-bottom:1px solid var(--line);background:#e9e3d9}.outfit-detail__hero>img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}.outfit-detail__piece-stage{position:absolute;top:0;right:0;bottom:0;left:0}.outfit-detail__piece-stage .outfit-separated-pieces:before{content:"本套单品"}.outfit-detail__content{padding:34px 38px 52px}.outfit-detail__content>h2{max-width:18ch;margin:0;font-size:clamp(30px,4vw,46px);font-weight:520;letter-spacing:-.05em;line-height:1.02;text-wrap:balance;overflow-wrap:anywhere}.outfit-detail__reason{max-width:62ch;margin:22px 0 0;color:var(--muted);font-size:14px;line-height:1.75;text-wrap:pretty}.outfit-detail__setting{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;margin:26px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:12px;line-height:1.6}.outfit-detail__setting span{color:var(--ink);font-size:10px;font-weight:570;letter-spacing:.08em}.outfit-detail__garments{margin-top:36px}.outfit-detail__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:8px}.outfit-detail__section-heading h3{margin:0;font-size:15px;font-weight:580;letter-spacing:-.01em}.outfit-detail__section-heading>span{color:var(--muted);font-size:10px}.outfit-detail__garment-grid{display:grid}.outfit-detail__garment{position:relative;min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr) 20px;gap:16px;align-items:center;border:0;border-top:1px solid var(--line);padding:16px 4px;color:var(--ink);background:transparent;cursor:pointer;text-align:left;transition:background-color .18s ease,padding .22s ease}.outfit-detail__garment:last-child{border-bottom:1px solid var(--line)}.outfit-detail__garment:hover,.outfit-detail__garment:focus-visible{padding-inline:12px;background:#ffffff57;outline:none}.outfit-detail__garment-image{width:92px;height:108px;display:grid;place-items:center;background:#eae4da}.outfit-detail__garment-image img{width:100%;height:100%;display:block;padding:10px;object-fit:contain}.outfit-detail__garment-copy{min-width:0;display:grid;gap:5px}.outfit-detail__garment-copy small{color:var(--muted);font-size:9px;font-weight:570;letter-spacing:.1em}.outfit-detail__garment-copy strong{font-size:15px;font-weight:580;line-height:1.2;overflow-wrap:anywhere}.outfit-detail__garment-copy em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.outfit-detail__garment-copy>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.outfit-detail__garment-arrow{color:var(--muted);transition:transform .18s ease,color .18s ease}.outfit-detail__garment:hover .outfit-detail__garment-arrow,.outfit-detail__garment:focus-visible .outfit-detail__garment-arrow{color:var(--ink);transform:translate(3px)}.outfit-detail__actions{display:flex;align-items:center;gap:14px;margin-top:30px}.outfit-detail__actions .outfit-generate-button{width:auto;min-width:210px;margin:0 0 0 auto}.outfit-detail__delete{min-height:42px;display:inline-flex;align-items:center;gap:7px;border:0;padding:0;color:var(--accent);background:transparent;font-size:11px;cursor:pointer}.outfit-detail__delete:hover:not(:disabled),.outfit-detail__delete:focus-visible:not(:disabled){text-decoration:underline;outline:none}.outfit-detail__delete:disabled{opacity:.38;cursor:default}@keyframes outfit-spin{to{transform:rotate(360deg)}}@keyframes outfit-progress{0%{transform:translate(-110%)}to{transform:translate(310%)}}@keyframes outfit-overlay-in{0%{opacity:0}}@keyframes outfit-detail-in{0%{opacity:.75;transform:translate(42px)}}@media(max-width:980px){.outfit-recommend-panel{grid-template-columns:1fr}.outfit-recommend-copy h1{max-width:19ch}}@media(max-width:700px){.outfit-page{padding:24px 16px 54px}.outfit-recommend-panel{padding:22px 18px}.outfit-part-options{grid-template-columns:repeat(3,minmax(0,1fr))}.outfit-recommend-form{grid-template-columns:110px minmax(0,1fr)}.outfit-recommend-form>button{grid-column:1 / -1}.outfit-grid{grid-template-columns:1fr;gap:18px}.outfit-detail{width:100%;border-left:0}.outfit-detail__close{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}.outfit-detail__content{padding:28px 24px 42px}.outfit-detail__hero{aspect-ratio:1}}@media(max-width:430px){.outfit-seed-banner{grid-template-columns:54px minmax(0,1fr) 44px}.outfit-seed-banner.is-missing{grid-template-columns:minmax(0,1fr) 44px}.outfit-seed-banner>button{width:44px;height:44px}.outfit-part-options{grid-template-columns:repeat(2,minmax(0,1fr))}.outfit-recommend-form{grid-template-columns:1fr}.outfit-recommend-form>button{grid-column:auto}.outfit-detail__garment{grid-template-columns:78px minmax(0,1fr) 18px;gap:12px}.outfit-detail__garment-image{width:78px;height:96px}.outfit-detail__actions{align-items:stretch;flex-direction:column-reverse}.outfit-detail__actions .outfit-generate-button{width:100%;min-width:0;margin:0}.outfit-detail__delete{justify-content:center}}@media(hover:none),(pointer:coarse){.outfit-card:hover{transform:none}.outfit-visual-hint{display:none}.outfit-card__mobile-actions{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.outfit-card__mobile-actions button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;padding:0 12px;color:var(--ink);background:#ffffff47;font-size:10px;font-weight:570;cursor:pointer}.outfit-card__mobile-actions button+button{border-left:1px solid var(--line);color:var(--paper);background:var(--ink)}.outfit-card__mobile-actions button:active{transform:scale(.98)}.outfit-card__mobile-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}}@media(prefers-reduced-motion:reduce){.outfit-spinner,.outfit-generation-progress.is-indeterminate span{animation:none!important}.outfit-generation-progress span,.outfit-recommend-form>button,.outfit-generate-button,.outfit-card,.outfit-modeled-image,.outfit-collage,.outfit-separated-pieces,.outfit-separated-pieces>span,.outfit-visual-hint{transition-duration:.01ms!important}.outfit-detail-overlay,.outfit-detail{animation:none!important}}.account-auth-shell{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;color:var(--ink, #191919);background:var(--paper, #f4f0e8)}.account-auth-panel{width:min(520px,100%)}.account-auth-mark{width:44px;height:44px;display:grid;place-items:center;margin-bottom:44px;border:1px solid var(--ink, #191919)}.account-kicker{margin:0 0 12px;color:var(--muted, #66625d);font-size:10px;font-weight:600;letter-spacing:.14em}.account-auth-panel h1{max-width:11ch;margin:0;font-size:clamp(36px,5vw,50px);font-weight:490;line-height:1.02;letter-spacing:0;text-wrap:balance}.account-auth-intro{max-width:40ch;margin:20px 0 34px;color:var(--muted, #66625d);font-size:13px;line-height:1.65}.account-auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px;border-bottom:1px solid var(--line, #cfc8bc)}.account-auth-tabs button{border:0;border-bottom:2px solid transparent;padding:12px;color:var(--muted, #66625d);background:transparent;cursor:pointer}.account-auth-tabs button[aria-selected=true]{border-bottom-color:var(--ink, #191919);color:var(--ink, #191919)}.account-auth-form{display:grid;gap:17px}.account-consent-list{display:grid;gap:8px;margin-top:2px}.account-check-row{display:grid!important;grid-template-columns:18px minmax(0,1fr);gap:10px!important;align-items:start;border:1px solid var(--line, #cfc8bc);padding:11px 12px;background:#ffffff29;cursor:pointer}.account-auth-form .account-check-row input,.account-check-row input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:16px;height:16px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--ink, #191919);box-shadow:none}.account-check-row>span{display:grid;gap:3px}.account-check-row strong{font-size:11px;font-weight:620}.account-check-row small{color:var(--muted, #66625d);font-size:9px;line-height:1.5}.account-check-row:has(input:focus-visible){outline:2px solid var(--accent, #6e302e);outline-offset:2px}.account-check-row:has(input:disabled){cursor:default}.account-auth-form label,.account-field{display:grid;gap:7px}.account-auth-form label>span,.account-field>span,.account-user-row label>span{color:var(--muted, #66625d);font-size:10px;font-weight:570;letter-spacing:.08em;text-transform:uppercase}.account-auth-form input,.account-field input,.account-upload-row input,.account-user-row input,.account-user-row select{width:100%;min-height:44px;border:1px solid var(--line, #cfc8bc);border-radius:0;padding:10px 12px;color:var(--ink, #191919);background:#ffffff42;font:inherit;outline:none}.account-auth-form input:focus,.account-field input:focus,.account-upload-row input:focus,.account-user-row input:focus,.account-user-row select:focus{border-color:var(--ink, #191919);box-shadow:0 0 0 1px var(--ink, #191919)}.account-primary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink, #191919);padding:10px 16px;color:var(--paper, #f4f0e8);background:var(--ink, #191919);cursor:pointer}.account-primary-button:hover{background:var(--accent, #6e302e);border-color:var(--accent, #6e302e)}.account-primary-button:disabled,.account-upload-row button:disabled,.account-reference button:disabled,.account-save-user:disabled{opacity:.55;cursor:wait}.account-auth-submit{width:100%;margin-top:8px}.account-message{margin:14px 0 0;border-left:2px solid;padding:9px 11px;font-size:12px;line-height:1.45}.account-message.is-error{border-color:var(--accent, #6e302e);color:var(--accent, #6e302e);background:#6e302e0f}.account-message.is-success{border-color:#47664d;color:#35543b;background:#47664d14}.account-spin{animation:account-spin .8s linear infinite}.account-boot,.account-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted, #66625d);font-size:12px;letter-spacing:.04em}.account-loading{min-height:180px}.account-controls{display:inline-flex;align-items:stretch;min-height:38px;border:1px solid var(--line, #cfc8bc);background:var(--paper, #f4f0e8)}.account-controls button{min-width:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;padding:8px 10px;color:var(--ink, #191919);background:transparent;cursor:pointer}.account-controls button+button{border-left:1px solid var(--line, #cfc8bc)}.account-controls button:hover,.account-controls button:focus-visible{background:var(--ink, #191919);color:var(--paper, #f4f0e8);outline:none}.account-controls button span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.account-profile-trigger{min-width:0}body.account-drawer-open{overflow:hidden}.account-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end;background:#1918165c;animation:account-fade-in .18s ease both}.account-drawer{width:min(620px,100%);height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:var(--ink, #191919);background:var(--paper, #f4f0e8);border-left:1px solid var(--line, #cfc8bc);box-shadow:-20px 0 60px #1918161f;animation:account-drawer-in .32s cubic-bezier(.22,1,.36,1) both}.account-drawer.is-wide{width:min(1100px,100%)}.account-drawer-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line, #cfc8bc);padding:30px 34px 25px}.account-drawer-header p{margin:0 0 7px;color:var(--muted, #66625d);font-size:9px;font-weight:650;letter-spacing:.14em}.account-drawer-header h2{margin:0;font-size:28px;font-weight:500;letter-spacing:-.03em}.account-icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line, #cfc8bc);padding:0;color:inherit;background:transparent;cursor:pointer}.account-icon-button:hover{color:var(--paper, #f4f0e8);background:var(--ink, #191919)}.account-drawer-body{flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:30px 34px max(42px,env(safe-area-inset-bottom))}.account-profile-form{display:grid;gap:24px}.account-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:5px}.account-section-heading h3{margin:0;font-size:14px;font-weight:620}.account-section-heading p{margin:5px 0 0;color:var(--muted, #66625d);font-size:11px;line-height:1.45}.account-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 12px}.account-measure-heading{align-items:center}.account-analysis-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;border:1px solid var(--ink, #191919);padding:8px 11px;color:var(--ink, #191919);background:transparent;font-size:10px;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .16s ease}.account-analysis-button:hover:not(:disabled),.account-analysis-button:focus-visible:not(:disabled){color:var(--paper, #f4f0e8);background:var(--ink, #191919);outline:none}.account-analysis-button:active:not(:disabled){transform:scale(.98)}.account-analysis-button:disabled{opacity:.55;cursor:wait}.account-analysis-result{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;margin-top:-8px;border-left:2px solid var(--ink, #191919);padding:11px 12px;background:#1919190b}.account-analysis-result>div{display:grid;gap:4px}.account-analysis-result strong{font-size:11px;font-weight:620}.account-analysis-result span{color:var(--muted, #66625d);font-size:10px;line-height:1.55}.account-consent-panel{display:grid;gap:8px;border-top:1px solid var(--line, #cfc8bc);padding-top:20px}.account-number-input{position:relative}.account-number-input input{padding-right:40px}.account-number-input small{position:absolute;right:12px;top:50%;color:var(--muted, #66625d);font-size:10px;transform:translateY(-50%);pointer-events:none}.account-reference-section{display:grid;gap:17px;margin-top:42px;border-top:1px solid var(--line, #cfc8bc);padding-top:28px}.account-usage-section{display:grid;gap:16px;margin-top:36px;border-top:1px solid var(--line, #cfc8bc);padding-top:28px}.account-usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-usage-grid article{display:grid;gap:9px;border:1px solid var(--line, #cfc8bc);padding:13px;background:#ffffff29}.account-usage-grid article>div{display:flex;justify-content:space-between;gap:10px}.account-usage-grid strong{font-size:11px}.account-usage-grid span,.account-usage-grid small{color:var(--muted, #66625d);font-size:9px}.account-usage-grid progress{width:100%;height:5px;border:0;background:#1919191a}.account-usage-grid progress::-webkit-progress-bar{background:#1919191a}.account-usage-grid progress::-webkit-progress-value{background:var(--ink, #191919)}.account-usage-grid progress::-moz-progress-bar{background:var(--ink, #191919)}.account-data-section{display:grid;gap:14px;margin-top:38px;border-top:1px solid var(--line, #cfc8bc);padding-top:28px}.account-export-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ink, #191919);color:var(--ink, #191919);background:transparent;cursor:pointer}.account-export-button:hover:not(:disabled),.account-export-button:focus-visible:not(:disabled){color:var(--paper, #f4f0e8);background:var(--ink, #191919);outline:none}.account-export-button:disabled{opacity:.5;cursor:wait}.account-delete-panel{display:grid;gap:12px;margin-top:8px;border:1px solid rgba(110,48,46,.42);padding:15px;background:#6e302e0b}.account-delete-panel>div{display:grid;gap:4px}.account-delete-panel>div strong{color:var(--accent, #6e302e);font-size:12px}.account-delete-panel>div span{color:var(--muted, #66625d);font-size:10px;line-height:1.5}.account-delete-panel>button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--accent, #6e302e);color:var(--accent, #6e302e);background:transparent;cursor:pointer}.account-delete-panel>button:hover:not(:disabled),.account-delete-panel>button:focus-visible:not(:disabled){color:var(--paper, #f4f0e8);background:var(--accent, #6e302e);outline:none}.account-delete-panel>button:disabled{opacity:.45;cursor:default}.account-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.account-upload-row button{min-width:100px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ink, #191919);color:var(--ink, #191919);background:transparent;cursor:pointer}.account-upload-row button:hover{color:var(--paper, #f4f0e8);background:var(--ink, #191919)}.account-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.account-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-reference{min-width:0;border:1px solid var(--line, #cfc8bc);background:#ffffff2e}.account-reference-image{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#e6e0d6}.account-reference-image img{width:100%;height:100%;display:block;object-fit:cover}.account-reference-image span{position:absolute;left:8px;bottom:8px;padding:4px 7px;color:var(--paper, #f4f0e8);background:var(--ink, #191919);font-size:9px}.account-reference-meta{display:grid;gap:9px;padding:10px}.account-reference-meta strong{overflow:hidden;font-size:11px;font-weight:570;text-overflow:ellipsis;white-space:nowrap}.account-reference-meta>div{display:flex;flex-wrap:wrap;gap:6px}.account-reference-meta button{min-height:29px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line, #cfc8bc);padding:5px 7px;color:inherit;background:transparent;font-size:9px;cursor:pointer}.account-reference-meta button:hover{border-color:var(--ink, #191919)}.account-reference-meta button.is-danger{color:var(--accent, #6e302e)}.account-empty{grid-column:1/-1;margin:0;border:1px dashed var(--line, #cfc8bc);padding:30px;color:var(--muted, #66625d);text-align:center;font-size:11px}.account-admin-summary{display:flex;align-items:center;gap:13px;margin-bottom:25px;border-bottom:1px solid var(--line, #cfc8bc);padding:0 0 22px}.account-admin-summary div{display:grid;gap:3px}.account-admin-summary strong{font-size:13px}.account-admin-summary span{color:var(--muted, #66625d);font-size:10px}.account-user-list{display:grid;gap:8px}.account-admin-load-more{min-height:42px;width:100%;margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line, #cfc8bc);color:var(--ink, #191919);background:transparent;font-size:10px;cursor:pointer}.account-admin-load-more:hover{border-color:var(--ink, #191919)}.account-admin-load-more:disabled{opacity:.55;cursor:wait}.account-user-row{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(2,minmax(100px,.7fr)) minmax(110px,.8fr) 100px minmax(130px,.8fr) auto;gap:10px;align-items:end;border:1px solid var(--line, #cfc8bc);padding:13px;background:#ffffff2e}.account-user-row label{min-width:0;display:grid;gap:6px}.account-user-row input,.account-user-row select{min-height:38px;padding:7px 8px;font-size:11px}.account-user-row select:disabled{opacity:.65}.account-user-identity{min-width:0;display:flex;align-items:center;gap:10px;align-self:center}.account-user-avatar{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;color:var(--paper, #f4f0e8);background:var(--ink, #191919);font-size:13px}.account-user-identity>div:last-child{min-width:0;display:grid;gap:3px}.account-user-identity strong,.account-user-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-user-identity strong{font-size:12px}.account-user-identity span{color:var(--muted, #66625d);font-size:9px}.account-save-user{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--ink, #191919);padding:7px 10px;color:var(--paper, #f4f0e8);background:var(--ink, #191919);font-size:10px;cursor:pointer}.account-user-usage{min-width:0;display:grid;gap:6px;align-self:center}.account-user-usage span{color:var(--muted, #66625d);font-size:9px;font-weight:570;letter-spacing:.08em;text-transform:uppercase}.account-user-usage strong{font-size:10px;font-weight:560;white-space:nowrap}.account-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px}.account-admin-metrics article{display:grid;gap:8px;border:1px solid var(--line, #cfc8bc);padding:13px;background:#ffffff2e}.account-admin-metrics span{color:var(--muted, #66625d);font-size:9px}.account-admin-metrics strong{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.account-audit-section{display:grid;gap:12px;margin-bottom:25px;border-bottom:1px solid var(--line, #cfc8bc);padding-bottom:25px}.account-audit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.account-audit-list article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;border:1px solid var(--line, #cfc8bc);padding:10px}.account-audit-list strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.account-audit-list span{overflow:hidden;color:var(--muted, #66625d);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-audit-list time{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--muted, #66625d);font-size:8px}@keyframes account-spin{to{transform:rotate(360deg)}}@keyframes account-fade-in{0%{opacity:0}}@keyframes account-drawer-in{0%{transform:translate(35px);opacity:.7}}@media(max-width:900px){.account-user-row{grid-template-columns:minmax(180px,1fr) repeat(2,minmax(110px,.6fr))}.account-user-identity{grid-row:span 2}.account-save-user{align-self:stretch}.account-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.account-controls{gap:4px;min-height:0;border:0;background:transparent}.account-controls button,.account-controls button+button{min-width:44px;min-height:44px;border:1px solid var(--line, #cfc8bc);border-radius:8px;padding:7px}.account-controls button span{display:none}}@media(max-width:620px){.account-auth-shell{align-items:start;padding-top:max(44px,env(safe-area-inset-top))}.account-auth-mark{margin-bottom:34px}.account-drawer-header{padding:max(22px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left))}.account-drawer-body{padding:23px 20px max(34px,env(safe-area-inset-bottom))}.account-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-usage-grid,.account-audit-list{grid-template-columns:1fr}.account-measure-heading{align-items:stretch;flex-direction:column}.account-analysis-button{width:100%;min-height:44px}.account-reference-grid{grid-template-columns:1fr}.account-user-row{grid-template-columns:repeat(2,minmax(0,1fr))}.account-user-identity{grid-column:1/-1;grid-row:auto;padding-bottom:4px}.account-save-user{min-height:42px}.account-icon-button{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.account-drawer-overlay,.account-drawer{animation:none}}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");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{--paper: #f4f0e8;--ink: #191919;--muted: #66625d;--line: #cfc8bc;--accent: #6e302e;font-family:Instrument Sans Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}body.viewer-open{overflow:hidden}button{font:inherit}.app-shell{min-height:100vh;background:var(--paper)}.gallery-pane{min-width:0}.gallery-header{padding:60px 56px 0}.gallery-meta-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.piece-count{margin:0;font-size:13px;font-weight:500;letter-spacing:.1em;line-height:1;text-transform:uppercase}.category-nav{width:fit-content;max-width:100%;margin:44px 0 0}.category-nav__desktop{max-width:100%;display:flex;align-items:center;gap:clamp(18px,2.35vw,34px);overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.category-nav__desktop::-webkit-scrollbar{display:none}.category-nav__desktop-item{position:relative;flex:0 0 auto;min-height:42px;border:0;padding:4px 1px 13px;background:transparent;color:var(--muted);font-size:12px;font-weight:520;letter-spacing:.035em;cursor:pointer;transition:color .18s ease}.category-nav__desktop-item:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:center;transition:transform .22s cubic-bezier(.22,.8,.22,1)}.category-nav__desktop-item:hover{color:var(--ink)}.category-nav__desktop-item.active{color:var(--ink);font-weight:630}.category-nav__desktop-item.active:after{transform:scaleX(1)}.category-nav__desktop-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.category-nav__mobile{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:22px 26px;padding:43px 52px 70px}.gallery-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;aspect-ratio:.78;display:grid;place-items:center;border:1px solid transparent;padding:10px;background:transparent;cursor:zoom-in;transition:border-color .16s ease}.gallery-item img{width:100%;height:100%;object-fit:contain;transform:scale(.94);transition:transform .22s cubic-bezier(.2,.7,.2,1);-webkit-user-drag:none}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1)}.gallery-item.selected{border-color:var(--accent)}.gallery-item:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.collection-load-more{display:flex;justify-content:center;padding:0 52px 70px}.collection-load-more button{min-width:148px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 24px;background:#ffffff8c;color:var(--ink);font:inherit;font-size:12px;letter-spacing:.06em;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.collection-load-more button:hover:not(:disabled){border-color:var(--ink);background:#ffffffd9;transform:translateY(-1px)}.collection-load-more button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.collection-load-more button:disabled{cursor:wait;opacity:.62}.collection-load-more svg{animation:material-spin .9s linear infinite}.status{margin:70px 56px;color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.status.error{color:var(--accent)}.viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#19181647;animation:overlay-in .18s ease-out both}.viewer-entry{width:clamp(390px,34vw,520px);height:100vh;animation:viewer-in .24s cubic-bezier(.22,.8,.22,1) both}.viewer{position:relative;min-width:0;width:100%;height:100%;border-left:1px solid var(--line);display:flex;flex-direction:column;padding:42px 34px 46px;background:var(--paper);overflow:auto;box-shadow:-18px 0 50px #19181614}.viewer.has-modeled-image{padding:0}.modeled-hero{position:relative;isolation:isolate;flex:0 0 410px;width:100%;height:410px;overflow:hidden}.modeled-hero-photo{position:absolute;inset:0 0 auto;z-index:0;width:100%;height:370px;object-fit:cover;object-position:51% 43%}.modeled-hero:before,.modeled-hero:after{content:"";position:absolute;right:0;bottom:0;left:0;pointer-events:none}.modeled-hero:before{z-index:1;height:170px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 68%);mask-image:linear-gradient(to bottom,transparent 0%,#000 68%)}.modeled-hero:after{z-index:2;height:124px;background:linear-gradient(to bottom,rgba(246,241,232,0),var(--paper) 82%);-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 60%);mask-image:linear-gradient(to bottom,transparent 0%,#000 60%)}@keyframes overlay-in{0%{background:#19181600}}@keyframes viewer-in{0%{transform:translate(24px)}}.viewer.shake{animation:viewer-shake .36s ease-in-out}@keyframes viewer-shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.viewer-icon-close{position:absolute;top:38px;right:38px;width:42px;height:42px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;z-index:8}.viewer-icon-close:hover,.viewer-icon-close:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.viewer-heading{flex:0 0 auto;padding:0 62px 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.viewer-heading>div{min-width:0}.viewer-heading h2{margin:0;max-width:calc(100% - 48px);font-size:16px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;overflow-wrap:anywhere}.modeled-heading{position:absolute;top:24px;left:24px;z-index:6;max-width:calc(100% - 108px);padding:13px 16px 14px;background:#f6f1e8e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modeled-heading h2{max-width:none;font-size:18px;font-weight:520;letter-spacing:-.015em;text-transform:none}.has-modeled-image .viewer-icon-close{top:24px;right:24px;background:#f6f1e8e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.viewer-swatch{width:24px;height:24px;display:block;margin-top:2px;border:1px solid rgba(25,25,25,.12)}.viewer-art{flex:0 0 min(30vh,300px);width:100%;height:min(30vh,300px);min-height:210px;display:grid;place-items:center;padding:12px 0 18px;position:relative}.viewer-art img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}.viewer-art.sampling img{cursor:crosshair;outline:1px solid var(--accent);outline-offset:8px}.viewer-art.viewer-art-floating{--piece-rotation: -2deg;position:absolute;right:20px;bottom:2px;z-index:5;flex:none;width:36%;height:178px;min-height:0;padding:0;filter:drop-shadow(0 18px 18px rgba(39,31,23,.16));transform:rotate(var(--piece-rotation));transform-origin:62% 72%;transition:transform .28s cubic-bezier(.2,.75,.2,1),filter .28s ease}.viewer-art-floating:hover,.viewer-art-floating:focus-within{filter:drop-shadow(0 24px 23px rgba(39,31,23,.21));transform:translateY(-5px) scale(1.1) rotate(calc(var(--piece-rotation) + 2deg))}.viewer-art-floating.sampling{transform:rotate(var(--piece-rotation))}.viewer-art-floating.sampling img{outline-offset:2px}.viewer-art-floating .sample-hint{right:0;bottom:8px;left:auto;transform:none}.sample-hint{position:absolute;left:50%;bottom:22px;transform:translate(-50%);padding:7px 10px;background:var(--ink);color:var(--paper);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;white-space:nowrap}.viewer-details{flex:0 0 auto;padding-top:22px}.viewer-details.editing{padding-top:8px}.has-modeled-image .viewer-details.editing{padding:12px 34px 46px}.details-label{margin:0 0 24px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.detail-tags{display:flex;flex-wrap:wrap;gap:10px 34px;padding-bottom:30px;border-bottom:1px solid var(--line)}.detail-tags span{color:var(--muted);font-size:14px;text-transform:lowercase}.viewer-actions{display:flex;align-items:center;gap:10px;margin-top:24px}.unsaved-notice{margin:14px 0 -8px;color:var(--accent);font-size:11px;line-height:1.4;text-align:right}.save-error{margin:14px 0 -8px;color:#8a3f35;font-size:11px;line-height:1.45;text-align:right}.viewer-text-close{border:0;border-bottom:1px solid var(--accent);padding:0 0 3px;background:transparent;color:var(--accent);font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer}.viewer-text-close:hover,.viewer-text-close:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}.edit-button,.primary-button,.secondary-button,.delete-button,.sample-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);padding:8px 12px;background:transparent;color:var(--ink);font-size:12px;font-weight:500;cursor:pointer}.edit-button{margin-right:auto}.primary-button{border-color:var(--ink);background:var(--ink);color:var(--paper)}.delete-button{border-color:transparent;padding-left:0;color:var(--accent)}.sample-button.active{border-color:var(--accent);color:var(--accent)}.action-spacer{flex:1}.edit-button:hover,.edit-button:focus-visible,.secondary-button:hover,.secondary-button:focus-visible,.sample-button:hover,.sample-button:focus-visible{border-color:var(--ink);outline:none}.primary-button:hover,.primary-button:focus-visible{background:var(--accent);border-color:var(--accent);outline:none}.primary-button:disabled{cursor:wait;opacity:.58}.delete-button:hover,.delete-button:focus-visible{text-decoration:underline;outline:none}.item-editor{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}.field,.color-field{min-width:0;margin:0;border:0;padding:0}.field>span,.color-field legend{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.field>span small{float:right;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.04em}.field input,.field select,.field textarea,.tag-input-row input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:0;padding:9px 10px;background:#ffffff2e;color:var(--ink);font:inherit;font-size:13px}.field textarea{min-height:82px;resize:vertical;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus,.tag-input-row input:focus{border-color:var(--ink);outline:none}.color-field,.details-field,.notes-field{grid-column:1 / -1}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}.season-field{grid-column:1 / -1;min-width:0;margin:0;border:0;padding:0}.season-field legend{margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.season-options{display:flex;flex-wrap:wrap;gap:7px}.season-options label{position:relative;cursor:pointer}.season-options input{position:absolute;opacity:0;pointer-events:none}.season-options span{min-width:44px;min-height:34px;display:grid;place-items:center;border:1px solid var(--line);padding:0 11px;color:var(--muted);font-size:11px;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.season-options input:checked+span{border-color:var(--ink);color:var(--paper);background:var(--ink)}.season-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.material-assistant{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.material-assistant__heading,.material-assistant__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.material-assistant__heading>div{min-width:0;display:grid;gap:3px}.material-assistant__heading strong{font-size:12px;font-weight:580}.material-assistant__heading span,.material-assistant__footer small{color:var(--muted);font-size:10px;line-height:1.4}.material-assistant>textarea{width:100%;min-height:76px;margin-top:12px;border:1px solid var(--line);border-radius:0;padding:10px;color:var(--ink);background:#ffffff2e;font:inherit;font-size:12px;line-height:1.5;resize:vertical}.material-assistant>textarea:focus{border-color:var(--ink);outline:none}.material-upload-button,.material-assistant__footer button,.recommend-item-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);padding:0 12px;color:var(--ink);background:transparent;font-size:11px;cursor:pointer}.material-upload-button{flex:0 0 auto}.material-upload-button input{display:none}.material-assistant__footer{margin-top:10px}.material-assistant__footer>span{color:var(--accent);font-size:10px;line-height:1.4}.material-assistant__footer button{border-color:var(--ink);color:var(--paper);background:var(--ink)}.material-assistant__footer button:disabled{cursor:default;opacity:.42}.material-upload-button:hover,.material-upload-button:focus-within,.recommend-item-button:hover,.recommend-item-button:focus-visible{border-color:var(--ink);outline:none}.material-spinner{animation:material-spin .9s linear infinite}.recommend-item-button{color:var(--ink)}@keyframes material-spin{to{transform:rotate(360deg)}}.colors-editor{display:grid;grid-template-columns:1fr 1fr;gap:24px}.color-slot{min-width:0;padding:2px 0 0}.color-slot+.color-slot{border-left:1px solid var(--line);padding-left:24px}.color-slot-heading{min-height:20px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.color-slot-heading>span{color:var(--ink);font-size:11px;font-weight:500}.color-slot-heading small{color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.color-slot-heading button{border:0;padding:0;background:transparent;color:var(--accent);font-size:10px;cursor:pointer}.color-slot-heading button:hover,.color-slot-heading button:focus-visible{text-decoration:underline;outline:none}.selected-color-control{display:flex;align-items:center;gap:10px;width:fit-content;padding:0;cursor:pointer}.selected-color-control:focus-within .selected-color-copy strong{text-decoration:underline}.selected-color-control input{width:40px;height:40px;flex:0 0 40px;border:0;padding:0;background:transparent;cursor:pointer}.selected-color-control input::-webkit-color-swatch-wrapper{padding:0}.selected-color-control input::-webkit-color-swatch{border:1px solid rgba(25,25,25,.2)}.selected-color-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.selected-color-copy small{color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.selected-color-copy strong{color:var(--ink);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;text-transform:uppercase}.suggestion-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:14px 0 8px}.suggestion-heading span{color:var(--muted);font-size:10px}.suggestion-heading small{color:var(--muted);font-size:9px}.empty-color-slot{display:flex;flex-direction:column;align-items:flex-start}.empty-color-slot p{margin:10px 0 18px;color:var(--muted);font-size:11px;line-height:1.4}.add-secondary-button{min-height:34px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;cursor:pointer}.add-secondary-button:hover,.add-secondary-button:focus-visible{border-color:var(--ink);outline:none}.palette{display:flex;gap:8px;min-height:32px;margin-bottom:12px}.palette button{width:30px;height:30px;border:1px solid rgba(25,25,25,.16);padding:0;cursor:pointer}.palette button.active{outline:2px solid var(--ink);outline-offset:2px}.palette button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.color-slot .color-controls{align-items:stretch;flex-direction:column}.color-slot .sample-button{width:100%}.native-color{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.native-color input{width:30px;height:30px;border:1px solid var(--line);padding:2px;background:transparent;cursor:pointer}.color-help{min-height:16px;margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.tag-editor{min-width:0}.editable-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;margin-bottom:8px}.editable-tag{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);padding:5px 7px 5px 9px;color:var(--ink);font-size:11px}.editable-tag button{width:18px;height:18px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--muted);cursor:pointer}.editable-tag button:hover,.editable-tag button:focus-visible{color:var(--accent);outline:none}.tag-input-row{display:flex}.tag-input-row input{min-width:0;border-right:0}.tag-input-row button{width:40px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.tag-input-row button:disabled{color:var(--line);cursor:default}.tag-input-row button:not(:disabled):hover,.tag-input-row button:not(:disabled):focus-visible{background:var(--ink);color:var(--paper);outline:none}@media(max-width:1180px){.gallery-header{padding-inline:34px}.gallery-grid{padding-inline:32px;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap-inline:18px}.category-nav{max-width:100%}.viewer,.has-modeled-image .viewer-details.editing{padding-inline:30px}}@media(max-width:860px){.gallery-header{padding:38px 24px 0}.category-nav{width:100%;margin:38px 0 0}.category-nav__desktop{gap:22px}.category-nav__desktop-item{min-height:40px;font-size:11px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;padding:30px 20px 50px}.gallery-item{padding:5px}.viewer-overlay{background:#19181657}.viewer-entry{width:100%;height:100dvh}.viewer{border:0;padding:30px 30px 36px;background:var(--paper)}.viewer-heading{padding-top:0}.viewer-icon-close{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.has-modeled-image .viewer-icon-close{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}.has-modeled-image .viewer-details.editing{padding:14px 30px 38px}.viewer-art{flex-basis:min(32vh,300px);height:min(32vh,300px);min-height:210px}.viewer-art.viewer-art-floating{flex-basis:auto;width:36%;height:178px;min-height:0}.item-editor{grid-template-columns:1fr}.color-field,.details-field,.notes-field{grid-column:auto}.colors-editor{grid-template-columns:1fr}.color-slot+.color-slot{border-top:1px solid var(--line);border-left:0;padding-top:22px;padding-left:0}}@media(max-width:520px){.gallery-header{padding:max(24px,env(safe-area-inset-top)) 18px 0}.piece-count{font-size:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding:22px 12px 40px}.gallery-item{aspect-ratio:.72}.viewer{padding:max(24px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom))}.modeled-hero{flex-basis:360px;height:360px}.modeled-hero-photo{height:326px;object-position:49% 43%}.modeled-hero:before{height:150px}.modeled-hero:after{height:112px}.modeled-heading{top:20px;left:20px;padding:11px 13px 12px}.modeled-heading h2{font-size:17px}.has-modeled-image .viewer-icon-close{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}.viewer-art.viewer-art-floating{right:15px;bottom:0;flex-basis:auto;width:40%;height:158px;min-height:0;padding:0}.has-modeled-image .viewer-details.editing{padding:12px 22px 30px}.viewer-heading{padding-top:0}.viewer-art{flex-basis:min(30vh,260px);height:min(30vh,260px);min-height:190px;padding-block:10px 8px}.viewer-details{padding-top:10px}.details-label{margin-bottom:16px}.detail-tags{padding-bottom:20px;gap:8px 22px}.viewer-text-close{margin-top:20px}.viewer-actions{margin-top:18px}.material-assistant__heading,.material-assistant__footer{align-items:stretch;flex-direction:column}.material-upload-button,.material-assistant__footer button{width:100%}.recommend-item-button{order:2;width:100%}.viewer-actions{flex-wrap:wrap}.viewer-actions .action-spacer{display:none}.color-controls{align-items:flex-start;flex-direction:column}.sample-button{width:100%}.gallery-meta-row{align-items:flex-start}}@media(max-width:700px){:root{--mobile-nav-clearance: calc(78px + env(safe-area-inset-bottom)) }.gallery-pane{padding-bottom:var(--mobile-nav-clearance)}.gallery-header{position:sticky;top:0;z-index:15;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid rgba(25,25,25,.12);background:var(--paper);box-shadow:0 7px 22px #241f180f}.gallery-meta-row{min-height:44px;align-items:center;gap:12px}.piece-count{white-space:nowrap}.category-nav{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:15;width:auto;max-width:none;margin:0;border:1px solid rgba(25,25,25,.14);border-radius:12px;padding:5px;overflow:visible;background:#f4f0e8f0;box-shadow:0 14px 40px #2e271d29,inset 0 1px #ffffff94;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.category-nav__desktop{display:none}.category-nav__mobile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.category-nav__mobile-item{position:relative;width:100%;min-width:0;min-height:52px;display:grid;place-items:center;border:0;border-radius:8px;padding:5px 3px;color:var(--muted);background:transparent;font-size:11px;font-weight:540;letter-spacing:.015em;line-height:1;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .16s ease}.category-nav__mobile-item:hover{color:var(--ink);background:#1919190e}.category-nav__mobile-item.active{color:var(--paper);background:var(--ink)}.category-nav__mobile-item:active{transform:scale(.97)}.category-nav__mobile-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.category-nav__overflow{position:relative;min-width:0}.category-nav__more{align-content:center;gap:3px}.category-nav__more i{height:5px;font-size:8px;font-style:normal;letter-spacing:2px;line-height:2px;transform:translate(1px)}.category-overflow-menu{position:absolute;right:-1px;bottom:calc(100% + 13px);width:min(282px,calc(100vw - 20px));border:1px solid rgba(25,25,25,.16);border-radius:12px;padding:14px;color:var(--ink);background:#f4f0e8fa;box-shadow:0 18px 48px #2e271d33;animation:category-menu-in .18s cubic-bezier(.22,.8,.22,1) both}.category-overflow-menu:after{content:"";position:absolute;right:25px;bottom:-6px;width:10px;height:10px;border-right:1px solid rgba(25,25,25,.16);border-bottom:1px solid rgba(25,25,25,.16);background:var(--paper);transform:rotate(45deg)}.category-overflow-menu__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:2px 2px 12px}.category-overflow-menu__heading strong{font-size:12px;font-weight:640}.category-overflow-menu__heading span{color:var(--muted);font-size:9px}.category-overflow-menu__options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.category-overflow-menu__options button{min-height:46px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:transparent;font-size:11px;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .16s ease}.category-overflow-menu__options button:hover,.category-overflow-menu__options button:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}.category-overflow-menu__options button.active{color:var(--paper);border-color:var(--ink);background:var(--ink)}.category-overflow-menu__options button:active{transform:scale(.97)}}@keyframes category-menu-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.gallery-item img,.category-nav__desktop-item:after,.viewer-art-floating{transition:none}.category-overflow-menu,.viewer-overlay,.viewer-entry{animation:none}.viewer.shake{animation:none;box-shadow:inset 3px 0 0 var(--accent),-18px 0 50px #19181614}}
