:root{color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#fbf5f3;--muted:#b2afb8;--accent:#ff366c;--accent-dark:#ff668d;--accent-contrast:#171219;--accent-text:#ff739c;--action-bg:#ff366c;--accent-soft:#ff366c1f;--accent-glow:#ff366c2e;--canvas:#171219;--surface:#1c1b20;--field:#222126;--surface-strong:#2a292f;--border:#333138;--border-strong:#49464f;--success:#81d9aa;--success-soft:#18352a;--warning:#ffe57c;--warning-soft:#372e1c;--danger:#ffaba8;--danger-soft:#3b2026;--extra:#ffe57c;--overlay:#050407b8;--shadow:#00000038;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#242229;--muted:#696570;--accent:#ff366c;--accent-dark:#ff668d;--accent-contrast:#242229;--accent-text:#c61149;--action-bg:#ff366c;--accent-soft:#ff366c14;--accent-glow:#ff366c21;--canvas:#fbf5f3;--surface:#fff;--field:#fff;--surface-strong:#efedf1;--border:#e1dee5;--border-strong:#c5c0cc;--success:#176440;--success-soft:#e5f5ec;--warning:#805410;--warning-soft:#fff3d8;--danger:#a92b39;--danger-soft:#ffecef;--extra:#936b00;--overlay:#19141f7a;--shadow:#1f182617}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;scrollbar-gutter:stable;min-width:320px;min-height:100%}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button,label,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}input,textarea,select{font:inherit;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}option{color:var(--ink);background:var(--field)}button:disabled{cursor:not-allowed}::selection{color:var(--ink);background:var(--accent-soft)}:root{scrollbar-color:var(--border-strong) var(--canvas)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}img{max-width:100%}.app-shell{width:min(100%,900px);min-height:100svh;margin:0 auto;padding:0 22px 72px}.topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--canvas) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;display:grid;position:sticky;top:0}.brand{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;padding:0;text-decoration:none;display:inline-flex}.brand>span:last-child{flex-direction:column;line-height:1.05;display:flex}.brand strong{letter-spacing:-.025em;font-size:15px;font-weight:820}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.brand-mark,.loading-mark{color:#fff8f1;background:var(--accent);width:38px;height:38px;box-shadow:0 8px 24px var(--accent-glow);border-radius:8px;place-items:center;display:grid}.main-nav{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:4px;padding:4px;display:flex}.nav-item{min-height:38px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:720;display:flex}.nav-item:disabled{cursor:not-allowed;opacity:.48}.nav-item-active{color:var(--ink);background:var(--surface-strong);box-shadow:0 2px 8px var(--shadow)}.user-menu{justify-self:end;align-items:center;gap:6px;display:flex}.user-avatar{width:34px;height:34px;color:var(--muted);background:var(--surface-strong);border-radius:50%;place-items:center;font-size:11px;font-weight:820;display:grid}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.icon-button:hover{background:var(--surface-strong)}.photo-page{width:min(100%,720px);margin:0 auto;padding-top:clamp(36px,7vw,64px)}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--accent-text);letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:850}h1,h2,p{margin-top:0}.page-heading h1,.login-card h1,.load-state h1{color:var(--ink);letter-spacing:-.065em;margin-bottom:0;font-size:clamp(38px,8vw,60px);line-height:.98}.step-pill,.saved-badge,.run-status{color:var(--muted);background:var(--surface-strong);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:7px 10px;font-size:11px;font-weight:780;display:inline-flex}.workflow-card,.results-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 55px var(--shadow);border-radius:8px;margin-bottom:16px;padding:clamp(20px,4.5vw,30px)}.section-heading{align-items:flex-start;gap:13px;margin-bottom:22px;display:flex}.section-heading>div{min-width:0}.section-heading h2,.results-heading h2,.modal-header h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:20px;line-height:1.15}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.4}.step-number{width:30px;height:30px;color:var(--accent-text);background:var(--accent-soft);border-radius:10px;flex:0 0 30px;place-items:center;font-size:12px;font-weight:850;display:grid}.text-button{color:var(--accent-text);font:inherit;background:0 0;border:0;margin-left:auto;padding:6px 0;font-size:12px;font-weight:780}.photo-dropzone{border:1.5px dashed var(--border-strong);min-height:210px;color:var(--ink);background:radial-gradient(circle at 50% 0%, var(--accent-glow), transparent 43%), var(--field);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:border-color .16s,transform .16s;display:flex}.photo-dropzone:hover{border-color:var(--accent-text);transform:translateY(-1px)}.photo-dropzone input,.replace-photo input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.camera-bubble{width:58px;height:58px;color:var(--accent-text);background:var(--accent-soft);border-radius:8px;place-items:center;margin-bottom:14px;display:grid}.photo-dropzone strong{letter-spacing:-.02em;font-size:16px}.photo-dropzone small{color:var(--muted);margin-top:7px;font-size:11px}.source-preview{background:var(--surface-strong);border-radius:8px;min-height:250px;position:relative;overflow:hidden}.source-preview>img{object-fit:cover;width:100%;max-height:440px;display:block}.replace-photo,.source-preview .saved-badge{color:var(--ink);background:var(--surface);box-shadow:0 6px 24px var(--shadow);cursor:pointer;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:780;position:absolute;bottom:12px;right:12px}.source-preview .saved-badge{color:var(--success);cursor:default}.photo-source-actions{gap:10px;margin-top:14px;display:flex}.photo-source-actions .replace-photo{position:static}.photo-source-actions.preview-actions{margin:0;position:absolute;bottom:12px;right:12px}.preview-fallback{min-height:250px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.platform-block{margin-top:22px}.field-label,.selection-label>span,.advanced-fields label>span,.login-form label>span,.username-field>span{color:var(--ink);margin-bottom:8px;font-size:12px;font-weight:780;display:block}.segmented-control{background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;display:grid}.segmented-control button,.count-field button{min-height:40px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:10px;font-size:12px;font-weight:750}.segmented-control button.active,.count-field button.active{color:var(--ink);background:var(--field);box-shadow:0 3px 12px var(--shadow)}.segmented-control button:disabled{opacity:.68}.username-field{margin-top:14px;display:block}.username-field>div{border:1px solid var(--border-strong);background:var(--field);border-radius:8px;align-items:center;display:flex;overflow:hidden}.username-field b{color:var(--muted);padding-left:14px}.username-field input{border:0;flex:1;min-width:0}.selection-block+.selection-block{margin-top:24px}.selection-label{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.selection-label small{color:var(--muted);font-size:11px}.choice-grid{gap:10px;display:grid}.reference-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.outfit-grid{grid-template-columns:repeat(3,1fr);padding-top:12px}.selection-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.selection-tile-wrap{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.selection-tile{border:1.5px solid var(--border);width:100%;color:var(--ink);background:var(--field);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex}.selection-tile:disabled{cursor:not-allowed;opacity:.6}.selection-tile input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.selection-tile-media{aspect-ratio:1;background:var(--surface-strong);border-radius:12px;place-items:center;width:100%;display:grid;overflow:hidden}.selection-tile-media img{object-fit:cover;width:100%;height:100%;display:block}.selection-tile-empty{color:var(--muted);font-size:28px;font-weight:700;line-height:1}.selection-tile-copy{flex-direction:column;gap:2px;min-width:0;padding:0 2px;display:flex}.selection-tile-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.selection-tile-copy small{color:var(--muted);font-size:11px;line-height:1.2}.extra-reference-tile .clear-extra-reference{width:22px;height:22px;color:var(--muted);background:var(--surface);box-shadow:0 2px 8px var(--shadow);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:30px;right:6px}.image-choice{border:1.5px solid var(--border);min-width:0;color:var(--ink);background:var(--field);font:inherit;text-align:left;border-radius:8px;padding:4px 4px 10px;position:relative;overflow:hidden}.image-choice img{aspect-ratio:1;object-fit:cover;background:var(--surface-strong);border-radius:11px;width:100%;margin-bottom:8px;display:block}.image-choice>span{text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:11px;font-weight:740;display:block;overflow:hidden}.image-choice.selection-active,.original-clothing-option.selection-active{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}.selection-check{width:24px;height:24px;color:var(--accent-contrast);background:var(--accent);box-shadow:0 3px 10px var(--shadow);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;top:9px;right:9px}.inline-warning,.empty-note{color:var(--warning);background:var(--warning-soft);border-radius:12px;margin:12px 0 0;padding:11px 13px;font-size:12px;line-height:1.45}.outfit-trigger,.original-clothing-option{border:1px solid var(--border-strong);width:100%;color:var(--ink);background:var(--field);font:inherit;text-align:left;border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px;display:grid}.outfit-trigger img{object-fit:cover;border-radius:12px;width:52px;height:52px}.outfit-trigger>span:nth-child(2),.original-clothing-option>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.outfit-trigger strong,.original-clothing-option strong{font-size:13px}.outfit-trigger small,.original-clothing-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.original-clothing-mark{width:52px;height:52px;color:var(--muted);background:var(--surface-strong);border-radius:12px;place-items:center;font-size:11px;font-weight:850;display:grid}.run-card{background:var(--surface)}.advanced-settings{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:4px 0 20px}.advanced-settings>summary{min-height:52px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;font-size:12px;font-weight:780;list-style:none;display:flex}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary:after{content:"+";color:var(--accent-text);margin-left:10px;font-size:18px}.advanced-settings[open]>summary:after{content:"−"}.advanced-settings>summary span{color:var(--muted);margin-left:auto;font-size:10px;font-weight:600}.advanced-fields{padding:0 0 18px}.advanced-fields label{display:block}.advanced-fields textarea,.advanced-fields select,.login-form input{border:1px solid var(--border-strong);width:100%;color:var(--ink);background:var(--field);font:inherit;border-radius:8px;outline:none;font-size:13px}.advanced-fields textarea{resize:vertical;padding:12px;line-height:1.5}.advanced-fields select{height:44px;padding:0 11px}.advanced-fields textarea:focus,.advanced-fields select:focus,.login-form input:focus,.username-field>div:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}.field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.count-field{border:0;margin:16px 0 0;padding:0}.count-field legend{margin-bottom:8px;font-size:12px;font-weight:780}.count-field>div{background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;display:grid}.run-button,.primary-button,.secondary-button{width:100%;min-height:52px;color:var(--accent-contrast);background:var(--accent);box-shadow:0 10px 28px var(--accent-glow);font:inherit;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:820;display:flex}.run-button:hover,.primary-button:hover{background:var(--accent-dark)}.run-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.58}.run-caption{color:var(--muted);text-align:center;margin:10px 0 0;font-size:10px}.secondary-button{width:auto;min-height:44px;color:var(--ink);background:var(--surface-strong);box-shadow:none;margin-top:18px;font-size:12px}.create-link-submit,.create-link-error{margin-top:18px}.create-link-complete-actions{grid-template-columns:1fr auto;gap:10px;margin-top:16px;display:grid}.create-link-complete-actions .secondary-button{margin-top:0}.nfc-link-card{border:1px solid var(--border);background:var(--field);border-radius:8px;margin-top:14px;padding:16px}.detail-page>.nfc-link-card{margin-top:20px}.nfc-link-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nfc-link-heading .field-label{margin-bottom:3px}.nfc-link-heading small{color:var(--muted);font-size:10px;line-height:1.4}.nfc-link-status{min-height:26px;color:var(--warning);background:var(--warning-soft);white-space:nowrap;border-radius:8px;align-items:center;padding:0 9px;font-size:9px;font-weight:820;display:inline-flex}.nfc-link-status.published{color:var(--success);background:var(--success-soft)}.nfc-link-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.nfc-link-row code{overflow-wrap:anywhere;border:1px solid var(--border);min-width:180px;color:var(--ink);background:var(--field);border-radius:10px;flex:1;padding:9px 10px;font-size:11px}.nfc-link-row .secondary-button{min-height:38px;margin-top:0;padding:0 11px;text-decoration:none}.nfc-write-button{width:100%;min-height:46px;color:var(--ink);background:var(--surface-strong);font:inherit;border:0;border-radius:8px;justify-content:center;align-items:center;margin-top:10px;font-size:12px;font-weight:820;display:flex}.nfc-write-button.unavailable{background:var(--surface-strong)}.nfc-write-button:disabled{cursor:wait;opacity:.62}.nfc-status-message{color:var(--warning);background:var(--warning-soft);border-radius:9px;margin:8px 0 0;padding:8px 10px;font-size:11px;line-height:1.4}.nfc-published{border:2px solid var(--success);background:var(--success-soft);border-radius:8px;align-items:center;gap:12px;margin-top:14px;padding:10px;display:flex}.nfc-published img{object-fit:cover;border:2px solid var(--success);border-radius:10px;width:64px;height:64px}.nfc-published strong{color:var(--success);font-size:12px;display:block}.nfc-published small{color:var(--success);font-size:10px}.published-pin{border:2px solid var(--success);background:var(--success-soft);border-radius:8px;grid-template-columns:180px 1fr;align-items:center;gap:16px;margin-top:18px;padding:14px;display:grid}.published-pin-media{border:2px solid var(--success);cursor:zoom-in;border-radius:8px;overflow:hidden}.published-pin-media img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.published-pin-copy strong{color:var(--success);margin-top:2px;font-size:14px;display:block}.published-pin-copy small{color:var(--success);margin-top:6px;font-size:11px;line-height:1.4;display:block}.published-pin-copy .secondary-button{margin-top:10px}.nfc-custom-upload{border:1px dashed var(--border-strong);background:var(--field);border-radius:8px;margin-top:14px;padding:14px}.nfc-custom-upload small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.history-output.is-published{outline:3px solid var(--success);outline-offset:-3px;border-radius:8px}.is-published-btn{border:1px solid var(--success)!important;color:var(--success)!important;background:var(--success-soft)!important}.nfc-qr-row{align-items:center;gap:13px;margin-top:12px;display:flex}.nfc-qr-button{border:1px solid var(--border);cursor:zoom-in;background:#fff;border-radius:10px;padding:0}.nfc-qr-button img{background:#fff;border-radius:10px;padding:4px;display:block}.nfc-qr-row small{color:var(--muted);font-size:10px;line-height:1.45}.qr-modal{background:var(--canvas);border-radius:8px;width:min(100%,420px);padding:22px;box-shadow:0 30px 100px #14100e59}.qr-modal-url{overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.4}.qr-modal-image{aspect-ratio:1;border:1px solid var(--border);background:#fff;border-radius:8px;width:min(100%,340px);height:auto;margin:16px auto 0;padding:10px;display:block}.qr-modal-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.qr-modal-actions .primary-button,.qr-modal-actions .secondary-button{flex:1;min-width:110px;margin-top:0}.qr-modal-hint{color:var(--muted);text-align:center;margin:12px 0 0;font-size:11px}.form-error{border:1px solid var(--danger);color:var(--danger);background:var(--danger-soft);border-radius:12px;margin:0;padding:11px 13px;font-size:12px;line-height:1.45}.run-error{margin-bottom:12px}.results-card{background:var(--surface);color:var(--ink);margin-top:22px}.results-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.results-heading h2{color:var(--ink);font-size:24px}.results-heading .eyebrow{color:var(--success)}.run-status{color:var(--muted);text-transform:capitalize;background:#ffffff1a}.status-completed{color:var(--success)}.status-failed{color:var(--danger)}.status-partial{color:var(--warning)}.run-telemetry{color:var(--muted);justify-content:space-between;gap:12px;margin:-9px 0 18px;font-size:10px;line-height:1.4;display:flex}.run-telemetry span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.job-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.job-slot{background:var(--field);border-radius:8px;min-height:240px;overflow:hidden}.job-slot img{object-fit:cover;width:100%;height:100%;min-height:240px;display:block}.job-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:240px;padding:18px;display:flex}.job-message>span{width:34px;height:34px;color:var(--accent-text);background:var(--accent-glow);border-radius:50%;place-items:center;font-weight:850;display:grid}.job-message strong{margin-top:5px;font-size:12px}.job-message small{color:var(--muted);font-size:10px;line-height:1.4}.spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gallery-page,.detail-page{width:min(100%,820px);margin:0 auto;padding-top:clamp(36px,7vw,64px)}.gallery-heading{align-items:center}.compact-primary,.load-more-button,.retry-action,.outline-action,.back-button{min-height:42px;font:inherit;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.compact-primary,.retry-action{color:var(--accent-contrast);background:var(--accent);box-shadow:0 8px 22px var(--accent-glow)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.gallery-card{border:1px solid var(--border);min-width:0;color:var(--ink);background:var(--surface);box-shadow:0 14px 42px var(--shadow);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:138px minmax(0,1fr);padding:0;text-decoration:none;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden}.gallery-card:hover{box-shadow:0 20px 48px var(--shadow);transform:translateY(-2px)}.gallery-thumb{background:var(--surface-strong);min-height:178px;position:relative}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumb i{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#231d1abf;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;font-style:normal;font-weight:850;display:grid;position:absolute;bottom:9px;right:9px}.gallery-card-body{flex-direction:column;min-width:0;padding:17px 15px 13px;display:flex}.gallery-card-body>span:first-child{flex-direction:column;min-width:0;display:flex}.gallery-card-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.gallery-card-body small{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:10px}.gallery-date{color:var(--muted);margin-top:18px;font-size:10px}.gallery-card-footer{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:7px;margin-top:auto;padding-top:12px;font-size:10px;display:flex}.gallery-card-footer>svg{margin-left:auto}.mini-status{min-height:23px;color:var(--muted);background:var(--surface-strong);white-space:nowrap;border-radius:8px;align-items:center;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.mini-status.status-completed{color:var(--success);background:var(--success-soft)}.mini-status.status-failed{color:var(--danger);background:var(--danger-soft)}.mini-status.status-partial,.mini-status.status-running{color:var(--warning);background:var(--warning-soft)}.gallery-state{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:46svh;padding:34px;display:flex}.gallery-state h2{color:var(--ink);letter-spacing:-.04em;margin:14px 0 0;font-size:24px}.gallery-state p{max-width:380px;color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.gallery-state .secondary-button,.gallery-state .compact-primary{width:auto;margin-top:20px}.state-symbol{width:50px;height:50px;color:var(--accent-text);background:var(--accent-soft);border-radius:8px;place-items:center;font-size:20px;font-weight:850;display:grid}.dark-spinner{border-color:var(--border-strong);border-top-color:var(--accent-text)}.load-more-button{width:100%;color:var(--ink);background:var(--surface-strong);margin-top:18px}.gallery-error{margin-top:16px}.back-button{color:var(--muted);background:0 0;margin-bottom:18px;padding-left:9px}.session-hero{grid-template-columns:minmax(240px,.85fr) minmax(260px,1fr);align-items:center;gap:clamp(28px,6vw,58px);display:grid}.session-source,.history-output{background:var(--surface-strong);border:0;border-radius:8px;padding:0;position:relative;overflow:hidden}.session-source{min-height:390px;box-shadow:0 22px 60px var(--shadow)}.session-source img,.history-output img{object-fit:cover;width:100%;height:100%;display:block}.session-source>span,.history-output>span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#27211db8;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:780;display:inline-flex;position:absolute;bottom:10px;right:10px}.session-copy h1{overflow-wrap:anywhere;color:var(--ink);letter-spacing:-.065em;margin:0;font-size:clamp(42px,7vw,66px);line-height:.95}.session-copy>p:not(.eyebrow){color:var(--muted);text-transform:capitalize;margin:18px 0;font-size:12px;line-height:1.5}.session-copy>strong{color:var(--accent-text);background:var(--accent-soft);border-radius:8px;padding:8px 11px;font-size:11px;display:inline-flex}.session-edit-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.session-edit-actions .outline-action{cursor:pointer;position:relative}.session-edit-actions input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.session-edit-actions .is-busy{cursor:wait;opacity:.6}.session-edit-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:130px minmax(0,1fr);gap:10px;margin-top:14px;padding:14px;display:grid}.session-edit-form label{min-width:0}.session-edit-form label>span{margin-bottom:6px;font-size:10px;font-weight:780;display:block}.session-edit-form select,.session-edit-form input{border:1px solid var(--border-strong);width:100%;height:40px;color:var(--ink);background:var(--field);font:inherit;border-radius:10px;padding:0 10px;font-size:12px}.session-edit-form label>div{border:1px solid var(--border-strong);background:var(--field);border-radius:10px;align-items:center;display:flex;overflow:hidden}.session-edit-form label>div b{color:var(--muted);padding-left:10px}.session-edit-form label>div input{border:0;min-width:0}.session-edit-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.session-edit-form-actions button{min-width:88px}.session-source-note{color:var(--muted);margin-top:11px;font-size:9px;line-height:1.4;display:block}.run-snapshot a{color:var(--accent-text);font-weight:750}.timeline-heading{justify-content:space-between;align-items:end;gap:20px;margin:58px 0 20px;display:flex}.timeline-heading h2{color:var(--ink);letter-spacing:-.05em;margin:0;font-size:30px}.timeline-heading small{color:var(--muted);font-size:10px}.detail-error{margin-bottom:16px}.compact-state{min-height:260px}.history-run{border:1px solid var(--border);background:var(--surface);box-shadow:0 16px 45px var(--shadow);border-radius:8px;margin-bottom:18px;overflow:hidden}.history-run-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.history-run-header>div{align-items:center;gap:11px;min-width:0;display:flex}.history-run-header>div>span:last-child{flex-direction:column;min-width:0;display:flex}.history-run-header strong{font-size:12px}.history-run-header small{color:var(--muted);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.run-index{width:34px;height:34px;color:var(--accent-text);background:var(--accent-soft);border-radius:11px;flex:0 0 34px;place-items:center;font-size:10px;font-weight:850;display:grid}.history-output-grid{background:var(--surface-strong);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.history-output-grid[data-columns="1"]{grid-template-columns:minmax(0,1fr)}.history-output-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.history-output-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.history-output-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.history-output,.history-placeholder{border-radius:0;min-height:340px}.history-placeholder{color:var(--ink);background:var(--field);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.history-placeholder strong{font-size:12px}.history-placeholder small{color:var(--muted);font-size:10px}.run-snapshot{border-top:1px solid var(--border)}.run-snapshot summary{color:var(--muted);cursor:pointer;padding:13px 20px;font-size:10px;font-weight:750}.run-snapshot>div{gap:10px;padding:2px 20px 16px;display:grid}.run-snapshot span{color:var(--muted);white-space:pre-wrap;grid-template-columns:85px minmax(0,1fr);gap:10px;font-size:10px;line-height:1.45;display:grid}.run-snapshot b{color:var(--ink)}.history-actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:9px;padding:14px 20px 18px;display:grid}.outline-action{color:var(--ink);border:1px solid var(--border-strong);background:var(--field)}.retry-action:disabled{cursor:wait;opacity:.5}.preview-overlay{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14110feb;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.preview-overlay>img{object-fit:contain;border-radius:8px;max-width:min(100%,1000px);max-height:calc(100svh - 60px);display:block;box-shadow:0 30px 100px #0006}.preview-close{z-index:1;top:max(18px, env(safe-area-inset-top));color:#fff;background:#ffffff21;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:fixed;right:18px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1a15138f;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.picker-modal-backdrop{align-items:center}.outfit-modal{background:var(--canvas);border-radius:8px;width:min(100%,680px);max-height:min(88svh,760px);padding:24px;overflow:auto;box-shadow:0 30px 100px #14100e59}.picker-modal{flex-direction:column;min-height:min(430px,100svh - 40px);display:flex;overflow:hidden}.picker-modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.modal-header .eyebrow{margin-bottom:6px}.modal-header .picker-modal-title{color:var(--accent);letter-spacing:.04em;font-size:clamp(24px,5vw,34px);font-weight:850}.original-clothing-option{border-width:1.5px;position:relative}.outfit-groups{margin-top:18px}.outfit-group{border-top:1px solid var(--border)}.outfit-group-toggle{width:100%;min-height:48px;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;font-size:13px;display:flex}.outfit-group-toggle>strong{font-weight:790}.outfit-group-meta{color:var(--muted);align-items:center;gap:8px;display:flex}.outfit-group-meta>span{background:var(--surface-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.outfit-group-meta svg{transition:transform .16s}.outfit-group.is-open .outfit-group-meta svg{transform:rotate(90deg)}.modal-footer{padding:16px 24px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--canvas) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin:20px -24px -24px;position:sticky;bottom:-24px}.picker-modal>.modal-footer{flex:none;margin-top:18px;position:static}.login-page,.loading-screen{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-page{background:radial-gradient(circle at 50% 8%, var(--accent-glow), transparent 38%)}.login-brand{width:58px;height:58px;color:var(--accent-contrast);background:var(--accent);box-shadow:0 15px 40px var(--accent-glow);border-radius:8px;place-items:center;margin-bottom:18px;display:grid}.login-card{border:1px solid var(--border);background:var(--surface);width:min(100%,430px);box-shadow:0 25px 80px var(--shadow);border-radius:8px;padding:clamp(28px,7vw,42px)}.login-card h1{font-size:clamp(40px,11vw,58px)}.login-intro{color:var(--muted);margin:18px 0 26px;font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:14px;display:flex}.login-form label{display:block}.login-form input{height:48px;padding:0 13px}.login-form .primary-button{margin-top:5px}.loading-screen{color:var(--muted);gap:13px;font-size:13px;font-weight:720}.loading-mark{border-radius:8px;width:54px;height:54px;animation:1.8s ease-in-out infinite breathe}.loading-embedded{min-height:65svh}@keyframes breathe{50%{box-shadow:0 12px 34px var(--accent-glow);transform:scale(1.06)}}.load-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70svh;display:flex}.load-state-icon{width:44px;height:44px;color:var(--danger);background:var(--danger-soft);border-radius:50%;place-items:center;margin-bottom:16px;font-weight:850;display:grid}.load-state h1{max-width:500px;font-size:clamp(34px,7vw,50px)}.load-state p{max-width:420px;color:var(--muted);margin:16px 0 0}.admin-page{width:min(100%,820px);margin:0 auto;padding-top:clamp(36px,7vw,64px)}.admin-heading{align-items:center}.admin-tabs{border:1px solid var(--border);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;padding:4px;display:grid}.admin-tabs button{min-height:42px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:11px;font-size:12px;font-weight:800}.admin-tabs button.active{color:var(--ink);background:var(--field);box-shadow:0 3px 12px var(--shadow)}.admin-notice{border-radius:8px;margin:0 0 16px;padding:13px 15px;font-size:12px;line-height:1.45}.admin-notice.ok{color:var(--success);background:var(--success-soft)}.admin-notice.error{color:var(--danger);background:var(--danger-soft)}.admin-stack{gap:16px;display:grid}.admin-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 16px 48px var(--shadow);border-radius:8px;padding:clamp(19px,4vw,28px)}.admin-card-heading{color:var(--accent-text);align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.admin-card-heading h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:20px}.admin-card-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.45}.admin-form,.admin-inline-form{gap:13px;display:grid}.admin-field-grid,.admin-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form label,.admin-inline-form label{flex-direction:column;gap:7px;min-width:0;display:flex}.admin-form label>span,.admin-inline-form label>span{color:var(--muted);font-size:10px;font-weight:760}.admin-form input,.admin-form select,.admin-form textarea,.admin-inline-form input,.admin-inline-form select,.admin-list-row input,.category-sort-row input,.admin-user-row select,.password-reset input{border:1px solid var(--border-strong);width:100%;min-height:43px;color:var(--ink);background:var(--field);font:inherit;border-radius:11px;padding:9px 11px;font-size:12px}.admin-form textarea{resize:vertical;line-height:1.5}.admin-wide{grid-column:1/-1}.admin-form>.primary-button{justify-self:start;width:auto;min-width:180px}.admin-inline-form{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.admin-inline-form.compact{grid-template-columns:1fr 1fr 100px auto;align-items:end}.admin-inline-form .admin-file{grid-column:span 2}.admin-inline-form .admin-check{flex-direction:row;align-self:center;align-items:center;font-size:11px}.admin-check input{width:17px;min-height:17px}.admin-inline-form>button{align-self:end}.catalog-uploader{border:1px solid var(--border);background:var(--field);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:22px;padding:16px;display:grid}.catalog-uploader label{flex-direction:column;gap:7px;min-width:0;display:flex}.catalog-uploader label>span,.category-create-form label>span{color:var(--muted);font-size:10px;font-weight:760}.catalog-uploader input,.catalog-uploader select,.category-create-form input{border:1px solid var(--border-strong);width:100%;min-height:43px;color:var(--ink);background:var(--field);font:inherit;border-radius:11px;padding:9px 11px;font-size:12px}.catalog-uploader .admin-file{grid-column:1/-1}.catalog-uploader .admin-file small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.catalog-panel{border:0;grid-template-columns:minmax(0,1fr);min-inline-size:0;margin:0;padding:0}.catalog-panel>.admin-card{min-width:0}.catalog-uploader input:disabled{color:var(--muted);background:var(--surface-strong)}.catalog-uploader .admin-check{flex-direction:row;align-self:center;align-items:center}.catalog-uploader .admin-check input{width:17px;min-height:17px}.category-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.category-create-form label{flex-direction:column;gap:7px;display:flex}.category-sort-list{gap:8px;display:grid}.category-sort-row{border:1px solid var(--border);background:var(--field);border-radius:8px;grid-template-columns:24px minmax(150px,1fr) auto auto;align-items:center;gap:10px;padding:10px;transition:opacity .12s,border-color .12s;display:grid}.category-sort-row.inactive{opacity:.58;background:var(--surface-strong)}.category-sort-row.dragging{opacity:.42;border-color:var(--accent-text)}.drag-handle{color:var(--muted);cursor:grab;letter-spacing:-4px;-webkit-user-select:none;user-select:none;font-size:18px}.category-nudges{gap:3px;display:flex}.category-nudges button{width:30px;height:30px;color:var(--muted);background:var(--surface-strong);border:0;border-radius:8px;place-items:center;display:grid}.category-nudges button:disabled{opacity:.28}.category-save-all{margin-top:14px}.catalog-category-filter{gap:7px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.catalog-category-filter button{border:1px solid var(--border);min-height:38px;color:var(--muted);background:var(--field);font:inherit;white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:780;display:inline-flex}.catalog-category-filter button.active{color:var(--accent-contrast);border-color:var(--accent-text);background:var(--accent)}.catalog-category-filter span{background:#00000014;border-radius:8px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:9px;display:grid}.catalog-scroll-list{overscroll-behavior:contain;max-height:480px;padding-right:3px;overflow-y:auto}.catalog-empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:8px;margin:12px 0 0;padding:20px;font-size:11px}.admin-list{gap:8px;display:grid}.admin-list-row,.admin-user-row{border:1px solid var(--border);background:var(--field);border-radius:8px;grid-template-columns:52px minmax(130px,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.admin-list-row.inactive,.admin-user-row.inactive{opacity:.58;background:var(--surface-strong)}.admin-list-row>img{object-fit:cover;background:var(--surface-strong);border-radius:10px;width:52px;height:52px}.admin-row-fields{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-row-fields input{min-height:36px}.admin-row-fields span,.admin-row-fields small{color:var(--muted);font-size:9px}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.text-action{min-height:30px;color:var(--ink);background:var(--surface-strong);font:inherit;border:0;border-radius:8px;padding:0 8px;font-size:9px;font-weight:800}.text-action.danger{color:var(--danger)}.text-action:disabled{cursor:not-allowed;opacity:.45}.admin-user-row{grid-template-columns:minmax(180px,1fr) 100px auto}.admin-user-identity{align-items:center;gap:10px;min-width:0;display:flex}.admin-user-identity>span{width:38px;height:38px;color:var(--muted);background:var(--surface-strong);border-radius:50%;flex:0 0 38px;place-items:center;font-size:10px;font-weight:820;display:grid}.admin-user-identity>div{flex-direction:column;min-width:0;display:flex}.admin-user-identity strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.admin-user-identity small{color:var(--muted);margin-top:4px;font-size:9px}.password-reset{border-top:1px solid var(--border);grid-column:1/-1;gap:8px;padding-top:10px;display:flex}.password-reset input{flex:1}@media (width<=640px){.app-shell{padding:0 13px 50px}.topbar{grid-template-columns:auto 1fr auto;min-height:66px}.brand>span:last-child{display:none}.brand-mark{border-radius:11px;width:34px;height:34px}.main-nav{background:0 0;border:0;justify-self:center}.nav-item{min-height:36px;padding:0 10px}.nav-item span,.user-avatar{display:none}.photo-page{padding-top:32px}.gallery-page,.detail-page,.admin-page{padding-top:28px}.page-heading{margin-bottom:22px}.step-pill{display:none}.workflow-card,.results-card{border-radius:8px;padding:19px}.photo-dropzone{min-height:190px}.source-preview{min-height:220px}.reference-grid{scroll-snap-type:x mandatory;margin-right:-19px;padding-right:19px;display:flex;overflow-x:auto}.reference-grid .image-choice{scroll-snap-align:start;flex:0 0 122px;width:122px}.field-row,.create-link-complete-actions{grid-template-columns:1fr}.create-link-complete-actions .secondary-button{width:100%}.advanced-settings>summary span{display:none}.modal-backdrop{padding:0}.picker-modal-backdrop{padding:16px}.outfit-modal{border-radius:24px 24px 0 0;max-height:92svh;padding:20px}.picker-modal{border-radius:8px;min-height:min(430px,100svh - 32px);max-height:calc(100svh - 32px)}.outfit-grid{grid-template-columns:repeat(2,1fr)}.modal-footer{margin:18px -20px -20px;padding-inline:20px;bottom:-20px}.picker-modal>.modal-footer{margin-top:18px}.job-grid{grid-template-columns:1fr}.job-slot,.job-message,.job-slot img{min-height:280px}.gallery-heading{align-items:flex-end}.gallery-heading .compact-primary{width:43px;min-width:43px;padding:0;font-size:0}.gallery-grid{grid-template-columns:1fr}.gallery-card{grid-template-columns:126px minmax(0,1fr)}.gallery-thumb{min-height:160px}.session-hero{grid-template-columns:1fr;gap:24px}.session-source{min-height:420px}.session-copy h1{font-size:46px}.session-edit-form{grid-template-columns:1fr}.session-edit-form-actions{grid-column:auto}.timeline-heading{margin-top:42px}.history-output,.history-placeholder{min-height:280px}.history-output-grid[data-columns="3"],.history-output-grid[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.history-actions{padding-inline:14px}.preview-overlay{padding:12px}.preview-overlay>img{max-height:calc(100svh - 24px)}.admin-heading .outline-action{width:42px;padding:0;font-size:0;overflow:hidden}.admin-field-grid,.admin-inline-form,.admin-inline-form.compact,.catalog-uploader{grid-template-columns:1fr}.catalog-uploader .admin-file{grid-column:auto}.category-sort-row{grid-template-columns:20px minmax(0,1fr) auto}.category-sort-row .admin-row-actions{grid-column:2/-1}.admin-inline-form .admin-file,.admin-wide{grid-column:auto}.admin-list-row{grid-template-columns:48px minmax(0,1fr)}.admin-list-row>img{width:48px;height:48px}.admin-list-row .admin-row-actions{grid-column:1/-1}.admin-user-row{grid-template-columns:minmax(0,1fr) 92px}.admin-user-row>.admin-row-actions{grid-column:1/-1}.password-reset{flex-direction:column}}@media (width<=390px){.page-heading h1{font-size:38px}.section-heading p{font-size:12px}.segmented-control button{padding-inline:4px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{max-width:940px;padding-inline:20px}.studio-header{min-height:calc(76px + env(safe-area-inset-top,0px));padding-top:calc(12px + env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0;flex-direction:row;justify-content:center;align-items:center;gap:12px;display:flex}.studio-header .main-nav{background:0 0;border:0;border-radius:0;justify-content:center;gap:16px;min-height:52px;padding:0}.studio-header .nav-item{min-height:52px;color:var(--ink);border-radius:0;justify-content:center;gap:10px;padding:0 8px 8px;font-size:14px;font-weight:550;position:relative}.studio-header .nav-item svg{width:23px;height:23px}.studio-header .nav-item span{display:inline}.studio-header .nav-item-active{box-shadow:none;background:0 0}.studio-header .nav-item-active:after{background:var(--accent);content:"";border-radius:5px;height:4px;position:absolute;bottom:2px;left:3px;right:3px}.studio-header .nav-item:hover{color:var(--accent-text)}.user-avatar{width:27px;height:27px;color:var(--muted);background:var(--surface-strong);font-size:9px}.appearance-select{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.account-logout{border:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);background:var(--field);font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.standalone-appearance{top:max(16px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));position:absolute}.photo-page.studio-photo,.photo-page.fan-page{width:min(100%,475px);padding-top:14px}.photo-composer{border:0;min-inline-size:0;margin:0;padding:0;display:block}.studio-context{border:1px solid var(--border);color:var(--muted);border-radius:12px;margin:0 0 16px;padding:12px;font-size:12px}.studio-source-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.source-action{border:1px solid var(--border);background:var(--field);cursor:pointer;text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;gap:16px;min-width:0;min-height:56px;font-size:15px;font-weight:650;display:flex;position:relative}.source-action:hover{border-color:var(--border-strong)}.source-action input{opacity:0;width:1px;height:1px;position:absolute}.source-action:focus-within,.selection-tile:focus-within,.replace-photo:focus-within,.session-edit-actions label:focus-within{outline:2px solid var(--accent-text);outline-offset:3px}.source-action.is-disabled,.photo-composer:disabled .source-action{cursor:not-allowed;opacity:.55}.capture-photo-placeholder{border-radius:inherit;color:#fbf5f3;width:100%;height:100%;font:inherit;text-align:center;text-transform:uppercase;background:0 0;border:0;place-self:stretch stretch;padding:20px;font-size:20px}.studio-clear-source{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);background:var(--surface);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.studio-platform{margin-top:24px}.studio-photo .segmented-control{border:1px solid var(--border);background:var(--field);border-radius:8px;gap:0;padding:0}.studio-photo .segmented-control button{min-height:50px;color:var(--ink);border-radius:8px;font-size:15px;font-weight:450}.studio-photo .segmented-control button.active{color:var(--accent-contrast);background:var(--accent);box-shadow:none;margin:-1px}.studio-photo .username-field input{color:var(--ink);background:var(--field);font:inherit;padding:12px;font-size:16px}.studio-selections{gap:10px;margin-top:30px}.studio-selections .selection-tile-wrap{gap:9px}.studio-selections .field-label{text-align:center;text-transform:uppercase;margin:0;font-size:14px;font-weight:550;line-height:18px}.studio-selections .selection-tile{aspect-ratio:1;border:1px solid var(--border-strong);background:var(--field);border-radius:8px;padding:0;display:block;position:relative;overflow:hidden}.studio-selections .selection-tile:hover{border-color:var(--accent-text)}.studio-selections .selection-tile-media{background:var(--field);border-radius:8px;height:100%}.studio-selections .selection-tile input{pointer-events:auto}.tile-placeholder{color:var(--ink);text-align:center;padding:12px;font-size:13px;font-weight:400;line-height:1.4}.studio-selections .selection-tile-empty{color:var(--extra);font-size:42px;font-weight:650}.studio-selections .clear-extra-reference{width:32px;height:32px;color:var(--ink);background:var(--surface);top:32px}.studio-prompt{margin-top:20px;display:block}.studio-prompt>span{margin:0 5px 8px;font-size:15px;font-weight:550;line-height:20px;display:block}.studio-prompt textarea{border:1px solid var(--border-strong);background:var(--field);width:100%;min-height:290px;font:inherit;resize:vertical;border-radius:8px;padding:14px 15px;font-size:15px;line-height:20px;display:block}.studio-settings{margin:16px 5px 0}.studio-setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:53px;font-size:15px;display:flex}.studio-setting:last-child{border-bottom:0}.studio-setting>span{flex-shrink:0;font-weight:550}.studio-setting>div{flex:1;min-width:0;position:relative}.studio-create{text-transform:uppercase;background:var(--accent);min-height:56px;box-shadow:none;border-radius:8px;margin-top:12px;font-size:21px;font-weight:700}.generation-hint{color:var(--muted);margin:9px 2px 0;font-size:12px;line-height:1.45}.studio-photo .run-error{margin-top:12px}.compact-primary:disabled,.outline-action:disabled{opacity:.5;box-shadow:none}.primary-button,.compact-primary,.retry-action{background:var(--action-bg)}.app-dialog{border:1px solid var(--border-strong);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface);box-shadow:0 30px 100px var(--shadow);margin:auto;position:fixed;inset:0}.app-dialog:not([open]){display:none}.app-dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-dialog.picker-modal{border-radius:8px;width:640px;min-height:min(430px,100dvh - 32px);max-height:min(760px,100dvh - 32px);padding:24px}.app-dialog .modal-header{flex-shrink:0;gap:12px}.app-dialog .modal-header .icon-button{flex:0 0 40px}.app-dialog .modal-footer{margin-inline:-24px;background:var(--surface);margin-bottom:-24px;padding-inline:24px}.picker-modal-body.choice-grid{grid-auto-rows:max-content;align-content:start}.app-dialog .original-clothing-option small{white-space:normal}.app-dialog .original-clothing-option{padding-right:42px}.app-dialog.qr-modal{overscroll-behavior:contain;width:420px;overflow-y:auto}.app-dialog.preview-dialog{border-radius:8px;width:fit-content;max-width:calc(100vw - 32px);padding:0;overflow:hidden}.preview-dialog>img{object-fit:contain;max-width:min(100%,1000px);max-height:calc(100dvh - 48px);display:block}.preview-dialog .preview-close{background:#000000a6;border:1px solid #ffffff40;position:absolute;top:10px;right:10px}.qr-modal-image{object-fit:contain;max-height:45dvh}.app-dialog.confirm-dialog{border-radius:8px;width:420px;padding:24px}.confirm-dialog>p{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.danger-button{border:1px solid var(--danger);min-height:44px;color:var(--danger);background:var(--danger-soft);font:inherit;border-radius:12px;padding:0 18px;font-size:13px;font-weight:700}.nfc-qr-button,.qr-modal-image{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.published-pin{grid-template-columns:minmax(100px,180px) minmax(0,1fr)}.login-page{padding-top:86px;position:relative}.public-photo-page{text-align:center;flex-direction:column;align-items:center;min-height:100svh;padding:86px 20px 32px;display:flex;position:relative}.public-photo-page.is-centered{justify-content:center;gap:16px}.public-photo-page h1{letter-spacing:-.04em;margin:0;font-size:26px}.public-photo-page>p{max-width:380px;color:var(--muted);font-size:14px;line-height:1.5}.public-photo-page .public-hint{margin-top:16px;font-size:12px}.public-photo-card{border:1px solid var(--border);background:var(--surface);width:min(100%,440px);box-shadow:0 15px 50px var(--shadow);border-radius:8px;overflow:hidden}.public-photo-card header{text-align:left;flex-wrap:wrap;align-items:center;gap:8px;padding:16px;display:flex}.public-photo-card header>span:last-child{overflow-wrap:anywhere;color:var(--muted);margin-left:auto;font-size:13px}.public-photo-card img{width:100%;display:block}.public-photo-actions{flex-direction:column;gap:16px;padding:20px;display:flex}.public-photo-actions a{text-decoration:none}.public-photo-actions>a:last-child{color:var(--muted);font-size:13px}@media (width<=640px){.app-shell{padding:0 19px 28px}.studio-header{gap:6px}.studio-header .main-nav{flex:1;min-width:0}.studio-header .nav-item{flex-direction:column;gap:4px}.studio-header .main-nav{justify-content:space-between;gap:6px}.studio-header .nav-item{gap:8px;padding-inline:5px;font-size:14px}.app-dialog.picker-modal{padding:18px}.app-dialog .modal-footer{margin-inline:-18px;margin-bottom:-18px;padding-inline:18px}.app-dialog .outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.published-pin{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px}}@media (width<=380px){.app-shell{padding-inline:13px}.studio-header .nav-item{gap:4px;padding-inline:2px;font-size:12px}.studio-header .nav-item svg{width:20px;height:20px}.source-action{gap:10px;font-size:13px}.studio-selections .field-label{font-size:12px}.studio-setting{gap:7px;font-size:13px}.studio-prompt textarea{font-size:14px}}.studio-header .nav-item{text-transform:uppercase}.fan-page .source-action,.studio-photo .studio-source-actions .source-action{min-height:50px;font-weight:500}.fan-preview,.studio-source-preview{aspect-ratio:3/4;color:#fbf5f3;background:#4b4d58;border:0;border-radius:8px;place-items:center;width:81%;min-height:0;margin:10px auto 14px;display:grid;position:relative;overflow:hidden}.fan-preview>img,.studio-source-preview>img{object-fit:contain;width:100%;height:100%;min-height:0;max-height:none;display:block}.fan-preview>span:not(.saved-badge){text-align:center;text-transform:uppercase;padding:20px;font-size:clamp(16px,4vw,24px)}.fan-page .primary-button,.fan-page .nfc-write-button{background:var(--accent);min-height:51px;color:var(--accent-contrast);box-shadow:none;text-transform:uppercase;border-radius:8px;font-size:20px;font-weight:550}.fan-page button:disabled{opacity:.5}.fan-page h1{text-align:center;text-transform:uppercase;margin:16px 0 8px;font-size:30px;font-weight:600;line-height:1.2}.fan-link-card.nfc-link-card{background:0 0;border:0;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex}.fan-link-card .nfc-link-heading,.fan-link-card .nfc-link-row>a,.fan-link-card .nfc-qr-row>small{display:none}.fan-link-card .nfc-link-row{flex-wrap:nowrap;gap:10px;margin-top:0}.fan-link-card .nfc-link-row code{text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:51px;font:inherit;border-radius:8px;padding:12px 20px;font-size:20px;overflow:hidden}.fan-link-card .nfc-link-row>button{border-radius:8px;flex:0 0 62px;min-height:51px}.fan-link-card .nfc-link-row svg{width:28px;height:28px}.fan-link-card .nfc-qr-row{order:1;justify-content:center;margin-top:14px}.fan-link-card .nfc-qr-button,.fan-link-card .nfc-qr-button img{border-radius:0}.fan-link-card .nfc-qr-button img{width:146px;height:146px}.fan-link-card .nfc-write-button{order:2;margin-top:14px}.fan-link-card .nfc-status-message{order:3}.fan-empty-url{border:1px solid var(--border);color:var(--muted);background:var(--field);text-align:center;border-radius:8px;padding:15px;font-size:14px}.fan-link-placeholder>button{margin-top:14px}.fan-social-row{grid-template-columns:minmax(0,1fr) 60px 60px;gap:10px;margin-top:14px;display:grid}.fan-social-row input,.fan-social-row button{border:1px solid var(--border);min-width:0;min-height:55px;color:var(--ink);background:var(--field);border-radius:8px}.fan-social-row input{width:100%;padding:12px 20px;font-size:20px}.fan-social-row button{place-items:center;display:grid}.fan-social-row button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-text)}.fan-footer{border-top:1px solid var(--border);gap:10px;margin-top:14px;padding-top:20px;display:grid}.fan-footer .secondary-button{text-transform:uppercase;border-radius:8px;width:100%;min-height:51px;margin:0;font-size:18px;font-weight:500}@media (width<=390px){.fan-social-row{grid-template-columns:minmax(0,1fr) 48px 48px;gap:8px}.fan-social-row input{padding-inline:14px;font-size:17px}}.app-shell.gallery-shell{max-width:1440px}.photo-gallery.gallery-page{width:100%;max-width:none;padding-top:32px}.photo-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,4vw,34px)}.photo-gallery .gallery-card{background:var(--surface-strong);box-shadow:none;border:0;border-radius:12px;padding:0;display:block;position:relative;overflow:hidden}.photo-gallery .gallery-thumb{aspect-ratio:4/5;width:100%;min-height:0;display:block;position:relative}.photo-gallery .gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-gallery .gallery-thumb>i{display:none}.photo-gallery .gallery-card-body{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.approved-badge{color:#fbf5f3;text-transform:uppercase;background:#ff366c;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:550;display:inline-flex}.gallery-thumb .approved-badge,.gallery-detail .session-source .approved-badge{width:auto;max-width:calc(100% - 20px);position:absolute;bottom:10px;left:auto;right:10px}@media (width>=760px){.photo-gallery .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.app-shell.gallery-shell:has(.photo-gallery){width:min(100%,1440px)}.photo-gallery .gallery-grid{gap:24px}.app-dialog.preview-dialog{background:0 0;border:0;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px)}.preview-dialog>img{width:min(calc(100vw - 48px), calc((100dvh - 48px) * var(--preview-ratio,1)));max-width:calc(100vw - 48px);height:auto;max-height:calc(100dvh - 48px)}}.gallery-detail.detail-page{width:min(100%,480px);padding-top:16px}.gallery-detail .session-hero{margin-bottom:0;display:block}.gallery-detail .session-source{aspect-ratio:3/4;background:var(--surface-strong);border-radius:8px;width:90%;min-height:0;margin:12px auto;display:block;position:relative;overflow:hidden}.gallery-detail .session-source>img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.detail-section{border:0;margin:12px 0}.detail-section>summary{cursor:pointer;text-align:center;text-transform:uppercase;min-height:46px;padding:12px 35px;font-size:18px;font-weight:550;list-style:none;position:relative}.detail-section>summary::-webkit-details-marker{display:none}.detail-section>summary:after{content:"⌄";position:absolute;right:12px}.detail-section[open]>summary:after{transform:rotate(180deg)}.gallery-detail .session-copy{padding:8px}.gallery-detail .session-copy h1{font-size:22px}.gallery-detail .session-copy>p{font-size:13px}.embedded-composer.photo-page.studio-photo{width:100%;padding:0}.embedded-composer .studio-selections{margin-top:10px}.embedded-composer .studio-create{width:100%;margin-top:0}.gallery-detail .history-run{background:var(--surface);border-radius:8px;margin-top:16px}.gallery-detail .history-output-grid{grid-template-columns:1fr;padding:12px}.gallery-detail .history-output{aspect-ratio:3/4;background:var(--surface-strong);border-radius:12px;width:100%;min-height:0}.gallery-detail .history-output img{object-fit:contain;width:100%;height:100%;min-height:0}.gallery-detail .history-run-header{padding:12px}.gallery-detail .history-run-header strong{font-size:11px}.gallery-detail .history-actions{padding:12px}.history-actions .delete-attempt-button{color:#fff;background:#e11d28;border-color:#e11d28;grid-column:1/-1}.history-actions .delete-attempt-button:hover:not(:disabled){background:#c91420;border-color:#c91420}.gallery-detail .is-published-btn{background:var(--accent);color:var(--accent-contrast);opacity:1}.gallery-detail .fan-link-card>h1{display:none}.gallery-detail .nfc-write-button{text-transform:uppercase;border-radius:8px}.original-result{background:var(--surface);border-radius:8px;margin-top:16px;padding:12px;position:relative}.original-result>img{object-fit:contain;border-radius:10px;width:100%;max-height:560px;display:block}.original-result>p{overflow-wrap:anywhere;font-size:12px}.final-upload-label{cursor:pointer;text-transform:uppercase;position:relative}.final-upload-label input{opacity:0;width:1px;height:1px;position:absolute}.final-upload-label:focus-within{outline:2px solid var(--accent-text);outline-offset:3px}.studio-admin.admin-page{width:min(100%,480px);padding-top:16px}.studio-admin.admin-catalog-page{width:min(100%,1100px)}.studio-admin .admin-tabs{background:var(--field);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));max-width:480px;margin:0 auto 20px;padding:2px}.studio-admin .admin-tabs button{border-radius:8px;min-height:38px;font-size:13px;font-weight:500}.studio-admin .admin-tabs button.active{color:var(--accent-contrast);background:var(--accent);box-shadow:none}.admin-defaults.admin-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.admin-defaults .admin-card-heading{display:none}.admin-defaults .admin-wide>span{color:var(--ink);font-size:14px;font-weight:500}.admin-defaults textarea{min-height:270px;font-size:14px;line-height:1.45}.admin-defaults .admin-field-grid{display:block}.admin-default-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-height:49px;display:grid}.admin-default-row>span{color:var(--ink);font-size:13px;font-weight:400}.admin-defaults>.primary-button{background:var(--accent);text-transform:uppercase;width:100%;box-shadow:none;border-radius:8px;margin-top:12px}.admin-extra-defaults>summary{color:var(--muted);cursor:pointer;font-size:12px}.admin-extra-defaults textarea{min-height:100px}.visual-catalog{border:0;min-width:0;margin:0;padding:0}.catalog-current{background:var(--field);text-transform:uppercase;border-radius:12px;place-items:center;width:min(100%,350px);min-height:120px;margin:28px auto;font-size:20px;display:grid;position:relative;overflow:hidden}.catalog-current>img{object-fit:contain;width:100%;height:auto;max-height:60vh;display:block}.catalog-current-caption{color:#fbf5f3;text-align:center;background:#171219d9;padding:10px;font-size:13px;position:absolute;bottom:0;left:0;right:0}.catalog-set-default{max-width:350px;margin:0 auto 20px}.catalog-group{background:var(--field);border-radius:9px;margin-bottom:14px;overflow:hidden}.catalog-group-header{align-items:center;gap:8px;min-height:60px;padding:0 10px;display:flex}.catalog-group-header button,.catalog-add-category{color:var(--ink);font:inherit;background:0 0;border:0}.catalog-group-header .catalog-plus{flex:0 0 32px;min-height:44px;font-size:24px}.catalog-group-header .catalog-edit{text-transform:uppercase;min-height:44px;padding:0 3px;font-size:10px}.catalog-group-header .catalog-group-toggle{text-transform:uppercase;overflow-wrap:anywhere;text-align:left;flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:60px;padding:8px;font-size:clamp(17px,4vw,25px);display:flex}.catalog-group-body{padding:0 16px 16px}.catalog-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.catalog-photo{min-width:0}.catalog-photo.inactive{opacity:.55}.catalog-photo-preview>button:not(.outfit-remove-button){background:var(--surface);border:2px solid #0000;width:100%;height:auto;padding:0;display:block;position:relative}.catalog-photo-preview>button:not(.outfit-remove-button).selected{border-color:var(--accent)}.catalog-photo-preview>button:not(.outfit-remove-button) img{object-fit:contain;width:100%;height:auto;display:block}.catalog-photo-preview>button:not(.outfit-remove-button) span{color:var(--accent-contrast);background:var(--accent);padding:4px;font-size:10px;position:absolute;bottom:0;right:0}.catalog-add-category{background:var(--field);border-radius:6px;width:44px;min-height:44px;font-size:24px}.catalog-category-edit{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.catalog-category-edit input{flex:1;min-width:100px}.catalog-item-edit{gap:6px;margin-top:8px;font-size:11px;display:grid}.catalog-item-edit label{gap:4px;display:grid}.catalog-item-edit input,.catalog-item-edit select,.catalog-category-edit input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;min-height:36px;font:inherit;border-radius:6px;padding:6px}.catalog-item-edit label.catalog-active{align-items:center;display:flex}.catalog-item-edit .catalog-active input{width:18px;min-height:18px}.visual-catalog>.category-create-form{margin-top:14px}@media (width>=760px){.catalog-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=1100px){.catalog-photo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.fan-public-page{color:#101820;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f3f3f4;min-height:100svh;padding:24px 16px}.fan-pickup-card{text-align:center;background:#fffefd;border:1px solid #eee;border-radius:8px;flex-direction:column;width:min(100%,430px);min-height:min(920px,100svh - 48px);margin:0 auto;padding:30px 20px 18px;display:flex;box-shadow:0 8px 35px #18212b0a}.fan-brand{justify-content:center;margin:12px 0 30px;display:flex}.fan-brand img{width:min(84%,310px);height:auto;display:block}.fan-state-content{flex:1}.fan-pickup-card h1{letter-spacing:-.9px;margin:0;font-size:clamp(25px,6.9vw,32px);font-weight:850;line-height:1.16}.fan-mascot-stage{isolation:isolate;width:100%;margin:20px auto 12px;position:relative}.fan-rays{width:30px;height:44px;color:var(--accent);pointer-events:none;position:absolute}.fan-rays path{stroke:currentColor;stroke-width:6px;stroke-linecap:round}.fan-rays-left{left:0}.fan-rays-right{right:0;transform:scaleX(-1)}.fan-mascot-stage .fan-rays{top:24%}.fan-state-consent .fan-rays-left{left:8%}.fan-state-consent .fan-rays-right{right:8%}.fan-state-ready .fan-mascot-stage .fan-rays{top:10%}.fan-state-ready .fan-rays-left{left:4%}.fan-state-ready .fan-rays-right{right:4%}.fan-photo-heading .fan-rays{width:26px;height:38px;top:5px}.fan-mascot-stage:after{content:"";z-index:-1;background:#fae9ed;border-radius:50%;width:60%;height:22px;position:absolute;bottom:0;left:20%}.fan-mascot{object-fit:contain;width:84%;height:310px;margin:0 auto;padding-bottom:5px;display:block}.fan-confirmation{text-align:left}.fan-confirmation-label{cursor:pointer;background:#fff;border:1px solid #e5e6e9;border-radius:12px;align-items:flex-start;gap:14px;padding:16px;font-size:12px;line-height:1.55;display:flex}.fan-confirmation-label span{white-space:pre-wrap;overflow-wrap:anywhere}.fan-confirmation-label input{width:25px;height:25px;accent-color:var(--accent);flex:0 0 25px;margin:3px 0 0}.fan-consent-links{color:#d80050;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:14px 0;display:flex}.fan-consent-links button{min-height:28px;color:inherit;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;font-weight:650;text-decoration:underline}.fan-button{border:2px solid var(--accent);background:var(--accent);color:#fff;width:100%;min-height:62px;font:inherit;text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;padding:15px 42px;font-size:21px;font-weight:800;line-height:1.2;text-decoration:none;display:flex;position:relative;box-shadow:0 10px 22px #ff366c14}.fan-confirmation>.fan-button:after,.fan-state-ready .fan-state-content>.fan-button:after{content:"→";font-size:32px;font-weight:400;position:absolute;right:24px}.fan-button:disabled{opacity:.45;box-shadow:none}.fan-button-outline{color:#a81751;box-shadow:none;background:#fff}.fan-public-page :is(button,a,input):focus-visible{outline-offset:4px;outline:3px solid #a81751}.fan-state-waiting h1{margin-top:12px}.fan-state-waiting .fan-mascot-stage{margin-top:48px;margin-bottom:36px}.fan-state-waiting .fan-mascot{height:330px}.fan-return{margin:0;font-size:24px;line-height:1.35}.fan-waiting-dots{justify-content:center;gap:13px;margin:36px 0;display:flex}.fan-waiting-dots span{background:var(--accent);border-radius:50%;width:18px;height:18px;animation:1.4s ease-in-out infinite fan-pulse}.fan-waiting-dots span:nth-child(2){animation-delay:.16s}.fan-waiting-dots span:nth-child(3){animation-delay:.32s}@keyframes fan-pulse{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.fan-waiting-dots span{animation:none}}.fan-state-ready h1{margin-top:12px;font-size:clamp(24px,6.2vw,29px)}.fan-state-ready .fan-mascot-stage{margin:46px auto 30px}.fan-state-ready .fan-mascot{height:350px}.fan-public-footer{color:#67717c;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:10px;display:flex}.fan-public-footer a{color:inherit;text-decoration:none}.fan-state-waiting>.fan-consent-links,.fan-state-ready>.fan-consent-links{margin-top:24px}.fan-photo-heading{margin:0 0 20px;padding-inline:28px;position:relative}.fan-photo-heading h1{font-size:clamp(24px,6.8vw,32px)}.fan-public-image{background:#edf0f2;border:5px solid #fff;border-radius:8px;display:block;overflow:hidden;box-shadow:0 4px 18px #18212b13}.fan-public-image img{width:100%;height:auto;display:block}.fan-photo-actions{gap:12px;margin-top:20px;display:grid}.fan-photo-actions .fan-button{min-height:58px;padding-inline:18px;font-size:19px}.fan-public-copy,.fan-share-message{margin:17px 0 20px;font-size:16px;line-height:1.45}.fan-public-copy a{color:#d80050;font-weight:800;text-decoration:none}.fan-store-card{color:#a81751;background:#ffe7ef;border:1px solid #ffc7db;border-radius:12px;justify-content:center;align-items:center;gap:15px;min-height:80px;padding:15px;font-size:15px;font-weight:750;text-decoration:none;display:flex}.fan-store-card span{font-size:26px}.fan-public-image-error{padding:30px 15px}.fan-info-dialog{color:#101820;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fffefd;border:1px solid #e5e6e9;border-radius:8px;width:min(92vw,420px);padding:24px}.fan-info-dialog p{white-space:pre-wrap;font-size:14px;line-height:1.6}.fan-info-dialog .fan-button{margin-top:16px;font-size:16px}.fan-privacy-dialog{text-align:left;max-height:calc(100dvh - 32px);padding:20px 16px;overflow-y:auto}.fan-privacy-dialog h2{margin:0 0 30px;font-size:22px;font-weight:800;line-height:1.2}.fan-privacy-copy{font-size:16px;line-height:1.43}.fan-privacy-copy>p,.fan-privacy-copy section{margin:0 0 24px}.fan-privacy-copy h3{font-size:inherit;line-height:inherit;margin:0;font-weight:750}.fan-privacy-copy p{font-size:inherit;line-height:inherit;white-space:normal;margin:0}.fan-privacy-copy section:last-child{margin-bottom:0}.fan-delete-dialog{text-align:left;padding:20px 16px}.fan-delete-dialog>p{margin:0;font-size:16px;line-height:1.4}.fan-dialog-actions{gap:10px;margin-top:24px;display:flex}.fan-dialog-actions .fan-button{text-transform:none;flex:1;min-height:48px;margin:0;padding:10px;font-size:15px}.fan-deleted-state{padding:60px 0 40px}.fan-deleted-state p{max-width:25ch;margin:18px auto 0;line-height:1.5}.gallery-deletion-badge{z-index:1;color:#fff;text-align:left;background:#b91c1c;border-radius:8px;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:5px 9px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex;position:absolute;top:10px;left:10px}.gallery-deletion-badge b{font-size:20px;line-height:.8}.session-deletion-notice{color:#b91c1c;background:#fff1f2;border:1px solid #b91c1c;border-radius:8px;margin:12px 0;padding:12px;font-size:13px;line-height:1.5}@media (width<=460px){.fan-public-page{background:#fffefd;padding:0}.fan-pickup-card{width:100%;min-height:100svh;box-shadow:none;padding-top:max(28px, env(safe-area-inset-top));padding-bottom:max(18px, env(safe-area-inset-bottom));border:0;border-radius:0}}@media (width<=360px){.fan-pickup-card{padding-inline:15px}.fan-mascot{height:260px}.fan-consent-links{gap:8px}.fan-consent-links button{font-size:12px}}.catalog-photo-preview{position:relative}.outfit-sortable>button:first-child{touch-action:none;cursor:grab}.outfit-sortable.is-dragging{z-index:5}.outfit-sortable.is-dragging>button:first-child{cursor:grabbing;opacity:.85;box-shadow:0 10px 28px var(--shadow)}.outfit-sortable img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.catalog-photo.outfit-drop-target{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px}.outfit-remove-button{color:#fff;background:#d52343;border:2px solid #fbf5f3;border-radius:5px;place-items:center;width:32px;height:32px;padding:0;font-size:24px;line-height:1;display:grid;position:absolute;bottom:6px;left:6px}.catalog-reorder-help{color:var(--muted);font-size:12px;line-height:1.5}.catalog-show-inactive{color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.delete-session-button{width:100%;min-height:48px;margin-top:24px;display:block}.settings-page{padding-top:20px}.settings-page>.admin-tabs{scrollbar-width:none;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.settings-page>.admin-tabs::-webkit-scrollbar{display:none}.settings-page>.admin-tabs button{padding-inline:4px}.settings-account{max-width:480px;margin:24px auto;padding:24px}.settings-account h2{overflow-wrap:anywhere;margin-top:0}.settings-account>p{color:var(--muted)}.settings-account .appearance-select{justify-content:space-between;margin:24px 0}.settings-account .account-logout{margin-top:24px}.clothing-quick-choices{align-items:center;gap:16px;padding-block:16px;display:flex}.clothing-quick-choices>.image-choice{flex:0 0 150px;width:150px;padding:0}.clothing-quick-choices>.image-choice img{object-fit:contain;height:180px}.clothing-quick-choices .original-clothing-option{flex:0 220px;align-self:center;width:auto;min-height:44px;margin:0;display:flex}.extra-picker-preview{object-fit:contain;width:100%;max-height:45dvh;margin:16px auto;display:block}.extra-picker .source-action{margin:20px 0}@media (width>=768px){.app-dialog.clothing-picker{width:min(1040px,100vw - 64px);max-height:calc(100dvh - 64px)}.clothing-picker .outfit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.clothing-picker .image-choice img{object-fit:contain;height:260px}}.clothing-picker .picker-modal-body{scrollbar-width:none;scrollbar-gutter:auto}.clothing-picker .picker-modal-body::-webkit-scrollbar{display:none}.extra-picker{width:min(100%,860px)}.extra-selection-count{color:var(--muted);font-size:13px}.extra-selected-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.extra-selected-list{gap:8px;padding:0;list-style:none;display:grid}.extra-selected-list li{border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.extra-selected-list img{object-fit:contain;width:48px;height:64px}.extra-selected-list li>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.extra-selected-actions{flex-wrap:wrap;display:flex}.extra-selected-actions button{width:36px;min-height:44px}.extra-catalog-group{margin-top:18px}.extra-catalog-group>summary{cursor:pointer;padding:12px 0;font-weight:650}.extra-catalog-group .image-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@media (width<=640px){.settings-page>.admin-tabs{grid-auto-columns:minmax(64px,1fr);overflow-x:auto}}.settings-select{min-width:0;position:relative}.settings-select-trigger{width:100%;min-height:42px;color:var(--ink);font:inherit;text-align:right;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-end;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.settings-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-select-trigger svg{flex-shrink:0;transform:rotate(90deg)}.settings-select-trigger:hover,.settings-select-trigger[aria-expanded=true]{background:var(--field);border-color:var(--accent)}.settings-select-options{z-index:30;border:1px solid var(--border-strong);background:var(--surface);width:max-content;min-width:0;max-width:min(360px,100vw - 48px);max-height:min(280px,40dvh);box-shadow:0 12px 32px var(--shadow);border-radius:8px;margin:0;padding:6px;position:fixed;inset:auto;overflow-y:auto}.settings-select-options button{width:100%;min-height:42px;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;font-size:13px;display:flex}.settings-select-options button span{overflow-wrap:anywhere}.settings-select-options button svg{flex-shrink:0}.settings-select-options button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-text)}.settings-select-options button:hover,.settings-select-options button:focus-visible{background:var(--surface-strong);outline:2px solid var(--accent);outline-offset:-2px}.settings-select-options button:disabled{opacity:.45}.select-field{gap:6px;min-width:0;font-size:12px;display:grid}.select-field>.settings-select{border:1px solid var(--border-strong);background:var(--field);border-radius:8px}.appearance-select>.settings-select{min-width:120px}
