.ims-shelf{--ims-accent:var(--color_main,#b28656);--ims-paper:#fdf9ee;--ims-ink:#605d54;color:var(--ims-ink);font:inherit}
.ims-shelf *{box-sizing:border-box}
.ims-shelf a{color:var(--ims-ink);text-underline-offset:.2em}
.ims-shelf .ims-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;margin:24px 0;padding:0;list-style:none}
.ims-shelf .ims-item{list-style:none;margin:0;padding:0 0 18px;border-bottom:4px solid var(--ims-accent);min-width:0}
.ims-shelf .ims-card{display:flex;flex-direction:column;gap:10px;height:100%;text-decoration:none;background:transparent;color:var(--ims-ink)}
.ims-shelf .ims-card:hover .ims-game-title{text-decoration:underline;text-underline-offset:.2em}
.ims-shelf .ims-card:focus-visible,.ims-shelf button:focus-visible,.ims-shelf a:focus-visible{outline:3px solid var(--ims-accent);outline-offset:4px}
.ims-shelf .ims-cover{aspect-ratio:1.86;display:flex;align-items:center;justify-content:center;background:var(--ims-paper);overflow:hidden;width:100%}
.ims-shelf .ims-cover img{display:block;width:100%;height:100%;object-fit:contain;border:0;filter:none;transform:none}
.ims-shelf .ims-no-image{display:grid;place-items:center;aspect-ratio:1.86;width:100%;font-size:.8em;border:1px dashed var(--ims-accent)}
.ims-shelf h3.ims-game-title{font-size:1.05em;font-weight:600;line-height:1.5;margin:0;padding:0;background:none;border:0;overflow-wrap:anywhere;color:inherit}
.ims-shelf h3.ims-game-title:before,.ims-shelf h3.ims-game-title:after,.ims-shelf .ims-record-title:before,.ims-shelf .ims-record-title:after{display:none}
.ims-shelf p.ims-one-liner{font-size:.9em;line-height:1.7;margin:0;padding:0;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ims-shelf p.ims-facts{font-size:.8em;line-height:1.6;margin:auto 0 0;padding-top:4px}
.ims-shelf .ims-preview-note,.ims-shelf .ims-empty{padding:16px;background:var(--ims-paper);border:1px solid var(--ims-accent)}
.ims-shelf .ims-preview-note{font-size:.85em;margin:0 0 20px}
.ims-shelf .ims-filters{margin:0 0 24px}
.ims-shelf label{display:block;font:inherit;color:inherit}
.ims-shelf .ims-search>label{margin-bottom:8px}
.ims-shelf .ims-search>div{display:flex;gap:10px;max-width:680px}
.ims-shelf input[type=search],.ims-shelf select{font:inherit;font-size:16px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--ims-accent);border-radius:3px;background:var(--ims-paper);color:var(--ims-ink)}
.ims-shelf input[type=search]{flex:1;width:100%}
.ims-shelf button{font:inherit;min-height:44px;cursor:pointer;border:1px solid var(--ims-accent);border-radius:3px;padding:8px 18px;background:var(--ims-paper);color:var(--ims-ink)}
.ims-shelf .ims-filter-details{margin-top:18px;border-block:1px solid var(--ims-accent);padding:12px 0}
.ims-shelf summary{cursor:pointer;min-height:44px;display:list-item;align-content:center}
.ims-shelf .ims-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.ims-shelf .ims-filter-grid select{display:block;width:100%;margin-top:6px}
.ims-shelf .ims-filter-note{font-size:.8em;margin:12px 0}
.ims-shelf .ims-pagination{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin:28px 0}
.ims-shelf .ims-pagination a{padding:8px;min-height:44px}
.ims-shelf .ims-result-count{font-size:.85em;margin:12px 0}
.ims-shelf .ims-results{container-type:inline-size}
.ims-shelf .ims-more{text-align:center;margin:24px 0}
.ims-shelf .ims-empty p{margin:0 0 8px}
.ims-shelf .ims-dialog{position:fixed;inset:0;width:min(880px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--ims-accent);border-radius:6px;background:var(--ims-paper);color:var(--ims-ink);overflow:auto;box-shadow:0 18px 70px #30251544;overscroll-behavior:contain}
.ims-shelf .ims-dialog::backdrop{background:#332b226b}
.ims-shelf .ims-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;position:sticky;top:0;background:var(--ims-paper);border-bottom:1px solid var(--ims-accent);z-index:1}
.ims-shelf .ims-dialog-top>span{font-size:.85em}
.ims-shelf .ims-close{flex:none}
.ims-shelf .ims-record{padding:28px}
.ims-shelf .ims-record-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;align-items:start}
.ims-shelf .ims-record-image img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none}
.ims-shelf h1.ims-record-title,.ims-shelf h2.ims-record-title{font-size:1.7em;line-height:1.4;font-weight:600;margin:0 0 16px;padding:0;border:0;background:none;color:inherit;overflow-wrap:anywhere}
.ims-shelf .ims-record-quote{margin:0 0 20px;font-size:1em;line-height:1.8;white-space:pre-line}
.ims-shelf .ims-record-facts{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr);gap:8px 18px;font-size:.85em;line-height:1.7;margin:0}
.ims-shelf .ims-record-facts dt,.ims-shelf .ims-record-facts dd{margin:0;padding:0;overflow-wrap:anywhere}
.ims-shelf .ims-record-facts dt{font-weight:600}
.ims-shelf .ims-record-note{margin-top:24px;line-height:1.9}
.ims-shelf .ims-record-note p{margin:0 0 1em}
.ims-shelf .ims-record-links{display:flex;gap:16px 24px;align-items:center;flex-wrap:wrap;margin-top:24px}
.ims-shelf .ims-record-links a{min-height:44px;display:inline-flex;align-items:center;padding:6px 0}
.ims-shelf .ims-record-links .ims-primary-link{padding:10px 18px;border:1px solid var(--ims-accent);border-radius:3px;text-decoration:none}
.ims-shelf .ims-draft-label{font-size:.8em;color:var(--ims-ink);margin:0 0 12px}
.ims-single-container{max-width:1100px;margin-inline:auto;padding:48px 24px}
.ims-shelf.ims-single .ims-record{padding:0}
.ims-shelf .ims-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}
@media(max-width:959px){.ims-shelf .ims-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.ims-shelf .ims-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.ims-shelf .ims-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.ims-shelf h3.ims-game-title{font-size:.95em}.ims-shelf p.ims-one-liner{font-size:.85em}.ims-shelf .ims-filter-grid{grid-template-columns:1fr}.ims-shelf .ims-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.ims-shelf .ims-dialog-top{padding:10px 16px}.ims-shelf .ims-record{padding:20px}.ims-shelf .ims-record-main{grid-template-columns:1fr;gap:20px}.ims-shelf .ims-record-image{max-width:440px}.ims-shelf h1.ims-record-title,.ims-shelf h2.ims-record-title{font-size:1.4em}.ims-shelf .ims-record-facts{grid-template-columns:minmax(80px,auto) minmax(0,1fr);gap:8px 14px}.ims-single-container{padding:28px 16px}}
@media(prefers-reduced-motion:reduce){.ims-shelf *{scroll-behavior:auto!important}}
@container(max-width:959px){.ims-shelf .ims-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}}
@container(max-width:599px){.ims-shelf .ims-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}
