@layer components{
.dept-software{--surface:var(--ink-raised);--text:var(--ivory);--text-muted:var(--text-secondary-dark);--rule:var(--hairline-dark);--accent:var(--red-on-dark);--plate-rule:var(--frame-on-dark);background:color-mix(in srgb,var(--ink) 80%,transparent);color:var(--text);padding:var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-right)) var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-left));scroll-margin-top:var(--nav-h)}
.dept-plugins{--surface:var(--ink-raised);--text:var(--ivory);--text-muted:var(--text-secondary-dark);--rule:var(--hairline-dark);--accent:var(--red-on-dark);--plate-rule:var(--frame-on-dark);background:var(--ink);color:var(--text);padding:var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-right)) var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-left));scroll-margin-top:var(--nav-h)}
.dept-games{--surface:var(--ink);--text:var(--ivory);--text-muted:var(--text-secondary-dark);--rule:var(--hairline-dark);--accent:var(--red-on-dark);--plate-rule:var(--frame-on-dark);background:color-mix(in srgb,var(--ink-raised) 92%,transparent);color:var(--text);padding:var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-right)) var(--sec-pad-y) max(var(--gutter),env(safe-area-inset-left));scroll-margin-top:var(--nav-h)}
.dept-inner{max-width:var(--maxw);margin:0 auto}
.dept-head{display:grid;grid-template-columns:var(--hdr-cols);gap:22px 72px;align-items:end;padding-bottom:44px}
.dept-head-copy{display:flex;flex-direction:column;gap:16px}
.dept-head-wide{grid-column:1 / -1;display:flex;flex-direction:column;gap:16px;min-width:0}
.dept-head-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px}
.dept-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--fs-section);line-height:1;letter-spacing:-0.02em}
.dept-title-fit{margin:0;font-family:var(--font-display);font-weight:400;font-size:min(var(--fs-section), calc(min(var(--maxw), 100vw - var(--gutter) * 2) / 12.8));line-height:1;letter-spacing:-0.02em;white-space:nowrap}
.dept-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--card-gap)}
.dept-feature{display:grid;grid-template-columns:var(--feature-cols);gap:30px var(--feat-gap-x);align-items:center;padding:34px 0;scroll-margin-top:calc(var(--nav-h) + 24px)}
.dept-feature-plate{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:460/215;padding:0;background:var(--red);border:0;overflow:hidden;cursor:pointer}
.dept-feature-frame{position:absolute;inset:12px;border:1px solid var(--frame-on-red)}
.dept-feature-name{position:relative;font-family:var(--font-display);font-size:calc(var(--plate-name) * 1.15);line-height:1;letter-spacing:-0.012em;text-align:center;padding:0 22px;color:var(--ivory)}
.dept-feature-body{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-left:var(--feat-pad-l)}
.dept-feature-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:calc(var(--fs-product) * 1.5);line-height:1.02;letter-spacing:-0.02em}
.dept-feature-type{margin:0;font-size:var(--fs-lead);line-height:1.45;color:var(--text-muted);max-width:40ch}
.dept-feature-buy{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-top:10px;padding-top:18px}
.dept-feature-price{font-family:var(--font-display);font-size:34px;line-height:1;letter-spacing:-0.012em;font-variant-numeric:tabular-nums}
.dept-feature-direct-price{font-family:var(--font-display);font-size:28px;line-height:1}
.dept-feature-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;background:var(--ivory);border:1px solid var(--ivory);color:var(--ink);font-size:12px;letter-spacing:0.18em;text-transform:uppercase}
.dept-feature-terms{display:flex;flex-wrap:wrap;gap:4px 20px}
.dept-card{grid-column:span var(--card-span);display:flex;flex-direction:column;gap:10px;padding-top:18px;scroll-margin-top:calc(var(--nav-h) + 24px)}
.dept-plate{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;padding:0;background:var(--surface);border:0;overflow:hidden;cursor:pointer;color:var(--text)}
.dept-plate-game{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:460/215;padding:0;background:var(--surface);border:0;overflow:hidden;cursor:pointer;color:var(--text)}
.dept-frame{position:absolute;inset:6px;border:1px solid var(--plate-rule)}
.dept-name{position:relative;font-family:var(--font-display);font-size:var(--card-name);line-height:1;letter-spacing:-0.012em;text-align:center;padding:0 18px;color:var(--text)}
.dept-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dept-logo{position:absolute;left:50%;top:50%;width:auto;height:52%;transform:translate(-50%,-50%)}
.dept-ribbon{position:absolute;top:18px;right:-34px;width:122px;padding:4px 0;transform:rotate(45deg);background:var(--red);color:var(--ivory);font-size:12px;font-weight:700;letter-spacing:0.18em;line-height:1.2;text-align:center;pointer-events:none}
.dept-card-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--card-title);line-height:1.25;letter-spacing:-0.005em}
.dept-game-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--card-title);line-height:1.25;letter-spacing:-0.005em;text-wrap:balance;overflow-wrap:anywhere;min-height:2.5em}
.dept-type{margin:0;font-size:13px;line-height:1.45;color:var(--text-muted)}
.dept-buy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:auto;padding-top:10px}
.dept-free{display:inline-flex;align-items:center;gap:10px}
.dept-free-price{font-family:var(--font-display);font-size:var(--card-price);font-weight:500;line-height:1;letter-spacing:0.02em;color:var(--ivory)}
.dept-price{font-family:var(--font-display);font-size:var(--card-price);line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.dept-direct-price{font-family:var(--font-display);font-size:26px;line-height:1}
.dept-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:var(--ivory);border:1px solid var(--ivory);color:var(--ink);font-size:12px;letter-spacing:0.18em;text-transform:uppercase}
.dept-terms{display:flex;flex-wrap:wrap;gap:4px 18px}
.dept-game-actions{display:flex;align-items:center;gap:4px}
.dept-offer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;width:100%}
.dept-price-group{display:inline-flex;align-items:baseline;gap:8px}
.dept-note{font-size:13px;color:var(--text-muted)}
.dept-sold{font-size:14px;color:var(--text-muted)}
.dept-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.dept-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;color:var(--text)}
.dept-link-coming{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text)}
.dept-add{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:0;color:var(--text);cursor:pointer}
.dept-download{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text);text-decoration:none}
.dept-direct{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.dept-terms-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px;color:var(--text-muted)}
.dept-terms-pending{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--text-muted)}
.info-card{position:fixed;z-index:85;left:var(--info-x);top:var(--info-y);width:var(--info-w);padding:16px 18px 18px;background:var(--ink-raised);border:1px solid var(--hairline-dark);color:var(--ivory);pointer-events:none}
.info-arrow-l{position:absolute;left:-7px;top:var(--info-arrow-top,22px);width:12px;height:12px;background:var(--ink-raised);border-left:1px solid var(--hairline-dark);border-bottom:1px solid var(--hairline-dark);transform:rotate(45deg)}
.info-arrow-r{position:absolute;right:-7px;top:var(--info-arrow-top,22px);width:12px;height:12px;background:var(--ink-raised);border-right:1px solid var(--hairline-dark);border-top:1px solid var(--hairline-dark);transform:rotate(45deg)}
.info-name{position:relative;display:block;font-family:var(--font-display);font-size:20px;line-height:1.2;letter-spacing:-0.01em}
.info-released{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary-dark)}
.info-desc{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--ivory-deep);text-wrap:pretty}
.info-reviews{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:10px 12px;background:color-mix(in srgb,var(--ivory) 5%,transparent)}
.info-reviews-title{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-secondary-dark)}
.info-reviews-line{font-size:14px;line-height:1.4}
.info-reviews-label{font-weight:600;color:var(--ivory)}
.info-reviews-note{color:var(--text-secondary-dark)}
.info-tags-label{display:block;margin-top:14px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-secondary-dark)}
.info-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.info-tag{padding:3px 8px;font-size:12px;line-height:1.4;color:var(--ivory-deep);background:color-mix(in srgb,var(--ivory) 7%,transparent);border:1px solid var(--hairline-dark)}
.dept-link:hover,.dept-add:hover,.dept-download:hover,.dept-terms-link:hover{color:var(--accent) !important}
.dept-feature-cta:hover,.dept-cta:hover{background:var(--red) !important;border-color:var(--red) !important;color:var(--ivory) !important}
}
