/* Shared presentation. No game iframe or paid-control lifecycle ownership. */
body[data-page="catalog"],body[data-page="game"]{background:radial-gradient(ellipse at 12% 15%,#14324699,transparent 50%),radial-gradient(ellipse at 92% 60%,#41214966,transparent 50%),#070d18;color:#edf7fc}
.nr-release-rail{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-block:1rem 1.5rem;font-size:.78rem}
.nr-release-version{overflow-wrap:anywhere;max-width:100%}
body.solar-cabinet{height:auto;min-height:100dvh;overflow:auto}.solar-cabinet .solar-shell{height:calc(100dvh - 132px);min-height:540px;width:100%}.solar-shell .nr-release-rail{flex:none;margin-block:0}.solar-shell .nr-cabinet-tools{flex:none;margin:0}.solar-shell .nr-cabinet-help[open]{max-height:28vh;overflow:auto}
body[data-page] main{padding-block:20px 40px}body[data-page="catalog"] .floor-heading h1{font-size:clamp(2rem,4vw,3.4rem)}
body[data-page="catalog"] .cabinet-art{width:100%;height:auto;padding:0;display:block;aspect-ratio:16/9}
body[data-page="catalog"] .cabinet{clip-path:none}.nr-unpublished .cabinet-art{display:grid!important;place-items:center;color:#8db5c7;font-size:5rem}.nr-unpublished{border-style:dashed!important;opacity:.8}
.nr-release-tag{border:1px solid #65e2e677;background:#10303a;border-radius:6px;padding:.35rem .7rem;color:#acffff}
.nr-identity,.nr-card-identity{color:#bfcedb;font-size:.78rem}.nr-identity{margin-inline-start:auto}
body[data-page="catalog"] .cabinet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:2rem;align-items:stretch}
body[data-page="catalog"] .cabinet{border:1px solid #4c7183;border-top:4px solid #69ede4;border-radius:18px 18px 8px 8px;background:linear-gradient(145deg,#18293c,#0b1220 65%);box-shadow:0 18px 45px #0008,0 0 24px #59d7dc12;overflow:hidden;min-width:0;position:relative;padding:1.2rem}
body[data-page="catalog"] .cabinet:nth-child(even){border-top-color:#ffc66e}
.cabinet-art{position:relative;border:1px solid #314e68;border-radius:10px;overflow:hidden;aspect-ratio:16/10;background:#07101c}
.cabinet-art img{width:100%;height:100%;object-fit:cover;opacity:.78}.cabinet-art>span{position:absolute;inset-inline:1rem;top:1rem;font-size:1.5rem;font-weight:800;text-shadow:0 2px 6px #000}
.nr-art-disclosure{position:absolute;inset-inline:0;bottom:0;background:#070d18ed;color:#d9e5ee;font-size:.72rem;padding:.45rem .7rem}.cabinet-caption{display:none}
.cabinet h3{font-size:1.5rem;margin-block:.7rem}.cabinet .button{display:flex;justify-content:center;align-items:center;min-height:48px}.cabinet-deck{border-top:1px solid #466178;display:flex;gap:.7rem;padding-block-start:1rem;margin-block-start:1rem}.cabinet-deck i{width:13px;height:13px;border-radius:50%;background:#75e5dc;box-shadow:0 0 12px #75e5dc55}.cabinet-deck i:nth-child(even){background:#ffc66e}
.nr-cabinet-tools{grid-column:1/-1;display:flex;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-block-end:.75rem}.nr-cabinet-tools button,.nr-cabinet-help summary{min-height:44px;padding:.65rem 1rem;border:1px solid #58738c;border-radius:8px;background:#142135;color:#eef9ff;font:inherit;cursor:pointer}.nr-cabinet-help{max-width:38rem}.nr-cabinet-help p{padding:.8rem 1rem;background:#142135;border-radius:8px;margin-block:.5rem;line-height:1.6}.nr-cabinet-feedback{align-self:center}
html:fullscreen{overflow:auto;background:#070d18}html:fullscreen .nr-shell{position:relative}html:fullscreen main{max-width:1600px;margin-inline:auto}.play-cabinet,.entry-panel{min-width:0}.play-cabinet iframe{max-width:100%}
.nr-release-rail~.section-head h1{font-size:clamp(1.8rem,4vw,3rem)}
body[data-page] :focus-visible{outline:3px solid #ffcc75;outline-offset:4px}
@media(max-width:700px){.nr-identity{margin-inline-start:0;width:100%}.nr-release-rail{margin-block:.8rem}.nr-cabinet-tools{gap:.5rem}.nr-cabinet-help{flex:1}.game-layout{display:flex!important;flex-direction:column}.nr-cabinet-tools{order:-1}.entry-panel{width:100%;box-sizing:border-box}.cabinet-grid{gap:1.2rem!important}}
@media(prefers-reduced-motion:reduce){body[data-page] *,body[data-page] *::before,body[data-page] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
