:root{color-scheme:dark;--red:#ff3946;--blue:#23bdff;--bg:#02070d;--panel:#07111a;--line:#183a50;--text:#eff6ff;--muted:#9aabba}
*,*::before,*::after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;color:var(--text)}
body{background:radial-gradient(circle at 50% 0,#0a1d2c,#02070d 45%)}
.public-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,64px);background:rgba(2,7,13,.94);border-bottom:1px solid rgba(36,91,125,.45);backdrop-filter:blur(14px)}
.public-brand{color:#e7eef5;text-decoration:none;font-size:1.65rem;font-weight:900;letter-spacing:.03em}.public-brand span{color:var(--red)}.public-brand small{display:block;font-size:.56rem;color:#9aabba;letter-spacing:.15em;text-transform:uppercase}
.public-header nav{display:flex;gap:18px;flex-wrap:wrap}.public-header nav a{color:#aebdca;text-decoration:none;font-size:.9rem}.public-header nav a:hover,.public-header nav a.active{color:#fff;text-shadow:0 0 8px rgba(35,189,255,.3)}
.public-main{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:56px 0 80px}.public-title span{color:var(--red);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}.public-title h1{margin:8px 0;font-size:clamp(2rem,5vw,4rem)}.public-title p{margin:0;color:var(--muted)}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1fr) 230px 130px;gap:12px;margin:30px 0}.catalog-filters input,.catalog-filters select{height:48px;padding:0 14px;color:#eef6ff;background:#06101a;border:1px solid rgba(49,94,124,.62);outline:0}.catalog-filters button{border:1px solid rgba(255,57,70,.68);color:#fff;background:linear-gradient(180deg,#c52230,#710a12);font-weight:800;text-transform:uppercase;cursor:pointer}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.catalog-card{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:250px;overflow:hidden;background:linear-gradient(180deg,rgba(8,18,28,.96),rgba(4,10,16,.98));border:1px solid rgba(42,84,111,.58);box-shadow:inset 0 0 20px rgba(5,40,60,.12)}.catalog-card>img{width:100%;height:100%;object-fit:cover}.catalog-card>div{display:flex;flex-direction:column;padding:22px}.catalog-status{align-self:flex-start;padding:5px 8px;color:#caffdf;background:#075037;border:1px solid rgba(42,171,112,.45);font-size:.7rem;font-weight:800;text-transform:uppercase}.catalog-card h2{margin:14px 0 8px}.catalog-card p{margin:0;color:#aebbc6;line-height:1.5;flex:1}.catalog-card dl{display:flex;gap:24px;margin:18px 0}.catalog-card dl div{display:grid;gap:3px}.catalog-card dt{font-size:.7rem;color:#7f93a4;text-transform:uppercase}.catalog-card dd{margin:0;font-weight:800}.catalog-card a{display:flex;align-items:center;justify-content:center;height:42px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.78rem;font-weight:800;border:1px solid rgba(35,189,255,.45);background:rgba(35,189,255,.07)}.catalog-card a:hover{background:rgba(35,189,255,.13)}
.catalog-alert,.empty-state{padding:16px;border:1px solid rgba(255,179,53,.45);background:rgba(255,179,53,.08);color:#ffe0a3}.empty-state{grid-column:1/-1}.auth-alert.success{color:#d8ffea;background:rgba(38,187,110,.1);border-color:rgba(38,187,110,.45)}
@media(max-width:900px){.catalog-grid{grid-template-columns:1fr}.catalog-card{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:640px){.public-header{align-items:flex-start;flex-direction:column}.catalog-filters{grid-template-columns:1fr}.catalog-card{grid-template-columns:1fr}.catalog-card>img{height:220px}}

/* v51.10 — komentarze zapisywane w MySQL i rejestrowane w aktywności. */
.catalog-alert.success{border-color:rgba(58,211,127,.48);background:rgba(14,87,53,.24);color:#caffdf}
.comment-box{margin-top:12px;border-top:1px solid rgba(43,83,109,.42);padding-top:10px}
.comment-box summary{cursor:pointer;color:#66cfff;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.comment-box form{display:grid;gap:8px;margin-top:10px}
.comment-box textarea{width:100%;min-height:82px;resize:vertical;padding:10px 12px;color:#eaf3f9;background:#06101a;border:1px solid rgba(45,91,121,.62);outline:0;font:inherit}
.comment-box textarea:focus{border-color:#20baff;box-shadow:0 0 0 1px rgba(32,186,255,.22)}
.comment-box button{height:38px;border:1px solid rgba(255,62,73,.7);cursor:pointer;color:#fff;background:linear-gradient(180deg,#be1d28,#741018);font-weight:800;text-transform:uppercase}

/* v51.32 — działające akcje użytkownika: pobierz, polub i obserwuj. */
.catalog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.catalog-actions form{margin:0}
.catalog-card .catalog-actions a,.catalog-actions button{display:inline-flex;align-items:center;justify-content:center;width:auto;height:36px;min-height:36px;padding:0 13px;border:1px solid rgba(45,105,139,.58);color:#dceaf4;background:#07131d;text-decoration:none;cursor:pointer;font:800 .72rem/1 "Segoe UI",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.catalog-card .catalog-actions .download-action{border-color:rgba(255,62,73,.72);background:linear-gradient(180deg,#a91b25,#610910);color:#fff}
.catalog-actions .favorite-action.is-active{color:#ff6570;border-color:#ff4753;background:rgba(74,10,16,.9)}
.catalog-actions .watch-action.is-active{color:#61d0ff;border-color:#2db9f3;background:rgba(5,48,70,.9)}
.catalog-actions a:hover,.catalog-actions button:hover,.catalog-actions a:focus-visible,.catalog-actions button:focus-visible{filter:brightness(1.15);outline:0}
.comment-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.comment-actions-row .comment-box{flex:1 1 220px;margin:0}.comment-actions-row summary{cursor:pointer;color:#59ceff;font-weight:800;text-transform:uppercase}.game-comment-list{max-height:320px;margin-top:10px;padding:8px;overflow:auto;border:1px solid #21465d;background:#02080e}.game-comment-list article{padding:10px;border-bottom:1px solid #17384c}.game-comment-list article:last-child{border-bottom:0}.game-comment-list header{display:flex;justify-content:space-between;gap:12px}.game-comment-list strong{color:#74d7ff;font-size:12px}.game-comment-list time{color:#718997;font-size:10px}.game-comment-list p{margin:6px 0 0;color:#c6d2da;font-size:12px;line-height:1.5}.comment-empty{margin:0;padding:14px;color:#78909f;text-align:center}
