.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton__content{gap:var(--space-2);display:grid}.skeleton__line{background:var(--surface-hover);border-radius:var(--radius-sm);max-inline-size:100%;display:block;position:relative;overflow:hidden}.skeleton__line:after{content:"";background:var(--fg-subtle);opacity:.1;animation:skeleton-shimmer 1.4s var(--ease-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.skeleton__line:last-child:not(:only-child){inline-size:70%!important}.skeleton__content[data-shape=rectangle] .skeleton__line{border-radius:var(--radius-lg)}.skeleton__content[data-shape=circle] .skeleton__line{aspect-ratio:1;border-radius:var(--radius-full)}.state-message{gap:var(--space-3);max-inline-size:36rem;padding:var(--space-8) var(--space-6);color:var(--fg);text-align:center;place-items:center;margin-inline:auto;display:grid}.state-message__description{max-inline-size:40ch;color:var(--fg-muted)}.state-message__action{margin-block-start:var(--space-2)}.page-state{min-block-size:100dvh;padding:var(--space-6);background:var(--bg-base);place-items:center;display:grid}.page-state .brand__name{color:var(--fg-muted)}.toast{z-index:var(--z-notifications);min-block-size:44px;max-inline-size:min(400px, calc(100vw - var(--space-8)));padding:var(--space-2);color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border);border-inline-start:var(--space-1) solid var(--success);border-radius:var(--radius-md);box-shadow:var(--shadow-float);animation:toast-enter var(--duration-base) var(--ease-out) both;align-items:center;padding-inline-start:var(--space-4);display:flex;position:fixed;inset-block-start:max(var(--space-4), env(safe-area-inset-top));inset-inline-end:max(var(--space-4), env(safe-area-inset-right))}.toast[data-kind=error]{border-inline-start-color:var(--danger)}.toast[data-kind=info]{border-inline-start-color:var(--info)}.toast__message{font:400 .875rem/1.5 var(--font-body);flex:1}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(calc(-1 * var(--space-2)))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.skeleton__line:after,.toast{animation:none}}
.theme-toggle{border:0;min-inline-size:0;margin:0;padding:0}.theme-toggle__options{background:var(--surface-hover);border-radius:var(--radius-full);grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:inline-grid}.theme-toggle__option{cursor:pointer;position:relative}.theme-toggle__option input{clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;position:absolute;overflow:hidden}.theme-toggle__option>span{block-size:30px;inline-size:36px;color:var(--fg-muted);border-radius:var(--radius-full);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);place-items:center;display:grid}.theme-toggle__option:hover>span{color:var(--fg)}.theme-toggle__option input:checked+span{color:var(--bg-elevated);background:var(--fg)}.theme-toggle__option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
:root{--font-display:var(--font-fraunces-loaded), "Iowan Old Style", Georgia, serif;--font-body:var(--font-bricolage-loaded), system-ui, sans-serif}.text-hero-title,.text-detail-title,.text-section-title,.text-card-title{font-family:var(--font-display);font-variation-settings:"SOFT" 30, "WONK" 0;text-wrap:balance;margin:0}.text-hero-title{letter-spacing:-.02em;font-size:clamp(2.5rem,6vw,4rem);font-weight:500;line-height:.98}.text-detail-title{letter-spacing:-.015em;font-size:clamp(1.75rem,2.4vw + .5rem,2.375rem);font-weight:500;line-height:1.05}.text-section-title{letter-spacing:-.005em;font-size:1.25rem;font-weight:500;line-height:1.2}.text-card-title{letter-spacing:-.01em;font-size:1.1875rem;font-weight:500;line-height:1.2}.text-body,.text-secondary,.text-label{font-family:var(--font-body);margin:0;font-weight:400}.text-body{font-size:1rem;line-height:1.55}.text-secondary{color:var(--fg-muted);font-size:.875rem;line-height:1.5}.text-label{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);font-size:.75rem;font-weight:600;line-height:1.4}.text-accent-italic{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;font-style:italic;font-weight:400}.numeric{font-variant-numeric:tabular-nums}
.admin-shell{min-block-size:100dvh;padding:var(--space-4);place-items:center;display:grid}.admin-login,.admin-dashboard{inline-size:min(100%,440px);padding:var(--space-8);gap:var(--space-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);display:grid}.admin-login__header,.admin-login__form,.admin-logout{gap:var(--space-4);display:grid}.admin-login__header>*,.admin-login__form>p,.admin-logout>p,.admin-dashboard>*{margin:0}.admin-shell--wide{padding-block:var(--space-8);align-items:start}.admin-worklist{inline-size:min(100%,960px);padding:var(--space-8);gap:var(--space-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);display:grid}.admin-worklist__header{gap:var(--space-2);display:grid}.admin-worklist__header>*{margin:0}.admin-dashboard__link,.admin-worklist__back{color:var(--accent);justify-self:start}.curation{gap:var(--space-6);display:grid}.curation-progress{padding:var(--space-4);gap:var(--space-2);background:var(--surface-glass);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid}.curation-progress>*{margin:0}.curation-progress__summary{font-weight:600}.curation-progress__bar{inline-size:100%;block-size:var(--space-2)}.curation-progress__fields{gap:var(--space-2) var(--space-6);color:var(--fg-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.curation-filter{gap:var(--space-1);justify-items:start;display:grid}.curation-filter__select{min-block-size:44px;padding-inline:var(--space-3);color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.curation-table__count{color:var(--fg-muted);margin:0}.curation-table{border-collapse:collapse;inline-size:100%}.curation-table th,.curation-table td{padding:var(--space-3);text-align:start;vertical-align:top;border-block-end:1px solid var(--border)}.curation-table thead th{color:var(--fg-muted);font-weight:600}.curation-table__name{display:block}.curation-table__id{color:var(--fg-subtle);font-weight:400;display:block}.curation-table__missing{gap:var(--space-2);flex-wrap:wrap;display:flex}.curation__pagination{gap:var(--space-3);justify-content:flex-end;display:flex}.correction-editor,.correction-field{gap:var(--space-4);display:grid}.correction-field{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg)}.correction-field label,.correction-field__source{gap:var(--space-2);display:grid}.correction-field textarea,.correction-field button{min-block-size:44px;padding:var(--space-3);color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.correction-field pre{padding:var(--space-3);white-space:pre-wrap;background:var(--surface-glass);overflow:auto}.correction-field__check{grid-template-columns:auto 1fr;align-items:center}.correction-field__warning,.correction-field__error{color:var(--danger)}.correction-field__success{color:var(--success)}.correction-field__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.quality{gap:var(--space-6);display:grid}.quality__block{gap:var(--space-3);display:grid}.quality__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.quality__mesure{gap:var(--space-1);display:grid}.quality__barre{background:var(--surface-hover);border-radius:var(--radius-full);block-size:6px;display:block}.quality__part{background:var(--accent);border-radius:var(--radius-full);block-size:100%;display:block}.quality__sources{gap:var(--space-3);margin:0;display:grid}.quality__source{gap:2px;display:grid}.quality__source dd{margin:0}
.festival-image{gap:var(--space-2);margin:0;display:grid}.festival-image picture,.festival-image img,.festival-image__fallback{border-radius:var(--radius-md);inline-size:100%}.festival-image img{background:var(--bg-elevated);block-size:auto}.festival-image figcaption{color:var(--fg-subtle);font-size:.75rem;line-height:1.5}.festival-image figcaption a{color:inherit;text-underline-offset:.2em}.festival-image__fallback{place-content:center;justify-items:center;gap:var(--space-2);min-block-size:12rem;color:var(--fg-muted);background:var(--bg-deep);border:1px solid var(--border);display:grid}.festival-image picture{display:block;overflow:hidden}.festival-image picture img{object-fit:cover;background:0 0;block-size:100%;inline-size:100%;display:block}
*,:before,:after{box-sizing:border-box}body{color:var(--fg);background:var(--bg-deep);font-family:var(--font-body);margin:0}img,picture,video,canvas,svg{max-inline-size:100%;display:block}
