.g8-cabinet__shelf{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none}
@media (min-width:760px){.g8-cabinet__shelf{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.g8-cabinet__shelf{grid-template-columns:repeat(4,1fr)}}
.g8-cabinet__item{display:grid;gap:14px;align-content:start}
.g8-cabinet__glass{position:relative;display:grid;place-items:end center;aspect-ratio:4/5;padding:28px 24px 0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff06,transparent 40%),radial-gradient(80% 50% at 50% 100%,#ffffff10,transparent 70%),var(--surface);overflow:hidden}
.g8-cabinet__glass::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff0d 45%,transparent 55%);pointer-events:none}
.g8-cabinet__glass::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:10px;border-radius:50%;background:#000;filter:blur(8px);opacity:.8}
.g8-cabinet__glass picture,.g8-cabinet__glass img{position:relative;z-index:1;width:auto;max-width:78%;max-height:88%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.g8-cabinet__item:hover .g8-cabinet__glass img{transform:translateY(-6px) scale(1.03)}
.g8-cabinet__item--silver .g8-cabinet__glass > img{filter:grayscale(1) brightness(1.15)}
.g8-cabinet__item--bronze .g8-cabinet__glass > img{filter:sepia(.6) hue-rotate(-18deg) saturate(1.4) brightness(.85)}
.g8-cabinet__item--special .g8-cabinet__glass > img{filter:grayscale(1) brightness(.7) sepia(.3) hue-rotate(-30deg) saturate(3)}
.g8-cabinet__place{position:absolute;z-index:2;top:14px;left:14px;padding:4px 9px;border-radius:999px;font-size:.68rem;background:#0008;border:1px solid var(--line);color:var(--text-2)}
.g8-cabinet__item--gold .g8-cabinet__place{color:#f3d78f;border-color:#f3d78f55}
.g8-cabinet__title{font-weight:600;line-height:1.3}
.g8-cabinet__meta{color:var(--muted);font-size:.85rem;margin-top:2px}
.g8-cabinet__year{color:var(--accent);font-size:.78rem;margin-top:6px}
.g8-cabinet__photo-btn{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#000a;border:1px solid var(--line);color:var(--text-2);cursor:pointer;transition:.2s}
.g8-cabinet__photo-btn:hover{background:var(--accent);border-color:var(--accent);color:#0b0b0b}
.g8-cabinet__photo-btn svg{width:18px;height:18px}
.g8-cabinet__dialog{width:min(900px,calc(100vw - 32px));padding:16px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius)}
.g8-cabinet__dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}
.g8-cabinet__dialog-media{position:relative;display:grid;place-items:center;min-height:min(60vh,520px);background:var(--background);border-radius:var(--radius-sm);overflow:hidden}
.g8-cabinet__dialog img{width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm);transition:opacity .35s ease}
.g8-cabinet__dialog.is-loading img{opacity:0}
.g8-cabinet__spinner{position:absolute;width:44px;height:44px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;opacity:0;animation:g8-spin .8s linear infinite;transition:opacity .2s}
.g8-cabinet__dialog.is-loading .g8-cabinet__spinner{opacity:1}
@keyframes g8-spin{to{transform:rotate(360deg)}}
.g8-cabinet__dialog-caption{display:grid;gap:8px;margin:22px 8px 18px;text-align:center}
.g8-cabinet__dialog-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.3rem,3vw,2rem);line-height:1.1;letter-spacing:-.02em;color:var(--text)}
.g8-cabinet__dialog-meta{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.g8-cabinet__dialog-meta span+span::before{content:' · '}
@media (max-width:640px){.g8-cabinet__dialog-meta{display:grid;gap:4px}.g8-cabinet__dialog-meta span+span::before{content:none}}
.g8-cabinet__dialog form{display:flex;justify-content:center}
.g8-cabinet__engineer{margin-top:6px;font-size:.82rem;color:var(--text-2)}
.g8-cabinet__engineer .g8-label{margin-right:4px;font-size:.62rem}
@media (max-width:559px){
    .g8-cabinet__shelf{grid-template-columns:1fr;gap:12px}
    .g8-cabinet__item{grid-template-columns:120px 1fr;align-items:center;gap:16px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
    .g8-cabinet__glass{aspect-ratio:1;padding:14px 12px 0;border-radius:calc(var(--radius) - 6px)}
    .g8-cabinet__place{top:8px;left:8px;font-size:.6rem;padding:2px 7px}
    .g8-cabinet__photo-btn{top:6px;right:6px;width:32px;height:32px}
    .g8-cabinet__title{font-size:1rem}
    .g8-cabinet__meta,.g8-cabinet__engineer{font-size:.85rem}
}
