.media-library{width:100%;max-width:80rem;margin-inline:auto}.library-skip-link{z-index:200;color:var(--app-bg);background:var(--premium-cream);border-radius:.5rem;padding:.875rem 1rem;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-200%)}.library-skip-link:focus{transform:none}.library-scroll{scroll-padding-block:1.5rem}.library-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;margin:0 0 1.75rem;display:flex}.library-header h1{color:var(--text);font-size:var(--type-display);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.2}.library-header p{max-width:42rem;color:var(--muted-strong);margin:.5rem 0 0;font-size:.9375rem;line-height:1.5}.library-header>div{min-width:0}.library-chips{align-items:center;gap:.5rem;min-width:0;padding:.375rem .1875rem;display:flex}.library-chips button{min-height:var(--control-height);padding:var(--control-padding-block) 1rem;border:1px solid var(--line-strong);color:var(--muted-strong);background:var(--surface);border-radius:2rem;flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;line-height:1.3;display:inline-flex;position:relative}.library-chips button:after{content:"";position:absolute;inset:-.375rem 0}.library-chips button[aria-pressed=true]{color:var(--app-bg);background:var(--premium-cream);border-color:#0000}.library-chips button:active{opacity:.8}:where(:root:not([data-input-modality=pointer])) .library-chips button:focus-visible,:where(:root:not([data-input-modality=pointer])) .media-library a:focus-visible,:where(:root:not([data-input-modality=pointer])) .media-library button:focus-visible{outline:.125rem solid var(--focus);outline-offset:.1875rem}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));align-items:start;gap:1.75rem 1.125rem;display:grid}.collection-album{min-width:0}.collection-album>a{border-radius:.75rem;display:block}.library-character{align-items:center;gap:.625rem;min-width:0;padding:0 0 .75rem;display:flex}.library-character>img{object-fit:cover;object-position:center 18%;border-radius:50%;flex:none;width:2.5rem;height:2.5rem}.library-character>span{flex:1;gap:.1875rem;min-width:0;display:grid}.library-character strong{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.2}.library-character small{color:var(--muted-strong);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.35}.library-character>svg{width:1rem;height:1rem;color:var(--muted)}.library-media-cover{isolation:isolate;aspect-ratio:3/4;width:100%;color:var(--text);background:var(--surface);text-align:start;border:0;border-radius:.75rem;margin:0;padding:0;display:block;position:relative;overflow:hidden}.library-artwork{width:100%;height:100%;position:relative}.library-media-skeleton{background:var(--surface-raised);pointer-events:none;position:absolute;inset:0}.library-artwork>:is(img,video){position:relative}.library-artwork img{object-fit:cover;object-position:center top;width:100%;height:100%}.library-artwork :is(img,video),.library-character img,.library-gallery-identity>img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.library-media-badges{z-index:1;pointer-events:none;flex-wrap:wrap;gap:.375rem;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.library-badge{background:var(--app-background-glass);min-height:1.625rem;color:var(--text);border-radius:2rem;align-items:center;gap:.3125rem;padding:.3125rem .5625rem;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.library-badge svg{width:.8125rem;height:.8125rem}.library-cover-date{color:var(--text);background:var(--app-background-glass);border-radius:.375rem;padding:.3125rem .5rem;font-size:.75rem;line-height:1.25;position:absolute;bottom:.625rem;right:.625rem}.library-back{min-height:var(--control-height);color:var(--muted-strong);align-items:center;gap:.5rem;margin:-.375rem 0 .75rem;font-size:.875rem;display:inline-flex}.library-back svg{width:1.125rem;height:1.125rem}.library-gallery-identity{align-items:center;gap:.875rem;display:flex}.library-gallery-identity>img{object-fit:cover;object-position:center 18%;border-radius:50%;flex:none;width:3.5rem;height:3.5rem}.library-gallery-identity>div{min-width:0}.gallery-heading{margin-bottom:1.125rem}.library-text-button{min-height:var(--control-height);padding:var(--control-padding-block) .875rem;border:1px solid var(--line-strong);color:var(--text);background:var(--surface);border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;line-height:1.3;display:inline-flex}.library-text-button svg{width:1.125rem;height:1.125rem}.library-filter-bar{justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-bottom:1.25rem;display:flex}.library-filters{flex-wrap:wrap;row-gap:.875rem}.library-result-count{color:var(--muted-strong);flex:none;font-size:.8125rem}.library-media-tile{min-width:0}.library-media-caption{color:var(--muted-strong);flex-wrap:wrap;justify-content:space-between;gap:.375rem .75rem;margin-top:.625rem;font-size:.8125rem;line-height:1.35;display:flex}.library-locked-preview{background:radial-gradient(ellipse at 20% 20%, color-mix(in srgb, var(--brand-ember) 24%, transparent), transparent 65%), radial-gradient(ellipse at 80% 70%, color-mix(in srgb, var(--brand-plum) 46%, transparent), transparent 72%), var(--surface);place-items:center;display:grid;position:absolute;inset:0}.library-locked-preview>svg{width:1.75rem;height:1.75rem;color:var(--taupe-soft)}.library-unlock-price{background:var(--app-bg);border-radius:2rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.625rem;padding:.5rem .875rem;font-size:1rem;display:inline-flex;position:absolute;bottom:1.125rem;left:50%;transform:translate(-50%)}.library-unlock-price .amora-mark{width:1.25rem;height:1.5rem}.library-asset-slot{border:1px dashed var(--line-strong);border-radius:inherit;background:var(--surface);width:100%;height:100%;min-height:10rem;color:var(--muted-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;padding:1rem;font-size:.875rem;line-height:1.5;display:flex}.library-asset-slot>svg{width:1.75rem;height:1.75rem}.library-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;min-height:min(55vh,28rem);padding:2.5rem 1rem;display:flex}.library-empty>svg{width:2rem;height:2rem;color:var(--taupe-soft);margin-bottom:.375rem}.library-empty h2{font-size:var(--type-heading);margin:0;line-height:1.3}.library-empty p{max-width:27rem;color:var(--muted-strong);margin:0 0 .375rem;font-size:.9375rem;line-height:1.5}.library-viewer{border:1px solid var(--line);background:var(--app-bg);width:min(100% - 2rem,70rem);max-width:none;height:min(100dvh - 2rem,62rem);max-height:none;color:var(--text);overscroll-behavior:contain;border-radius:.875rem;margin:auto;padding:0;overflow:hidden}.library-viewer[open]{flex-direction:column;display:flex}.library-viewer::backdrop{background:var(--overlay-backdrop)}.library-viewer-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.library-viewer-header .library-character{padding:0}.library-viewer-header .library-character>img{width:2.25rem;height:2.25rem}.library-icon-button{border:1px solid var(--line);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text);border-radius:50%;flex:none;place-items:center;padding:.625rem;display:inline-grid}.library-icon-button>svg{width:1.25rem;height:1.25rem}.library-icon-button:disabled{opacity:.3;cursor:default}:where(:root:not([data-input-modality=pointer])) .library-viewer :is(button,a):focus-visible{outline:.125rem solid var(--focus);outline-offset:.1875rem}.library-viewer-stage{flex:1;min-width:0;min-height:0;padding:.75rem 1rem}.library-artwork.is-viewer{grid-template-rows:minmax(0,1fr);place-items:center;min-height:0;display:grid}.library-artwork.is-viewer :is(img,video){object-fit:contain;width:100%;height:100%;min-height:0;display:block}.library-retry{position:absolute;bottom:1rem}.library-viewer-footer{color:var(--muted-strong);flex:none;justify-content:center;align-items:center;gap:1rem;padding:.375rem 1rem .75rem;font-size:.875rem;display:flex}@media (hover:hover){.library-chips button:not([aria-pressed=true]):hover,.library-text-button:hover,.library-icon-button:not(:disabled):hover{background:var(--surface-raised);color:var(--text)}.collection-album>a:hover .library-character>svg,.library-back:hover{color:var(--text)}}@media (max-width:700px){.library-header{align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.library-header p{font-size:.875rem}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:1.25rem .75rem}.library-character{gap:.4375rem;padding-bottom:.625rem}.library-character>img{width:2rem;height:2rem}.library-character strong{font-size:.9375rem}.library-character>svg{display:none}.library-media-badges{top:.5rem;left:.5rem;right:.5rem}.library-badge{font-size:.75rem}.library-gallery-identity>img{width:2.75rem;height:2.75rem}.library-filter-bar{flex-wrap:wrap;gap:.5rem}.library-filters{width:100%}.library-result-count{margin-inline-start:.1875rem}.library-chips button{padding-inline:.75rem}.library-viewer{border:0;border-radius:0;width:100%;height:100dvh;margin:0}.library-viewer-header{padding-top:max(.75rem, env(safe-area-inset-top));padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right))}.library-viewer-stage{padding:.5rem}.library-viewer-footer{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}}@media (max-height:500px){.library-viewer{border:0;border-radius:0;width:100%;height:100dvh;margin:0}.library-viewer-header{padding-block:max(.25rem, env(safe-area-inset-top)) .25rem;padding-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right))}.library-viewer-footer{padding-block:.25rem max(.25rem, env(safe-area-inset-bottom))}}.library-pagination{color:var(--muted-strong);flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;font-size:.875rem;display:flex}.library-pagination button:disabled{opacity:.4;cursor:default}.library-header h1,.library-empty h2{text-wrap:balance}.library-header p,.library-empty p{text-wrap:pretty}.library-result-count,.library-unlock-price,.library-viewer-footer,.library-character small{font-variant-numeric:tabular-nums}
