:root{color-scheme:dark;--bg:#090b12;--panel:#121726;--border:#2c3656;--text:#f6f7fb;--muted:#aab3ca;--accent:#24e5df;--green:#8df59b;--danger:#ff7b95;--bonus:#65f59a;--malus:#ff7b70}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#172341,var(--bg) 42rem);color:var(--text)}main{width:min(1460px,calc(100% - 32px));margin:auto;padding:32px 0 56px}h1{margin:0 0 6px;font-size:clamp(25px,4vw,42px)}h2{margin:32px 0 12px}.subtitle,.meta{color:var(--muted)}.home-link{display:inline-block;margin-bottom:18px;color:var(--accent);text-decoration:none;font-weight:800}.panel{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 20px 50px rgba(0,0,0,.3)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.actions{display:flex;gap:10px;flex-wrap:wrap}button,.button,.download{border:0;border-radius:10px;padding:12px 18px;font-weight:800;background:var(--accent);color:#061417;cursor:pointer;text-decoration:none}.download{background:var(--green)}.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:28px}.menu-card{min-height:210px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#161d31,#0e1321);text-decoration:none;color:var(--text);transition:.2s}.menu-card:hover{transform:translateY(-4px);border-color:var(--accent)}.menu-card strong{font-size:25px}.menu-card span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:20px;margin-top:22px}.card-preview{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.card-preview img{width:100%;aspect-ratio:57/88;object-fit:cover;display:block}.caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px;font-size:14px}.badge{font-size:11px;color:var(--danger)}.type-bonus{border-color:#276f49}.type-malus{border-color:#743246}.error,.warning{margin:18px 0}.error{border-color:#743246;color:#ffd7df;background:#2a1018}.warning{border-color:#78652b;color:#fff1aa;background:#28230e}.count{font-weight:800;color:var(--accent)}
