.chip:is(a){text-decoration:none;&[aria-current]{background:var(--color-accent);font-weight:700}&[data-variant=tag]:not([aria-current]){background:var(--color-bg);border-color:var(--line)}}.chip[data-size=tap]{min-block-size:var(--tap);justify-content:center;min-inline-size:5.5rem}.status{&[data-consent=ok]{--_dot:var(--color-success);--_bg:var(--color-success-soft);padding-inline-start:.375rem;&:before{display:none}}&[data-consent=warn]{--_dot:var(--color-warning);--_bg:var(--color-warning-soft)}&[data-consent=wait]{--_dot:var(--color-accent-strong);--_bg:var(--color-accent-soft)}&[data-consent=none]{--_bg:var(--surface)}}.sub-title{align-items:center;gap:var(--space-2);font-size:1rem;font-weight:700;display:flex}.disclosure{border-block-start:1px solid var(--line);padding-block-start:var(--space-3);&>summary{min-block-size:var(--tap);color:var(--color-accent-strong);cursor:pointer;align-items:center;font-weight:600;list-style:none;display:flex;&::-webkit-details-marker{display:none}&:after{content:"";block-size:.5rem;inline-size:.5rem;border-block-end:1.75px solid;border-inline-end:1.75px solid;margin-inline-start:var(--space-2);translate:0 -2px;rotate:45deg}}&[open]>summary:after{translate:0 2px;rotate:225deg}&>:not(summary){margin-block-start:var(--space-3)}}.reasons{gap:var(--space-1);padding-inline-start:var(--space-4);list-style:outside;display:grid}.field-pair{gap:var(--space-4);display:grid;@media (width>=640px){grid-template-columns:repeat(2,minmax(0,1fr))}}@scope(.options){:scope{gap:var(--space-2);display:grid}:scope[data-columns="2"]{@media (width>=640px){grid-template-columns:repeat(2,minmax(0,1fr))}}legend{font-size:var(--text-small);margin-block-end:var(--space-2);font-weight:600}.option{align-items:flex-start;gap:var(--space-3);min-block-size:var(--tap);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;display:flex;&>span{gap:2px;display:grid}& input{accent-color:var(--color-ink);margin-block-start:.2rem}&:has(input:checked){border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}&:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}}}.check .hint{margin-block-start:2px;display:block}.question legend{margin-block-end:var(--space-2);font-weight:600}.consent-flow{& :is(.if-person,.if-minor,.if-adult,.if-have,.if-need,.if-stock,.if-stock-inline){display:none}&:has([name=hasPerson][value=yes]:checked) .if-person{display:block}&:has([name=hasPerson][value=yes]:checked):has([name=hasMinor][value=yes]:checked) .if-minor{display:grid}&:has([name=hasPerson][value=yes]:checked):has([name=hasMinor][value=no]:checked) .if-adult,&:has([name=consentMode][value=have]:checked) .if-have,&:has([name=consentMode][value=need]:checked) .if-need{display:block}&:has([name=source][value=stock]:checked){& .if-stock{display:block}& .if-stock-inline{display:inline}& :is(.if-own,.if-own-inline){display:none}}}:is(.ai-image,.upload,.photo-info form,.consent-record form,.library form).flow>[type=hidden]+:not([type=hidden]){margin-block-start:0}.library-stats{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);grid-template-columns:repeat(2,minmax(0,1fr));@media (width>=640px){grid-template-columns:repeat(3,minmax(0,1fr))}& .stat:last-child{grid-column:1/-1;@media (width>=640px){grid-column:auto}}& .storage{font-size:clamp(1.25rem,.9rem + 1vw,1.75rem)}& dd{font-size:clamp(1.75rem,1.3rem + 1.5vw,2.5rem)}}.search{gap:var(--space-2);display:flex;& input{min-inline-size:0;min-block-size:var(--tap);padding-inline:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--color-bg);font:inherit;flex:1}}.chips-row{padding-block:6px}.media-grid{--_min:10.5rem;grid-template-columns:repeat(auto-fill, minmax(min(var(--_min), 45%), 1fr));gap:var(--space-5) var(--space-4);display:grid;&[data-size=small]{--_min:8.5rem}}@scope(.media-card){:scope{align-content:start;gap:var(--space-2);min-inline-size:0;display:grid}.media-link,.media-select{gap:var(--space-2);color:inherit;text-decoration:none;display:grid}.media-frame{aspect-ratio:4/5;border-radius:var(--radius-md);background:var(--surface);place-items:center;display:grid;position:relative;overflow:hidden;& img{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}}.media-link:focus-visible .media-frame,.media-select:has(input:focus-visible) .media-frame{outline:2px solid var(--focus);outline-offset:2px}.media-select{cursor:pointer;position:relative;& input{z-index:1;block-size:1.5rem;inline-size:1.5rem;accent-color:var(--color-ink);position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}&:has(input:checked) .media-frame{box-shadow:0 0 0 3px var(--color-ink)}}.media-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.media-meta{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.usage,.media-licence{color:var(--text-muted);font-size:var(--text-caption);font-weight:500}.usage[data-used]{color:var(--text)}@media (hover:hover) and (pointer:fine){.media-link:hover .media-title{text-decoration:underline}}}.media-badges{gap:var(--space-1);display:flex;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.media-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-bg) 92%, transparent);min-block-size:1.5rem;color:var(--text);box-shadow:0 1px 3px color-mix(in srgb, var(--color-ink) 14%, transparent);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;font-weight:700;display:inline-flex;&[data-tone=ai]{background:var(--color-ink);color:var(--color-bg)}}.media-placeholder{justify-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-caption);font-weight:600;display:grid}:is(.consent-tools,.photo-info,.share-buttons) .button{white-space:normal}.empty-results{justify-items:start;gap:var(--space-3);display:grid}@scope(.drop-zone){:scope{gap:var(--space-3);display:grid}.drop-area{justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:radial-gradient(60% 60% at 25% 20%, var(--color-glow-blush), transparent 70%), radial-gradient(60% 60% at 80% 85%, var(--color-glow-lilac), transparent 70%), var(--color-canvas);text-align:center;cursor:pointer;display:grid;&:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}}:scope[data-over] .drop-area{border-color:var(--color-ink)}:scope[data-invalid] .drop-area{border-color:var(--color-error)}.badge{background:var(--color-bg);block-size:3.5rem;inline-size:3.5rem;color:var(--color-accent-strong);box-shadow:var(--shadow-card);border-radius:50%;place-items:center;display:grid}.picked{gap:var(--space-1);font-size:var(--text-small);display:grid;& li{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;display:flex}}}.photo-detail{gap:var(--space-6);margin-block-start:var(--space-4);display:grid;@media (width>=1024px){grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;& .photo-visual{position:sticky;inset-block-start:var(--space-5)}}}.photo-figure{border-radius:var(--radius-lg);background:var(--surface);place-items:center;min-block-size:16rem;margin:0;display:grid;position:relative;overflow:hidden;&>img{object-fit:contain;max-block-size:50dvh;inline-size:100%;@media (width>=1024px){max-block-size:75dvh}}}.ai-label{align-items:center;gap:var(--space-2);color:var(--text);font-size:var(--text-small);font-weight:600;display:inline-flex;& .icon{color:var(--color-accent-strong)}}.photo-info .meta{align-items:center;gap:var(--space-2);color:var(--text-muted);flex-wrap:wrap;display:flex}.facts{gap:var(--space-3) var(--space-5);display:grid;@media (width>=640px){grid-template-columns:repeat(2,minmax(0,1fr))}& dt{color:var(--text-muted);font-size:var(--text-caption);font-weight:600}& dd{margin:0;font-weight:600}& .break{overflow-wrap:anywhere}}.consent-records{gap:var(--space-3);display:grid}.consent-record{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);& .record-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}& .record-lines{color:var(--text-muted);font-size:var(--text-small);gap:2px;display:grid}}.switch-row{align-items:center;gap:var(--space-4);min-block-size:var(--tap);cursor:pointer;display:flex;& .body{flex:1;gap:2px;display:grid}}input.switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-surface-strong);cursor:pointer;flex:none;block-size:2rem;inline-size:3.25rem;position:relative;&:after{content:"";background:var(--color-bg);block-size:calc(2rem - 6px);inline-size:calc(2rem - 6px);box-shadow:0 1px 3px color-mix(in srgb, var(--color-ink) 30%, transparent);border-radius:50%;position:absolute;inset-block-start:3px;inset-inline-start:3px}&:checked{background:var(--color-ink);&:after{translate:1.25rem}}&:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:no-preference){transition:background-color var(--duration-fast) ease;&:after{transition:translate var(--duration-fast) var(--ease-out)}}}.logo-options,.photo-options{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));display:grid}.logo-option,.photo-option{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;place-items:center;display:grid;position:relative;overflow:hidden;& input{opacity:0;position:absolute}& img{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}& .media-badge{position:absolute;inset-block-start:4px;inset-inline-start:4px}&:has(input:checked){box-shadow:0 0 0 3px var(--color-ink)}&:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:4px}}.logo-none,.photo-option .none{padding:var(--space-2);color:var(--text-muted);font-size:var(--text-caption);text-align:center;font-weight:600}.logo-option:has(.logo-none){aspect-ratio:auto;grid-column:span 2}.motifs{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.motif{--_glow:var(--color-glow-blush);min-block-size:5rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:radial-gradient(80% 80% at 85% 10%, var(--_glow), transparent 70%), var(--color-bg);cursor:pointer;align-items:flex-end;font-weight:700;line-height:1.2;display:flex;position:relative;&:nth-child(3n+2){--_glow:var(--color-glow-lilac)}&:nth-child(3n){--_glow:var(--color-glow-peach)}& input{opacity:0;position:absolute}&:has(input:checked){border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}&:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}}.post-photo{& .photo-line,& .photo-lines{align-items:center;gap:var(--space-2);font-size:var(--text-small);flex-wrap:wrap;display:flex}& .photo-lines>p{flex-basis:100%}}.sources{gap:var(--space-2);border:0;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));display:grid;& .source{align-content:center;justify-items:center;gap:var(--space-1);min-block-size:4.5rem;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-bg);color:var(--text);font:inherit;font-size:var(--text-caption);text-align:center;cursor:pointer;font-weight:600;display:grid;& .icon{color:var(--color-accent-strong)}@media (hover:hover) and (pointer:fine){&:hover{border-color:var(--color-ink)}}@media (prefers-reduced-motion:no-preference){transition:transform var(--duration-fast) var(--ease-out);&:active{transform:scale(.97)}}}}.suggestions>.source{min-block-size:var(--tap);color:var(--color-accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.suggestion-row{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.suggestion{aspect-ratio:4/5;border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;border:0;inline-size:100%;padding:0;display:block;position:relative;overflow:hidden;& img{object-fit:cover;block-size:100%;inline-size:100%}& .media-badge{position:absolute;inset-block-start:4px;inset-inline-start:4px}&[aria-pressed=true]{box-shadow:0 0 0 3px var(--color-ink)}&:focus-visible{outline:2px solid var(--focus);outline-offset:2px}}.graphic-editor{gap:var(--space-6);margin-block-start:var(--space-4);display:grid;@media (width>=1024px){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;& .editor-canvas{position:sticky;inset-block-start:var(--space-5)}}}@scope(.live-preview){.canvas{border-radius:var(--radius-lg);background:var(--surface);inline-size:min(100%,30rem);box-shadow:var(--shadow-card);place-items:center;margin-inline:auto;display:grid;overflow:hidden;& img{block-size:auto;inline-size:100%}& .placeholder{aspect-ratio:4/5;inline-size:100%;color:var(--text-muted);place-items:center;display:grid}}.save-state{color:var(--text-muted);font-size:var(--text-caption);text-align:center;&[data-failed]{color:var(--color-error);font-weight:600}}.slide-strip{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex;& button{inline-size:3.5rem;min-block-size:var(--tap);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;place-items:center;padding:0;display:grid;position:relative;overflow:hidden;& img{block-size:auto;inline-size:100%}& span{color:var(--color-bg);text-shadow:0 1px 2px color-mix(in srgb, var(--color-ink) 70%, transparent);font-size:.75rem;font-weight:800;position:absolute;inset-block-end:2px;inset-inline-start:4px}&[aria-current]{box-shadow:0 0 0 3px var(--color-ink)}&.add{background:var(--color-canvas);border-style:dashed}}}.buttons{justify-content:center}.warnings{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-small);font-weight:600;display:grid;& li{gap:var(--space-2);display:flex}& .icon{flex:none}}}.crop{gap:var(--space-2);margin-block-start:var(--space-3);display:grid;& label{align-items:center;gap:var(--space-3);min-block-size:var(--tap);font-size:var(--text-small);grid-template-columns:9rem minmax(0,1fr);font-weight:600;display:grid}& input{accent-color:var(--color-ink)}}.template-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatches{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex;& .hint{flex:10rem}}.swatch{border:1px solid var(--line);border-radius:50%;block-size:1.75rem;inline-size:1.75rem}.color-fields{gap:var(--space-4);flex-wrap:wrap;display:flex}.color-field{align-items:center;gap:var(--space-2);min-block-size:var(--tap);font-weight:600;display:inline-flex;& input{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;block-size:2.75rem;inline-size:2.75rem;padding:0}}.caption-text{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}.template-grid{--tpl-accent:var(--color-accent);--tpl-bg:var(--color-glow-blush);--tpl-ink:var(--color-ink);gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));display:grid}.template-card{gap:var(--space-3);block-size:100%;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);grid-template-rows:auto 1fr auto;display:grid;& .template-body{align-content:start;gap:2px;display:grid}& .meta{color:var(--text-subtle);font-size:var(--text-caption);font-weight:600}}.template-art{aspect-ratio:4/3;padding:var(--space-4);border-radius:var(--radius-md);background:radial-gradient(70% 70% at 90% 10%, color-mix(in srgb, var(--tpl-accent) 70%, white), transparent 70%), color-mix(in srgb, var(--tpl-bg) 75%, white);color:var(--tpl-ink);align-items:flex-end;display:flex;position:relative;overflow:hidden;& .art-title{z-index:1;letter-spacing:-.02em;max-inline-size:70%;font-size:1.125rem;font-weight:800;line-height:1.1;position:relative}& .art-photo{inset-block:var(--space-3);border-radius:var(--radius-sm);background:linear-gradient(160deg, color-mix(in srgb, var(--tpl-accent) 55%, white), transparent), url("/img/hair-balayage-sm.webp") center / cover;inline-size:38%;position:absolute;inset-inline-end:var(--space-3)}&[data-template=black_friday]{background:var(--color-ink);color:var(--color-bg)}}