/* Source-attributed game covers and screenshots with responsive card framing. */
.library-page,.library-detail{padding:40px 6% 72px;max-width:1680px;margin:auto}
.library-intro{padding:36px 0 40px;max-width:970px}.library-intro h1{font-size:clamp(54px,7vw,100px)}
.library-intro>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:630px;color:#e0e8d7}
.library-gta{display:flex;gap:22px;flex-wrap:wrap;align-items:center;font-size:14px;margin-top:28px}.library-gta a{color:var(--lime);text-underline-offset:5px}
.library-filters{padding:24px;background:#101b1bf5;border:1px solid #ffffff25;margin-bottom:24px}.library-filters[hidden]{display:none}
.library-filters label{display:grid;gap:9px;max-width:560px;font-size:13px;font-weight:700}
.library-filters input{font:inherit;font-size:16px;width:100%;padding:14px 16px;color:var(--ink);background:#26342f;border:1px solid #809078;border-radius:0}
.library-categories{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.library-categories button,.library-empty button,.library-player-tools button{font:600 13px 'DM Sans',sans-serif;background:#26342f;color:var(--ink);border:1px solid #6a7e69;padding:12px 17px;cursor:pointer;min-height:44px}
.library-categories button[aria-pressed=true]{background:var(--lime);color:#10130f;border-color:var(--lime)}
.library-page :is(input,button):focus-visible,.library-detail button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.library-list-meta{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#c5cfbf;line-height:1.6}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.library-card{background:#142020;border:1px solid #ffffff25;min-width:0}.library-card[hidden]{display:none}
.library-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none}.library-card-link:focus-visible{outline-offset:4px}
.library-art{height:168px;background:linear-gradient(135deg,#ffffff12,transparent),repeating-linear-gradient(90deg,transparent 0 38px,#ffffff0b 39px 40px),#101b1b;border-bottom:1px solid #ffffff20;color:var(--card-accent);padding:21px 24px;display:flex;align-items:end;position:relative;overflow:hidden}
.library-art>span{position:absolute;top:20px;left:24px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#d7e1d1}.library-art strong{font:700 67px/.85 'Space Grotesk',sans-serif;letter-spacing:-.07em}.library-art i{font:normal 37px/1 sans-serif;margin-left:auto;transition:transform .18s ease;color:var(--card-accent)}
.library-card:hover{border-color:var(--card-accent)}.library-card:hover .library-art i{transform:translate(3px,-3px)}
.library-card-body{padding:24px;display:flex;flex:1;flex-direction:column}.library-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.library-tags span{font-size:10px;line-height:1.4;padding:5px 7px;border:1px solid #b8c9ad70;color:#d3decc}
.library-card h3{font-size:clamp(24px,2.1vw,32px);letter-spacing:-.035em;line-height:1.12;color:var(--ink)}.library-card p{font-size:14px;line-height:1.7;color:#c2cebb;flex:1}
.library-card-action{font-size:12px;font-weight:700;border-top:1px solid #ffffff25;padding-top:17px;margin-top:12px;display:flex;justify-content:space-between;gap:15px;color:var(--card-accent)}
.library-empty{padding:40px 24px;background:#142020;border:1px solid #ffffff25}.library-empty h2{font-size:32px}.library-empty p{line-height:1.6}
.library-note{background:#101b1bf5;margin-top:40px;padding:30px;max-width:950px}.library-note h2{font-size:29px;letter-spacing:-.035em;line-height:1.2}.library-note p{font-size:14px;line-height:1.8;color:#ccd8c7}
.library-teaser{padding:75px 6%;background:rgba(10,19,21,.9)}.library-teaser h2{font-size:clamp(40px,5vw,68px)}.library-teaser .section-top>div>p:not(.eyebrow){color:#cedac7;line-height:1.7}.library-teaser .secondary{font-size:11px;gap:20px}
.library-detail .breadcrumbs{flex-wrap:wrap;line-height:1.5}.library-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:40px;align-items:center;margin:40px 0 32px}.library-detail-heading h1{font-size:clamp(40px,5.5vw,75px);line-height:1.02;overflow-wrap:anywhere}.library-detail-heading .eyebrow{margin-bottom:20px}
.library-detail-heading>div>p:not(.eyebrow){line-height:1.7;font-size:17px;max-width:750px;color:#e0e8d7}.library-edition{padding:24px;background:#101b1bef;border-left:3px solid var(--lime)}.library-edition>span{font-size:10px;letter-spacing:.14em;color:var(--lime)}.library-edition>strong{display:block;font:500 24px/1.2 'Space Grotesk',sans-serif;margin-top:13px}.library-edition>p{font-size:13px!important}
.library-launch{padding:32px;background:linear-gradient(115deg,#142b29,#10201d);border:1px solid #62725d;display:grid;grid-template-columns:1fr auto;gap:16px 30px;align-items:center}.library-launch .eyebrow{grid-column:1/-1;margin:0}.library-launch h2{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.035em}.library-launch>p:last-child{grid-column:1/-1;font-size:13px;line-height:1.7;margin:0;color:#c9d6c1}.library-launch .primary{gap:20px}
.library-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;margin:32px 0 50px}.library-detail-grid article,.library-detail-grid aside{padding:32px;background:#101b1bf5;border:1px solid #ffffff1c}.library-detail-grid aside{align-self:start}.library-detail-grid section+section{margin-top:32px}.library-detail-grid h2{font-size:30px;letter-spacing:-.035em;line-height:1.15}.library-detail-grid h3{font-size:23px;letter-spacing:-.025em;line-height:1.2;margin-top:25px}.library-detail-grid p,.library-detail-grid li{font-size:15px;line-height:1.8;color:#d2ddcb}.library-detail-grid li+li{margin-top:10px}.library-detail-grid ol{padding-left:22px}.library-verification{padding:15px 18px;border-left:2px solid #a3bf8c;background:#b0c78b0b;font-size:13px!important}.library-source{display:block;margin-top:22px;font-size:13px;text-underline-offset:5px}.library-detail-grid aside .primary{font-size:11px;padding:15px;gap:10px;line-height:1.5}.library-provider-note{font-size:12px!important}
.library-related>h2{font-size:40px;margin-bottom:25px}.library-related .library-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-bottom:25px}.library-related .secondary{font-size:12px}
.library-player{background:#101810;border:1px solid #6b7d60}.library-player-stage{position:relative;height:600px;background:#fff}.library-player-start{height:100%;width:100%;padding:24px;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#43331c 0%,#10150e 70%);color:var(--ink);border:0;cursor:pointer}.library-player-start strong{font:600 clamp(30px,5vw,60px) 'Space Grotesk',sans-serif;letter-spacing:-.04em}.library-player-start span{color:var(--lime);font:600 15px 'DM Sans',sans-serif}.library-player-start[hidden]{display:none}.library-player-stage iframe{width:100%;height:100%;border:0;display:block}.library-player-tools{padding:18px;display:flex;gap:12px;align-items:center}.library-player-tools p{flex:1;font-size:13px;line-height:1.6;color:#cedac7}.library-player-tools button:disabled{opacity:.4;cursor:default}.library-player:fullscreen{display:flex;flex-direction:column;width:100%;height:100%;padding:0}.library-player:fullscreen .library-player-stage{flex:1;height:auto;min-height:0}
@media(max-width:1100px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-teaser .library-grid .library-card:last-child{grid-column:1/-1}.library-detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.library-detail-grid article,.library-detail-grid aside{padding:24px}}
@media(max-width:768px){.library-page,.library-detail{padding:24px 6% 45px}.library-intro{padding:20px 0 28px}.library-intro>p:not(.eyebrow){font-size:16px}.library-gta{gap:14px;font-size:12px}.library-gta>span{width:100%}.library-grid,.library-related .library-grid{grid-template-columns:1fr}.library-teaser .library-grid .library-card:last-child{grid-column:auto}.library-filters{padding:18px}.library-categories button{padding:10px 14px}.library-list-meta{flex-direction:column;gap:0;margin-bottom:16px}.library-list-meta p{margin:3px 0}.library-card-body{padding:22px}.library-art{height:145px}.library-note{padding:23px}.library-teaser{padding:45px 6%}.library-detail-heading{grid-template-columns:1fr;gap:20px;margin:25px 0}.library-detail-heading h1{font-size:42px}.library-edition{padding:18px}.library-launch{grid-template-columns:1fr;padding:24px;gap:20px}.library-launch .primary{justify-self:start;font-size:11px}.library-detail-grid{grid-template-columns:1fr;margin-top:24px}.library-detail-grid h2{font-size:27px}.library-related>h2{font-size:34px}.library-player-stage{height:550px}.library-player-tools{flex-wrap:wrap}.library-player-tools p{flex:0 0 100%;margin:0}.library-player-tools button{flex:1}.library-player:fullscreen .library-player-tools p{display:none}}
@media(prefers-reduced-motion:reduce){.library-art i{transition:none}.library-card:hover .library-art i{transform:none}}
.library-home-link{margin:24px 0 0;padding:22px 0;border-top:1px solid #ffffff30;line-height:1.7}.library-home-link a{color:var(--lime);font-weight:700;text-underline-offset:5px}.library-home-link span{display:block;font-size:13px;margin-top:8px}
.library-access-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.library-access-filters select{font:inherit;font-size:14px;width:100%;min-width:0;padding:12px;color:var(--ink);background:#26342f;border:1px solid #809078;min-height:44px}.library-card .library-card-requirements{flex:0;font-size:12px;padding:12px;border-left:2px solid var(--card-accent);background:#ffffff08}.library-card small{font-size:11px;color:#c2cebb;line-height:1.6}.library-card{scroll-margin-top:100px}
@media(max-width:768px){.library-access-filters{grid-template-columns:1fr}}

.library-art.library-art-photo{height:auto;aspect-ratio:16/10;padding:0;display:block;background:#101713;isolation:isolate}
.library-art-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.library-art-photo[data-fit=contain] img{object-fit:contain;padding:15px}
.library-art-photo>span{top:auto;bottom:12px;left:12px;max-width:calc(100% - 24px);font-size:9px;letter-spacing:.04em;text-transform:none;line-height:1.4;padding:5px 8px;color:#fff;background:#0b110fe8;border:1px solid #ffffff25}
.library-art-photo i{position:absolute;right:12px;top:12px;font-size:20px;line-height:32px;width:32px;text-align:center;color:#fff;background:#0b110fdf;border:1px solid #ffffff30}
.library-card:hover .library-art-photo img,.library-card-link:focus-visible .library-art-photo img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.library-art-photo img{transition:none}.library-card:hover .library-art-photo img,.library-card-link:focus-visible .library-art-photo img{transform:none}}

.library-player-cover{position:relative;overflow:hidden;padding:0;background:#0b100f}
.library-player-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}
.library-player-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#07110ce8,transparent 85%);pointer-events:none}
.library-play-prompt{z-index:1;position:relative;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;padding:24px;color:var(--ink)!important}
.library-play-prompt strong{font-size:clamp(30px,4.5vw,58px);line-height:1.05;color:var(--ink)}
.library-play-prompt>span:last-child{font-size:13px;line-height:1.6;color:#f0f4e8}
.library-play-symbol{font-size:28px;color:#10130f;background:var(--lime);border-radius:50%;width:72px;height:72px;display:grid;place-items:center;padding-left:4px}
.library-player-tools{flex-wrap:wrap}.library-player-tools p{flex-basis:100%;margin:0 0 5px}.library-provider-backup{color:var(--lime);font-size:13px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px;margin-left:auto}
.library-external-preview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding:28px;background:#101b1bf5;border:1px solid #ffffff25;align-items:center}
.library-external-preview figure{margin:0;min-width:0}.library-external-preview img{width:100%;height:auto;max-height:360px;object-fit:contain;display:block}.library-external-preview figcaption{font-size:11px;color:#c2cebb;margin-top:10px}.library-external-preview h2{font-size:clamp(28px,3.5vw,44px);line-height:1.12;letter-spacing:-.035em}.library-external-preview p{font-size:15px;line-height:1.7;color:#d2ddcb}.library-external-preview .primary{font-size:12px;gap:20px}.library-external-note{font-size:12px!important}
.library-detail-faq details{padding:16px 0;border-top:1px solid #ffffff30}.library-detail-faq summary{font-weight:700;cursor:pointer;line-height:1.5}.library-detail-faq p{margin-bottom:0}
@media(max-width:768px){.library-external-preview{grid-template-columns:1fr;padding:20px;gap:22px}.library-play-prompt{padding:18px}.library-provider-backup{margin-left:0;flex-basis:100%}.library-player-stage{height:480px}}

.library-section-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin:-8px 0 24px;font-size:13px}.library-section-links a{color:var(--lime);text-underline-offset:5px}.library-detail :is(#library-play,#about-game,#game-help){scroll-margin-top:100px}
