html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7f7f8;color:#18181b}body{margin:0}.shell{max-width:52rem;margin:0 auto;padding:2rem 1rem}.card{background:#fff;border:1px solid #e4e4e7;border-radius:1rem;padding:1.25rem}h1{font-size:clamp(1.8rem,7vw,3rem);line-height:1.05}.muted{color:#52525b}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
.card+.card{margin-top:1rem}
label{display:block;font-weight:600;margin-top:1rem}
input,select,button{font:inherit}
input,select{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #a1a1aa;border-radius:.6rem;background:Canvas;color:CanvasText}
button{margin-top:1rem;padding:.7rem 1rem;border:1px solid #71717a;border-radius:.6rem;background:ButtonFace;color:ButtonText}
.notice,.error{padding:1rem;border:1px solid #a1a1aa;border-radius:.75rem;margin-bottom:1rem}
.error{border-width:2px}
.inline{display:inline}
.inline button{margin:.25rem}
a{color:inherit}

.page-head,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:#52525b;margin-bottom:.35rem}
h2{margin-top:0}
.button-link{display:inline-block;padding:.7rem 1rem;border:1px solid #71717a;border-radius:.6rem;text-decoration:none}
.group-row,.member-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid #e4e4e7;text-decoration:none}
.group-row:first-of-type,.member-row:first-of-type{border-top:0}
.group-row small,.member-row small{display:block;color:#52525b;margin-top:.2rem}
.badge{display:inline-block;border:1px solid #a1a1aa;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;white-space:nowrap}
.preview-box{margin:1rem 0;padding:1rem;border:1px dashed #71717a;border-radius:.75rem}
.action-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.collection-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 0;border-top:1px solid #e4e4e7}.collection-row:first-of-type{border-top:0}.collection-main{min-width:0}.collection-main strong,.collection-main small{display:block}.collection-main small{color:#52525b;margin-top:.25rem}.collection-meta{flex:0 0 auto}.empty-state{padding:.5rem 0}.empty-state h3{margin-bottom:.4rem}@media(max-width:32rem){.collection-row{flex-direction:column}.collection-meta{align-self:flex-start}}
.app-nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,Canvas 94%,transparent);border-bottom:1px solid #e4e4e7;backdrop-filter:blur(12px)}.app-nav-inner{max-width:52rem;margin:0 auto;padding:.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-brand{font-weight:750;text-decoration:none}.app-menu{position:relative}.app-menu summary{list-style:none;cursor:pointer;border:1px solid #a1a1aa;border-radius:.6rem;padding:.45rem .7rem;font-size:1.25rem;line-height:1}.app-menu summary::-webkit-details-marker{display:none}.app-menu nav{position:absolute;right:0;top:calc(100% + .45rem);min-width:13rem;background:Canvas;border:1px solid #a1a1aa;border-radius:.75rem;padding:.45rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12)}.app-menu nav a,.app-menu nav button{display:block;width:100%;box-sizing:border-box;text-align:left;padding:.65rem .75rem;margin:0;border:0;background:transparent;border-radius:.45rem;text-decoration:none}.app-menu nav a:hover,.app-menu nav button:hover{background:#e4e4e7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.check-row{display:flex;align-items:center;gap:.6rem;font-weight:500}.check-row input,.import-check input{width:auto}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0}.summary-grid .card{margin:0;text-align:center;padding:.8rem}.summary-grid strong,.summary-grid small{display:block}.summary-grid strong{font-size:1.5rem}.import-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.85rem 0;border-top:1px solid #e4e4e7;margin:0;font-weight:400}.import-row:first-of-type{border-top:0}.import-main{min-width:0}.import-main strong,.import-main small{display:block}.import-main small{color:#52525b;margin-top:.2rem}.status-new{font-weight:650}.status-unclear{border-style:dashed}@media(max-width:32rem){.summary-grid{grid-template-columns:repeat(2,1fr)}.import-row{grid-template-columns:auto 1fr}.import-row>.badge{grid-column:2;justify-self:start}.app-nav-inner{padding-top:max(.65rem,env(safe-area-inset-top))}}

/* v0.3.3a-ui-fix:start */
.app-nav{background:rgba(247,247,248,.96);color:#18181b;border-bottom-color:#d4d4d8}.app-brand{color:#18181b}.app-menu summary{background:#fff;color:#18181b;border-color:#71717a}.app-menu nav{background:#fff;color:#18181b;border-color:#a1a1aa}.app-menu nav a,.app-menu nav button{color:#18181b;background:transparent}.app-menu nav a:hover,.app-menu nav button:hover,.app-menu nav a:focus-visible,.app-menu nav button:focus-visible{background:#e4e4e7}@media(max-width:32rem){.page-head{display:block}.page-head>.action-row{margin-top:1rem}.page-head>.action-row .button-link{flex:1 1 100%;text-align:center}}
/* v0.3.3a-ui-fix:end */

/* v0.3.4-collection-browse:start */
.collection-filter{margin:1rem 0}.collection-filter>label:first-child{margin-top:0}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.filter-grid label{margin-top:.8rem}.filter-actions button{margin-top:0}.collection-summary{display:flex;align-items:baseline;gap:.45rem;margin:1rem .2rem .55rem;color:#52525b}.collection-summary strong{font-size:1.35rem;color:#18181b}.collection-list{background:#fff;border:1px solid #e4e4e7;border-radius:1rem;overflow:hidden}.collection-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .75rem;padding:.9rem 1rem;border-top:1px solid #e4e4e7;text-decoration:none}.collection-item:first-child{border-top:0}.collection-item:hover,.collection-item:focus-visible{background:#f4f4f5}.collection-title{font-weight:700;min-width:0}.collection-subline{grid-column:1;color:#52525b;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-item-meta{grid-column:2;grid-row:1 / span 2;display:flex;gap:.35rem;align-items:center}.pager{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0}.pager .disabled{opacity:.45}.detail-actions{margin:1rem 0}.detail-stack{display:grid;gap:1rem}.detail-stack .card{margin:0}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:minmax(7rem,30%) 1fr;gap:1rem;padding:.65rem 0;border-top:1px solid #e4e4e7}.detail-list>div:first-child{border-top:0}.detail-list dt{font-weight:650;color:#52525b}.detail-list dd{margin:0;min-width:0}.preline{white-space:pre-line}.edit-form textarea{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #a1a1aa;border-radius:.6rem;background:Canvas;color:CanvasText;font:inherit;resize:vertical}.edit-form>.card+.card{margin-top:1rem}.import-top-action{position:sticky;top:4.2rem;z-index:10;display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;margin:.75rem 0;background:rgba(247,247,248,.97);border:1px solid #d4d4d8;border-radius:.75rem;backdrop-filter:blur(10px)}.import-top-action button{margin:0}.import-top-action small{color:#52525b}
@media(max-width:32rem){.filter-grid{grid-template-columns:1fr}.collection-item{grid-template-columns:minmax(0,1fr)}.collection-subline{grid-column:1}.collection-item-meta{grid-column:1;grid-row:auto;margin-top:.35rem}.pager{flex-wrap:wrap}.pager>span:not(.button-link){order:-1;flex-basis:100%;text-align:center}.detail-list>div{grid-template-columns:1fr;gap:.2rem}.import-top-action{top:4.65rem;display:block}.import-top-action small{display:block;margin-top:.45rem}}
/* v0.3.4-collection-browse:end */

/* v0.3.5-search-filter:start */
.collection-search{margin:1rem 0}.simple-search-card>label:first-child{margin-top:0}.search-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.search-line button{margin:0;min-height:3rem}.search-tools{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-start;margin-top:.8rem}.filter-panel{position:relative}.filter-panel>summary{list-style:none;cursor:pointer;display:inline-block;padding:.7rem 1rem;border:1px solid #71717a;border-radius:.6rem;background:#fff}.filter-panel>summary::-webkit-details-marker{display:none}.filter-panel-body{margin-top:.65rem;padding:1rem;border:1px solid #d4d4d8;border-radius:.8rem;background:#fff}.filter-panel[open]{flex:1 1 100%}.filter-panel[open]>.filter-panel-body{width:auto}.search-mode-link{white-space:nowrap}.advanced-search-card{margin-top:1rem}.advanced-search-card h2{margin-bottom:.25rem}.advanced-grid{margin-bottom:1rem}.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.range-filter{min-width:0;margin:0;padding:.9rem;border:1px solid #d4d4d8;border-radius:.8rem}.range-filter legend{font-weight:700;padding:0 .25rem}.range-enable{margin-top:0;font-size:.9rem}.range-values{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin:.8rem 0 .45rem;font-variant-numeric:tabular-nums}.range-values output{font-weight:650}.dual-range{position:relative;height:2rem;--low:0%;--high:100%}.dual-range::before{content:"";position:absolute;left:0;right:0;top:.85rem;height:.3rem;border-radius:999px;background:linear-gradient(to right,#d4d4d8 0 var(--low),#71717a var(--low) var(--high),#d4d4d8 var(--high) 100%)}.dual-range input[type=range]{position:absolute;inset:0;width:100%;height:2rem;margin:0;padding:0;border:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none}.dual-range input[type=range]::-webkit-slider-runnable-track{height:.3rem;background:transparent}.dual-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.35rem;height:1.35rem;margin-top:-.52rem;border:2px solid #52525b;border-radius:50%;background:#fff;pointer-events:auto}.dual-range input[type=range]::-moz-range-track{height:.3rem;background:transparent}.dual-range input[type=range]::-moz-range-thumb{width:1.2rem;height:1.2rem;border:2px solid #52525b;border-radius:50%;background:#fff;pointer-events:auto}.search-hint{font-size:.9rem}.active-filters{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.8rem 0}.filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid #a1a1aa;border-radius:999px;text-decoration:none;background:#fff;font-size:.86rem}.clear-filters{font-size:.86rem}.collection-item:not(:has(.collection-subline)){grid-template-rows:auto}.collection-item:not(:has(.collection-subline)) .collection-item-meta{grid-row:1}.collection-item-meta{align-self:center}
@media(max-width:44rem){.range-grid{grid-template-columns:1fr}.advanced-grid{grid-template-columns:1fr 1fr}}
@media(max-width:32rem){.search-line{grid-template-columns:1fr}.search-line button{width:100%}.search-tools{display:grid;grid-template-columns:1fr 1fr}.filter-panel>summary,.search-mode-link{display:block;text-align:center;width:100%;box-sizing:border-box}.filter-panel[open]{grid-column:1 / -1}.filter-panel-body{padding:.8rem}.advanced-grid{grid-template-columns:1fr}.active-filters{margin-top:.65rem}.collection-item-meta{flex-wrap:wrap}}
/* v0.3.5-search-filter:end */

/* v0.3.5d-ios-form-controls:start */
/*
 * The current application surface is a light theme. iOS/Safari must therefore
 * not infer dark native form controls from the device setting.
 */
html{color-scheme:light}
input,select,textarea{
    background:#fff;
    color:#18181b;
    -webkit-text-fill-color:#18181b;
    border-color:#a1a1aa;
}
input::placeholder,textarea::placeholder{
    color:#71717a;
    opacity:1;
    -webkit-text-fill-color:#71717a;
}
input:disabled,select:disabled,textarea:disabled{
    background:#f4f4f5;
    color:#71717a;
    -webkit-text-fill-color:#71717a;
    opacity:1;
}
button{
    background:#fff;
    color:#18181b;
    border-color:#71717a;
    opacity:1;
}
button:disabled{
    background:#e4e4e7;
    color:#71717a;
    opacity:.72;
    cursor:not-allowed;
}
button:not(:disabled):active,.button-link:active,.filter-panel>summary:active{
    background:#f4f4f5;
}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.button-link:focus-visible,.filter-panel>summary:focus-visible{
    outline:3px solid #a1a1aa;
    outline-offset:2px;
}
input[type=search]{
    -webkit-appearance:none;
    appearance:none;
}
.collection-search input,.collection-search select{
    background:#fff;
    color:#18181b;
    -webkit-text-fill-color:#18181b;
}
.search-line button{
    background:#fff;
    color:#18181b;
}
.dual-range input[type=range]{
    -webkit-text-fill-color:initial;
}
/* v0.3.5d-ios-form-controls:end */

/* v0.3.5e-slider-values:start */
.range-values{
    justify-content:space-between;
    padding:.45rem .6rem;
    border-radius:.55rem;
    background:#f4f4f5;
}
.range-values>span{display:flex;gap:.3rem;align-items:baseline}
.range-values output{font-size:1.05rem}
.dual-range{margin-top:1.6rem}
.range-bubble{
    position:absolute;
    z-index:5;
    top:-1.75rem;
    transform:translateX(-50%);
    min-width:2.4rem;
    padding:.22rem .42rem;
    border:1px solid #71717a;
    border-radius:.45rem;
    background:#18181b;
    color:#fff;
    text-align:center;
    font-size:.82rem;
    font-weight:700;
    font-variant-numeric:tabular-nums;
    pointer-events:none;
    white-space:nowrap;
}
.range-bubble[hidden]{display:none}
@media(max-width:32rem){
    .range-values{font-size:.95rem}
    .range-values output{font-size:1.1rem}
}
/* v0.3.5e-slider-values:end */

/* v0.3.5f-db-range-slider:start */
.dual-range{
    height:4.2rem;
    margin-top:.8rem;
}
.dual-range::before{
    top:2.65rem;
}
.dual-range input[type=range]{
    top:1.8rem;
    bottom:auto;
    height:2rem;
}
.range-bubble{
    top:0;
    display:block;
    min-width:2.8rem;
    transition:transform .08s ease, box-shadow .08s ease;
}
.range-bubble-low{left:var(--low)}
.range-bubble-high{left:var(--high)}
.range-bubble.is-active{
    transform:translateX(-50%) scale(1.12);
    box-shadow:0 3px 12px rgba(0,0,0,.25);
}
.range-source{
    margin:.15rem 0 0;
    font-size:.78rem;
    color:#71717a;
}
.range-empty{
    margin:.7rem 0 .2rem;
    padding:.7rem;
    border-radius:.55rem;
    background:#f4f4f5;
    color:#52525b;
}
.range-unavailable{
    background:#fafafa;
}
@media(max-width:32rem){
    .range-bubble{
        font-size:.9rem;
        min-width:3rem;
        padding:.28rem .48rem;
    }
}
/* v0.3.5f-db-range-slider:end */

/* v0.3.6-metadata-enrichment:start */
.metadata-coverage .card strong{font-variant-numeric:tabular-nums}
.metadata-change,.metadata-conflict{display:flex!important;flex-wrap:wrap;gap:.35rem .7rem}
.metadata-change span{padding:.15rem .35rem;border-radius:.35rem;background:#f4f4f5;color:#18181b}
.metadata-conflict span{padding:.15rem .35rem;border-radius:.35rem;border:1px dashed #71717a;color:#3f3f46}
.status-update{font-weight:700}
.status-conflict,.status-invalid,.status-ambiguous,.status-not_found{border-style:dashed}
@media(max-width:32rem){
    .page-head>.action-row{display:grid;grid-template-columns:1fr}
    .page-head>.action-row .button-link{width:100%;box-sizing:border-box}
}
/* v0.3.6-metadata-enrichment:end */

/* v0.3.8: local decorative background; content remains fully opaque. */
body{position:relative;isolation:isolate;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("../images/meeple.svg") right 5vw bottom 8vh / min(65vw,34rem) auto no-repeat;opacity:.055}
.group-settings{margin-top:1rem}.group-settings>summary{cursor:pointer;font-weight:650;padding:.25rem 0}
.leave-confirm{display:flex;align-items:flex-start;gap:.6rem}.leave-confirm input{width:1.25rem;height:1.25rem;flex:0 0 auto;margin:.15rem 0}
@media print{body::before{display:none}}

/* v0.3.9: role editor uses a separate full-width row on small screens. */
.member-role-row{flex-wrap:wrap}.member-role-row>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.member-role-controls{flex:0 0 100%;min-width:0}.member-role-controls>summary{cursor:pointer;padding:.5rem 0}
.member-role-controls form{padding:.75rem;border:1px solid #e4e4e7;border-radius:.6rem}
.member-role-controls label{margin-top:0}.member-role-controls select{max-width:100%}

/* Partien: mobile touch targets, no external assets. */
.play-people { border: 1px solid #ddd; border-radius: 12px; margin: 1.2rem 0; padding: 1rem; min-width: 0; }
.play-person { display: flex; align-items: center; gap: .75rem; min-height: 44px; overflow-wrap: anywhere; }
.play-person input[type=checkbox] { flex: 0 0 24px; width: 24px; height: 24px; margin: 0; }
.play-notes { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Ranking enhancement; only the drag handle captures touch gestures. */
[data-ranking-form] [hidden] { display: none !important; }
.ranking-ready .ranking-manual { display: none; }
.ranking-heading { display:flex; gap:.65rem; align-items:center; margin-bottom:.8rem; }
.ranking-name { flex:1; min-width:0; overflow-wrap:anywhere; }
.ranking-name strong { display:block; }
.ranking-name .badge { margin-top:.35rem; }
.ranking-handle { touch-action:none; user-select:none; -webkit-user-select:none; cursor:grab; }
.ranking-handle, .ranking-arrows button { min-width:44px; min-height:44px; padding:.4rem; margin:0; }
.ranking-arrows { display:flex; gap:.35rem; }
.ranking-arrows button:disabled { opacity:.35; }
.ranking-card.is-dragging { outline:3px solid #3974a5; background:#eef6fc; }
.ranking-tie, .ranking-confirm { display:flex; align-items:center; gap:.7rem; min-height:44px; margin:1rem 0; }
.ranking-tie input, .ranking-confirm input { flex:0 0 24px; width:24px; height:24px; margin:0; }

[data-game-picker] [hidden] { display:none !important; }
.game-matches { max-height:16rem; overflow-y:auto; border:1px solid #aaa; border-radius:10px; background:#fff; margin:.4rem 0; overscroll-behavior:contain; }
.game-match { padding:.8rem; min-height:44px; box-sizing:border-box; cursor:pointer; overflow-wrap:anywhere; border-bottom:1px solid #eee; }
.game-match[aria-selected="true"] { background:#e8f2fb; outline:2px solid #3974a5; outline-offset:-2px; }

/* Native radio stars: touch/keyboard usable without JavaScript. */
.rating-stars{border:0;padding:0;margin:1.25rem 0;min-width:0}
.rating-stars legend{font-weight:700;padding:0}
.star-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem;max-width:24rem}
.star-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;margin:0;border:1px solid #a1a1aa;border-radius:.6rem;cursor:pointer;color:#52525b}
.star-choice input{position:absolute;width:1px;height:1px;opacity:0;padding:0}
.star-choice .star-glyph{font-size:1.9rem;line-height:1.1;color:#9b9b9b}
.star-choice:has(input:checked){border:2px solid #155b8c;background:#e8f2fb;font-weight:700}
.star-choice:focus-within{outline:3px solid #155b8c;outline-offset:2px}
.rating-unset{display:flex;align-items:center;gap:.6rem;min-height:44px;font-weight:400;margin-top:.5rem}
.rating-unset input{width:22px;height:22px;margin:0;flex:0 0 auto}
.rating-details{margin:1.2rem 0;padding:.8rem 0;border-top:1px solid #ddd}
.rating-details>summary{cursor:pointer;font-weight:650;min-height:44px;padding:.5rem 0}
.star-options:has(label:nth-child(1) input:checked) label:nth-child(-n+1) .star-glyph{color:#9a6500}
.star-options:has(label:nth-child(2) input:checked) label:nth-child(-n+2) .star-glyph{color:#9a6500}
.star-options:has(label:nth-child(3) input:checked) label:nth-child(-n+3) .star-glyph{color:#9a6500}
.star-options:has(label:nth-child(4) input:checked) label:nth-child(-n+4) .star-glyph{color:#9a6500}
.star-options:has(label:nth-child(5) input:checked) label:nth-child(-n+5) .star-glyph{color:#9a6500}

.result-photo{border-top:1px solid #ddd;padding:1rem 0;overflow-wrap:anywhere}
.result-photo>a{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.result-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:20rem;object-fit:contain;border:1px solid #ddd;border-radius:.5rem}
.result-photo details{margin-top:.75rem}.result-photo summary{cursor:pointer;padding:.5rem 0}
.result-photos input[type=file]{max-width:100%;min-width:0}

/* Personal collection ratings: wrap on narrow screens, no fixed width. */
.collection-rating{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.2rem .8rem;font-size:.9rem;min-width:0}.collection-stars{white-space:nowrap;letter-spacing:.04em}

/* v0.3.20: personal filters stay visible, supplementary filters are collapsible. */
.collection-rating-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:end;margin-top:1rem;padding-top:1rem;border-top:1px solid #e4e4e7}
.collection-rating-filters>div{min-width:0}
.collection-rating-filters label{margin-top:0}
.collection-rating-filters select{width:100%;min-width:0}
.collection-rating-filters .check-row{display:flex;align-items:center;gap:.65rem;min-height:3rem;margin:0;padding:.65rem .8rem;border:1px solid #a1a1aa;border-radius:.6rem;box-sizing:border-box;cursor:pointer}
.collection-rating-filters .check-row input{flex:0 0 auto;width:1.3rem;height:1.3rem;margin:0}
.rating-filter-actions{display:flex;justify-content:flex-start}
.rating-filter-actions button{margin:0;min-height:2.75rem}
.collection-search .filter-panel>summary::after{content:" ＋";font-weight:700}
.collection-search .filter-panel[open]>summary::after{content:" −"}
.active-filter-label{font-size:.9rem;font-weight:700}
.active-filters .filter-chip{min-height:2.75rem;box-sizing:border-box;background:#eef2ff;border-color:#818cf8;color:#312e81;overflow-wrap:anywhere}
.active-filters .clear-filters{display:inline-flex;align-items:center;min-height:2.75rem}
.collection-rating-score{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem;padding:.25rem .5rem;border-radius:.5rem;background:#fff7df;color:#533b0a}
.collection-rating-score .collection-stars{font-size:1.1rem;color:#805400}
@media(max-width:40rem){.collection-rating-filters{grid-template-columns:minmax(0,1fr);gap:.8rem}.rating-filter-actions button{width:100%}.collection-search .search-tools{display:flex;flex-direction:column;align-items:stretch}.collection-search .filter-panel[open]{flex:auto}.collection-search .search-mode-link{white-space:normal}.collection-rating{gap:.4rem}.active-filter-label{flex-basis:100%}}

/* Group-private gameplay galleries. */
.gameplay-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.gameplay-gallery .card{margin:0;min-width:0}
.gameplay-photo img{display:block;width:100%;height:auto;max-height:24rem;object-fit:contain;border-radius:.6rem;background:#f4f4f5}
.gameplay-photo .preline{overflow-wrap:anywhere}
.gameplay-photo .button-link{white-space:normal}
textarea[name="caption"]{display:block;width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #a1a1aa;border-radius:.6rem;font:inherit;background:Canvas;color:CanvasText;resize:vertical}
@media(max-width:40rem){.gameplay-gallery{grid-template-columns:minmax(0,1fr)}}

/* Guided entry and local camera preview. */
[data-ean-scanner] video{display:block;width:100%;max-height:22rem;object-fit:contain;background:#18181b;border-radius:.6rem}
[data-ean-scanner] [hidden]{display:none!important}
.entry-match{padding:.8rem 0;border-bottom:1px solid #e4e4e7}
.entry-match:last-child{border-bottom:0}
.entry-match .button-link{white-space:normal}
[data-media-form] [hidden]{display:none!important}
