/* CDM vezérlőpult – v3 "weboldal" irány
   Típus: Bricolage Grotesque (címek) + Geist (szöveg) + Geist Mono (számok).
   Szín: mély semleges alap, egy akcentus (naplemente narancs), rózsa csak légköri fényben.
   Sarkok: konténer 18px, vezérlő 10px, navigáció és chip pill. Mozgás: transform + opacity. */
:root{
  --bg:#08080a;--panel:#111114;--raised:#16161a;--hover:#1d1d22;--sunk:#0b0b0e;
  --line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);--hi:rgba(255,255,255,.05);
  --fg:#f3f2f0;--mut:#a7a6ad;--dim:#706f78;
  --acc:oklch(.77 .16 58);--acc2:oklch(.64 .2 18);--acc-ink:#1d0f04;
  --acc-soft:oklch(.77 .16 58 / .13);--acc-line:oklch(.77 .16 58 / .45);
  --ok:oklch(.79 .14 158);--ok-soft:oklch(.79 .14 158 / .12);
  --warn:oklch(.83 .13 88);--warn-soft:oklch(.83 .13 88 / .12);
  --bad:oklch(.7 .18 25);--bad-soft:oklch(.7 .18 25 / .13);
  --info:oklch(.77 .1 245);--info-soft:oklch(.77 .1 245 / .13);
  --glow1:oklch(.64 .2 18 / .2);--glow2:oklch(.77 .16 58 / .14);
  --av-l:.4;--av-c:.1;--av-tl:.93;
  --scrim:rgba(3,3,5,.62);--shadow:0 30px 80px -24px rgba(0,0,0,.75),0 2px 10px rgba(0,0,0,.35);
  --f-display:"Bricolage Grotesque","Geist",system-ui,sans-serif;
  --f-body:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,Consolas,monospace;
  --r:18px;--rc:10px;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#e2ded8;--panel:#efebe6;--raised:#e9e5df;--hover:#e1ddd6;--sunk:#d9d4cd;
  --line:rgba(20,16,12,.1);--line2:rgba(20,16,12,.18);--hi:rgba(255,255,255,.55);
  --fg:#141210;--mut:#4d4945;--dim:#7a746e;
  --acc:oklch(.62 .17 50);--acc2:oklch(.58 .2 18);--acc-ink:#fff;--acc-soft:oklch(.62 .17 50 / .1);--acc-line:oklch(.62 .17 50 / .4);
  --ok:oklch(.55 .13 155);--ok-soft:oklch(.55 .13 155 / .1);--warn:oklch(.6 .13 70);--warn-soft:oklch(.6 .13 70 / .12);
  --bad:oklch(.55 .19 27);--bad-soft:oklch(.55 .19 27 / .1);--info:oklch(.52 .12 250);--info-soft:oklch(.52 .12 250 / .1);
  --glow1:oklch(.7 .17 18 / .12);--glow2:oklch(.8 .14 60 / .16);
  --av-l:.9;--av-c:.07;--av-tl:.38;
  --scrim:rgba(20,16,12,.28);--shadow:0 30px 70px -24px rgba(40,24,10,.25),0 2px 10px rgba(40,24,10,.06);color-scheme:light}}
:root[data-theme="light"]{
  --bg:#e2ded8;--panel:#efebe6;--raised:#e9e5df;--hover:#e1ddd6;--sunk:#d9d4cd;
  --line:rgba(20,16,12,.1);--line2:rgba(20,16,12,.18);--hi:rgba(255,255,255,.55);
  --fg:#141210;--mut:#4d4945;--dim:#7a746e;
  --acc:oklch(.62 .17 50);--acc2:oklch(.58 .2 18);--acc-ink:#fff;--acc-soft:oklch(.62 .17 50 / .1);--acc-line:oklch(.62 .17 50 / .4);
  --ok:oklch(.55 .13 155);--ok-soft:oklch(.55 .13 155 / .1);--warn:oklch(.6 .13 70);--warn-soft:oklch(.6 .13 70 / .12);
  --bad:oklch(.55 .19 27);--bad-soft:oklch(.55 .19 27 / .1);--info:oklch(.52 .12 250);--info-soft:oklch(.52 .12 250 / .1);
  --glow1:oklch(.7 .17 18 / .12);--glow2:oklch(.8 .14 60 / .16);
  --av-l:.9;--av-c:.07;--av-tl:.38;
  --scrim:rgba(20,16,12,.28);--shadow:0 30px 70px -24px rgba(40,24,10,.25),0 2px 10px rgba(40,24,10,.06);color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--fg);font:400 14px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(55% 45% at 92% -8%,var(--glow1),transparent 70%),radial-gradient(45% 40% at -5% -5%,var(--glow2),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.5;cursor:default}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:8px}
::selection{background:var(--acc-soft)}
.num,.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
code{font:12.5px var(--f-mono);background:var(--raised);border:1px solid var(--line);padding:1px 6px;border-radius:6px}
[hidden]{display:none!important}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line2);border-radius:10px;border:3px solid transparent;background-clip:padding-box}

/* ---------- Felső navigáció ---------- */
.topnav{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}
.topnav::before{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);background:color-mix(in srgb,var(--bg) 72%,transparent)}
.topin{max-width:1400px;margin:0 auto;height:68px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:0 max(28px,env(safe-area-inset-right,0px)) 0 max(28px,env(safe-area-inset-left,0px))}
.brand{display:flex;align-items:center;gap:11px}
.mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,var(--acc),var(--acc2));color:var(--acc-ink);display:grid;place-items:center;font:800 12px/1 var(--f-display);letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 22px -8px var(--acc-line)}
.brand b{display:block;font:700 15px/1.1 var(--f-display);letter-spacing:-.015em}
.brand small{color:var(--dim);font-size:12px}
.nav{display:flex;justify-content:center;gap:4px}
.ng{position:relative}
.ngb{height:38px;padding:0 15px;border:0;border-radius:999px;background:none;color:var(--mut);display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;transition:background-color .2s ease,color .2s ease,transform .14s var(--ease-out)}
.ngb:active{transform:scale(.97)}
.ngb .chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .2s var(--ease-out)}
@media (hover:hover){.ngb:hover{color:var(--fg);background:var(--hover)}.ng:hover .chev{transform:rotate(180deg)}}
.ngb[aria-current="page"]{color:var(--fg);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line2),0 4px 14px -6px rgba(0,0,0,.4)}
.cnt{min-width:20px;height:20px;display:inline-grid;place-items:center;font:600 11px/1 var(--f-mono);padding:0 6px;border-radius:999px;background:var(--acc);color:var(--acc-ink)}
.dd{position:absolute;top:calc(100% + 10px);left:50%;width:330px;margin-left:-165px;padding:6px;background:var(--panel);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--shadow);opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top center;pointer-events:none;transition:opacity .16s ease,transform .2s var(--ease-out)}
.dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.ng:hover .dd,.ng:focus-within .dd{opacity:1;transform:none;pointer-events:auto}
.nav.hush .dd{opacity:0;transform:translateY(-6px) scale(.97);pointer-events:none}
.ddi{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:8px;border:0;border-radius:12px;background:none;text-align:left;transition:background-color .15s ease}
@media (hover:hover){.ddi:hover{background:var(--hover)}.ddi:hover .ddic{color:var(--acc);border-color:var(--acc-line)}}
.ddic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--raised);border:1px solid var(--line);color:var(--mut);transition:color .15s ease,border-color .15s ease}
.ddic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ddi b{display:block;font-weight:550;font-size:13.5px}
.ddi small{display:block;color:var(--dim);font-size:12px}
.ddi[aria-current="page"] .ddic{color:var(--acc-ink);background:var(--acc);border-color:transparent}
.soonb{font-size:10.5px;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:1px 7px}

.status{display:flex;gap:8px;align-items:center}
.search{height:38px;display:flex;align-items:center;gap:8px;padding:0 6px 0 12px;border:1px solid var(--line);background:var(--panel);border-radius:999px;color:var(--mut);transition:border-color .15s ease,color .15s ease,transform .14s var(--ease-out)}
.search:active{transform:scale(.97)}
@media (hover:hover){.search:hover{border-color:var(--line2);color:var(--fg)}}
.search svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round}
.search span{font-size:13px}
kbd{font:500 11px/1 var(--f-mono);padding:5px 7px;border:1px solid var(--line2);border-radius:999px;color:var(--mut);background:var(--raised)}
.chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}
.chip i{width:7px;height:7px;border-radius:50%;background:currentColor}
.c-ok i{animation:pulse 2.4s ease-out infinite}
.c-ok{background:var(--ok-soft);color:var(--ok)}.c-warn{background:var(--warn-soft);color:var(--warn)}
.c-bad{background:var(--bad-soft);color:var(--bad)}.c-info{background:var(--info-soft);color:var(--info)}
.c-acc{background:var(--acc-soft);color:var(--acc)}.c-mut{background:var(--raised);color:var(--mut);box-shadow:inset 0 0 0 1px var(--line)}
.themeb,.menu{border:1px solid var(--line);background:var(--panel);border-radius:999px;width:38px;height:38px;display:grid;place-items:center;color:var(--mut);transition:color .15s ease,transform .14s var(--ease-out)}
.themeb:active,.menu:active{transform:scale(.92)}
@media (hover:hover){.themeb:hover,.menu:hover{color:var(--fg)}}
.themeb svg,.menu svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.menu{display:none}
.me{display:flex;align-items:center;gap:8px;height:38px;padding:0 4px 0 4px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}
.me b{font-size:13px;font-weight:550;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.me small{display:none}
.me .btn.sm{width:30px;height:30px;padding:0;justify-content:center;border-radius:999px}
.av{--h:40;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:650 11px/1 var(--f-body);flex:none;background:oklch(var(--av-l) var(--av-c) var(--h));color:oklch(var(--av-tl) .08 var(--h));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}

/* ---------- Oldal ---------- */
.view{max-width:1400px;margin:0 auto;padding:36px max(28px,env(safe-area-inset-right,0px)) 96px max(28px,env(safe-area-inset-left,0px))}
.vh{margin-bottom:32px}
.subtabs{position:relative;display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--sunk);border:1px solid var(--line);margin-bottom:28px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.subtabs button{position:relative;z-index:1;height:34px;padding:0 15px;border:0;border-radius:999px;background:none;color:var(--mut);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;white-space:nowrap;transition:color .2s ease}
.subtabs button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.subtabs button:hover{color:var(--fg)}}
.subtabs button[aria-current="page"]{color:var(--fg);background:var(--panel);box-shadow:0 0 0 1px var(--line2),0 4px 12px -4px rgba(0,0,0,.35)}
.subtabs.has-ind button[aria-current="page"]{background:none;box-shadow:none}
.subtabs .ind{position:absolute;z-index:0;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--panel);box-shadow:0 0 0 1px var(--line2),0 4px 12px -4px rgba(0,0,0,.35);transform-origin:left center}
.subtabs.has-ind button[aria-current="page"] svg{color:var(--acc)}
.vh-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.crumb{display:inline-block;font-size:13px;font-weight:600;color:var(--acc);margin-bottom:10px}
.vh h1{margin:0;font:700 clamp(34px,4.4vw,54px)/1.02 var(--f-display);letter-spacing:-.04em;text-wrap:balance}
.vh p{margin:14px 0 0;color:var(--mut);max-width:62ch;text-wrap:pretty;font-size:15px;line-height:1.6}
.acts{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- Gombok ---------- */
.btn{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:550;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .14s var(--ease-out),box-shadow .2s ease}
.btn:active:not(:disabled){transform:scale(.97)}
@media (hover:hover){.btn:hover{background:var(--hover);border-color:var(--dim)}}
.btn svg{flex:none;width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.btn.pri{background:linear-gradient(140deg,var(--acc),color-mix(in srgb,var(--acc) 70%,var(--acc2)));border-color:transparent;color:var(--acc-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 22px -10px var(--acc-line)}
@media (hover:hover){.btn.pri:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 28px -10px var(--acc)}}
.btn.sm{height:30px;padding:0 12px;font-size:12.5px}
.btn.ghost{border-color:transparent;background:none;color:var(--mut)}
@media (hover:hover){.btn.ghost:hover{background:var(--hover);color:var(--fg);border-color:transparent}}
.btn.danger{color:var(--bad)}
.btn.danger.armed{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.x{width:34px;padding:0;justify-content:center}

/* ---------- Kártyák + reflektor ---------- */
.card{position:relative;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 0 var(--hi) inset}
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,-300px),var(--acc-line),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(480px circle at var(--mx,50%) var(--my,-300px),var(--hi),transparent 45%);opacity:0;transition:opacity .4s ease}
@media (hover:hover){.card:hover::before,.card:hover::after{opacity:1}}
.card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px 0}
.card>header h2{margin:0;font:650 17px/1.2 var(--f-display);letter-spacing:-.02em}
.card>header small{color:var(--dim);font-size:12.5px;display:inline-flex;gap:6px;align-items:center}
.cb{padding:16px 22px 22px}
.grid{display:grid;gap:18px}
.g-dash{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start}

/* ---------- Bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
.kpi{padding:22px 22px 20px;display:flex;flex-direction:column;min-height:168px;overflow:hidden}
.kpi>span,.kpi-top>span:first-child{color:var(--mut);font-size:13.5px;font-weight:500}
.kpi b{display:block;font:700 46px/1 var(--f-display);margin:auto 0 8px;padding-top:18px;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.kpi em{font-style:normal;font-size:13px;color:var(--dim)}
.kpi.hero{grid-column:span 2;grid-row:span 2;background:radial-gradient(90% 70% at 100% 0%,oklch(.64 .2 18 / .16),transparent 60%),linear-gradient(160deg,var(--acc-soft),transparent 55%),color-mix(in srgb,var(--panel) 88%,transparent);border-color:color-mix(in srgb,var(--acc) 22%,var(--line))}
.kpi.hero b{font-size:clamp(64px,7vw,96px);margin:22px 0 4px;padding:0;background:linear-gradient(120deg,var(--fg) 30%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.02;padding-bottom:4px}
.kpi.hero .chart{margin-top:auto;padding-top:22px}
.kpi-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.kpi.bot b{font-size:30px;display:flex;align-items:center;gap:12px}
.kpi.bot b i{width:12px;height:12px;border-radius:50%;background:var(--ok);animation:pulse 2.4s ease-out infinite}
.kpi.bot.off b i{background:var(--bad);animation:none}
.kpi.dim{background:repeating-linear-gradient(135deg,transparent 0 10px,var(--hi) 10px 11px),color-mix(in srgb,var(--panel) 88%,transparent)}

/* ---------- Teendők, feed ---------- */
.todo{display:flex;align-items:center;gap:14px;padding:14px;margin:0 -14px;border-radius:14px;transition:background-color .15s ease}
@media (hover:hover){.todo:hover{background:var(--hover)}}
.todo .ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none}
.todo .ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.todo .tx{flex:1;min-width:0}
.todo .tx b{display:block;font-weight:600;font-size:14px}
.todo .tx small{color:var(--mut);font-size:12.5px;display:block;overflow:hidden;text-overflow:ellipsis}
.todo .btn{flex:none}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;font-size:13px}
.feed li+li{border-top:1px solid var(--line)}
.feed li>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}
.feed time{color:var(--dim);font:12px var(--f-mono);white-space:nowrap}
.feed .num{font-weight:600;font-size:13px;text-align:center;padding:3px 0;border-radius:999px}
.feed .num.plus{background:var(--ok-soft)}.feed .num.minus{background:var(--bad-soft)}
.plus{color:var(--ok)}.minus{color:var(--bad)}
.src{font:600 10.5px/1 var(--f-mono);padding:5px 7px;border-radius:999px}
.src.web{background:var(--acc-soft);color:var(--acc)}.src.dc{background:var(--info-soft);color:var(--info)}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--hover);color:var(--mut);white-space:nowrap}

/* ---------- Grafikon ---------- */
.chart{display:block;overflow:visible}
.chart text{fill:var(--dim);font:10.5px var(--f-mono)}
.chart .b{fill:color-mix(in srgb,var(--fg) 12%,transparent);transition:fill .2s ease}
.chart .bg.last .b{fill:url(#gAcc)}
.chart .val{fill:var(--fg);font-weight:600;font-size:12px;opacity:0;transition:opacity .15s ease}
.chart .bg.last .val{opacity:1}
@media (hover:hover){.chart .bg:hover .b{fill:color-mix(in srgb,var(--fg) 24%,transparent)}.chart .bg.last:hover .b{fill:url(#gAcc)}.chart .bg:hover .val{opacity:1}}

/* ---------- Táblák ---------- */
table{width:100%;border-collapse:collapse}
.tbl th{font-size:12px;color:var(--dim);font-weight:500;text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th:first-child,.tbl td:first-child{padding-left:22px}
.tbl th:last-child,.tbl td:last-child{padding-right:22px}
.tbl th button{background:none;border:0;padding:0;font:inherit;color:inherit;display:inline-flex;gap:4px;align-items:center}
@media (hover:hover){.tbl th button:hover{color:var(--fg)}}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl tbody tr[data-m]{cursor:pointer}
.tbl tbody tr{transition:background-color .15s ease}
@media (hover:hover){.tbl tbody tr:hover{background:var(--hover)}}
.tbl tr:last-child td{border-bottom:0}
.tbl td.num[style*="font-size:15px"]{font-weight:600;color:var(--fg)}
.r{text-align:right!important}
.who{display:flex;align-items:center;gap:11px}
.who b{font-weight:550}
.who .av{width:32px;height:32px}
.rank{font-size:12.5px;color:var(--mut)}
.scroll{overflow-x:auto}

/* ---------- Űrlapok ---------- */
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.inp{height:38px;border:1px solid var(--line2);background:var(--sunk);border-radius:var(--rc);padding:0 12px;min-width:0;transition:border-color .15s ease,box-shadow .15s ease}
.inp::placeholder{color:var(--dim)}
.inp:focus{outline:none;border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
textarea.inp{padding:10px 12px;resize:vertical;line-height:1.45}
select.inp{padding-right:8px}
input[type="checkbox"]{accent-color:var(--acc);width:17px;height:17px}
.seg{display:inline-flex;padding:4px;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:999px}
.seg button{border:0;background:none;padding:0 13px;height:30px;border-radius:999px;font-size:12.5px;color:var(--mut);font-weight:500;transition:background-color .2s ease,color .2s ease}
@media (hover:hover){.seg button:hover{color:var(--fg)}}
.seg button[aria-pressed="true"]{background:var(--panel);color:var(--fg);box-shadow:0 0 0 1px var(--line2),0 3px 10px -4px rgba(0,0,0,.35)}
.lbl{display:block;font-size:12.5px;color:var(--mut);font-weight:550;margin-bottom:8px}
.ferr{color:var(--bad);font-size:12.5px;margin-top:6px}

/* ---------- Ticketek ---------- */
.g-tic{grid-template-columns:minmax(290px,370px) minmax(0,1fr);align-items:start}
.tl{display:flex;flex-direction:column;gap:2px;padding:8px;max-height:calc(100dvh - 330px);overflow-y:auto;overflow-x:hidden}
.tl>button{min-width:0;width:100%}
.tl>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.tl>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:0;background:none;border-radius:13px;text-align:left;transition:background-color .15s ease,transform .14s var(--ease-out)}
.tl>button:active{transform:scale(.985)}
.tl>button .av{width:36px;height:36px}
.tl>button b{display:block;font-weight:600;font-size:13.5px}
.tl>button small{color:var(--dim);font-size:12px}
@media (hover:hover){.tl>button:hover{background:var(--hover)}}
.tl>button[aria-current="true"]{background:var(--acc-soft);box-shadow:inset 0 0 0 1px var(--acc-line)}
#tthread>header{padding-bottom:16px;border-bottom:1px solid var(--line);align-items:flex-start}
#tthread>header small{display:block;margin-top:5px}
.thread{display:flex;flex-direction:column;gap:2px;max-height:calc(100dvh - 450px);min-height:220px;overflow-y:auto;margin:0 -10px;padding:0 10px}
.msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:11px 10px;border-radius:13px;animation:rise .3s var(--ease-out) both}
.msg .av{width:36px;height:36px}
.msg b{font-weight:600;font-size:13.5px}
.msg time{color:var(--dim);font-size:11.5px;margin-left:6px;font-family:var(--f-mono)}
.msg p{margin:3px 0 0;color:color-mix(in srgb,var(--fg) 88%,var(--mut));text-wrap:pretty;overflow-wrap:anywhere}
.msg.del{opacity:.5}.msg.del p{text-decoration:line-through}
@media (hover:hover){.msg:hover{background:var(--hover)}}
.emb{margin-top:8px;padding:14px 16px;border-radius:13px;background:var(--sunk);border:1px solid var(--line);border-left:3px solid var(--acc);display:grid;gap:9px;font-size:13px;max-width:560px}
.emb>b{font-weight:650}
.embf span{display:block;font-size:11.5px;color:var(--dim);font-weight:550}
.emb img,.att{max-width:min(320px,100%);border-radius:10px;display:block;margin-top:4px;border:1px solid var(--line)}
.replyf{display:flex;gap:8px;align-items:flex-end;margin-top:16px;padding:8px;border:1px solid var(--line2);border-radius:16px;background:var(--sunk);transition:border-color .15s ease,box-shadow .15s ease}
.replyf:focus-within{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.replyf .inp{flex:1;border:0;background:none;box-shadow:none;height:auto;min-height:42px}

/* ---------- Fiók ---------- */
#layer{position:relative;z-index:60}
.scrim{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade .25s ease both}
.drawer{position:fixed;top:10px;right:10px;bottom:10px;width:min(460px,calc(100vw - 20px));background:var(--panel);border:1px solid var(--line2);border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:drawerIn .45s var(--ease-drawer) both}
.scrim.still,.drawer.still{animation:none}
.dh{display:flex;align-items:center;gap:16px;padding:26px 22px 22px;background:radial-gradient(100% 120% at 0% 0%,var(--acc-soft),transparent 60%);border-bottom:1px solid var(--line)}
.dh .av{width:58px;height:58px;font-size:18px;box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--acc-line)}
.dh h2{margin:0 0 2px;font:700 22px/1.15 var(--f-display);letter-spacing:-.03em}
.dh .x{margin-left:auto;align-self:flex-start}
.db{flex:1;min-height:0;padding:22px;overflow-y:auto;display:grid;grid-auto-rows:max-content;gap:24px;align-content:start}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stats3>div{padding:14px;border-radius:14px;background:var(--raised);border:1px solid var(--line)}
.stats3 span{font-size:12px;color:var(--dim)}
.stats3 b{display:block;font:700 28px/1.1 var(--f-display);letter-spacing:-.04em;margin-top:6px;font-variant-numeric:tabular-nums}
.stats3>div:first-child{background:linear-gradient(150deg,var(--acc-soft),transparent);border-color:var(--acc-line)}
.stats3>div:first-child b{color:var(--acc)}
.adj{display:grid;gap:12px;padding:18px;border-radius:16px;background:var(--raised);border:1px solid var(--line)}
.adj .lbl{margin:0}
.adj .seg{width:100%}.adj .seg button{flex:1}
.hist{list-style:none;margin:0;padding:0}
.hist li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px}
.hist li+li{border-top:1px solid var(--line)}

/* ---------- Parancspaletta ---------- */
.pal{position:fixed;left:50%;top:13vh;width:min(620px,calc(100vw - 24px));translate:-50% 0;background:var(--panel);border:1px solid var(--line2);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;transform-origin:top center;animation:palIn .2s var(--ease-out) both}
.pal input{width:100%;height:62px;border:0;border-bottom:1px solid var(--line);background:none;padding:0 22px;font-size:17px;outline:none}
.pal input::placeholder{color:var(--dim)}
.pal ul{list-style:none;margin:0;padding:8px;max-height:min(440px,60vh);overflow-y:auto}
.pal .grp{padding:10px 12px 4px;font-size:12px;color:var(--dim);font-weight:550}
.pal li button{display:flex;justify-content:space-between;align-items:center;width:100%;height:44px;padding:0 14px;border:0;background:none;border-radius:12px;text-align:left;font-size:14px}
.pal li button small{color:var(--dim);font-size:12px;font-family:var(--f-mono)}
.pal li button[aria-selected="true"]{background:var(--acc-soft)}
.pal li button[aria-selected="true"] small{color:var(--acc)}
#layer.closing .scrim{animation:fadeOut .18s ease both}
#layer.closing .drawer{animation:drawerOut .22s var(--ease-out) both}
#layer.closing .pal{animation:palOut .14s ease both}

.toast{position:fixed;left:50%;bottom:28px;translate:-50% 0;z-index:80;padding:12px 18px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:13.5px;font-weight:550;box-shadow:var(--shadow);max-width:calc(100vw - 32px);animation:toastIn .38s var(--ease-out) both}

/* ---------- Shop ---------- */
.offer{position:relative;overflow:hidden;display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px;padding:24px;border-radius:var(--r);border:1px solid var(--acc-line);background:radial-gradient(70% 120% at 100% 0%,oklch(.64 .2 18 / .18),transparent 60%),linear-gradient(120deg,var(--acc-soft),transparent 70%)}
.offer small{font:700 18px/1.2 var(--f-display);letter-spacing:-.02em;color:var(--fg)}
.offer .inp{background:color-mix(in srgb,var(--panel) 80%,transparent)}
#newitem b{font:650 17px/1.2 var(--f-display)}

/* ---------- Rablások ---------- */
.rob{display:grid;grid-template-columns:minmax(0,1fr) 250px;overflow:hidden}
.rob>div:first-child{padding:24px}
.rob h3{margin:0;font:700 24px/1.15 var(--f-display);letter-spacing:-.03em}
.rob .meta{color:var(--mut);font-size:13px;margin-top:6px}
.rob .lbl{margin-top:18px}
.side2{display:flex;flex-direction:column;gap:12px;padding:24px;border-left:1px solid var(--line);background:linear-gradient(180deg,transparent,var(--acc-soft));justify-content:flex-end}
.side2 .lbl{margin:0}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cat{height:34px;padding:0 15px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--mut);font-size:13px;font-weight:550;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .14s var(--ease-out)}
.cat:active{transform:scale(.95)}
@media (hover:hover){.cat:hover{color:var(--fg);border-color:var(--dim)}}
.cat[aria-pressed="true"]{background:var(--acc);border-color:transparent;color:var(--acc-ink)}
.people{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pp{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 3px;border-radius:999px;background:var(--hover);font-size:12.5px;transition:transform .14s var(--ease-out)}
@media (hover:hover){.pp:hover{transform:translateY(-1px)}}
.pp .av{width:24px;height:24px;font-size:9px}

/* ---------- Jelenlét ---------- */
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--mut)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.hm{border-collapse:separate;border-spacing:5px 5px;width:auto}
.hm th{font:500 10.5px/1.25 var(--f-mono);color:var(--dim);text-align:center;padding:0 0 6px}
.hm td{padding:0;text-align:center}
.hm .nm{text-align:left;padding-right:12px;white-space:nowrap}
.cell{display:inline-block;width:22px;height:22px;border-radius:7px;vertical-align:middle;transition:transform .14s var(--ease-out)}
@media (hover:hover){.hm .cell:hover{transform:scale(1.25)}}
.cell.s0{background:var(--ok);box-shadow:0 0 12px -2px color-mix(in srgb,var(--ok) 60%,transparent)}
.cell.s1{background:var(--warn);opacity:.85}
.cell.s2{background:var(--bad-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad) 45%,transparent)}
.cell.s2.none{background:none;box-shadow:inset 0 0 0 1px var(--line2)}
.cell.s3{background:repeating-linear-gradient(135deg,var(--line2) 0 3px,transparent 3px 6px)}
.view.enter .hm .cell{animation:pop .4s var(--ease-out) both}

/* ---------- Zene ---------- */
.np{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px;background:radial-gradient(80% 140% at 0% 50%,var(--acc-soft),transparent 60%),radial-gradient(60% 120% at 100% 0%,oklch(.64 .2 18 / .14),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent)!important}
.np h3{margin:4px 0 14px;font:700 24px/1.2 var(--f-display);letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np .lbl{margin:0}
.disc{width:96px;height:96px;border-radius:50%;background:repeating-radial-gradient(circle,#18181b 0 2px,#232327 2px 3px);display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.07)}
.disc i{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,var(--acc),var(--acc2));box-shadow:inset 0 0 0 11px rgba(0,0,0,.25)}
.disc.on{animation:spin 3.2s linear infinite}
.prog{height:5px;border-radius:5px;background:var(--line2);overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:5px}
.ctrl{display:flex;gap:8px;align-items:center}
.ctrl button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line2);background:var(--panel);display:grid;place-items:center;color:var(--mut);transition:transform .14s var(--ease-out),color .15s ease}
.ctrl button:active{transform:scale(.9)}
@media (hover:hover){.ctrl button:hover{color:var(--fg)}}
.ctrl button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ctrl .big{width:58px;height:58px;background:linear-gradient(140deg,var(--acc),var(--acc2));border-color:transparent;color:var(--acc-ink);box-shadow:0 10px 26px -10px var(--acc)}
.ctrl .big svg{width:22px;height:22px;fill:currentColor}
@media (hover:hover){.ctrl .big:hover{color:var(--acc-ink)}}
.q{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:13.5px}
.q+.q{border-top:1px solid var(--line)}
.q .n{width:22px;font:500 12px var(--f-mono);color:var(--dim);text-align:right}
.q .tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Beállítások ---------- */
.set{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:16px;align-items:center;padding:12px 0}
.set+.set{border-top:1px solid var(--line)}
.set b{display:block;font-weight:600;font-size:13.5px}
.set small{color:var(--dim);font-size:11.5px}
.set select{width:100%}

/* ---------- Állapotok ---------- */
.empty{color:var(--dim);font-size:13.5px;text-align:center;padding:36px 12px}
.feed .empty{display:block}
.err{padding:16px 18px;border-radius:16px;background:var(--bad-soft);color:var(--bad);font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cb.err{border-radius:0 0 var(--r) var(--r)}
.soonpage{display:grid;gap:16px;justify-items:start;padding:28px}
.soonpage ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.soonpage li{display:flex;gap:10px;align-items:center;color:var(--mut)}
.soonpage li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}
.skel{display:grid;gap:18px}
.sk{border-radius:var(--r);background:linear-gradient(90deg,var(--hover) 0%,var(--raised) 50%,var(--hover) 100%) 0 0/200% 100%;animation:shimmer 1.4s ease-in-out infinite}
.sk.h{height:54px;width:min(420px,70%);border-radius:14px}.sk.b{height:150px}.sk.c{height:280px}
.sk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* ---------- Belépés ---------- */
.gate{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.gate-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:44px;margin:10px;border-radius:26px;background:radial-gradient(80% 70% at 0% 100%,var(--acc-soft),transparent 60%),radial-gradient(70% 60% at 100% 0%,oklch(.64 .2 18 / .2),transparent 60%),var(--panel);border:1px solid var(--line)}
.gate-art .big{font:800 clamp(96px,15vw,240px)/.82 var(--f-display);letter-spacing:-.07em;background:linear-gradient(130deg,var(--fg) 35%,var(--acc) 75%,var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.gate-art .big em{font-style:normal}
.gate-art p{margin:0;color:var(--mut);max-width:36ch;font-size:15px}
.gate .box{align-self:center;justify-self:center;width:min(460px,100%);padding:44px 28px;display:grid;gap:18px}
.gate h1{margin:0;font:700 44px/1.05 var(--f-display);letter-spacing:-.04em}
.gate p{margin:0;color:var(--mut);text-wrap:pretty}
.gate p b{color:var(--fg);font-weight:600}
.warn{padding:13px 16px;border-radius:14px;background:var(--warn-soft);color:var(--warn);font-size:13.5px}
.steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line);counter-increment:s}
.steps li::before{content:counter(s);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--acc),var(--acc2));font:700 14px var(--f-display);color:var(--acc-ink)}

/* ---------- Mozgás ---------- */
@keyframes fade{from{opacity:0}}
@keyframes fadeOut{to{opacity:0}}
@keyframes drawerIn{from{transform:translateX(calc(100% + 20px))}}
@keyframes drawerOut{to{transform:translateX(calc(100% + 20px))}}
@keyframes palIn{from{opacity:0;transform:scale(.96) translateY(-8px)}}
@keyframes palOut{to{opacity:0;transform:scale(.98)}}
@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@keyframes grow{from{transform:scaleY(0)}}
@keyframes pop{from{opacity:0;transform:scale(.6)}}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 55%,transparent)}70%,100%{box-shadow:0 0 0 8px transparent}}
.kpi.bot b i{color:var(--ok)}
.view.enter>*{animation:rise .5s var(--ease-out) both}
.view.enter>.vh{animation:none}
.view.enter .vh-row{animation:rise .5s var(--ease-out) both}
.view.enter>*:nth-child(2){animation-delay:70ms}
.view.enter>*:nth-child(3){animation-delay:140ms}
.view.enter>*:nth-child(n+4){animation-delay:200ms}
.view.enter .bento>*{animation:rise .55s var(--ease-out) both}
.view.enter .bento>*:nth-child(2){animation-delay:60ms}.view.enter .bento>*:nth-child(3){animation-delay:110ms}
.view.enter .bento>*:nth-child(4){animation-delay:160ms}.view.enter .bento>*:nth-child(5){animation-delay:210ms}
.view.enter .chart .b{transform-box:fill-box;transform-origin:50% 100%;animation:grow .8s var(--ease-out) both;animation-delay:calc(var(--i) * 50ms + 200ms)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important}
}

/* ---------- Reszponzív ---------- */
@media (max-width:1240px){.search span,.search kbd{display:none}.search{padding:0;width:38px;justify-content:center}.me b{display:none}}
@media (max-width:1100px){
  .g-dash{grid-template-columns:minmax(0,1fr)}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi.hero{grid-row:auto}
}
@media (max-width:980px){
  .topin{grid-template-columns:auto 1fr auto}
  .nav{position:fixed;top:68px;left:0;right:0;bottom:0;z-index:29;flex-direction:column;justify-content:flex-start;gap:4px;padding:16px 20px 40px;background:var(--bg);overflow-y:auto;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .3s var(--ease-out)}
  .app.open .nav{opacity:1;transform:none;pointer-events:auto}
  .ngb{width:100%;justify-content:flex-start;height:44px;font:700 20px/1 var(--f-display);color:var(--fg)}
  .ngb .chev{display:none}
  .nav.hush .dd,.dd{position:static;width:auto;margin:0 0 10px;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border:0;background:none;padding:0}
  .menu{display:grid}
  .status{grid-column:3}
  .g-tic{grid-template-columns:minmax(0,1fr)}
  .rob{grid-template-columns:minmax(0,1fr)}.side2{border-left:0;border-top:1px solid var(--line)}
  .gate{grid-template-columns:minmax(0,1fr)}.gate-art{min-height:260px}
  .np{grid-template-columns:auto minmax(0,1fr)}.np .ctrl{grid-column:1/-1}
}
@media (max-width:640px){
  .topin{padding:0 14px;gap:10px}
  .brand div:last-child,.hide-s{display:none}
  .view{padding:24px 16px 64px}
  .bento{grid-template-columns:minmax(0,1fr)}.kpi.hero{grid-column:auto}
  .kpi b{font-size:38px}
  .set{grid-template-columns:minmax(0,1fr)}
  .sk-row{grid-template-columns:1fr}
  .stats3 b{font-size:22px}
}

/* ---------- Shop v3 ---------- */
.newitem{display:grid;gap:16px;padding:22px;margin-bottom:18px;border-color:var(--acc-line);animation:rise .35s var(--ease-out) both}
.ni-head b{display:block;font:700 19px/1.2 var(--f-display);letter-spacing:-.02em}.ni-head small{color:var(--dim)}
.ni-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ni-grid label{display:flex;flex-direction:column}.ni-grid .wide{grid-column:1/-1}.ni-grid .lbl{margin-bottom:6px}
.offer{align-items:center;padding:26px 28px}
.offer-tx{flex:1;min-width:240px;display:grid;gap:10px;justify-items:start}
.offer-inp{width:100%;border:0;background:none;resize:none;padding:0;font:700 clamp(20px,2.4vw,28px)/1.25 var(--f-display);letter-spacing:-.025em;color:var(--fg);outline:none;border-bottom:1px dashed transparent;transition:border-color .2s ease}
.offer-inp::placeholder{color:var(--dim)}
.offer-inp:focus{border-bottom-color:var(--acc-line)}
.shopsec{margin-top:36px}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.sec-h h2{margin:0;font:700 24px/1.15 var(--f-display);letter-spacing:-.03em}
.sec-h small{color:var(--dim);font-size:13px}
.sec-h .inp{width:min(280px,100%);border-radius:999px;padding:0 16px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.prod{display:flex;flex-direction:column;gap:14px;padding:20px;transition:transform .25s var(--ease-out),opacity .2s ease}
@media (hover:hover){.prod:hover{transform:translateY(-2px)}}
.prod.off{opacity:.62}
.prod.dirty,.rung.dirty{border-color:var(--acc-line)}
.prod-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px}
.pid{font-size:11.5px;color:var(--dim);background:var(--sunk);border:1px solid var(--line);padding:3px 8px;border-radius:999px}
.pname{width:100%;border:0;background:none;padding:2px 0;font:700 22px/1.2 var(--f-display);letter-spacing:-.03em;color:var(--fg);outline:none;border-bottom:1px dashed transparent;transition:border-color .2s ease}
@media (hover:hover){.pname:hover{border-bottom-color:var(--line2)}}
.pname:focus{border-bottom-color:var(--acc)}
.pname.sm{font-size:18px;text-align:center}
.pdesc{margin:-6px 0 0;color:var(--mut);font-size:13px;line-height:1.5}
textarea.pdesc{width:100%;border:0;border-bottom:1px dashed transparent;background:none;padding:2px 0;resize:none;outline:none;font:inherit;font-size:13px;color:var(--mut);transition:border-color .2s ease,color .2s ease}
textarea.pdesc::placeholder{color:var(--dim)}
@media (hover:hover){textarea.pdesc:hover{border-bottom-color:var(--line2)}}
textarea.pdesc:focus{border-bottom-color:var(--acc);color:var(--fg)}
.pfields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf .lbl{margin-bottom:6px;font-size:12px}
.stepper{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;height:40px;border:1px solid var(--line2);border-radius:999px;background:var(--sunk);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.stepper:focus-within{border-color:var(--acc-line);box-shadow:0 0 0 4px var(--acc-soft)}
.stepper button{height:100%;border:0;background:none;color:var(--mut);font:500 17px/1 var(--f-mono);transition:color .15s ease,background-color .15s ease,transform .12s var(--ease-out)}
.stepper button:active{transform:scale(.85)}
@media (hover:hover){.stepper button:hover{color:var(--fg);background:var(--hover)}}
.stepper input{width:100%;min-width:0;border:0;background:none;text-align:center;font-size:15px;font-weight:600;outline:none;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input::placeholder{color:var(--dim);font-weight:400;font-size:12.5px}
.pfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.sw{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{width:38px;height:22px;border-radius:999px;background:var(--line2);position:relative;transition:background-color .2s ease}
.sw span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s var(--ease-out)}
.sw input:checked+span{background:var(--acc)}
.sw input:checked+span::after{transform:translateX(16px)}
.sw input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.sw em{font-style:normal;font-size:12.5px;color:var(--mut);font-weight:500}
.ladder{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:14px;overflow-x:auto;padding:4px 2px 8px}
.ladder::before{content:"";position:absolute;left:40px;right:40px;top:31px;height:2px;background:linear-gradient(90deg,var(--line2),var(--acc-line),var(--acc));border-radius:2px}
.rung{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:0 16px 16px;margin-top:10px;border-radius:var(--r);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);transition:opacity .2s ease,border-color .2s ease}
.rung.off{opacity:.6}
.rlvl{align-self:center;width:44px;height:44px;margin-top:-12px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--acc),var(--acc2));color:var(--acc-ink);font:800 17px/1 var(--f-display);box-shadow:0 0 0 5px var(--bg),0 8px 20px -8px var(--acc)}
.rung .lbl{margin:0;text-align:center;font-size:12px}
.rfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line)}

/* ---------- Rangigények v3 ---------- */
.g-rank{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px;align-items:start}
.rqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.rq{display:flex;flex-direction:column;gap:18px;padding:22px}
.rq-who{display:flex;align-items:center;gap:14px}
.rq-who b{display:block;font:700 19px/1.2 var(--f-display);letter-spacing:-.025em}
.rq-who small{color:var(--dim);font-size:12.5px}
.rq-who .btn{margin-left:auto}
.av.lg{width:52px;height:52px;font-size:16px}
.rq-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rq-path svg{width:18px;height:18px;stroke:var(--dim);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rk{height:32px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:var(--hover);color:var(--mut);font-size:13px;font-weight:550}
.rk.to{background:linear-gradient(140deg,var(--acc),var(--acc2));color:var(--acc-ink)}
.rq-pts{display:flex;align-items:center;gap:16px;padding:14px;border-radius:14px;background:var(--sunk);border:1px solid var(--line)}
.rq-pts b{display:block;font-size:16px}
.rq-pts small{font-size:12.5px}
.ringw{position:relative;width:64px;height:64px;flex:none}
.ringw>span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:600}
.ring{width:64px;height:64px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:6}
.ring .rt{stroke:var(--line2)}
.ring .rf{stroke:var(--warn);stroke-linecap:round}
.ring .rf.full{stroke:var(--ok)}
.view.enter .ring .rf{animation:ring 1.1s var(--ease-out) .25s both}
@keyframes ring{from{stroke-dashoffset:var(--c)}}
.rq-acts{display:grid;grid-template-columns:1fr;gap:10px}
.rq-acts .btn{justify-content:center;height:42px}
.rq-empty{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center}
.rq-empty .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:6px}
.rq-empty .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rq-empty b{font:700 20px/1.2 var(--f-display)}.rq-empty small{color:var(--dim)}
.elig{list-style:none;margin:0 -10px;padding:0;display:grid;gap:2px}
.elig button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:0;background:none;border-radius:12px;text-align:left;transition:background-color .15s ease}
@media (hover:hover){.elig button:hover{background:var(--hover)}}
.elig b{display:block;font-weight:600;font-size:13.5px}.elig small{color:var(--dim);font-size:12px}
.elig .num{font-weight:600;color:var(--ok)}.elig .num small{color:var(--dim);font-weight:400}
.tline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:16px}
.tline li{position:relative;display:grid;gap:2px;font-size:13px}
.tline li::before{content:"";position:absolute;left:-25px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 3px var(--ok)}
.tline li.bad::before{box-shadow:inset 0 0 0 3px var(--bad)}
.tline small{color:var(--dim);font-size:12px}
.tline .empty{padding:8px 0}.tline .empty::before{display:none}
@media (max-width:1100px){.g-rank{grid-template-columns:minmax(0,1fr)}.ni-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ni-grid{grid-template-columns:1fr}.offer{padding:20px}}

/* ---------- Modal ---------- */
.modal{position:fixed;left:50%;top:50%;translate:-50% -50%;width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;background:var(--panel);border:1px solid var(--line2);border-radius:24px;box-shadow:var(--shadow);animation:modalIn .26s var(--ease-out) both}
#layer.closing .modal{animation:modalOut .16s ease both}
@keyframes modalIn{from{opacity:0;transform:scale(.96)}}
@keyframes modalOut{to{opacity:0;transform:scale(.97)}}
.mh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 0}
.mh h2{margin:0;font:700 26px/1.15 var(--f-display);letter-spacing:-.035em}
.mh small{color:var(--dim);font-size:13px}
.mbody{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;padding:22px 26px}
.mform{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start;min-width:0}
.mform label{min-width:0}.mform .inp{width:100%}
.mform label{display:flex;flex-direction:column}
.mform .lbl{margin-bottom:6px}
.mform .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.hint{color:var(--dim);font-size:12px;margin-top:6px}
.mprev{min-width:0;display:flex;flex-direction:column;padding:18px;border-radius:18px;background:radial-gradient(90% 80% at 100% 0%,var(--acc-soft),transparent 60%),var(--sunk);border:1px solid var(--line)}
.mprev .prod{flex:1;pointer-events:none}
.pv-price{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:8px}
.pv-price b{font:700 38px/1 var(--f-display);letter-spacing:-.04em;color:var(--acc)}
.pv-price span{color:var(--dim)}
.mf{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px 24px;border-top:1px solid var(--line)}
.g-rank{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.mbody{grid-template-columns:minmax(0,1fr)}.mprev{order:-1}}

/* ---------- Rablás: több akció, egyedi pont ---------- */
.cat-inp{height:34px;width:150px;padding:0 15px;border-radius:999px;border:1px dashed var(--line2);background:none;font-size:13px;outline:none;transition:border-color .2s ease,width .25s var(--ease-out)}
.cat-inp::placeholder{color:var(--dim)}
.cat-inp:focus{border-style:solid;border-color:var(--acc-line);width:200px}
.cat-inp:not(:placeholder-shown){border-style:solid;border-color:var(--acc);color:var(--fg)}
.cat.miss{border-style:dashed}
.cat.miss[aria-pressed="true"]{background:var(--bad);color:#fff}
.pts{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}
.pt{height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);font:600 14px var(--f-mono);color:var(--mut);transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}
.pt:active{transform:scale(.92)}
@media (hover:hover){.pt:hover{color:var(--fg)}}
.pt[aria-pressed="true"]{background:var(--acc);border-color:transparent;color:var(--acc-ink)}
.rsum{display:block;color:var(--mut);font-size:12.5px;line-height:1.5;min-height:38px}
.rsum b{color:var(--fg)}
.side2.dim .pts,.side2.dim .stepper{opacity:.4;pointer-events:none}

/* ---------- Új rablás modal ---------- */
.qtimes{display:flex;flex-wrap:wrap;gap:6px;margin-top:-6px}
.qtimes .pt{padding:0 12px;font-size:12.5px}
.drop{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border:1.5px dashed var(--line2);border-radius:16px;background:var(--sunk);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .15s var(--ease-out)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media (hover:hover){.drop:hover{border-color:var(--acc-line)}}
.drop.over{border-color:var(--acc);background:var(--acc-soft);transform:scale(1.01)}
.drop-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc);flex:none}
.drop-ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.drop b{display:block;font-weight:600;font-size:13.5px}.drop small{color:var(--dim);font-size:12px}
.dcprev{display:grid;grid-template-columns:4px minmax(0,1fr);border-radius:8px;overflow:hidden;background:#2b2d31;color:#dbdee1;box-shadow:0 10px 30px -14px rgba(0,0,0,.6)}
.dcbar{background:var(--acc)}
.dcbody{padding:12px 14px 14px;display:grid;gap:8px;min-width:0}
.dcbody b{color:#f2f3f5;font-size:15px}
.dcbody p{margin:0;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.dcimg{position:relative}
.dcimg img{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:6px;animation:fade .3s ease both}
.dcimg .btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);border-color:transparent;color:#fff}
.dcreact{display:flex;gap:6px}
.dcreact span{font-size:12.5px;padding:2px 8px;border-radius:8px;background:#383a40;border:1px solid #4e5058}

/* ---------- Fegyverhajó v3 ---------- */
.ship{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);overflow:hidden;background:radial-gradient(70% 90% at 0% 0%,var(--acc-soft),transparent 60%),radial-gradient(60% 80% at 100% 100%,oklch(.64 .2 18 / .12),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent)!important;border-color:color-mix(in srgb,var(--acc) 25%,var(--line))}
.ship-main{padding:28px;display:flex;flex-direction:column;gap:24px}
.ship-top{display:flex;gap:8px;flex-wrap:wrap}
.cdw .lbl{margin:0 0 4px}
.cd{font:700 clamp(54px,6.5vw,88px)/1 var(--f-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,var(--fg) 40%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px}
.cd.now{background:none;color:var(--ok)}
.cdw small{color:var(--mut)}
.route{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:r}
.route li{position:relative;display:grid;gap:1px;padding:0 0 16px 28px}
.route li:last-child{padding-bottom:0}
.route li::before{content:"";position:absolute;left:5px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 2px var(--line2);z-index:1}
.route li::after{content:"";position:absolute;left:10px;top:18px;bottom:-4px;width:2px;background:var(--line)}
.route li:last-child::after{display:none}
.route li.done::before{background:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.route li.done::after{background:var(--acc-line)}
.route b{font-size:13.5px;font-weight:600}.route small{color:var(--dim);font-size:12px}
.ship-side{display:flex;flex-direction:column;border-left:1px solid var(--line);background:color-mix(in srgb,var(--sunk) 60%,transparent)}
.rsvps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1}
.rsvp{padding:24px 18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.rsvp+.rsvp{border-left:1px solid var(--line)}
.rsvp-h{display:flex;justify-content:space-between;align-items:baseline}
.rsvp-h span{font-size:13px;font-weight:600;color:var(--mut)}
.rsvp-h b{font:700 34px/1 var(--f-display);letter-spacing:-.04em}
.rsvp.y .rsvp-h b{color:var(--ok)}.rsvp.m .rsvp-h b{color:var(--warn)}.rsvp.n .rsvp-h b{color:var(--bad)}
.rsvp>small{color:var(--dim)}
.rsvp-names{display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto;overflow-x:hidden;margin:0 -6px;padding:0 6px}
.rsvp-names .nm{border:0;background:none;padding:4px 6px;margin:0;border-radius:7px;text-align:left;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (hover:hover){.rsvp-names .nm:hover{background:var(--hover);color:var(--fg)}}
.stack{display:flex;padding-left:8px}
.stack .av{width:30px;height:30px;margin-left:-8px;box-shadow:0 0 0 2px var(--panel);font-size:10px;transition:transform .15s var(--ease-out)}
@media (hover:hover){.stack .av:hover{transform:translateY(-3px);z-index:1}}
.stack .more{background:var(--hover);color:var(--mut)}
.ship-close{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 20px;border-top:1px solid var(--line)}
.ship-close b{display:block;font:700 22px/1.1 var(--f-display);letter-spacing:-.03em}
.ship-close small{color:var(--dim);font-size:12.5px}
.empty-ship{display:grid;justify-items:center;text-align:center;gap:12px;padding:56px 24px;grid-template-columns:1fr}
.empty-ship h2{margin:0;font:700 30px/1.1 var(--f-display);letter-spacing:-.035em}
.empty-ship p{margin:0 0 6px;color:var(--mut);max-width:48ch}
.es-ic{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(140deg,var(--acc),var(--acc2));color:var(--acc-ink);box-shadow:0 14px 34px -12px var(--acc)}
.es-ic svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ships{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.shipc{padding:18px;display:grid;gap:10px;transition:transform .25s var(--ease-out)}
@media (hover:hover){.shipc:hover{transform:translateY(-2px)}}
.shipc-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.shipc-h b{font:650 16px/1.2 var(--f-display)}
.shipc>small{color:var(--dim);font-size:12px;margin-top:-6px}
.ratio{display:flex;gap:3px;height:8px}
.ratio i{border-radius:4px;min-width:0}
.ratio .y{background:var(--ok)}.ratio .m{background:var(--warn)}.ratio .n{background:var(--bad)}
.shipc-f{display:flex;justify-content:space-between;align-items:center}
.shipc-f .num{font-size:12.5px;color:var(--mut)}.shipc-f b{color:var(--fg)}
.modal.sm{width:min(560px,calc(100vw - 24px))}
.mbody.one{grid-template-columns:minmax(0,1fr);gap:18px}
.mbody.one label{display:flex;flex-direction:column}.mbody.one .lbl{margin-bottom:6px}
@media (max-width:1100px){.ship{grid-template-columns:minmax(0,1fr)}.ship-side{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:640px){.rsvps{grid-template-columns:minmax(0,1fr)}.rsvp+.rsvp{border-left:0;border-top:1px solid var(--line)}}

.mform .drop{flex-direction:row;align-items:center}

/* ---------- Új rablás: Components V2 előnézet ---------- */
.modal.xl{width:min(1060px,calc(100vw - 24px))}
.rob-mb{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.rob-mb .mprev{padding:16px;background:#1e1f22;border-color:#2b2d31}
.rob-mb .mprev>.lbl{color:#949ba4}
.imgpick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.imgopt{position:relative;display:block;aspect-ratio:3/2;padding:0;border-radius:14px;overflow:hidden;border:2px solid var(--line);background:var(--sunk);cursor:pointer;transition:border-color .2s ease,transform .15s var(--ease-out)}
.imgopt:active{transform:scale(.98)}
.imgopt[aria-pressed="true"]{border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.imgopt img{width:100%;height:100%;object-fit:cover;display:block}
.imgopt>span{position:absolute;left:8px;bottom:8px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff}
.mform .imgopt.drop{display:block;padding:0;border-style:dashed;gap:0}
.imgopt.drop[aria-pressed="true"]{border-style:solid}
.imgopt-up{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--mut);pointer-events:none}
.imgopt-up svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:2;stroke-linecap:round;margin-bottom:2px}
.imgopt-up b{font-size:13px;color:var(--fg)}.imgopt-up small{font-size:11.5px;color:var(--dim)}
.imgopt-up img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imgopt-up>span{position:absolute;left:8px;bottom:8px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff}
.imgopt.drop.over{border-color:var(--acc);background:var(--acc-soft)}
.dcmsg{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:6px 4px;font-family:"gg sans","Geist",system-ui,sans-serif;color:#dbdee1;font-size:14px;line-height:1.375}
.dcav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#f1c40f,#c0392b);color:#1d0f04;font:800 10px/1 var(--f-display)}
.dcname{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.dcname b{color:#f2f3f5;font-weight:600;font-size:15px}
.dcapp{font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;background:#5865f2;color:#fff;line-height:1.4}
.dcname time{color:#949ba4;font-size:12px}
.cv2{background:#2b2d31;border:1px solid #3f4147;border-radius:8px;padding:12px;display:grid;gap:8px;max-width:520px}
.cv2 hr{border:0;border-top:1px solid #3f4147;margin:4px 0;width:100%}
.cv2-media{border-radius:8px;overflow:hidden;background:#1e1f22}
.cv2-media img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;animation:fade .3s ease both}
.cv2 h3{margin:0;color:#f2f3f5;font-size:18px;font-weight:700}
.cv2-ment{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.cv2-ment span{padding:0 3px;border-radius:3px;font-weight:500}
.cv2-ment .m1{color:#f1c40f;background:rgba(241,196,15,.12)}
.cv2-ment .m2{color:#1abc9c;background:rgba(26,188,156,.12)}
.cv2 p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.cv2 p b{color:#f2f3f5}
.cv2 code{font:12.5px var(--f-mono);background:#1e1f22;border:1px solid #3f4147;padding:1px 4px;border-radius:4px;color:#dbdee1}
.cv2-sec{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cv2-sec>div{display:grid;gap:4px;justify-items:start}
.cv2-sec b{color:#f2f3f5}
.dcbtn{flex:none;height:32px;display:inline-flex;align-items:center;padding:0 14px;border-radius:8px;background:#5865f2;color:#fff;font-size:13.5px;font-weight:500}
.dcmsg .dcreact{margin-top:6px}
.dcmsg .dcreact span{background:#2b2d31;border-color:#3f4147;color:#dbdee1;padding:3px 8px}
@media (max-width:860px){.rob-mb{grid-template-columns:minmax(0,1fr)}.rob-mb .mprev{order:0}}

textarea.inp{height:auto;min-height:96px}
.replyf textarea.inp{min-height:42px}

/* ---------- Előzmények (rablás, hajó) ---------- */
.hist2{margin-top:36px}
.hl{display:grid;gap:6px}
.hli{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:10px 16px 10px 10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,transparent);text-align:left;transition:background-color .15s ease,border-color .15s ease,transform .14s var(--ease-out)}
.hli:active{transform:scale(.99)}
@media (hover:hover){.hli:hover{background:var(--hover);border-color:var(--line2)}}
.hl-date{width:48px;height:48px;border-radius:12px;background:var(--sunk);border:1px solid var(--line);display:grid;place-items:center;align-content:center;line-height:1}
.hl-date b{font:700 18px/1 var(--f-display)}.hl-date small{font-size:10.5px;color:var(--dim);margin-top:2px}
.hl-main b{display:block;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hl-main small{color:var(--dim);font-size:12px}
.hl-votes{display:flex;gap:6px}
.hl-votes i{font-style:normal;font-size:12px;padding:3px 8px;border-radius:999px;background:var(--hover);font-variant-numeric:tabular-nums}
.hl-pts{font-size:12.5px;color:var(--acc);font-weight:600;min-width:64px;text-align:right}
.shipc{cursor:pointer}
.es-ic.sm{width:48px;height:48px;border-radius:15px;flex:none}.es-ic.sm svg{width:22px;height:22px}
.ratio.big{height:10px}
.evg header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.evg header span{font-weight:600;font-size:13.5px}
.evg header b{font:700 20px/1 var(--f-display)}
.evg.y header b{color:var(--ok)}.evg.m header b{color:var(--warn)}.evg.n header b{color:var(--bad)}
.evg ul{list-style:none;margin:0 -8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.evg li button{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:none;border-radius:10px;text-align:left;min-width:0}
@media (hover:hover){.evg li button:hover{background:var(--hover)}}
.evg li b{display:block;font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evg li small{color:var(--dim);font-size:11.5px}
.evg li span{min-width:0}
@media (max-width:640px){.hli{grid-template-columns:44px minmax(0,1fr);}.hl-votes,.hl-pts{grid-column:2}.hl-pts{text-align:left}}

/* ---------- Discord előnézet v2 ---------- */
.rob-mb .mprev.dcwin{padding:0;overflow:hidden;background:#313338;border:1px solid #1e1f22;border-radius:14px}
.dcchan{display:flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-bottom:1px solid #1f2023;box-shadow:0 1px 0 rgba(0,0,0,.2);font-family:"gg sans","Geist",system-ui,sans-serif}
.dcchan span{color:#80848e;font-size:22px;font-weight:300;line-height:1}
.dcchan b{color:#f2f3f5;font-size:15px;font-weight:600}
.dcchan small{margin-left:auto;font-size:11px;color:#949ba4;padding:2px 8px;border-radius:999px;background:#2b2d31}
.dcwin .dcmsg{padding:16px 16px 18px;max-height:calc(100dvh - 260px);overflow-y:auto}
.dcav{background:#1e1f22;color:#f1c40f;box-shadow:inset 0 0 0 2px #f1c40f55}
.cv2{background:#2b2d31;border:1px solid #ffffff12;border-radius:8px;padding:16px;gap:10px;max-width:none}
.cv2 hr{border-top-color:#ffffff14;margin:2px 0}
.cv2-media{border-radius:8px}
.cv2 h3{font-size:17px}
.cv2 p{font-size:14px;line-height:1.4;color:#dbdee1}
.cv2-sec b,.cv2 p b{font-weight:600}
.dcbtn{background:#4e5058;font-size:14px;height:32px;border-radius:8px}
.dcmsg .dcreact span{border-radius:8px;background:#2b2d31;border:1px solid #ffffff12}

/* fej ikonok a szavazatoknál */
.hl-votes{gap:10px}
.hv{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px 0 4px;border-radius:999px;background:var(--hover)}
.hv-st{display:flex;padding-left:6px}
.hv .av{width:22px;height:22px;margin-left:-6px;font-size:8px;box-shadow:0 0 0 2px var(--hv,var(--ok))}
.hv .av.ghost{background:none;box-shadow:inset 0 0 0 1.5px var(--line2)}
.hv b{font-size:12px;font-weight:600}
.hv.y{--hv:var(--ok)}.hv.m{--hv:var(--warn)}.hv.n{--hv:var(--bad)}
.hv.y b{color:var(--ok)}.hv.m b{color:var(--warn)}.hv.n b{color:var(--bad)}
.evg header span{display:inline-flex;align-items:center;gap:8px}
.dotc{width:10px;height:10px;border-radius:50%;background:var(--ok)}
.evg.m .dotc{background:var(--warn)}.evg.n .dotc{background:var(--bad)}
.evg li .av{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--ok)}
.evg.m li .av{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--warn)}
.evg.n li .av{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--bad)}
/* Components V2: nincs konténer háttér */
.cv2{background:none!important;border:0!important;padding:0!important;gap:8px}
.cv2 hr{border-top:1px solid #ffffff1f;margin:4px 0}
.cv2-media{max-width:520px}
@media (max-width:640px){.hl-votes{flex-wrap:wrap}}

/* előnézet: nincs szürke háttér */
.rob-mb .mprev.dcwin{background:none;border:0;padding:0;border-radius:0}
.dcwin .dcmsg{padding:4px 0 0;max-height:calc(100dvh - 240px)}
.dcmsg{color:var(--fg)}
.dcname b,.cv2 h3,.cv2-sec b,.cv2 p b{color:var(--fg)}
.cv2 p{color:color-mix(in srgb,var(--fg) 88%,var(--mut))}
.dcname time{color:var(--dim)}
.cv2 hr{border-top-color:var(--line2)}
.cv2 code{background:var(--sunk);border-color:var(--line);color:var(--fg)}
.dcav{background:var(--sunk)}
.dcmsg .dcreact span{background:var(--hover);border-color:var(--line);color:var(--fg)}
.mbody.one .dcmsg{padding-top:2px}

.dcbtn.live{background:#248046;color:#fff;font-weight:600}
.hcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.hc{display:grid;gap:14px;padding:16px;text-align:left;cursor:pointer;transition:transform .25s var(--ease-out),border-color .2s ease}
@media (hover:hover){.hc:hover{transform:translateY(-2px);border-color:var(--line2)}}
.hc:active{transform:scale(.99)}
.hc-top{display:flex;align-items:center;gap:12px;min-width:0}
.hc-t{min-width:0}
.hc-t b{display:block;font:650 16px/1.2 var(--f-display);letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-t small{color:var(--dim);font-size:12px}
.hc-f{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.hc .hl-votes{gap:6px;flex-wrap:wrap}
.hc .hl-pts{min-width:0}

/* ---------- Tagprofil v3 ---------- */
.prof .ph{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;padding:34px 22px 22px;border-bottom:1px solid var(--line);background:radial-gradient(90% 100% at 50% 0%,var(--acc-soft),transparent 70%)}
.prof .ph .x{position:absolute;top:14px;right:14px}
.av.xl{width:84px;height:84px;font-size:26px;box-shadow:0 0 0 4px var(--panel),0 0 0 6px var(--acc-line),0 18px 40px -16px var(--acc)}
.prof .ph h2{margin:6px 0 0;font:700 26px/1.1 var(--f-display);letter-spacing:-.035em}
.ph-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.prof .ph>small{color:var(--dim);font-size:12.5px}
.psec{display:grid;gap:10px}.psec>.lbl{margin:0}
.pgrid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ptile{padding:14px;border-radius:14px;background:var(--raised);border:1px solid var(--line);display:grid;gap:2px;align-content:start}
.ptile-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc);margin-bottom:8px}
.ptile-ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ptile>span{font-size:12.5px;color:var(--mut);font-weight:500}
.ptile b{font:700 30px/1.05 var(--f-display);letter-spacing:-.04em}
.ptile small{color:var(--dim);font-size:12px}
.ptile.rate{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.ptile.rate span{display:block;font-weight:600;color:var(--fg);font-size:14px}
.ringw.lg{width:72px;height:72px}.ringw.lg .ring{width:72px;height:72px}.ringw.lg>span{font-size:14px;font-weight:700}
.ring .rf.low{stroke:var(--bad)}
.drawer .ring .rf{animation:ring 1.1s var(--ease-out) .15s both}
.pstrip{padding:14px;border-radius:14px;background:var(--sunk);border:1px solid var(--line);display:grid;gap:10px}
.pstrip .lbl{margin:0}
.pcells{display:flex;flex-wrap:wrap;gap:5px}
.pcells .cell{width:20px;height:20px}
.pstrip .legend{font-size:11.5px;gap:12px}

/* ---------- Jelenlét v3 ---------- */
.att-b .kpi{min-height:140px}
.warnk{text-align:left;cursor:pointer;border-color:color-mix(in srgb,var(--bad) 30%,var(--line))!important;background:linear-gradient(160deg,var(--bad-soft),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent)!important;transition:transform .2s var(--ease-out)}
.warnk b{color:var(--bad)}
@media (hover:hover){.warnk:hover{transform:translateY(-2px)}}
.evline{margin-bottom:18px}
.evbars{display:flex;gap:8px;align-items:flex-end;height:150px;overflow-x:auto;padding-top:18px}
.evb{flex:1 0 34px;max-width:64px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:6px}
.evb i{position:relative;display:block;border-radius:8px 8px 4px 4px;background:var(--info);transform-origin:bottom;min-height:4px}
.evb.hajo i{background:linear-gradient(180deg,var(--acc),var(--acc2))}
.evb i b{position:absolute;top:-18px;left:0;right:0;text-align:center;font-size:11px;color:var(--fg)}
.evb small{font:10.5px var(--f-mono);color:var(--dim);text-align:center;white-space:nowrap}
.view.enter .evb i{animation:grow .7s var(--ease-out) both}
.attc{overflow:hidden}
.attc .tools{gap:12px}
.seg button{white-space:nowrap}
.arow{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) minmax(0,1.6fr) 150px 80px;gap:16px;align-items:center;padding:9px 22px;border-top:1px solid var(--line)}
.arow.ahead{border-top:0;padding-top:12px;padding-bottom:12px;font-size:12px;color:var(--dim);font-weight:500;background:var(--sunk)}
.arow.ahead button{border:0;background:none;padding:0;color:inherit;font:inherit}
@media (hover:hover){.arow:not(.ahead):hover{background:var(--hover)}.arow.ahead button:hover{color:var(--fg)}}
.aname{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;text-align:left;min-width:0}
.aname b{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arate{display:flex;align-items:center;gap:10px}
.arate b{width:44px;font-size:13.5px;font-weight:600}
.abar{flex:1;height:6px;border-radius:6px;overflow:hidden;display:flex}
.abar i{display:block;height:100%;border-radius:6px;background:var(--ok)}
.arate.mid .abar i{background:var(--warn)}.arate.low .abar i{background:var(--bad)}.arate.low b{color:var(--bad)}
.acells{display:flex;flex-wrap:wrap;gap:3px}
.acells .cell{width:12px;height:12px;border-radius:3px}
.acnt{font-size:12.5px;color:var(--dim)}
.agrp{display:flex;align-items:center;gap:10px;padding:14px 22px 8px;font:650 14px var(--f-display);border-top:1px solid var(--line)}
.agrp i{width:10px;height:10px;border-radius:50%;background:var(--ok)}
.agrp.mid i{background:var(--warn)}.agrp.low i{background:var(--bad)}.agrp.na i{background:var(--line2)}
.agrp small{font:400 12px var(--f-body);color:var(--dim)}
@media (max-width:900px){.arow{grid-template-columns:minmax(0,1fr) 140px 70px}.arow>.hide-s{display:none}}

.astack{display:flex;gap:2px;height:20px;min-width:0}
.astack i{display:grid;place-items:center;min-width:3px;border-radius:5px;font:600 10.5px/1 var(--f-mono);font-style:normal;color:rgba(0,0,0,.7);overflow:hidden}
.astack .y{background:var(--ok)}.astack .m{background:var(--warn)}.astack .n{background:var(--bad);color:#fff}
.astack .x{background:none;box-shadow:inset 0 0 0 1px var(--line2);color:var(--dim)}
.astack .i{background:repeating-linear-gradient(135deg,var(--line2) 0 3px,transparent 3px 6px);color:var(--dim)}
.hm .cell{width:16px;height:16px;border-radius:4px}
.hm{border-spacing:3px 3px}

.arow{grid-template-columns:minmax(170px,1.2fr) 56px minmax(0,2fr) 230px 72px}
.arate b{width:auto}
.astack{height:10px;gap:3px}
.astack i{border-radius:5px}
.acnt{display:flex;align-items:baseline;gap:5px;font-size:12.5px;color:var(--dim);white-space:nowrap}
.acnt b{font-size:13px;font-weight:600;color:var(--mut)}
.acnt b.plus{color:var(--ok)}.acnt b.minus{color:var(--bad)}
.acnt em{font-style:normal;opacity:.5;margin:0 2px}
@media (max-width:900px){.arow{grid-template-columns:minmax(0,1fr) 56px 72px}}

/* ---------- Események a hónapban ---------- */
.evc{padding:22px;margin-bottom:18px;display:grid;gap:18px}
.evc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.evc-h h2{margin:0;font:650 17px/1.2 var(--f-display);letter-spacing:-.02em}
.evc-h small{color:var(--dim);font-size:12.5px}
.evc-stats{display:flex;gap:10px}
.evc-stats>div{padding:10px 14px;border-radius:12px;background:var(--sunk);border:1px solid var(--line);display:grid;min-width:110px}
.evc-stats span{font-size:11.5px;color:var(--dim)}
.evc-stats b{font:700 24px/1.1 var(--f-display);letter-spacing:-.03em}
.evc-stats small{font-size:11.5px;color:var(--mut)}
.evc-plot{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px}
.evc-y{display:flex;flex-direction:column;justify-content:space-between;height:190px;font:10.5px var(--f-mono);color:var(--dim);text-align:right;transform:translateY(-6px)}
.evc-area{position:relative}
.evc-area .gl{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--line)}
.avgl{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed var(--acc-line);z-index:2;pointer-events:none}
.avgl span{position:absolute;right:0;top:-20px;font:600 10.5px var(--f-mono);color:var(--acc);background:var(--panel);padding:1px 6px;border-radius:999px}
.evc-cols{position:relative;display:grid;height:190px;border-bottom:1px solid var(--line2)}
.ecol{display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:0 1px;border-radius:6px 6px 0 0}
.ecol.we{background:var(--hi)}
.ecol.today{box-shadow:inset 0 -2px 0 var(--acc)}
.ebar{position:relative;flex:1;max-width:22px;height:max(var(--h),6px);border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--info),color-mix(in srgb,var(--info) 55%,transparent));cursor:pointer;outline:none;transition:filter .15s ease;transform-origin:bottom}
.ebar.hajo{background:linear-gradient(180deg,var(--acc),var(--acc2))}
.view.enter .ebar{animation:grow .7s var(--ease-out) both;animation-delay:calc(var(--i) * 25ms + 150ms)}
@media (hover:hover){.evc-cols:hover .ebar{filter:saturate(.4) brightness(.7)}.evc-cols .ebar:hover{filter:none}}
.etip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:5;min-width:150px;display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--fg);color:var(--bg);font-size:12px;white-space:nowrap;box-shadow:var(--shadow);opacity:0;transform:translate(-50%,4px) scale(.97);transform-origin:bottom center;pointer-events:none;transition:opacity .12s ease,transform .16s var(--ease-out)}
.etip b{font-weight:650;font-size:13px}.etip small{opacity:.65}.etip em{font-style:normal}.etip strong{font-size:15px}
.ebar:hover .etip,.ebar:focus-visible .etip{opacity:1;transform:translate(-50%,0)}
.evc-x{display:grid;margin-top:6px;font:10.5px var(--f-mono);color:var(--dim);text-align:center}
.lg-h,.lg-r,.lg-w{width:12px;height:12px;border-radius:4px;display:inline-block}
.lg-h{background:linear-gradient(180deg,var(--acc),var(--acc2))}.lg-r{background:var(--info)}.lg-w{background:var(--hover);box-shadow:inset 0 0 0 1px var(--line)}

.rem{margin-left:6px;font:600 10.5px/1 var(--f-body);padding:3px 7px;border-radius:999px;vertical-align:1px}
.rem.ok{background:var(--ok-soft);color:var(--ok)}.rem.wait{background:var(--hover);color:var(--mut)}
.route li.next::before{background:var(--panel);box-shadow:inset 0 0 0 3px var(--acc),0 0 0 4px var(--acc-soft);animation:pulse 2.4s ease-out infinite;color:var(--acc)}
.route small [data-cd]{font-family:var(--f-mono);color:var(--acc)}

/* ---------- Kiadásra vár ---------- */
.dlsec{margin-bottom:28px}
.dlsec .sec-h h2::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:10px;vertical-align:4px;background:var(--ok)}
.dlsec.has .sec-h h2::after{background:var(--acc);animation:pulse 2.4s ease-out infinite;color:var(--acc)}
.dlgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.dl{display:grid;gap:14px;padding:18px;border-color:var(--acc-line);background:linear-gradient(160deg,var(--acc-soft),transparent 55%),color-mix(in srgb,var(--panel) 88%,transparent)}
.dl-who{display:flex;align-items:center;gap:11px}
.dl-who b{display:block;font-weight:600;font-size:13.5px}.dl-who small{color:var(--dim);font-size:12px}
.dl-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.dl-name{font:700 20px/1.2 var(--f-display);letter-spacing:-.025em}
.dl-price{font-size:12.5px;color:var(--mut);white-space:nowrap}
.dl .btn{justify-content:center;height:40px}
.dldone{margin-top:14px;border:1px solid var(--line);border-radius:var(--r);padding:0 18px;background:color-mix(in srgb,var(--panel) 88%,transparent)}
.dldone summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:13.5px;list-style:none;display:flex;align-items:center;gap:8px}
.dldone summary::-webkit-details-marker{display:none}
.dldone summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(-45deg);transition:transform .2s var(--ease-out)}
.dldone[open] summary::before{transform:rotate(45deg)}
.dldone summary small{color:var(--dim);font-weight:400}
.dldone .feed{padding-bottom:12px}
.dl-sum{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:var(--sunk);border:1px solid var(--line)}
.dl-sum b{display:block;font:700 19px/1.2 var(--f-display);letter-spacing:-.02em}
.dl-sum small{color:var(--dim);font-size:12.5px}

.dlbanner{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:18px;padding:14px 18px;border-radius:var(--r);border:1px solid var(--acc-line);background:linear-gradient(120deg,var(--acc-soft),transparent 70%);text-align:left;transition:transform .2s var(--ease-out)}
@media (hover:hover){.dlbanner:hover{transform:translateY(-1px)}}
.dlbanner>span:nth-child(2){flex:1}.dlbanner b{display:block;font-weight:650}.dlbanner small{color:var(--mut);font-size:12.5px}
.dlbanner>svg{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#kdet>header{padding-bottom:16px;border-bottom:1px solid var(--line);align-items:flex-start}
#kdet>header h2{font-size:22px}
#kdet>header small{display:block;margin-top:5px}
.kbody{display:grid;gap:16px}
.kbuyer{width:100%;text-align:left;cursor:pointer;transition:border-color .15s ease}
.kbuyer>div:not(.av){flex:1}
.kbuyer .av{flex:none}
@media (hover:hover){.kbuyer:hover{border-color:var(--line2)}}
.kfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kfacts>div{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--raised)}
.kfacts span{display:block;font-size:12px;color:var(--dim)}
.kfacts b{display:block;font-weight:600;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kother{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.kother .lbl{width:100%;margin:0}
.kother .tag{border:0;cursor:pointer}
.kform{display:grid;gap:10px;padding:16px;border-radius:16px;border:1px solid var(--acc-line);background:linear-gradient(160deg,var(--acc-soft),transparent 60%)}
.kform>label{display:flex;flex-direction:column}
.kform-f{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.kform-f .hint{margin:0}
.kform .btn{height:42px;padding:0 22px}
.kdone{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}
.kdone .es-ic{background:var(--ok);color:#06210f;box-shadow:none}
.kdone b{display:block;font-weight:650}.kdone small{color:var(--mut);font-size:12.5px}
.kdone p{margin:8px 0 0;color:var(--fg)}
.kempty{display:grid;justify-items:center;text-align:center;gap:8px;padding:64px 24px}
.kempty b{font:700 20px/1.2 var(--f-display)}.kempty small{color:var(--dim)}
@media (max-width:640px){.kfacts{grid-template-columns:1fr}}

.qty{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 6px;margin-right:6px;border-radius:6px;background:var(--acc);color:var(--acc-ink);font:700 11.5px/1 var(--f-mono);vertical-align:1px}
.qty.lg{height:28px;min-width:34px;font-size:15px;border-radius:8px;vertical-align:3px}
.kpick{display:grid;gap:6px}.kpick .lbl{margin:0 0 2px}
.kchk{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:border-color .15s ease,opacity .15s ease}
.kchk input{position:absolute;opacity:0;width:1px;height:1px}
.kbox{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line2);display:grid;place-items:center;transition:background-color .15s ease,border-color .15s ease}
.kbox::after{content:"";width:6px;height:11px;border:solid var(--acc-ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.4);opacity:0;margin-top:-3px;transition:transform .18s var(--ease-out),opacity .12s ease}
.kchk input:checked+.kbox{background:var(--acc);border-color:var(--acc)}
.kchk input:checked+.kbox::after{opacity:1;transform:rotate(45deg) scale(1)}
.kchk input:focus-visible+.kbox{outline:2px solid var(--acc);outline-offset:2px}
.kchk:has(input:checked){border-color:var(--acc-line)}
.kchk:has(input:not(:checked)){opacity:.6}
.kit{font-weight:600;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kchk small{color:var(--dim);font-size:12px;white-space:nowrap}

/* ---------- Inaktivitás ---------- */
.inact{display:grid;gap:16px}
.ia-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.ia-count{display:flex;flex-direction:column;justify-content:center;min-width:150px;padding:12px 18px;border-radius:14px;border:1px solid var(--line);background:var(--sunk)}
.ia-count b{font:700 34px/1 var(--f-display);letter-spacing:-.03em}
.ia-count span{margin-top:6px;font-size:12px;color:var(--dim);max-width:170px;text-wrap:pretty}
.ia-count.live b{color:var(--warn)}
.ia-txt{color:var(--warn)}
.ia-ends{display:flex;justify-content:space-between}
.ia-chat{display:grid;gap:10px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--raised)}
.ia-chat .thread{max-height:320px;overflow:auto}
.ia-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--raised)}
.ia-range span{display:block;font-size:12px;color:var(--dim)}
.ia-range b{display:block;font:650 16px/1.25 var(--f-display);margin-top:3px}
.ia-arrow svg{width:18px;height:18px;stroke:var(--dim);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ia-len{padding-left:16px;border-left:1px solid var(--line)}
.ia-len b{color:var(--warn)}
.ia-bar{display:grid;gap:8px}
.ia-track{display:flex;gap:3px;height:12px}
.ia-track i{flex:1;border-radius:3px;background:var(--hover)}
.ia-track i.on{background:var(--warn)}
.ia-track i.fade{background:var(--warn)}
.ia-track i.now{box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px var(--warn)}
.ia-bar small{color:var(--mut);font-size:12.5px}
.ia-reason{padding:16px;border-radius:16px;background:var(--sunk);border:1px solid var(--line)}
.ia-reason .lbl{margin-bottom:4px}
.ia-reason p{margin:0;font-size:14px;overflow-wrap:anywhere}
.ia-note{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--dim)}
.ia-note svg{width:16px;height:16px;flex:none;stroke:var(--ok);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ia-acts{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}
@media (max-width:640px){.ia-hero{grid-template-columns:1fr}.ia-range{grid-template-columns:1fr}.ia-arrow{display:none}.ia-len{border-left:0;padding-left:0}}

/* ---------- Tagnyilvántartás ---------- */
.rfil{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line)}
.rfil[hidden]{display:none}
.fchip{box-sizing:border-box;height:30px;margin:0;line-height:1;vertical-align:middle;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--mut);font-size:12.5px;font-weight:500;display:inline-flex;gap:7px;align-items:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.fchip em{font-style:normal;color:var(--dim);font-family:var(--f-mono);font-size:11.5px;font-weight:500}
.fchip[aria-pressed="true"] em{color:var(--mut)}

@media (hover:hover){.fchip:hover{color:var(--fg);border-color:var(--line2);background:var(--hover)}}
.fchip[aria-pressed="true"]{background:var(--acc-soft);border-color:var(--acc-line);color:var(--fg)}
.fchip:active{transform:scale(.97)}
.rk{--c:var(--mut);display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:550;white-space:nowrap;color:var(--c);background:color-mix(in oklch,var(--c) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--c) 30%,transparent)}
.rk.t1{--c:var(--bad)}.rk.t2{--c:oklch(.78 .09 5)}.rk.t3{--c:var(--acc)}.rk.t4{--c:var(--warn)}
.rtbl tr[data-rm]{cursor:pointer}
@media (hover:hover){.rtbl tr[data-rm]:hover td{background:var(--hover)}}
.rtbl .rg td{padding:20px 22px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}
.rtbl .rg em{font-style:normal;margin-left:8px;color:var(--mut);font-family:var(--f-mono);letter-spacing:0}
.rtbl .who small,.wtbl .who small{display:flex;gap:8px;color:var(--dim);font-size:12px;margin-top:1px}
.rtbl .who b,.wtbl .who b{display:block}
.nk{color:var(--acc)}.nodc{color:var(--warn)}.sugt{color:var(--info)}
.nk-tag{background:var(--acc-soft);color:var(--acc)}.udd-tag{background:var(--info-soft);color:var(--info)}
.nick{color:var(--mut);font-style:italic}
.nil{color:var(--dim)}
.nokt{color:var(--warn)}
.kt svg{width:18px;height:18px;stroke:var(--ok);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}
.kt .nokt{font-size:12px}
.rdate span,.rdate small{display:block}
.rdate small{color:var(--dim);font-size:11.5px;margin-top:1px}
.baddate{color:var(--bad);text-decoration:underline wavy;text-underline-offset:3px}
.mm{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--info);margin-left:7px;vertical-align:middle}
.pips{display:inline-flex;gap:3px;align-items:center}
.pips i{width:12px;height:6px;border-radius:2px;background:var(--hover)}
.pips i.on{background:var(--mut)}
.pips.s3 i.on{background:var(--warn)}.pips.s4 i.on{background:var(--bad)}
.pips b{margin-left:6px;font:500 12px var(--f-mono);color:var(--mut)}
.pips.s3 b{color:var(--warn)}.pips.s4 b{color:var(--bad)}
.rnote{max-width:clamp(110px,15vw,300px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mut);font-size:13px}
.udl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding:16px 22px;border-bottom:1px solid var(--line)}
.udl div{position:relative;padding:12px 40px 12px 14px;border-radius:12px;background:var(--raised);border:1px solid var(--line)}
.udl b{display:block;font-size:13px;font-weight:600}
.udl small{color:var(--dim);font-size:12px}
.udl em{position:absolute;top:12px;right:14px;font-style:normal;font-size:12px;color:var(--info)}
.rdr .rh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:20px 22px;border-bottom:1px solid var(--line)}
.rdr .rh h2{font:700 20px/1.15 var(--f-display);letter-spacing:-.02em;margin:2px 0 3px}
.rdr .rh small{color:var(--dim);font-size:12.5px}
.rh-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.rgrid .wide{grid-column:1/-1}
.rgrid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.rgrid label>span{font-size:12px;color:var(--dim)}
.rgrid .hint{color:var(--dim);font-size:11.5px}
.rgrid .ferr{margin:0}
.rsw{display:grid;gap:14px;padding:16px;border-radius:14px;background:var(--raised);border:1px solid var(--line)}
.rswi em{display:grid;gap:1px;color:var(--fg)!important}
.rswi em small{color:var(--dim);font-size:11.5px;font-weight:400}
.rsw .rgrid{padding-top:14px;border-top:1px solid var(--line)}
textarea.inp{height:auto;padding:10px 12px;resize:vertical;line-height:1.45}
.ralert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;font-size:13px}
.ralert svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ralert p{margin:0;color:var(--fg);text-wrap:pretty}
.ralert.warn{background:var(--warn-soft);color:var(--warn)}.ralert.bad{background:var(--bad-soft);color:var(--bad)}.ralert.info{background:var(--info-soft);color:var(--info)}
.ralert.info{grid-template-columns:auto minmax(0,1fr)}.ra-b{grid-column:2;display:flex;gap:6px}
.rsh{display:flex;justify-content:space-between;align-items:baseline}.rsh .lbl{margin:0}.rsh b{font-size:12.5px;color:var(--mut)}
.strk{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.strk div{display:grid;gap:6px}
.strk i{height:8px;border-radius:3px;background:var(--hover)}
.strk .on i{background:var(--mut)}.strk.s3 .on i{background:var(--warn)}.strk.s4 .on i{background:var(--bad)}
.strk span{font-size:11px;color:var(--dim)}
.strk.s3 div:nth-child(3) span{color:var(--warn)}.strk.s4 div:nth-child(4) span{color:var(--bad)}
.slist{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.slist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border-radius:12px;background:var(--raised);border:1px solid var(--line)}
.slist .n{font-size:11.5px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--hover);color:var(--mut)}
.slist p{margin:0 0 2px;font-size:13.5px;overflow-wrap:anywhere}
.slist small{color:var(--dim);font-size:12px}
.slist li.exp{background:none;border-style:dashed}.slist li.exp p{color:var(--dim);text-decoration:line-through;text-decoration-color:var(--line2)}
.rexp{display:block;color:var(--dim);font-size:12px;margin:-4px 0 2px}
.sadd{display:flex;gap:8px}.sadd .inp{flex:1}
.rfoot{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.rsave{display:flex;gap:8px;align-items:center;padding:14px 22px;border-top:1px solid var(--line);background:var(--panel)}
.rsave #rdirty{margin-right:auto;font-size:12.5px;color:var(--warn)}
@media (max-width:520px){.rgrid{grid-template-columns:1fr}.sadd{flex-direction:column}}

.rvh{position:relative;display:grid;justify-items:center;text-align:center;gap:12px;padding:30px 22px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--acc-soft),transparent 75%)}
.rvh .x{position:absolute;top:14px;right:14px}
.av.xl{width:84px;height:84px;font-size:30px;border-radius:50%;box-shadow:0 0 0 4px var(--panel),0 0 0 5px var(--line2)}
.rvn h2{font:700 24px/1.1 var(--f-display);letter-spacing:-.02em;margin:0;text-wrap:balance}
.rvnick{margin:5px 0 0;color:var(--acc);font-style:italic;font-size:14.5px}
.rvn small{display:block;margin-top:6px;color:var(--dim);font-size:12.5px}
.rvh .rh-tags{justify-content:center;margin:0}
.rvst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-radius:14px;overflow:hidden;background:var(--line);border:1px solid var(--line)}
.rvst>div{display:grid;gap:3px;padding:14px 16px;background:var(--raised);min-width:0}
.rvst span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.rvst b{font:650 17px/1.2 var(--f-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.rvst b em{font-style:normal;color:var(--dim);font-size:13px}
.rvst b.ok{color:var(--ok)}.rvst b.warn{color:var(--warn)}.rvst b.bad{color:var(--bad)}
.rvst small{color:var(--dim);font-size:12px}
.rvst small .baddate{font-style:normal}
.rvc{display:grid;gap:10px}
.rvc>.lbl{margin:0}
.rvdc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--raised);border:1px solid var(--line)}
.rvdc.none{grid-template-columns:minmax(0,1fr) auto;border-style:dashed;background:none}
.rvdc b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvdc small{color:var(--dim);font-size:12px}
.rvudd{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--info-soft)}
.rvudd b{display:block;font-size:14px;color:var(--fg)}.rvudd small{color:var(--dim);font-size:12px}
.rvnote{margin:0;padding:12px 14px;border-radius:14px;background:var(--sunk);border:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--fg);text-wrap:pretty}

.rvudd{align-items:center}
.rvudd.off{background:none;border:1px dashed var(--line2)}
.rvsel{display:grid;gap:5px;min-width:0;flex:1;max-width:280px}
.rvsel span{font-size:12px;color:var(--dim)}
.rvsel .inp{height:36px}
textarea.rvnote{resize:vertical;min-height:56px}
.scomp{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--raised);border:1px solid var(--line)}
.scomp.s3{border-color:color-mix(in oklch,var(--warn) 45%,transparent)}.scomp.s4{border-color:color-mix(in oklch,var(--bad) 45%,transparent)}
.sq{display:flex;gap:6px;flex-wrap:wrap}
.sq .fchip{height:28px;font-size:12px}
.sfoot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sfoot span{font-size:12.5px;color:var(--mut)}
.scomp.s3 .sfoot b{color:var(--warn)}.scomp.s4 .sfoot b{color:var(--bad)}

.splus{color:var(--acc);border-color:var(--acc-line)}
.sempty{margin:0;color:var(--dim);font-size:13px}
.smod{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.smod-s{position:absolute;inset:0;background:rgb(0 0 0 / .55);backdrop-filter:blur(2px)}
.smod-b{position:relative;width:min(460px,100%);max-height:calc(100dvh - 40px);overflow:auto;display:grid;gap:16px;padding:20px;border-radius:18px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 30px 80px -20px rgb(0 0 0 / .7);animation:smIn .18s cubic-bezier(.2,.8,.2,1)}
@keyframes smIn{from{opacity:0;transform:translateY(8px) scale(.98)}}
.smod-b header{display:flex;justify-content:space-between;gap:12px;align-items:start}
.smod-b h3{margin:0 0 3px;font:700 18px/1.2 var(--f-display);letter-spacing:-.01em}
.smod-b header small{color:var(--mut);font-size:12.5px}
.smod-b.s3 header b{color:var(--warn)}.smod-b.s4 header b{color:var(--bad)}
.strk .nx i{animation:nxp 1.2s ease-in-out infinite}
@keyframes nxp{50%{opacity:.45}}
.smf{display:grid;gap:8px}.smf>span,.smod-b .rgrid label>span{font-size:12px;color:var(--dim)}
.smod-b #sexpc{margin-top:6px}
.shint{margin:-4px 0 0;font-size:12.5px;color:var(--mut)}
.smod-b footer{display:flex;justify-content:flex-end;gap:8px}
@media (prefers-reduced-motion:reduce){.smod-b,.strk .nx i{animation:none}}

/* Profil v2: egy nézet, mezőnként azonnali mentés */
.drawer.rp{width:min(900px,calc(100vw - 20px))}
.rph{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--acc-soft),transparent 80%)}
.rph .av.xl{width:72px;height:72px;font-size:26px}
.rph h2{margin:0;font:700 24px/1.1 var(--f-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.rph-i small{display:block;margin-top:4px;color:var(--mut);font-size:13px}
.rph-c{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px}
.rph .x{align-self:start}
.rkw{position:relative;padding:0 26px 0 0;height:30px;cursor:pointer}
.rkw select{appearance:none;-webkit-appearance:none;background:none;border:0;color:inherit;font:inherit;height:100%;padding:0 0 0 12px;cursor:pointer;outline:none}
.rkw select option,.rkw select optgroup{color:var(--fg);background:var(--panel)}
.rkw::after{content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.rkw:focus-within{outline:2px solid var(--acc);outline-offset:2px}
.tgl{position:relative;cursor:pointer}
.tgl input{position:absolute;opacity:0;pointer-events:none}
.tgl span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:1px dashed var(--line2);color:var(--dim);font-size:12.5px;font-weight:550;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.tgl span svg{width:0;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:width .15s ease}
.tgl input:checked+span{border:1px solid var(--acc-line);background:var(--acc-soft);color:var(--fg)}
.tgl input:checked+span svg{width:14px;color:var(--acc)}
.tgl input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
@media (hover:hover){.tgl:hover span{color:var(--fg);border-color:var(--mut)}}
.tgl:active span{transform:scale(.97)}
.rpb{padding:20px 24px}
.rpal{display:grid;gap:8px;margin-bottom:16px}
.rpg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.rpcol{display:grid;gap:16px;min-width:0}
.rpc{display:grid;gap:12px;padding:16px;border-radius:16px;background:var(--raised);border:1px solid var(--line)}
.rpc.udd{background:color-mix(in oklch,var(--info) 7%,var(--raised));border-color:color-mix(in oklch,var(--info) 25%,transparent)}
.rpc h4{margin:0;font-size:13px;font-weight:650;display:flex;gap:8px;align-items:baseline}
.rpc h4 b{font-size:12.5px;color:var(--mut);font-weight:500}.rpc h4 b.warn{color:var(--warn)}.rpc h4 b.bad{color:var(--bad)}
.pfx{display:flex;flex-direction:column;gap:6px;min-width:0}
.pfx>span{display:flex;justify-content:space-between;font-size:12px;color:var(--dim)}
.pfx em{font-style:normal;display:inline-flex;gap:4px;align-items:center;color:var(--ok);opacity:0;transition:opacity .2s ease}
.pfx em.on{opacity:1}
.pfx em svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4}
.pfx .inp{background:var(--panel)}
.pfx .sugt{font-size:11.5px}
.rpc .slist li{background:var(--panel)}
.rpc .slist .btn svg{width:14px;height:14px}
.rpf{gap:10px}
.rpf-h{margin-right:auto;font-size:12px;color:var(--dim)}
@media (max-width:760px){.rpg{grid-template-columns:1fr}.rph{grid-template-columns:auto minmax(0,1fr);}.rph .x{position:absolute;top:12px;right:12px}.rph{position:relative}.rpf-h{display:none}}

.sxq{display:flex;gap:6px;flex-wrap:wrap;grid-column:1/-1}
.sxq .fchip{height:28px;font-size:12px}
.smod-b label.dis{opacity:.4}
.shint b{color:var(--fg);font-weight:600}
.slist li{position:relative;overflow:hidden}
.slife{position:relative;display:flex;margin-top:8px}
.sxp{display:inline-flex;align-items:baseline;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--mut);font-size:12px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.sxp span{color:var(--dim)}
.sxp b{font-weight:600;color:var(--fg)}
.sxp em{font-style:normal;color:var(--dim)}
.sxp em::before{content:"· "}
@media (hover:hover){button.sxp:hover{border-color:var(--mut);background:var(--hover)}}
button.sxp:active{transform:scale(.97)}
.sxp.never{align-items:center;color:var(--warn);border-style:dashed;cursor:default}
.slife.soon .sxp em{color:var(--ok)}
.slife.gone .sxp b{color:var(--dim)}
.sxh{display:none;height:28px;padding:0 8px;border-radius:999px;border:1px solid var(--acc);background:var(--sunk);color:var(--fg);font:500 12px var(--f-mono);color-scheme:dark;outline:none;box-shadow:0 0 0 3px var(--acc-soft)}
.slife.edit .sxp{display:none}
.slife.edit .sxh{display:inline-block}
.sbar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}
.sbar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--mut)}
li:has(.slife.soon) .sbar::after{background:var(--ok)}
.slist li.exp .sbar{display:none}

.uadd{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.uadd .lbl{margin:0 6px 0 0}
.uadd select{flex:1;min-width:180px;max-width:280px}

/* ---------- Áttekintés v2 ---------- */
.ovbot{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:550;color:var(--fg)}
.ovbot i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in oklch,var(--ok) 20%,transparent)}
.ovbot.off i{background:var(--bad);box-shadow:0 0 0 4px var(--bad-soft)}
.ovbot small{color:var(--dim);font-weight:400;font-size:12px}
.ovt{display:grid;gap:12px;margin-bottom:18px}
.ovh{display:flex;align-items:baseline;gap:12px}
.ovh h2{margin:0;font:700 17px/1.2 var(--f-display);letter-spacing:-.01em}
.ovh small{color:var(--dim);font-size:13px}
.ovtodo{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ovtc{--c:var(--mut);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;row-gap:2px;align-items:center;text-align:left;padding:16px;border-radius:16px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--fg);cursor:pointer;font:inherit;transition:border-color .15s ease,background-color .15s ease,transform .1s ease}
.ovtc.c-info{--c:var(--info)}.ovtc.c-acc{--c:var(--acc)}.ovtc.c-warn{--c:var(--warn)}.ovtc.c-bad{--c:var(--bad)}
.ovti{grid-row:1/3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--c);background:color-mix(in oklch,var(--c) 14%,transparent)}
.ovti svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ovtc b{font:700 26px/1 var(--f-display);letter-spacing:-.02em;color:var(--c)}
.ovtt{font-size:13px;font-weight:600}
.ovtc small{grid-column:1/-1;margin-top:10px;color:var(--dim);font-size:12px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (hover:hover){.ovtc:hover{border-color:color-mix(in oklch,var(--c) 45%,transparent);background:color-mix(in oklch,var(--c) 6%,var(--panel))}}
.ovtc:active{transform:scale(.985)}
.ovok{display:flex;gap:10px;align-items:center;padding:16px;border-radius:16px;border:1px dashed var(--line2);color:var(--mut);font-size:13.5px}
.ovok svg{width:18px;height:18px;color:var(--ok);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ovg{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch}
.ovc{display:flex;flex-direction:column}
.ovc>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 0}
.ovc>header h2{margin:0;font:700 16px/1.2 var(--f-display)}
.ovs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 22px 6px}
.ovs.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ovs>div{display:grid;gap:4px;min-width:0}
.ovs span{color:var(--dim);font-size:12px}
.ovs b{font:700 32px/1 var(--f-display);letter-spacing:-.03em}
.ovs b em{font-style:normal;color:var(--dim);font-weight:400}
.ovs small{color:var(--mut);font-size:12px}
.ovs small em{font-style:normal;font-weight:600}
.ovs em.up{color:var(--ok)}.ovs em.dn{color:var(--bad)}
.ovch{padding:6px 16px 14px;margin-top:auto}
.ovtier{display:grid;gap:10px;padding:14px 22px 4px}
.ovbar{display:flex;gap:3px;height:10px;border-radius:6px;overflow:hidden}
.ovbar i{min-width:4px}
.ovtier ul{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}
.ovtier li{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--mut)}
.ovtier li i{width:8px;height:8px;border-radius:2px}
.ovtier li b{color:var(--fg);font-size:12px;font-weight:500}
.ovin{display:grid;gap:8px;padding:16px 22px 20px;margin-top:auto}
.ovin .lbl{margin:0}
.ovinl{display:flex;flex-wrap:wrap;gap:6px}
.ovinl .pp{border:1px solid var(--line);background:none;color:var(--fg);cursor:pointer;font:inherit;font-size:12.5px}
.ovinl .pp small{color:var(--dim);margin-left:4px}
.ovc .seg{margin:0}
.ovmore{display:flex;justify-content:center;padding-top:6px}
@media (max-width:900px){.ovg{grid-template-columns:1fr}}
@media (max-width:560px){.ovs{grid-template-columns:1fr 1fr}.ovs>div:last-child:nth-child(3){grid-column:1/-1}}

/* ---------- Áttekintés v3: nyugodt ---------- */
.o3{display:grid;gap:40px;max-width:1080px}
.o3h{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-top:8px}
.o3h h1{margin:0;font:700 clamp(28px,4vw,40px)/1.05 var(--f-display);letter-spacing:-.03em;text-wrap:balance}
.o3h p{margin:10px 0 0;color:var(--mut);font-size:15px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.o3bot{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--dim)}
.o3bot i{width:7px;height:7px;border-radius:50%;background:var(--ok)}.o3bot.off i{background:var(--bad)}
.o3live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.o3l{display:grid;gap:8px;align-content:start;text-align:left;padding:22px;border-radius:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--fg);font:inherit;cursor:pointer;min-height:180px;transition:border-color .15s ease,transform .1s ease}
@media (hover:hover){.o3l:hover{border-color:var(--line2)}}
.o3l:active{transform:scale(.99)}
.o3lh{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);font-weight:600}
.o3dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 var(--acc);animation:o3p 2s ease-out infinite}
@keyframes o3p{0%{box-shadow:0 0 0 0 color-mix(in oklch,var(--acc) 60%,transparent)}70%,100%{box-shadow:0 0 0 8px transparent}}
@media (prefers-reduced-motion:reduce){.o3dot{animation:none}}
.o3l h3{margin:4px 0 0;font:700 22px/1.15 var(--f-display);letter-spacing:-.02em}
.o3l p{margin:0;color:var(--mut);font-size:14px}
.o3l p b{color:var(--fg);font-weight:600}
.o3lf{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;font-size:13px;color:var(--mut)}
.o3lf b{color:var(--fg);font-size:15px}
.o3l.idle{border-style:dashed;background:none;min-height:0}
.o3l.idle .o3lh{color:var(--dim)}
.o3g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.o3t{margin:0 0 14px;font-size:13px;font-weight:600;color:var(--dim);letter-spacing:.04em;text-transform:uppercase}
.o3th{display:flex;justify-content:space-between;align-items:baseline}
.o3todo{list-style:none;margin:0;padding:0;display:grid}
.o3todo li+li{border-top:1px solid var(--line)}
.o3todo button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 4px;background:none;border:0;color:var(--fg);font:inherit;font-size:14.5px;text-align:left;cursor:pointer}
.o3todo button i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--mut)}
.o3todo i.c-info{background:var(--info)}.o3todo i.c-acc{background:var(--acc)}.o3todo i.c-warn{background:var(--warn)}.o3todo i.c-bad{background:var(--bad)}
.o3todo button span{flex:1}
.o3todo svg{width:16px;height:16px;fill:none;stroke:var(--dim);stroke-width:1.8;transition:transform .15s ease}
@media (hover:hover){.o3todo button:hover svg{transform:translateX(3px);stroke:var(--fg)}}
.o3empty{margin:0;color:var(--mut)}
.o3num{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.o3num div{display:grid;gap:4px}
.o3num b{font:700 34px/1 var(--f-display);letter-spacing:-.03em}
.o3num span{font-size:13px;color:var(--mut)}
.o3num em{font-style:normal;font-weight:600}.o3num em.up{color:var(--ok)}.o3num em.dn{color:var(--bad)}
.o3spark{display:flex;align-items:end;gap:6px;height:56px;margin-top:22px}
.o3spark i{flex:1;border-radius:4px;background:var(--hover)}
.o3spark i.on{background:var(--acc)}
.o3feed li{padding:12px 0}
@media (max-width:820px){.o3live,.o3g{grid-template-columns:1fr}.o3g{gap:32px}}

.ptbl .ck{width:36px;padding-right:0}
.ptbl tr.sel td{background:var(--acc-soft)}
.bulk{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;width:min(980px,calc(100vw - 32px));display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;padding:12px 14px 12px 20px;border-radius:18px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 24px 60px -16px rgb(0 0 0 / .7);animation:bkIn .2s cubic-bezier(.2,.8,.2,1)}
@keyframes bkIn{from{opacity:0;transform:translate(-50%,10px)}}
@media (prefers-reduced-motion:reduce){.bulk{animation:none}}
.bk-l{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--mut)}
.bk-l b{font:700 20px/1 var(--f-display);color:var(--fg)}
.bk-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;justify-content:flex-end}
.bk-f .seg{margin:0}
.bk-f #bkr{flex:1;min-width:200px;max-width:340px}
.bk-f .stepper input{width:56px}
#view:has(.ptbl tr.sel){padding-bottom:110px}

.ptbl tr.sel td{background:var(--acc-soft)}
.ptbl tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--acc)}
.bk-h{color:var(--dim);font-size:11.5px;margin-left:4px}
@media (max-width:700px){.bk-h{display:none}}

/* ---------- Felszerelés, Fegyverek, Skinek, Volt tagok, Szabályzat ---------- */
.gear{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gi{display:grid;gap:2px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:inherit;cursor:pointer}
@media (hover:hover){.gi:hover{border-color:var(--line2)}}
.gi span{font-size:12px;color:var(--dim)}.gi b{font:700 22px/1.1 var(--f-display)}.gi small{font-size:12px;color:var(--dim)}.gi small.warn{color:var(--warn)}
.wno{display:inline-grid;place-items:center;min-width:46px;height:30px;padding:0 8px;border-radius:9px;background:var(--hover);font-weight:600;font-size:13.5px}
.wtbl tr.free .wno{background:none;border:1px dashed var(--line2);color:var(--dim)}
.wtbl .inp.sm,.skc .inp.sm{height:32px;font-size:13px;max-width:280px}
.wwarn{display:flex;align-items:center;gap:4px}.wwarn .pips{margin-right:6px}
.wadd{display:flex;justify-content:center;padding:14px}
.skg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.skc{display:flex;flex-direction:column;gap:10px;padding:14px;transition:opacity .15s ease}
.skc.dim{opacity:.35}
.skc.skspec{border-color:var(--acc-line)}
.skc header{display:flex;align-items:center;gap:8px}
.skc header b{font:700 20px/1 var(--f-display)}
.skc header em{margin-left:auto;font-style:normal;font-size:12px;color:var(--dim)}
.skc ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;flex:1}
.skc li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:8px}
.skc li span{min-width:0}.skc li b{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skc li small{color:var(--dim);font-size:11.5px}
.skc li.hit{background:var(--acc-soft)}
.skc li.none{color:var(--dim);font-size:13px}
.skc li .btn{opacity:.5}.skc li:hover .btn{opacity:1}
.skc li .btn svg{width:13px;height:13px}
.vtbl .vr{max-width:420px;color:var(--mut);font-size:13px;line-height:1.45;white-space:normal;text-wrap:pretty}
.vtbl .tag.vk{background:var(--warn-soft);color:var(--warn)}.vtbl .tag.vb{background:var(--bad-soft);color:var(--bad)}
/* visszajöhet: mind egyforma címke (saját osztálynevek, hogy ne ütközzön az általános .warn stílussal) */
.vbk{display:inline-flex;align-items:center;min-height:26px;padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.3;border:1px solid transparent;white-space:normal}
.vbk-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent);border-color:color-mix(in srgb,var(--ok) 22%,transparent)}
.vbk-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border-color:color-mix(in srgb,var(--warn) 22%,transparent)}
.vbk-bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 13%,transparent);border-color:color-mix(in srgb,var(--bad) 22%,transparent)}
.vbk-mut{color:var(--dim);background:var(--raised);border-color:var(--line)}
.rlw{display:grid;gap:14px;max-width:980px}
.rlc{border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);overflow:hidden}
.rlc header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.rlc h3{margin:0;font:650 15px/1.2 var(--f-display)}
.rlc header em{font-style:normal;font-size:12px;color:var(--dim)}
.rlc ol{margin:0;padding:6px 0;list-style:none;counter-reset:rl}
.rlc li{counter-increment:rl;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:start;padding:6px 12px 6px 18px}
.rlc li::before{content:counter(rl);font:500 12px/30px var(--f-mono);color:var(--dim)}
.rlt{width:100%;resize:none;overflow:hidden;border:1px solid transparent;border-radius:9px;background:none;color:var(--fg);font:inherit;font-size:14px;line-height:1.5;padding:4px 8px}
.rlt:hover{border-color:var(--line)}
.rlt:focus{outline:none;border-color:var(--acc);background:var(--sunk)}
.rla{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}
.rlc li:hover .rla,.rlc li:focus-within .rla{opacity:1}
.rla .inp.sm{height:30px;font-size:12px;max-width:160px}
.rla .btn svg{width:13px;height:13px}
@media (hover:none){.rla{opacity:1}}
@media (max-width:640px){.rlc li{grid-template-columns:22px minmax(0,1fr)}.rla{grid-column:2}}

.rtbl tr.sel td{background:var(--acc-soft)}
.sbl{display:grid;gap:8px}
.sbl-l{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow:auto}
.sbl-l span{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:var(--acc-soft);font-size:13px}
.sbl-l em{font-style:normal;color:var(--mut);font-size:12px}
.sbl p{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;line-height:1.4}
.sbl p svg{flex:none;width:16px;height:16px;margin-top:1px}
.sbl p.warn{color:var(--warn)}.sbl p.bad{color:var(--bad)}

.spadd{align-self:flex-start;color:var(--mut)}
.spadd svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.spick{position:relative}
.spick .inp{width:100%}
.spl{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;max-height:264px;overflow:auto;padding:4px;background:var(--panel);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);display:grid;gap:1px}
.spl button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;border:0;border-radius:8px;background:none;text-align:left;color:var(--fg);cursor:pointer}
.spl button span{min-width:0;display:grid}
.spl button b{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spl button small{color:var(--dim);font-size:11.5px}
.spl button em{flex:none;font-style:normal;font-size:11px;font-family:var(--f-mono);color:var(--warn);background:var(--warn-soft);padding:2px 6px;border-radius:999px}
.spl button[aria-selected="true"]{background:var(--acc-soft)}
@media (hover:hover){.spl button:hover{background:var(--hover)}.spl button[aria-selected="true"]:hover{background:var(--acc-soft)}}
.spn{padding:10px;color:var(--dim);font-size:13px}

.xmb{width:min(520px,100%)}
.xch{display:flex;flex-wrap:wrap;gap:6px}
.xch .fchip{height:30px;font-size:12.5px}
.xseg{justify-self:start}
.xhint{color:var(--dim);font-size:11.5px}

.rl2{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.rln{position:sticky;top:92px;display:grid;gap:12px}
.rln .inp{width:100%}
.rln nav{display:grid;gap:2px}
.rln nav button{display:flex;align-items:center;justify-content:space-between;gap:10px;height:36px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--mut);font-size:13.5px;text-align:left;transition:background-color .15s ease,color .15s ease}
.rln nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rln nav button em{font-style:normal;font-size:12px;color:var(--dim)}
@media (hover:hover){.rln nav button:hover{background:var(--hover);color:var(--fg)}}
.rln nav button[aria-current="true"]{background:var(--panel);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2)}
.rln nav button[aria-current="true"] em{color:var(--acc)}
.rln nav button.dim{opacity:.4}
.rlm{display:grid;gap:36px;max-width:820px}
.rls header{display:flex;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rls h3{margin:0;font:700 19px/1.2 var(--f-display);letter-spacing:-.01em}
.rls header em{font-style:normal;font-size:12.5px;color:var(--dim)}
.rls header .btn{margin-left:auto;color:var(--mut)}
.rls header .btn svg,.rls .ed svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rls ol{list-style:none;margin:0;padding:0}
.rls li{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:10px;align-items:start;padding:14px 8px;margin:0 -8px;border-radius:10px;cursor:pointer;transition:background-color .15s ease}
.rls li+li{box-shadow:0 -1px 0 var(--line)}
.rls li .n{font-size:12px;color:var(--dim);line-height:24px}
.rls li p{margin:0;font-size:15px;line-height:1.6;color:var(--fg);text-wrap:pretty}
.rls li .ed{color:var(--dim);opacity:0;line-height:24px;display:grid;place-items:center;height:24px;transition:opacity .15s ease}
@media (hover:hover){.rls li:hover{background:var(--hover);box-shadow:none}.rls li:hover+li{box-shadow:none}.rls li:hover .ed{opacity:1}}
.rls li:focus-visible{outline:2px solid var(--acc-line);outline-offset:-2px}
.rls li:focus-visible .ed{opacity:1}
.rls mark{background:var(--acc-soft);color:var(--acc);border-radius:3px;padding:0 2px}
.rle{margin:14px 0 0;color:var(--dim);font-size:13.5px}.rle.big{margin:0;padding:40px 0}
.danger-t{color:var(--bad)}
@media (hover:none){.rls li .ed{opacity:1}}
@media (max-width:820px){.rl2{grid-template-columns:1fr}.rln{position:static}.rln nav{display:flex;overflow-x:auto;gap:6px}.rln nav button{flex:none}}

/* Szabályzat: levegősebb */
.rl2{gap:40px}
.rlm{gap:56px;max-width:860px}
.rls header{padding-bottom:16px;margin-bottom:12px}
.rls h3{font-size:21px}
.rls ol{display:grid;gap:10px}
.rls li{grid-template-columns:36px minmax(0,1fr) 24px;gap:14px;padding:18px 20px;margin:0;border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line)}
.rls li+li{box-shadow:none}
.rls li .n{font-size:13px;line-height:26px;color:var(--acc)}
.rls li p{font-size:15px;line-height:1.7}
@media (hover:hover){.rls li:hover{background:var(--hover);border-color:var(--line2)}}
.rln nav{gap:4px}
.rln nav button{height:40px}

/* Ikonok: rang, státusz, szabály kategóriák */
.rk svg,.si svg,.sx svg,.rli svg{stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rk{display:inline-flex;align-items:center;gap:5px}
.rk svg{width:12px;height:12px;flex:none;opacity:.85}
.si{display:inline-flex;align-items:center;gap:4px}
.si svg{width:12px;height:12px;flex:none}
.sx{display:inline-grid;place-items:center;margin-right:6px;color:var(--warn);vertical-align:middle}
.sx.bad{color:var(--bad)}
.sx svg{width:14px;height:14px}
.rli{display:inline-grid;place-items:center;flex:none;font-style:normal}
.rli svg{width:15px;height:15px}
.rln nav button{justify-content:flex-start}
.rln nav button em{margin-left:auto}
.rln nav button .rli{color:var(--dim);transition:color .15s ease}
.rln nav button[aria-current="true"] .rli{color:var(--acc)}
.rli.lg{width:32px;height:32px;border-radius:9px;background:var(--acc-soft);color:var(--acc);align-self:center}
.rli.lg svg{width:16px;height:16px}
.rls header{align-items:center}
.xch .fchip{display:inline-flex;align-items:center;gap:6px}
.xch .rli svg{width:13px;height:13px}

/* Beállítások */
.stm{display:grid;gap:40px;max-width:860px}
.sts header{display:flex;align-items:center;gap:10px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.sts h3{margin:0;font:700 21px/1.2 var(--f-display);letter-spacing:-.01em}
.sts header em{font-style:normal;font-size:12.5px;color:var(--dim)}
.stl{display:grid;gap:10px}
.str{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:20px;align-items:center;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line)}
.str.open{border-color:var(--acc-line);position:relative;z-index:5}
.str-l{min-width:0;display:grid;gap:4px;justify-items:start}
.str-l b{font-size:14.5px;font-weight:600}
.str-l p{margin:0;font-size:13px;color:var(--mut);line-height:1.45;text-wrap:pretty}
.str-l code{font-size:11px;color:var(--dim);margin-top:2px}
.str-v{display:grid;gap:6px;justify-items:stretch}
.stv{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 10px 6px 12px;border-radius:var(--rc);border:1px solid var(--line2);background:var(--sunk);color:var(--fg);text-align:left;transition:border-color .15s ease}
.stv>span,.stv .sto-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sto-n{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:550}
.stv small,.stpl small{color:var(--dim);font-size:11.5px;margin-left:auto;white-space:nowrap}
.stv .stc{margin-left:auto;display:grid;color:var(--dim);flex:none}
.stv small+.stc{margin-left:6px}
.stv .stc svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
@media (hover:hover){.stv:hover{border-color:var(--dim)}}
.stv.unset{border-style:dashed;color:var(--warn)}
.stv.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}
.stdot{width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.stch{justify-self:start;height:24px;font-size:11.5px}
.str .spick .inp{width:100%}
.stpl{max-height:300px}
.stpl .stg{padding:8px 9px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-weight:600}
.stpl button svg{width:14px;height:14px;stroke:var(--acc);fill:none;stroke-width:2.2;flex:none}
.stpl button.clr{color:var(--bad);font-size:13px}
.stpl button.cur .sto-n{color:var(--acc)}
.stw{min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font:600 11px/1 var(--f-mono);margin-left:auto}
.stw+em{margin-left:8px!important}
.stsum{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn);font-size:12.5px;line-height:1.4}
.stsum svg,.stban svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.stban{display:flex;gap:10px;align-items:flex-start;margin:-8px 0 24px;padding:12px 16px;border-radius:12px;background:var(--warn-soft);color:var(--warn);font-size:13.5px}
.stban b{font-weight:650}
@media (max-width:720px){.str{grid-template-columns:1fr;gap:12px}}

/* ---------- Áttekintés v4 ---------- */
.o4{display:grid;gap:36px;max-width:1180px}
.o4 svg{stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.o4h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.o4d{margin:0 0 6px;font-size:13px;color:var(--dim);text-transform:capitalize}
.o4h h1{margin:0;font:750 clamp(30px,4vw,44px)/1.05 var(--f-display);letter-spacing:-.035em}
.o4st{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.o4pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:12.5px;font-weight:550}
.o4pill i{width:7px;height:7px;border-radius:50%;background:currentColor}
.o4pill b{font-weight:600}
.o4pill.off{background:var(--bad-soft);color:var(--bad)}
.o4st .btn.x svg{width:16px;height:16px}
.o4th{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.o4th h2{margin:0;font:700 18px/1.2 var(--f-display);letter-spacing:-.01em}
.o4th em{font-style:normal;font-size:12px;color:var(--acc);background:var(--acc-soft);padding:2px 8px;border-radius:999px}
.o4th .btn{margin-left:auto}
.o4ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;flex:none;background:var(--raised);border:1px solid var(--line)}
.o4ic svg{width:17px;height:17px}
.o4todo{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.o4t{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);text-align:left;color:var(--fg);transition:border-color .15s ease,background-color .15s ease,transform .14s ease}
.o4t:active{transform:scale(.985)}
.o4t b{font:700 24px/1 var(--f-display);letter-spacing:-.02em}
.o4t .o4tl{font-size:13px;color:var(--mut);line-height:1.35}
.o4t>svg{width:15px;height:15px;color:var(--dim);transition:transform .15s ease,color .15s ease}
@media (hover:hover){.o4t:hover{border-color:var(--line2);background:var(--hover)}.o4t:hover>svg{transform:translateX(3px);color:var(--fg)}}
.o4t.c-info .o4ic{color:var(--info);background:var(--info-soft);border-color:transparent}
.o4t.c-acc .o4ic{color:var(--acc);background:var(--acc-soft);border-color:transparent}
.o4t.c-warn .o4ic{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.o4t.c-bad .o4ic{color:var(--bad);background:var(--bad-soft);border-color:transparent}
.o4t.c-bad b{color:var(--bad)}
.o4ok{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;border:1px dashed var(--line2)}
.o4ok .o4ic{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.o4ok b{font-size:14.5px}.o4ok p{margin:2px 0 0;font-size:13px;color:var(--mut)}
.o4now{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.o4l{display:grid;gap:8px;align-content:start;padding:20px;border-radius:18px;border:1px solid var(--acc-line);background:linear-gradient(160deg,var(--acc-soft),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent);text-align:left;color:var(--fg);transition:border-color .15s ease,transform .14s ease}
.o4l:active{transform:scale(.99)}
.o4l.idle{border-color:var(--line);background:color-mix(in srgb,var(--panel) 70%,transparent)}
.o4l.idle .btn{justify-self:start;margin-top:4px}
.o4l.idle p{color:var(--dim)}
.o4lh{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:600}
.o4l:not(.idle) .o4ic{color:var(--acc);background:var(--acc-soft);border-color:transparent}
.o4live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--acc);letter-spacing:.04em}
.o4live i{width:7px;height:7px;border-radius:50%;background:var(--acc);animation:pulse 2.4s ease-out infinite}
.o4l h3{margin:6px 0 0;font:700 22px/1.2 var(--f-display);letter-spacing:-.02em}
.o4l p{margin:0;font-size:13.5px;color:var(--mut)}
.o4l p b{color:var(--fg)}
.o4lf{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:13px;color:var(--mut)}
.o4lf b{color:var(--fg);font-weight:650}
.o4lf>svg{width:15px;height:15px;margin-left:auto;color:var(--dim)}
.o4two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.o4card{padding:22px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent)}
.o4big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.o4big b{font:750 48px/1 var(--f-display);letter-spacing:-.04em}
.o4big span{font-size:13.5px;color:var(--mut)}
.o4big em{font-style:normal;font-weight:600;margin-left:4px}.o4big em.up{color:var(--ok)}.o4big em.dn{color:var(--bad)}
.o4mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 10px}
.o4mini div{padding:12px;border-radius:12px;background:var(--sunk);border:1px solid var(--line)}
.o4mini b{display:block;font:650 19px/1 var(--f-display)}
.o4mini span{display:block;margin-top:5px;font-size:12px;color:var(--dim)}
.o4card .chart{margin-top:6px}
.o4bar{display:flex;gap:3px;height:12px;margin:22px 0 14px;border-radius:999px;overflow:hidden}
.o4bar i{min-width:3px}
.o4bar .t1,.o4leg .t1{background:oklch(.64 .2 18)}.o4bar .t2,.o4leg .t2{background:oklch(.77 .16 58)}.o4bar .t3,.o4leg .t3{background:oklch(.72 .12 230)}.o4bar .t4,.o4leg .t4{background:oklch(.6 .02 280)}
.o4leg{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.o4leg li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px;gap:10px;align-items:center;padding:7px 0;font-size:13.5px}
.o4leg li+li{border-top:1px solid var(--line)}
.o4leg li i{width:10px;height:10px;border-radius:3px}
.o4leg li b{font-weight:600}
.o4leg li em{font-style:normal;font-size:12px;color:var(--dim);text-align:right}
.o4chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.o4chips button{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--sunk);text-align:left;color:var(--fg);transition:border-color .15s ease}
@media (hover:hover){.o4chips button:hover{border-color:var(--line2)}}
.o4chips span{font-size:11.5px;color:var(--dim)}
.o4chips b{font:650 18px/1 var(--f-display)}
.o4chips .w b{color:var(--warn)}
.o4feed{margin-top:4px}
.o4card .o4th .seg{margin-left:6px}
@media (max-width:560px){.o4mini,.o4chips{grid-template-columns:repeat(2,minmax(0,1fr))}.o4two,.o4now{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.o4live i{animation:none}}

/* ---------- Áttekintés v5 ---------- */
.o5{display:grid;gap:22px}
.o5 svg{stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.o5h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.o5d{margin:0 0 4px;font-size:13px;color:var(--dim);text-transform:capitalize}
.o5h h1{margin:0;font:750 clamp(28px,3.4vw,40px)/1.05 var(--f-display);letter-spacing:-.035em}
.o5h h1 span{background:linear-gradient(120deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.o5hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px;align-items:stretch}
.o5ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.o5op{position:relative;display:flex;min-height:330px;border-radius:22px;overflow:hidden;border:1px solid var(--line2);background:var(--panel);text-align:left;color:var(--fg);padding:0;isolation:isolate;transition:transform .2s var(--ease-out,ease),border-color .2s ease}
.o5op::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bg,none) center/cover;opacity:.55;transform:scale(1.02);transition:transform .6s var(--ease-out,ease),opacity .3s ease}
.o5op::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,8,10,.25) 0%,rgba(8,8,10,.6) 45%,rgba(8,8,10,.94) 100%)}
.o5op.hajo.nobg::before{background:radial-gradient(120% 90% at 100% 0%,oklch(.6 .14 230 / .55),transparent 60%),radial-gradient(90% 80% at 0% 100%,oklch(.64 .2 18 / .35),transparent 60%),repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.025) 22px 23px);opacity:1}
.o5op.idle{border-style:dashed;border-color:var(--line2);background:color-mix(in srgb,var(--panel) 60%,transparent)}
.o5op.idle::before,.o5op.idle::after{display:none}
@media (hover:hover){.o5op:not(.idle):hover{border-color:var(--acc-line);transform:translateY(-2px)}.o5op:not(.idle):hover::before{transform:scale(1.07);opacity:.7}}
.o5op-b{display:flex;flex-direction:column;gap:14px;padding:22px;width:100%;justify-content:flex-end}
.o5op.idle .o5op-b{justify-content:center;align-items:flex-start}
.o5op.idle h3{margin:6px 0 0;font:700 22px/1.2 var(--f-display);letter-spacing:-.02em}
.o5op.idle p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.5;max-width:34ch}
.o5op.idle .btn{margin-top:6px}
.o5op.idle .btn svg{width:15px;height:15px}
.o5op-h{display:flex;align-items:center;margin-bottom:auto}
.o5tag{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#f3f2f0}
.o5op.idle .o5tag{background:var(--raised);border-color:var(--line);color:var(--mut)}
.o5tag svg{width:14px;height:14px}
.o5op-h .o4live{margin-left:auto;height:30px;padding:0 12px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);font-size:12px;font-weight:650;text-transform:uppercase}
.o5time{display:grid;gap:4px}
.o5time b{font:800 clamp(52px,6vw,76px)/.92 var(--f-display);letter-spacing:-.05em;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.5)}
.o5time span{font-size:14px;color:rgba(255,255,255,.78)}
.o5time em{font-style:normal;color:var(--acc);font-weight:600}
.o5v{display:grid;gap:8px}
.o5vb{display:flex;gap:3px;height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}
.o5vb i{min-width:0}.o5vb .y,.o5vl .y{background:var(--ok)}.o5vb .m,.o5vl .m{background:var(--warn)}.o5vb .n,.o5vl .n{background:var(--bad)}.o5vb .e{background:transparent}
.o5vl{display:flex;gap:14px;font-size:12.5px;color:rgba(255,255,255,.72)}
.o5vl span{display:inline-flex;align-items:center;gap:6px}
.o5vl i{width:7px;height:7px;border-radius:50%}
.o5vl b{color:#fff;font-weight:650}
.o5op-f{display:flex;align-items:center;gap:12px}
.o5go{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#fff}
.o5go svg{width:15px;height:15px;transition:transform .15s ease}
@media (hover:hover){.o5op:hover .o5go svg{transform:translateX(3px)}}
.o5rem{display:flex;align-items:center;gap:5px}
.o5rem i{width:18px;height:4px;border-radius:999px;background:rgba(255,255,255,.18)}
.o5rem i.on{background:var(--acc)}
.o5rem small{margin-left:8px;font-size:12px;color:rgba(255,255,255,.65)}
.o5in{display:flex;flex-direction:column;min-height:330px;border-radius:22px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);overflow:hidden}
.o5in header{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}
.o5in header h2{margin:0;font:700 18px/1.2 var(--f-display)}
.o5in header em{font-style:normal;font-size:12px;color:var(--warn);background:var(--warn-soft);padding:2px 8px;border-radius:999px}
.o5in header .btn{margin-left:auto}
.o5in header .o4ic{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.o5in ul{list-style:none;margin:0;padding:0 8px 8px;overflow:auto;flex:1;max-height:360px}
.o5in li button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px;border:0;border-radius:12px;background:none;text-align:left;color:var(--fg);transition:background-color .15s ease}
@media (hover:hover){.o5in li button:hover{background:var(--hover)}}
.o5in li .av{width:36px;height:36px}
.o5in-t{display:grid;gap:3px;min-width:0}
.o5in-t b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o5in-t small{font-size:12px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o5pr{display:block;height:3px;border-radius:999px;background:var(--line2);overflow:hidden;margin-top:3px}
.o5pr i{display:block;height:100%;background:linear-gradient(90deg,var(--warn),var(--acc))}
.o5in-s{font:600 11.5px/1 var(--f-mono);padding:5px 8px;border-radius:999px;background:var(--raised);color:var(--mut);white-space:nowrap}
.o5in-s.near{background:var(--ok-soft);color:var(--ok)}
.o5in-s.soon{background:var(--info-soft);color:var(--info)}
.o5in-s.open{background:var(--warn-soft);color:var(--warn)}
.o5in-e{margin:auto;padding:30px 20px;text-align:center}
.o5in-e b{font-size:14.5px}.o5in-e p{margin:4px 0 0;color:var(--dim);font-size:13px}
.o5kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.o5k{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);text-align:left;color:var(--fg);overflow:hidden;transition:border-color .15s ease}
@media (hover:hover){.o5k:hover{border-color:var(--line2)}}
.o5k>span{font-size:12px;color:var(--dim);letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.o5k>b{font:750 38px/1 var(--f-display);letter-spacing:-.04em}
.o5k small{font-size:12.5px;color:var(--mut)}
.o5k small em{font-style:normal;font-weight:650}.o5k em.up{color:var(--ok)}.o5k em.dn{color:var(--bad)}
.o5k.hot{background:radial-gradient(120% 120% at 100% 0%,var(--acc-soft),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent);border-color:var(--acc-line)}
.o5k.hot>b{background:linear-gradient(120deg,var(--fg) 30%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.o5spark{position:absolute;right:16px;top:18px;display:flex;align-items:flex-end;gap:3px;height:40px;width:96px}
.o5spark i{flex:1;border-radius:3px;background:var(--line2)}
.o5spark i.on{background:var(--acc)}
.o5k .o4bar{margin:6px 0 2px;height:8px}
.o5low{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;align-items:start}
.o5todo{display:grid;gap:8px}
@media (max-width:1100px){.o5hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.o5ops{grid-template-columns:1fr}.o5op{min-height:200px}.o5op-b{gap:10px;padding:18px}.o5time b{font-size:clamp(40px,5vw,54px)}.o5in{min-height:0}.o5kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.o5low{grid-template-columns:1fr}}
@media (max-width:700px){.o5hero{grid-template-columns:1fr}.o5op{min-height:220px}}
@media (prefers-reduced-motion:reduce){.o5op,.o5op::before{transition:none}}
:root[data-theme="light"] .o5op.hajo::after,:root[data-theme="light"] .o5op.rob::after{background:linear-gradient(180deg,rgba(8,8,10,.15) 0%,rgba(8,8,10,.55) 45%,rgba(8,8,10,.92) 100%)}
/* általános ticket nézet (az inaktivitás kártyás stílusában) */
.ia-range.tk{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.ia-range.tk>div+div{padding-left:16px;border-left:1px solid var(--line)}
.ia-range.tk b{overflow-wrap:anywhere}
.ia-range.tk b.ia-sub{font:500 14px/1.35 var(--f-body);color:var(--fg)}
@media (max-width:640px){.ia-range.tk{grid-template-columns:1fr}.ia-range.tk>div+div{padding-left:0;border-left:0;padding-top:10px;border-top:1px solid var(--line)}}

/* Zene: zenelista és idő */
.mlist{max-height:520px;overflow:auto;margin-right:-6px;padding-right:6px}
.mlist .q .tx{font-weight:500}
.mtime{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--dim)}
.prog i{transition:width .9s linear}
.prog i.ind{width:100%!important;opacity:.35;animation:mpulse 1.6s ease-in-out infinite}
@keyframes mpulse{50%{opacity:.7}}

/* CDM logó és belépő kép */
.mark{overflow:hidden;padding:0}
.mark img{width:100%;height:100%;object-fit:cover;display:block}
.gate-art{background:linear-gradient(180deg,rgba(6,6,8,.6) 0%,rgba(6,6,8,0) 24%,rgba(6,6,8,0) 55%,rgba(6,6,8,.88) 100%),url("/admin/static/cdm_flag.jpg") center/cover no-repeat}
.gate-art .big{visibility:hidden}
.gate-art .brand b{color:#fff}
.gate-art .brand small,.gate-art p{color:rgba(255,255,255,.82)}
.gate-art .brand{visibility:hidden}
.mark.wide{width:52px;height:36px;border-radius:8px}
.gate-art{background-size:contain,contain;background-position:center,center;background-color:#08080a}

/* Nyereményjáték */
.gw .gw-desc{margin:12px 0 0;color:var(--mut);font-size:14px;white-space:pre-wrap;max-width:68ch}
.gw-cd{white-space:nowrap;font:700 34px/1 var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,var(--fg) 40%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:2px}
.gwgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.gwh{display:grid;gap:14px;padding:18px}
.gwh header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0;border:0;margin:0}
.gwh header b{display:block;font:700 17px/1.25 var(--f-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.gwh header small{display:block;color:var(--dim);font-size:12.5px;margin-top:4px}
.gwh.off{opacity:.62}
.gw-win{display:flex;flex-wrap:wrap;gap:6px}
.gw-win .pp{cursor:pointer;border:0;font:inherit;color:inherit}
.gw-win .pp small{color:var(--acc);font-size:11px}
.gwh footer{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.gw-rr{display:flex;gap:6px;align-items:center;margin-left:auto}
.gw-rr .inp{width:64px;padding:6px 8px;text-align:center}
.gw-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.hint.bad{color:var(--bad,#e5484d)}
.dcemb{background:#2b2d31;border-left:4px solid #f39a3d;border-radius:4px;padding:10px 14px 12px;display:grid;gap:6px;max-width:520px}
.dcemb h3{margin:0;color:#f2f3f5;font-size:16px;font-weight:700}
.dcemb p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.dcemb small{color:#b5bac1;font-size:12px}
.dcf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}
.dcf b{display:block;color:#f2f3f5;font-size:13px}
.dcf span{font-size:13.5px}
.dcbtns{display:flex;gap:6px;margin-top:6px}
.dcbtn.ok{background:#248046;color:#fff;border-radius:4px;padding:5px 14px;font-weight:500;font-size:14px}
.gw-date{display:flex;align-items:center;gap:12px}
.gw-cal{display:grid;width:52px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--sunk,rgba(255,255,255,.04));text-align:center;flex:none}
.gw-cal small{display:block;background:var(--acc);color:#1d0f04;font:700 11px/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;padding:4px 0}
.gw-cal b{font:800 24px/1 var(--f-display);padding:6px 0 7px;letter-spacing:-.03em}
.gw-date>span:last-child b{display:block;font:700 15px/1.2 var(--f-display);text-transform:capitalize}
.gw-date>span:last-child small{color:var(--mut);font-size:14px}
.gw-dt{font-variant-numeric:tabular-nums;cursor:pointer}
.gw-dt::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}
button.chip{cursor:pointer;font:inherit}
#gwsend .stepper{width:170px}
.cv2-media.gwb img{aspect-ratio:16/9}
#pg_end{display:block;color:#dbdee1}
.gw-prev{color:var(--dim);font-size:12.5px}.gw-prev s{color:var(--mut)}
.o5ops{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.o5op.gwop::before{opacity:.45}
.o5ops:has(.gwop) .o5op{min-height:300px}
.o5low.one{grid-template-columns:minmax(0,1fr)}
/* Áttekintés: 3 kártya fent */
.o5hero{grid-template-columns:minmax(0,1fr)}
.o5ops{grid-template-columns:repeat(3,minmax(0,1fr))}
.o5ops .o5op{min-height:310px}
.o5low{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:stretch}
.o5low .o5in{min-height:0}
.o5low .o5in ul{max-height:300px}
@media (max-width:1100px){.o5ops{grid-template-columns:repeat(3,minmax(0,1fr))}.o5ops .o5op{min-height:240px}}
@media (max-width:860px){.o5ops{grid-template-columns:1fr}.o5low{grid-template-columns:1fr}}
.o5op.gwop .o5time b{font-size:clamp(26px,2.3vw,38px);line-height:1.08;letter-spacing:-.03em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kquick{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}
.kquick .pt{height:30px;padding:0 12px;font:500 12.5px var(--f-body)}
/* Áttekintés: tagok jelmagyarázat, szabad helyek */
.o5lg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px}
.o5lg span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--mut);white-space:nowrap}
.o5lg span.z{opacity:.45}
.o5lg i{width:8px;height:8px;border-radius:3px;display:inline-block}
.o5lg b{color:var(--fg);font-weight:650}
.o5lg .t1{background:oklch(.64 .2 18)}.o5lg .t2{background:oklch(.77 .16 58)}.o5lg .t3{background:oklch(.72 .12 230)}.o5lg .t4{background:oklch(.6 .02 280)}
.o5of{margin-left:6px;font:500 14px var(--f-body);letter-spacing:0;color:var(--mut);-webkit-text-fill-color:var(--mut)}
.o5slot{height:8px;border-radius:999px;background:var(--ok-soft,rgba(80,200,120,.18));overflow:hidden;margin:6px 0 2px}
.o5slot i{display:block;height:100%;background:var(--line2);border-radius:999px}
.o5k small em{color:var(--ok)}
.ptile.rate .ringw>span{display:grid;place-items:center;font-size:14px;font-weight:700}
.o5k .o5sub{color:var(--dim);font-size:12px}
.o5k.hot .o5of{-webkit-text-fill-color:var(--mut)}
/* Üres (nincs futó) kártyák is a saját képükkel, halványan */
.o5op.idle.hasbg{border-style:solid;background:var(--panel)}
.o5op.idle.hasbg::before{display:block;opacity:.42;filter:grayscale(.2)}
.o5op.idle.hasbg::after{display:block;background:linear-gradient(180deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.7) 55%,rgba(8,8,10,.92) 100%)}
.o5op.idle.hasbg h3,.o5op.idle.hasbg p{text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* ---------- Telefon ---------- */
@media (max-width:640px){
  /* táblázatok: a kevésbé fontos oszlopok elrejtve, az első oszlop görgetéskor is látszik */
  .ptbl th:nth-child(3),.ptbl td:nth-child(3),.ptbl th:nth-child(5),.ptbl td:nth-child(5),.ptbl th:nth-child(6),.ptbl td:nth-child(6){display:none}
  .t-tag th:nth-child(2),.t-tag td:nth-child(2),.t-tag th:nth-child(4),.t-tag td:nth-child(4),.t-tag th:nth-child(5),.t-tag td:nth-child(5),.t-tag th:nth-child(6),.t-tag td:nth-child(6),.t-tag th:nth-child(8),.t-tag td:nth-child(8){display:none}
  .t-udd th:nth-child(2),.t-udd td:nth-child(2),.t-udd th:nth-child(5),.t-udd td:nth-child(5){display:none}
  .t-fegy th:nth-child(3),.t-fegy td:nth-child(3){display:none}
  .t-szef th:nth-child(3),.t-szef td:nth-child(3),.t-szef th:nth-child(5),.t-szef td:nth-child(5){display:none}
  .vtbl th:nth-child(3),.vtbl td:nth-child(3),.vtbl th:nth-child(6),.vtbl td:nth-child(6){display:none}
  .vtbl td:nth-child(5){white-space:normal;min-width:160px}
  .tbl th,.tbl td{padding:10px 10px}
  .tbl td:first-child,.tbl th:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}
  .wtbl td:nth-child(2),.wtbl th:nth-child(2){position:sticky;left:52px;z-index:1;background:var(--panel)}
  .wtbl .inp.sm{max-width:170px}
  .who b{max-width:150px;overflow:hidden;text-overflow:ellipsis;display:block}
  /* fejléc gombok, műveletek */
  .vh-row{flex-direction:column;align-items:stretch;gap:14px}
  .vh-row .acts{flex-wrap:wrap;justify-content:flex-start}
  .vh h1{font-size:34px}
  .acts .btn{flex:0 0 auto}
  /* felugró ablakok és oldalsáv teljes szélességben */
  .modal,.modal.xl,.modal.sm{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  .mh{padding:16px 18px}.mf{padding:12px 18px;flex-wrap:wrap}.mf .btn{flex:1;justify-content:center}
  /* oldalsáv telefonon alsó lapként: fent látszik mögötte az oldal, így nem tűnik oldalváltásnak */
  .drawer{top:44px;left:0;right:0;bottom:0;width:100vw;border-radius:22px 22px 0 0;border:0;border-top:1px solid var(--line2);animation:sheetUp .32s var(--ease-out) both}
  .drawer::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:99px;background:var(--line2);z-index:3}
  #layer.closing .drawer{animation:sheetDown .19s ease-in both}
  /* két oszlopos részek egymás alá */
  .gwgrid{grid-template-columns:minmax(0,1fr)}
  .gw-cd{font-size:28px}
  .o5kpi{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .o5k>b{font-size:30px}
  .o5k small.o5sub{display:none}
  .kfacts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kquick{gap:5px}
  input,select,textarea{font-size:16px}  /* iPhone: ne nagyítson rá a mezőkre */
  .etip{display:none}  /* egérrel megjelenő buborék, telefonon nincs értelme */
  .g-dash>*,.g-dash .card{min-width:0}
  .np h3{overflow-wrap:anywhere}
  #vch{min-width:0!important}
}
@media (max-width:380px){
  .o5kpi{grid-template-columns:minmax(0,1fr)}
  .kfacts{grid-template-columns:minmax(0,1fr)}
}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes sheetDown{to{transform:translateY(100%)}}
/* Telefonos menü: becsukva teljesen láthatatlan ÉS kattinthatatlan (különben a menüpontjai elkapták a koppintást) */
@media (max-width:980px){
  .nav{visibility:hidden;transition:opacity .2s ease,transform .3s var(--ease-out),visibility 0s linear .3s}
  .nav .dd,.nav .ddi,.nav .ngb{pointer-events:none}
  .app.open .nav{visibility:visible;transition-delay:0s}
  .app.open .nav .dd,.app.open .nav .ddi,.app.open .nav .ngb{pointer-events:auto}
}
/* Belépés felhasználónévvel és jelszóval */
.loginf{display:grid;gap:14px}
.loginf label{display:grid;gap:6px}
.loginf .inp{height:46px;font-size:16px}
.pwbox{position:relative;display:block}
.pwbox .inp{width:100%;padding-right:48px}
.pweye{position:absolute;right:6px;top:50%;translate:0 -50%;width:36px;height:36px;border:0;border-radius:10px;background:none;color:var(--dim);display:grid;place-items:center;cursor:pointer}
.pweye svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}
.pweye[aria-pressed="true"]{color:var(--acc)}
.lg-btn{height:46px;justify-content:center;font-size:15px}
.loginf .hint{font-size:12.5px;color:var(--dim)}
.loginf code,.steps code{font-family:var(--f-mono);font-size:12.5px;color:var(--fg)}
.orline{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.orline::before,.orline::after{content:"";flex:1;height:1px;background:var(--line)}
/* Áttekintés: egységes akció kártyák */
.o5op:not(.idle) .o5op-b{gap:12px}
.o5time b.prize{font-size:clamp(34px,3.4vw,50px);line-height:1.02;letter-spacing:-.04em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.o5time span{min-height:20px}
.o5info{display:flex;align-items:center;gap:8px;min-height:24px}
.o5chip{display:inline-flex;align-items:center;max-width:100%;height:24px;padding:0 10px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o5info .o5rem small{margin-left:8px}
.o5vb .t{display:block;height:100%;border-radius:999px;background:var(--acc)}
.o5vl .t{background:var(--acc)}
.o5op-f{min-height:34px}

/* ---------- Belépő oldal (design: webadmin_uj/preview/belepes.html) ---------- */
.gate.lgx{display:block;min-height:100dvh;position:relative;background:#060505;color:#fff;font:15px/1.5 "Archivo",system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  --lfg:#fff;--lmut:rgba(255,255,255,.72);--ldim:rgba(255,255,255,.5);--lline2:rgba(255,255,255,.22);--lacc:#f6c21c;--lon-acc:#141008;--lred:#d7262e}
.gate.lgx[hidden]{display:none}
.lgx *{box-sizing:border-box}
.lgx button,.lgx input{font:inherit;color:inherit}
.lgx svg{stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lgx .lg-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#060505}
.lgx .lg-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:lgz 40s ease-in-out infinite alternate}
.lgx .lg-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(42% 60% at 50% 50%,rgba(6,5,5,.55),rgba(6,5,5,.2) 100%),linear-gradient(0deg,rgba(6,5,5,.85),transparent 35%)}
@keyframes lgz{from{transform:scale(1)}to{transform:scale(1.025)}}
.lgx .lg-wrap{position:relative;z-index:1;min-height:100dvh;display:grid;place-items:center;padding:24px 16px max(24px,env(safe-area-inset-bottom))}
.lgx .lg-card{width:100%;max-width:410px;display:grid;gap:18px;padding:30px 28px 26px;border-radius:24px;background:rgba(12,10,10,.08);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px -30px rgba(0,0,0,.5);animation:lgup .7s cubic-bezier(.23,1,.32,1) both}
@keyframes lgup{from{opacity:0;transform:translateY(16px) scale(.98)}}
.lgx .lg-foot{position:fixed;z-index:1;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));text-align:center;font-size:12px;color:rgba(255,255,255,.55);pointer-events:none;text-shadow:0 1px 8px #000}
.lgx .lg-flag{display:flex;height:4px;border-radius:999px;overflow:hidden;width:72px}.lgx .lg-flag i{flex:2;background:#f6c21c}.lgx .lg-flag i+i{flex:1;background:#1f47b8}.lgx .lg-flag i+i+i{background:var(--lred)}
.lgx h1{margin:4px 0 0;font:400 46px/.95 "Anton",Impact,sans-serif;text-shadow:0 2px 16px rgba(0,0,0,.8);letter-spacing:.01em;text-transform:uppercase;color:#fff}
.lgx .lg-pane{display:grid;gap:16px}.lgx .lg-pane[hidden]{display:none}
.lgx .lg-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
.lgx .lg-tabs button{position:relative;z-index:1;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:color .2s ease;height:38px;font-size:13px;font-weight:600;color:var(--ldim)}
.lgx .lg-tabs button svg{width:16px;height:16px}.lgx .lg-tabs button[aria-selected="true"]{color:#fff}
.lgx .lg-tabs i{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);transition:transform .32s cubic-bezier(.23,1,.32,1)}
.lgx .lg-tabs[data-t="link"] i{transform:translateX(100%)}
.lgx .lg-f{display:grid;gap:7px}
.lgx .lg-f label{font-size:12px;font-weight:600;color:#fff;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.lgx .lg-in{position:relative}
.lgx .lg-in input{width:100%;outline:none;height:50px;padding:0 46px 0 44px;border-radius:12px;border:1px solid var(--lline2);background:rgba(0,0,0,.55);font-size:16px;color:#fff;transition:border-color .15s,box-shadow .15s}
.lgx .lg-in input::placeholder{color:rgba(255,255,255,.35)}
.lgx .lg-in input:focus{border-color:var(--lacc);box-shadow:0 0 0 4px rgba(246,194,28,.18)}
.lgx .lg-in>svg{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ldim);pointer-events:none}
.lgx .lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--ldim)}
.lgx .lg-eye svg{width:18px;height:18px}.lgx .lg-eye:hover,.lgx .lg-eye.on{color:#fff}
.lgx .lg-caps{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--lacc)}.lgx .lg-caps[hidden]{display:none}.lgx .lg-caps svg{width:14px;height:14px}
.lgx .lg-chk{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-size:13px;color:var(--lmut)}
.lgx .lg-chk input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;display:grid;place-items:center;cursor:pointer;border:1px solid var(--lline2);border-radius:5px;background:transparent}
.lgx .lg-chk input:checked{background:var(--lacc);border-color:var(--lacc)}
.lgx .lg-chk input:checked::after{content:"";width:9px;height:5px;border:2px solid var(--lon-acc);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.lgx .lg-go{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border:0;height:54px;border-radius:13px;background:var(--lacc);color:var(--lon-acc);font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 30px -10px rgba(246,194,28,.6);transition:transform .14s cubic-bezier(.23,1,.32,1),filter .15s ease}
.lgx .lg-go:hover{filter:brightness(1.08)}.lgx .lg-go:active{transform:scale(.98)}
.lgx .lg-go svg{width:18px;height:18px;transition:transform .2s ease}.lgx .lg-go:hover svg{transform:translateX(3px)}
.lgx .lg-go[disabled]{cursor:wait;filter:saturate(.5) brightness(.85)}
.lgx .lg-spin{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:lgsp .7s linear infinite}@keyframes lgsp{to{transform:rotate(360deg)}}
.lgx .lg-msg{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;padding:12px 14px;border-radius:12px;background:rgba(215,38,46,.18);color:#ff9a9e;border:1px solid rgba(215,38,46,.35)}
.lgx .lg-msg[hidden]{display:none}.lgx .lg-msg svg{width:17px;height:17px;flex:none;margin-top:1px}
.lgx .lg-shake{animation:lgshake .38s ease}@keyframes lgshake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.lgx .lg-hint{margin:0;font-size:13px;line-height:1.55;color:var(--ldim)}
.lgx .lg-hint code,.lgx .lg-cmd{font-family:"JetBrains Mono",monospace;font-size:12.5px}
.lgx .lg-hint code{padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.1);color:#fff}
.lgx .lg-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.lgx .lg-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;counter-increment:s;padding:14px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08)}
.lgx .lg-steps li::before{content:counter(s);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--lacc);color:var(--lon-acc);font-weight:800;font-size:13px}
.lgx .lg-steps p{margin:0;line-height:1.5;text-wrap:pretty;color:var(--lmut);font-size:14px}.lgx .lg-steps b{color:#fff}
.lgx .lg-copy{display:flex;align-items:center;gap:10px;margin-top:10px;width:100%;height:44px;padding:0 6px 0 14px;cursor:pointer;border-radius:10px;border:1px solid var(--lline2);background:rgba(0,0,0,.35);color:#fff}
.lgx .lg-copy .lg-cmd{font-size:14px}
.lgx .lg-copy .lg-cl{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:12px;font-weight:600;border-radius:8px;background:rgba(255,255,255,.1);color:var(--lmut)}
.lgx .lg-copy svg{width:14px;height:14px}.lgx .lg-copy.ok .lg-cl{color:#7fe0a0}
@media (max-width:520px){.lgx .lg-wrap{align-content:end}.lgx .lg-card{padding:24px 20px 22px;border-radius:20px}.lgx h1{font-size:40px}.lgx .lg-foot{position:relative;margin:-8px 0 16px}}
@media (max-height:760px) and (min-width:521px){.lgx .lg-foot{display:none}}
@media (prefers-reduced-motion:reduce){.lgx *{animation:none!important;transition:none!important}}
/* Áttekintés: hibapontos tagok kártya illusztrációval */
.o5k.strk{overflow:hidden;isolation:isolate;padding-right:30%}
.o5k.strk>*:not(.strk-art){position:relative;z-index:1}
.o5k.strk .strk-art{position:absolute;z-index:0;top:0;right:0;bottom:0;height:auto;width:40%;margin:0;border-radius:0;background:url("/admin/static/kpi_hibapont.jpg") 70% 50%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%);opacity:.38;filter:grayscale(.75);transition:opacity .3s ease,filter .3s ease,transform .5s var(--ease-out,ease)}
.o5k.strk:hover .strk-art{transform:scale(1.04)}
.o5k.strk>span{font-weight:700;letter-spacing:.06em}
.o5k.strk .strk-st{font-weight:650;color:var(--mut)}
.o5k.strk.danger{border-color:rgba(215,38,46,.55);background:radial-gradient(120% 140% at 100% 50%,rgba(215,38,46,.16),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:0 0 0 1px rgba(215,38,46,.15),0 18px 44px -22px rgba(215,38,46,.55)}
.o5k.strk.danger .strk-art{opacity:.95;filter:none}
.o5k.strk.danger .strk-st{color:#ff5a5f}
@media (max-width:640px){.o5k.strk{padding-right:26%}.o5k.strk .strk-art{width:38%}}
/* Áttekintés KPI illusztrációk (fegyver, tagok, események) */
.o5k.art{overflow:hidden;isolation:isolate;padding-right:30%}
.o5k.art>*:not(.kpi-art){position:relative;z-index:1}
.o5k.k-weapon{--kc:var(--acc)}.o5k.k-members{--kc:#5aa9ff}.o5k.k-events{--kc:#3fd18b}
.kpi-art{position:absolute;z-index:0;right:-6px;top:50%;width:38%;max-width:150px;aspect-ratio:220/170;translate:0 -50%;color:var(--kc);opacity:.28;pointer-events:none;transition:opacity .3s ease,filter .3s ease,scale .5s var(--ease-out,ease);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 35%);mask-image:linear-gradient(90deg,transparent 0,#000 35%)}
.kpi-art svg{display:block;width:100%;height:100%;overflow:visible}
.o5k.art.lit .kpi-art{opacity:.85;filter:drop-shadow(0 0 4px var(--kc)) drop-shadow(0 0 14px color-mix(in srgb,var(--kc) 55%,transparent))}
.o5k.art:hover .kpi-art,.o5k.strk:hover .strk-art{scale:1.05}
.o5k.k-members.lit,.o5k.k-events.lit{background:radial-gradient(120% 140% at 100% 50%,color-mix(in srgb,var(--kc) 12%,transparent),transparent 60%),color-mix(in srgb,var(--panel) 88%,transparent)}
@media (max-width:640px){.o5k.art{padding-right:24%}.kpi-art{width:34%}}
/* KPI kártyák: a minta szerint (meleg arany keret, kép jobb oldalt) */
.o5kpi .o5k.art{border-color:rgba(214,150,60,.42);background:linear-gradient(135deg,rgba(255,255,255,.03),transparent 55%),color-mix(in srgb,var(--panel) 92%,transparent);padding-right:18px}
.o5kpi .o5k.art>span{font-weight:700;letter-spacing:.06em;color:var(--mut)}
.o5kpi .o5k.art .kpi-art{position:absolute;z-index:0;top:0;right:0;bottom:0;translate:none;width:46%;max-width:none;aspect-ratio:auto;height:auto;background-position:right center;background-size:cover;background-repeat:no-repeat;opacity:.55;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.o5kpi .o5k.art.lit .kpi-art{opacity:1;filter:none}
.o5kpi .o5k.art.lit{border-color:rgba(232,160,60,.7);box-shadow:0 16px 40px -24px rgba(232,150,50,.55)}
.o5kpi .o5k.art.strk.danger{border-color:rgba(215,38,46,.7);box-shadow:0 0 0 1px rgba(215,38,46,.18),0 18px 44px -22px rgba(215,38,46,.6);background:radial-gradient(120% 140% at 100% 50%,rgba(215,38,46,.14),transparent 60%),color-mix(in srgb,var(--panel) 92%,transparent)}
.o5kpi .o5k.k-members.lit,.o5kpi .o5k.k-events.lit{background:linear-gradient(135deg,rgba(255,255,255,.03),transparent 55%),color-mix(in srgb,var(--panel) 92%,transparent)}
.o5kpi .o5k.art .o5sub{color:var(--dim)}
.o5kpi .o5k.art>*:not(.kpi-art){position:relative;z-index:1;text-shadow:0 1px 10px rgba(0,0,0,.85)}
@media (max-width:640px){.o5kpi .o5k.art .kpi-art{width:44%}}
/* Világos mód: a képes kártyák (akciók, KPI-k) sötétek maradnak, mert a képeik sötét hátterűek */
:root[data-theme="light"] .o5op,:root[data-theme="light"] .o5kpi .o5k.art{--panel:#17140f;--raised:#1f1b16;--hover:#26211b;--fg:#f3f2f0;--mut:#c9c4bd;--dim:#948f88;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);--acc:oklch(.77 .16 58);--acc-soft:oklch(.77 .16 58 / .14);--ok:oklch(.79 .14 158);--warn:oklch(.83 .13 88);--bad:oklch(.7 .18 25);--av-l:.4;--av-c:.1;--av-tl:.93;color:var(--fg)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .o5op,:root:not([data-theme="dark"]) .o5kpi .o5k.art{--panel:#17140f;--raised:#1f1b16;--hover:#26211b;--fg:#f3f2f0;--mut:#c9c4bd;--dim:#948f88;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);--acc:oklch(.77 .16 58);--acc-soft:oklch(.77 .16 58 / .14);--ok:oklch(.79 .14 158);--warn:oklch(.83 .13 88);--bad:oklch(.7 .18 25);--av-l:.4;--av-c:.1;--av-tl:.93;color:var(--fg)}}
:root[data-theme="light"] .o5op.idle{background:#17140f}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .o5op.idle{background:#17140f}}
/* Ki indította / ki adta ki a pontot */
.bys{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}
.by{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:12.5px}
.by>small{color:var(--dim);font-size:11.5px;letter-spacing:.02em}
.by>em{font-style:normal;color:var(--mut)}
.by-p{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:220px;height:26px;padding:0 10px 0 3px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--fg);font:600 12.5px/1 var(--f-body);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s ease,background .15s ease}
.by-p:hover{border-color:var(--acc-line)}
.by-p .av{width:20px;height:20px;font-size:9px}
.hc-by{display:block;margin:-2px 0 8px;color:var(--dim);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gwh header .hc-by{margin:3px 0 0;white-space:normal}
.drawer .bys{margin:0 0 4px}
/* Indító / pontkiosztó: a részleteknél egymás mellett, a kártyán soronként */
.drawer .bys{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drawer .by{flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.drawer .by-p{max-width:100%}
.hc-bys{display:grid;gap:2px;margin:-2px 0 8px;min-width:0}
.hc-bys .hc-by{margin:0;color:var(--mut)}
.hc-bys .hc-by>span{color:var(--dim)}
/* Playlist szerkesztő */
.pl-n{color:var(--dim);font-size:11.5px;font-weight:500;margin-left:6px}
.pled .db{display:grid;gap:16px;align-content:start;overflow:auto}
.pl-name{display:block;width:100%;background:transparent;border:1px solid transparent;border-radius:10px;padding:4px 8px;margin-left:-8px;color:var(--fg);font:700 20px/1.2 var(--f-head,var(--f-body));letter-spacing:-.01em}
.pl-name:hover{border-color:var(--line)}
.pl-name:focus{outline:none;border-color:var(--acc-line);background:color-mix(in srgb,var(--panel) 80%,transparent)}
.pl-tools{display:flex;flex-wrap:wrap;gap:8px}
.pllist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pllist .empty{padding:18px;text-align:center;color:var(--dim)}
.plr{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel);transition:background .15s ease}
.plr+.plr{border-top:1px solid var(--line)}
.plr .n{width:22px;font:500 12px var(--f-mono);color:var(--dim);text-align:right;flex:none}
.plr .tx{flex:1;min-width:0;display:grid}
.plr .tx b{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plr .tx small{color:var(--dim);font-size:11.5px}
.plr.miss .tx b{color:var(--dim);text-decoration:line-through}
.plr .pla{display:flex;gap:2px;flex:none}
.plr .pla .btn{width:30px;padding:0;justify-content:center}
.plh{flex:none;display:grid;place-items:center;width:26px;height:30px;border-radius:8px;color:var(--dim);cursor:grab;touch-action:none}
.plh:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 6%,transparent)}
.plh .grip{width:10px;height:16px;background:radial-gradient(circle,currentColor 1.6px,transparent 1.9px) 0 0/5px 5.4px;opacity:.9}
.plr.drag{background:color-mix(in srgb,var(--acc) 12%,var(--panel));box-shadow:0 10px 30px -12px rgba(0,0,0,.6);position:relative;z-index:2}
.plr.drag .plh{cursor:grabbing;color:var(--acc)}
#plbody.saving .pllist{opacity:.6;pointer-events:none}
.pl-add{display:grid;gap:10px;padding-top:4px}
.pl-pick{max-height:240px}
.pl-yt{display:flex;gap:8px}
.pl-yt .inp{flex:1;min-width:0}
.pl-hint{color:var(--dim);font-size:11.5px;margin-top:-4px}
.pl-foot{display:flex;justify-content:flex-start;padding-top:4px;border-top:1px solid var(--line)}
@media (max-width:640px){.plr .pla .btn[data-plmv]{display:none}}
@media (hover:hover){.pled .plr{cursor:grab}.pled .plr .btn{cursor:pointer}}
body.pl-dragging{cursor:grabbing;user-select:none}
body.pl-dragging .pled .plr{cursor:grabbing}
.plr.drag{scale:1.015;border-radius:10px}
/* Zene oldal (új) */
.mp{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(250px,300px);gap:30px;align-items:center;padding:30px;margin-bottom:18px;background:radial-gradient(70% 160% at 0% 50%,var(--acc-soft),transparent 62%),radial-gradient(50% 120% at 100% 0%,oklch(.64 .2 18 / .12),transparent 60%),color-mix(in srgb,var(--panel) 90%,transparent)!important}
.mp.live::after{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(50% 50% at 18% 50%,color-mix(in srgb,var(--acc) 18%,transparent),transparent 70%);pointer-events:none;animation:mpGlow 4s ease-in-out infinite alternate}
@keyframes mpGlow{to{opacity:.45}}
@media (prefers-reduced-motion:reduce){.mp.live::after,.mp .disc.on{animation:none}}
.mp>*{position:relative;z-index:1}
.mp-art{display:grid;justify-items:center;gap:10px}
.mp .disc{width:150px;height:150px}
.mp .disc i{width:54px;height:54px;box-shadow:inset 0 0 0 17px rgba(0,0,0,.25)}
.mp.off .disc{opacity:.45;filter:grayscale(.6)}
.mp-src{font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.mp-main{min-width:0}
.mp-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mp-tags .chip svg{width:13px;height:13px;margin-right:2px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mp-loop{padding-right:4px}
.mp-loop button{display:grid;place-items:center;width:20px;height:20px;margin-left:4px;border:0;border-radius:50%;background:rgba(0,0,0,.25);color:inherit;cursor:pointer}
.mp-loop button svg{width:11px;height:11px;margin:0}
.mp-title{margin:12px 0 6px;font:700 32px/1.12 var(--f-display);letter-spacing:-.035em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.mp-sub{margin:0 0 18px;color:var(--mut);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-sub b{color:var(--fg);font-weight:600}
.mp-prog{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:12px;align-items:center;font-size:12px;color:var(--dim)}
.mp-prog span:last-child{text-align:right}
.mp .ctrl{margin-top:18px}
.mp-side{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:8px;align-content:center;padding-left:28px;border-left:1px solid var(--line);align-self:stretch}
.mp-side .lbl{margin:0}
.mp-side .lbl+*{margin-bottom:8px}
.mp-vc,.mp-yt{display:flex;gap:8px}
.mp-vc .inp,.mp-yt .inp{flex:1;min-width:0}
.mtabs{overflow:hidden}
.mt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}
.mt-n{opacity:.55;margin-left:4px;font-size:11.5px}
.mt-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mt-acts .inp{width:min(320px,100%)}
.mt-body{padding:14px 16px 18px}
.mt-body .pllist{border-radius:14px}
.mt-tracks{max-height:560px}
.mt-tracks .q{gap:10px}
.mt-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--sunk);color:var(--dim);flex:none}
.mt-ic svg,.plmenu svg,.plc-top .es-ic svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mt-more{margin:12px 0 0;text-align:center;color:var(--dim);font-size:12.5px}
.mt-empty{display:grid;justify-items:center;gap:6px;padding:34px 12px;text-align:center;color:var(--dim)}
.mt-empty>svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7;margin-bottom:4px}
.mt-empty b{color:var(--fg);font-size:15px}
.mt-empty small{max-width:420px;font-size:13px}
.mt-empty .btn{margin-top:10px}
.plgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.plc{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 70%,transparent);transition:border-color .15s ease}
.plc:hover{border-color:var(--line2)}
.plc.on{border-color:var(--acc-line);background:radial-gradient(120% 140% at 0% 0%,var(--acc-soft),transparent 60%),color-mix(in srgb,var(--panel) 70%,transparent)}
.plc-top{display:flex;gap:12px;align-items:center;min-width:0}
.plc-top b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plc-top small{color:var(--dim);font-size:12px}
.plc-acts{display:flex;gap:6px;flex-wrap:wrap}
.plc-acts .btn[data-pled]{margin-left:auto;width:32px;padding:0;justify-content:center}
.plmenu{position:fixed;z-index:80;min-width:210px;max-width:280px;max-height:320px;overflow:auto;display:grid;gap:2px;padding:6px;background:var(--raised);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);animation:fadeUp .16s var(--ease-out) both}
.plmenu small{padding:6px 10px 4px;color:var(--dim);font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.plmenu button{display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:9px;background:none;color:var(--fg);font:500 13px/1.2 var(--f-body);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plmenu button:hover,.plmenu button:focus-visible{background:var(--hover);outline:none}
.plmenu button.new{color:var(--acc);border-top:1px solid var(--line);border-radius:0 0 9px 9px;margin-top:2px}
@keyframes fadeUp{from{opacity:0;translate:0 4px}}
@media (max-width:1000px){.mp{grid-template-columns:auto minmax(0,1fr);gap:24px}.mp-side{grid-column:1/-1;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media (max-width:640px){.mp{grid-template-columns:minmax(0,1fr);padding:22px 16px;text-align:center;gap:16px}.mp .disc{width:118px;height:118px}.mp .disc i{width:44px;height:44px}.mp-tags,.mp .ctrl{justify-content:center}.mp-title{font-size:24px}.mp-side{text-align:left}.mt-head{padding:12px}.mt-head .seg{width:100%}.mt-head .seg button{flex:1;padding:0 6px}.mt-acts{width:100%}.mt-acts .inp{width:100%}.mt-body{padding:12px}.plgrid{grid-template-columns:minmax(0,1fr)}}
/* Zene: Spotify-szerű elrendezés */
.sp{display:grid;grid-template-columns:290px minmax(0,1fr);grid-template-areas:"lib main" "bar bar";gap:10px;align-items:start}
.sp-lib{grid-area:lib;position:sticky;top:84px;max-height:calc(100vh - 190px);display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.sp-lib-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 8px}
.sp-lib-h b{display:flex;align-items:center;gap:8px;font-size:15px}
.sp-lib-h b svg,.sp-art svg,.spb-right svg,.sp-th svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sp-lib-q{padding:4px 14px 10px}
.sp-lib-q .inp{width:100%;height:34px;font-size:13px}
.sp-lib-list{overflow:auto;padding:0 6px 10px;display:grid;gap:1px;align-content:start}
.sp-lib-sep{padding:12px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.sp-lib-empty{padding:8px 10px;color:var(--dim);font-size:12.5px;margin:0}
.sp-li{display:flex;align-items:center;gap:11px;width:100%;padding:7px 8px;border:0;border-radius:10px;background:none;color:var(--fg);text-align:left;cursor:pointer;transition:background .15s ease}
.sp-li:hover{background:var(--hover)}
.sp-li.on{background:color-mix(in srgb,var(--acc) 14%,transparent)}
.sp-li-t{display:grid;min-width:0;flex:1}
.sp-li-t b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-li.on .sp-li-t b{color:var(--acc)}
.sp-li-t small{font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-art{--h:30;flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:8px;overflow:hidden;color:rgba(255,255,255,.85);background:linear-gradient(135deg,oklch(.62 .16 var(--h)),oklch(.38 .13 calc(var(--h) + 50)));box-shadow:0 6px 16px -10px rgba(0,0,0,.7)}
.sp-art img{width:100%;height:100%;object-fit:cover;display:block}
.sp-art.sm{width:40px;height:40px;border-radius:7px}
.sp-art.sm svg{width:15px;height:15px}
.sp-art.lg{width:100%;height:auto;aspect-ratio:1;border-radius:10px}
.sp-art.lg svg{width:34%;height:34%;opacity:.85}
.sp-art.xl{width:190px;height:190px;border-radius:12px;box-shadow:0 18px 50px -18px rgba(0,0,0,.8)}
.sp-art.xl svg{width:64px;height:64px}
.sp-art.home{background:linear-gradient(135deg,var(--acc),var(--acc2))}
.sp-art.queue{background:linear-gradient(135deg,oklch(.55 .15 250),oklch(.38 .12 290))}
.sp-art.tracks{background:linear-gradient(135deg,oklch(.6 .14 160),oklch(.38 .1 200))}
.sp-art.idle{background:var(--sunk);color:var(--dim);box-shadow:none}
.sp-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-right:6px;vertical-align:-1px}
.sp-eq i{width:3px;height:100%;border-radius:2px;background:var(--acc);animation:spEq .9s ease-in-out infinite alternate}
.sp-eq i:nth-child(2){animation-delay:-.3s}.sp-eq i:nth-child(3){animation-delay:-.6s}
.sp-eq.off i{animation:none;height:40%}
@keyframes spEq{from{height:25%}to{height:100%}}
@media (prefers-reduced-motion:reduce){.sp-eq i{animation:none;height:70%}}
.sp-li .sp-eq{margin:0 2px 0 0}
.sp-main{grid-area:main;min-width:0;display:grid;gap:18px;align-content:start;padding:0 0 8px}
.sp-hero{--h:30;position:relative;overflow:hidden;display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:center;padding:24px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,oklch(.5 .16 var(--h)) 55%,transparent),transparent 70%),color-mix(in srgb,var(--panel) 92%,transparent)}
.sp-hero.live{border-color:color-mix(in srgb,oklch(.6 .16 var(--h)) 45%,var(--line))}
.sp-hero-art{display:grid;place-items:center;width:200px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.25);box-shadow:0 22px 50px -22px rgba(0,0,0,.85)}
.sp-hero-art img{width:100%;height:100%;object-fit:cover}
.sp-hero-art>svg{width:70px;height:70px;stroke:rgba(255,255,255,.75);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sp-hero-art .disc{width:170px;height:170px}
.sp-hero-art .disc i{width:60px;height:60px;box-shadow:inset 0 0 0 19px rgba(0,0,0,.25)}
.sp-hero.idle .sp-hero-art{background:linear-gradient(135deg,var(--acc),var(--acc2))}
.sp-hero-b{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-items:start}
.sp-hero-b>small{display:flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--mut)}
.sp-hero-b h2{margin:0;font:800 clamp(26px,3.4vw,44px)/1.06 var(--f-display);letter-spacing:-.04em;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.sp-hero-b p{margin:0;color:var(--mut);font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-hero-b p b{color:var(--fg)}
.sp-hero-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.sp-vc,.sp-yt{display:flex;gap:8px;width:100%;max-width:520px;min-width:0;margin-top:4px}
.sp-vc select{max-width:100%}
.sp-vc .inp,.sp-yt .inp{flex:1;min-width:0}
.sp-chips{display:flex;gap:8px;flex-wrap:wrap}
.sp-chips button{height:32px;padding:0 14px;border-radius:999px;border:0;background:var(--sunk);color:var(--fg);font:600 13px var(--f-body);cursor:pointer;transition:background .15s ease}
.sp-chips button:hover{background:var(--hover)}
.sp-chips button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.sp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.sp-tile{position:relative;display:flex;align-items:center;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--fg) 7%,transparent);transition:background .15s ease}
.sp-tile:hover{background:color-mix(in srgb,var(--fg) 12%,transparent)}
.sp-tile.on{box-shadow:inset 0 0 0 1px var(--acc-line)}
.sp-tile-b{display:flex;align-items:center;gap:12px;width:100%;padding:0 54px 0 0;border:0;background:none;color:var(--fg);text-align:left;cursor:pointer;min-width:0}
.sp-tile-b .sp-art{width:58px;height:58px;border-radius:0}
.sp-tile-b b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-play{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:var(--acc);color:var(--acc-ink);cursor:pointer;box-shadow:0 8px 18px -8px rgba(0,0,0,.8);transition:transform .15s var(--ease-out),opacity .15s ease}
.sp-play svg{width:17px;height:17px;fill:currentColor;stroke:none;margin-left:2px}
.sp-play:hover{transform:scale(1.06)}
.sp-play:disabled{opacity:.35;cursor:not-allowed;transform:none}
.sp-play.big{width:56px;height:56px}
.sp-play.big svg{width:22px;height:22px}
.sp-tile .sp-play{position:absolute;right:10px;top:50%;translate:0 -50%;width:36px;height:36px;opacity:0}
.sp-tile:hover .sp-play,.sp-tile:focus-within .sp-play{opacity:1}
.sp-tile .sp-play:disabled{opacity:0}
.sp-tile:hover .sp-play:disabled{opacity:.35}
.sp-sec{display:grid;gap:10px;min-width:0}
.sp-sec.full{gap:14px}
.sp-sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sp-sec-h h3{margin:0;font:700 19px/1.2 var(--f-display);letter-spacing:-.02em}
.sp-q{width:min(300px,100%);height:34px}
.sp-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sp-card{position:relative;border-radius:14px;padding:12px;background:color-mix(in srgb,var(--fg) 4%,transparent);transition:background .15s ease}
.sp-card:hover{background:color-mix(in srgb,var(--fg) 9%,transparent)}
.sp-card.on{box-shadow:inset 0 0 0 1px var(--acc-line)}
.sp-card-b{display:grid;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--fg);text-align:left;cursor:pointer;min-width:0}
.sp-card-b b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.sp-card-b small{font-size:12px;color:var(--dim)}
.sp-card-art{position:relative}
.sp-card-a{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer}
.sp-card .sp-play{position:absolute;right:8px;bottom:8px;opacity:0;translate:0 6px}
.sp-card .sp-play:disabled{opacity:0}
.sp-card:hover .sp-play:disabled{opacity:.35}
.sp-card-b{margin-top:8px}
.sp-card:hover .sp-play,.sp-card:focus-within .sp-play{opacity:1;translate:0 0}
.sp-rows{display:grid;gap:1px}
.sp-row{display:grid;grid-template-columns:28px auto minmax(0,1fr) 52px auto;align-items:center;gap:12px;padding:6px 8px;border-radius:8px;transition:background .12s ease}
.sp-row:hover{background:var(--hover)}
.sp-row .n{font:500 12.5px var(--f-mono);color:var(--dim);text-align:right}
.sp-row .tx{display:grid;min-width:0}
.sp-row .tx b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-row .tx small{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-row-d{font-size:12.5px;color:var(--dim);text-align:right}
.sp-row-a{display:flex;gap:4px;justify-content:flex-end}
.sp-th{display:grid;grid-template-columns:28px minmax(0,1fr) 52px 90px;gap:12px;padding:0 8px 8px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:12px;color:var(--dim)}
.sp-th span:first-child{text-align:right}.sp-th span:nth-child(3){display:flex;justify-content:flex-end}
.sp-th span:nth-child(2){padding-left:52px}
.sp-list{max-height:none;margin:0;padding:0}
.sp-ph{--h:30;display:flex;align-items:flex-end;gap:24px;padding:22px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,oklch(.5 .15 var(--h)) 60%,transparent),transparent),color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line)}
.sp-ph>div{min-width:0}
.sp-ph small{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--mut)}
.sp-ph h2{margin:6px 0 8px;font:800 clamp(30px,4.4vw,64px)/1 var(--f-display);letter-spacing:-.045em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-ph p{margin:0;color:var(--mut);font-size:13.5px}
.sp-pl-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 2px}
.sp-empty{margin:0;padding:22px 16px;border-radius:14px;background:color-mix(in srgb,var(--fg) 3%,transparent);color:var(--dim);font-size:13.5px;text-align:center}
.sp-q-list .plr{gap:12px}
.sp-bar{grid-area:bar;position:sticky;bottom:10px;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:center;padding:10px 14px;border-radius:18px;border:1px solid var(--line2);background:color-mix(in srgb,var(--raised) 88%,transparent);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 18px 50px -20px rgba(0,0,0,.75)}
.spb-now{display:flex;align-items:center;gap:12px;min-width:0}
.spb-now .tx{display:grid;min-width:0}
.spb-now b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spb-now small{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spb-mid{display:grid;gap:4px;justify-items:center;min-width:0}
.spb-mid .mp-prog{width:100%;max-width:560px}
.spb-ctrl{gap:6px}
.spb-ctrl button{width:34px;height:34px;border:0;background:none}
.spb-ctrl button:disabled{opacity:.35}
.spb-ctrl button.on{color:var(--acc)}
.spb-ctrl .big{width:40px;height:40px;background:var(--fg);color:var(--bg);box-shadow:none}
.spb-ctrl .big svg{width:16px;height:16px}
@media (hover:hover){.spb-ctrl .big:hover{color:var(--bg);transform:scale(1.05)}}
.spb-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.spb-right .btn.on{color:var(--acc)}
.spb-right .chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spb-right .chip svg{width:13px;height:13px;margin-right:3px}
@media (max-width:1100px){.sp{grid-template-columns:240px minmax(0,1fr)}.sp-hero{grid-template-columns:150px minmax(0,1fr);gap:20px}.sp-hero-art{width:150px}.sp-hero-art .disc{width:128px;height:128px}}
@media (max-width:900px){
  .sp{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "lib" "bar"}
  .sp-lib{position:static;max-height:none}
  .sp-lib-list{grid-auto-flow:row;max-height:340px}
  .sp-bar{grid-template-columns:minmax(0,1fr) auto;bottom:8px}
  .spb-mid{order:2;justify-items:end}.spb-mid .mp-prog{display:none}
  .spb-ctrl button[data-shuf],.spb-ctrl button[aria-label="Ismétlés"]{display:none}
  .spb-right{display:none}
  .sp-bar::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:var(--line2)}
}
@media (max-width:640px){
  .sp-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:20px 16px}
  .sp-hero-art{width:160px}.sp-hero-b{justify-items:center}.sp-hero-b>small{justify-content:center}.sp-hero-acts{justify-content:center}
  .sp-ph{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.sp-art.xl{width:130px;height:130px}
  .sp-row{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:6px 4px}.sp-row .n,.sp-row-d{display:none}
  .sp-th{display:none}.sp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-tile-b{padding-right:8px}.sp-tile-b .sp-art{width:48px;height:48px}.sp-tile-b b{font-size:12.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .sp-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Playlist oldal: szerkesztés helyben */
.sp-ph-b{min-width:0;flex:1;display:grid;gap:2px}
.sp-ph-name{width:100%;margin:4px 0 6px -8px;padding:2px 8px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--fg);font:800 clamp(30px,4.4vw,64px)/1.05 var(--f-display);letter-spacing:-.045em;text-overflow:ellipsis;transition:border-color .15s ease,background .15s ease}
.sp-ph-name:hover{border-color:color-mix(in srgb,var(--fg) 18%,transparent)}
.sp-ph-name:focus{outline:none;border-color:var(--acc-line);background:rgba(0,0,0,.18)}
.sp-pl-acts{gap:8px}
.sp-tools{display:inline-flex;gap:2px;margin-left:6px;padding-left:10px;border-left:1px solid var(--line)}
.sp-tools .btn svg,.sp-del svg{width:14px;height:14px}
.sp-del{margin-left:auto}
#spplrows{transition:opacity .15s ease}
#spplrows.saving{opacity:.55;pointer-events:none}
.sp-pl-list{border:0;border-radius:0;overflow:visible}
.sp-pl-list .plr{gap:12px;padding:6px 8px;border-radius:8px;background:none}
.sp-pl-list .plr+.plr{border-top:0}
.sp-pl-list .plr:hover{background:var(--hover)}
.sp-pl-list .plr.drag{background:color-mix(in srgb,var(--acc) 14%,var(--panel))}
.sp-pl-list .plr .n{width:20px}
.sp-pl-list .plr .sp-row-d{width:52px;flex:none}
.sp-pl-list .plr .pla .btn{width:32px;padding:0;justify-content:center}
.sp-pl-list .plr .pla .btn svg{width:14px;height:14px}
@media (hover:hover){.sp-pl-list .plr .pla{opacity:.35;transition:opacity .15s ease}.sp-pl-list .plr:hover .pla,.sp-pl-list .plr:focus-within .pla{opacity:1}}
.sp-plv .sp-th{grid-template-columns:26px 20px minmax(0,1fr) 52px 76px;padding-left:8px}
.sp-plv .sp-th span:first-child{grid-column:2}
.sp-plv .sp-th span:nth-child(2){padding-left:52px}
.sp-pl-add{padding-top:10px;border-top:1px solid var(--line)}
.sp-row.add .n{width:0}
.sp-pl-add .pl-yt{max-width:none;margin-top:4px}
@media (max-width:640px){.sp-ph-name{font-size:30px}.sp-tools{margin-left:0;padding-left:0;border-left:0}.sp-del{margin-left:0}.sp-pl-list .plr .n,.sp-pl-list .plr .sp-row-d{display:none}.sp-pl-list .plr{gap:8px;padding:6px 2px}}
/* a zene oldalon az értesítés a lejátszósáv fölött jelenik meg */
body:has(.sp-bar) .toast{bottom:104px}
@media (max-width:900px){body:has(.sp-bar) .toast{bottom:92px}}
/* Zene: kereső fent, voice választó a sávon */
.sp-main{grid-area:main;min-width:0;display:grid;gap:14px;align-content:start}
.sp-view{min-width:0;display:grid;gap:18px;align-content:start;padding:0 0 8px}
.sp-search{position:relative;display:flex;gap:8px;align-items:center}
.sp-search>svg{position:absolute;left:16px;top:50%;translate:0 -50%;width:18px;height:18px;stroke:var(--dim);fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none}
.sp-search .inp{flex:1;min-width:0;height:48px;padding-left:46px;border-radius:999px;font-size:14.5px;background:color-mix(in srgb,var(--fg) 6%,var(--panel))}
.sp-search .inp:focus{background:var(--panel)}
.sp-search .btn{height:48px;border-radius:999px;padding:0 20px}
.spb-vc{max-width:220px;gap:6px}
.spb-vc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spb-vc.on{color:var(--ok, #3fd18b);border-color:color-mix(in srgb,var(--ok, #3fd18b) 40%,var(--line2))}
.spb-vc svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vcmenu{min-width:250px}
.vcmenu button{justify-content:flex-start}
.vcmenu button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.vcmenu button em{font-style:normal;font-size:11.5px;color:var(--dim);flex:none}
.vcmenu button.cur{color:var(--ok, #3fd18b);opacity:1;cursor:default}
.vcmenu button.cur em{color:inherit}
.vcmenu button.danger{color:var(--bad)}
.vcmenu .spn{padding:8px 10px;color:var(--dim);font-size:12.5px;margin:0}
@media (max-width:900px){
  .spb-right{display:flex;order:3}.spb-right [data-spv="queue"]{display:none}
  .sp-bar{grid-template-columns:minmax(0,1fr) auto auto}
  .spb-vc{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}.spb-vc span{display:none}
}
@media (max-width:640px){.sp-search .inp{height:44px;font-size:14px}.sp-search .btn{height:44px;padding:0 14px}.sp-search .btn svg{margin:0}}
.sp-q-list .pla .btn{width:32px;padding:0;justify-content:center}
.sp-q-list .pla .btn svg{width:14px;height:14px}
.sp-mv{font-size:14px}
@media (hover:hover){.sp-q-list .plr .pla{opacity:.4;transition:opacity .15s ease}.sp-q-list .plr:hover .pla,.sp-q-list .plr:focus-within .pla{opacity:1}}
@media (max-width:640px){.sp-q-list .plr .n{display:none}.sp-q-list .plr{gap:8px}}
.spb-ctrl button.on{position:relative}
.spb-ctrl button.on::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
/* Ismétlés és előző gomb */
.spb-ctrl button{position:relative}
.rep1{position:absolute;top:3px;right:3px;min-width:12px;height:12px;padding:0 2px;border-radius:6px;background:var(--acc);color:var(--acc-ink);font:800 8px/12px var(--f-body);text-align:center}
.spb-prev svg path:first-child{fill:currentColor;stroke:none}
.mt-acts .btn[data-rep],.mt-acts .btn[data-mu="loopoff"]{position:relative}
.mt-acts .btn .rep1{top:-4px;right:-4px}
.vcmenu button:disabled{opacity:.45;cursor:not-allowed}
/* Lezárt ticketek keresése */
.tq-tools{display:flex;align-items:center;gap:8px}
.tq-btn{width:32px;padding:0;justify-content:center;flex:none;margin-left:auto}
.tq-btn svg,.tq-ic svg,#tqx svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.tq-btn.on{color:var(--acc);background:var(--acc-soft)}
.tq-wrap{position:relative;display:flex;align-items:center;gap:6px;padding:0 14px 10px}
.tq-wrap[hidden]{display:none}
.tq-ic{position:absolute;left:26px;top:50%;translate:0 calc(-50% - 5px);color:var(--dim);display:grid}
.tq-wrap .inp{flex:1;min-width:0;height:36px;padding-left:34px;font-size:13px}
#tqx{width:32px;padding:0;justify-content:center}
.tq-tools{flex-wrap:nowrap}
.tq-tools .seg{flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.tq-tools .seg::-webkit-scrollbar{display:none}
/* ===== Halloween téma: sötét, filmes (horrorfilm-plakát hangulat) ===== */
:root[data-season="halloween"],:root[data-season="halloween"][data-theme]{
  --bg:#040302;--panel:#0c0907;--raised:#120e0b;--hover:#19130f;--sunk:#070504;
  --line:rgba(214,110,40,.1);--line2:rgba(214,110,40,.18);--hi:rgba(255,255,255,.025);
  --fg:#ece3d6;--mut:#a8988a;--dim:#6d6056;
  --acc:oklch(.66 .16 45);--acc2:oklch(.42 .16 25);--acc-ink:#fff4e8;
  --acc-soft:oklch(.66 .16 45 / .12);--acc-line:oklch(.66 .16 45 / .42);
  --ok:oklch(.74 .12 145);--ok-soft:oklch(.74 .12 145 / .1);
  --warn:oklch(.78 .13 75);--warn-soft:oklch(.78 .13 75 / .1);
  --bad:oklch(.55 .2 25);--bad-soft:oklch(.55 .2 25 / .14);
  --info:oklch(.66 .16 45);--info-soft:oklch(.66 .16 45 / .12);
  --glow1:oklch(.4 .15 28 / .28);--glow2:oklch(.6 .15 45 / .1);
  --av-l:.36;--av-c:.08;--av-tl:.92;
  --scrim:rgba(2,1,0,.78);--shadow:0 30px 80px -24px rgba(0,0,0,.9);
  --f-hw:"Cinzel","Bricolage Grotesque",Georgia,serif;
  color-scheme:dark;
}
:root[data-season="halloween"] body{background:linear-gradient(180deg,rgba(4,3,2,.45) 0,rgba(4,3,2,.78) 45%,rgba(4,3,2,.94) 100%),url("/admin/static/hw_bg.jpg") center top/cover no-repeat fixed,#040302}
:root[data-season="halloween"] body::before{background:radial-gradient(50% 40% at 85% -10%,oklch(.4 .15 28 / .32),transparent 70%),radial-gradient(40% 30% at 0% 0%,oklch(.55 .14 45 / .1),transparent 70%)}
:root[data-season="halloween"] body::after{opacity:.075}
#spooky{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.hw-vignette{position:absolute;inset:0;background:radial-gradient(115% 85% at 50% 40%,transparent 50%,rgba(20,4,2,.55) 78%,rgba(0,0,0,.92) 100%)}
.hw-smoke{position:absolute;width:70vmax;height:70vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(170,150,135,.07),rgba(170,150,135,.03) 55%,transparent 72%);filter:blur(30px);will-change:transform}
.hw-smoke.s1{left:-25vmax;bottom:-35vmax;animation:hwDrift1 38s ease-in-out infinite alternate}
.hw-smoke.s2{right:-30vmax;bottom:-30vmax;animation:hwDrift2 46s ease-in-out infinite alternate;background:radial-gradient(closest-side,rgba(150,60,30,.08),rgba(150,60,30,.03) 55%,transparent 72%)}
.hw-smoke.s3{left:20vw;top:-40vmax;width:60vmax;height:60vmax;opacity:.7;animation:hwDrift1 54s ease-in-out infinite alternate-reverse}
@keyframes hwDrift1{to{transform:translate(18vw,-8vh) scale(1.15)}}
@keyframes hwDrift2{to{transform:translate(-16vw,-10vh) scale(1.1)}}
.hw-embers{position:absolute;inset:0}
.hw-embers i{position:absolute;bottom:-10px;border-radius:50%;background:#ffb070;box-shadow:0 0 6px 2px rgba(255,120,40,.7),0 0 14px 4px rgba(220,60,10,.35);opacity:0;animation:hwEmber linear infinite}
@keyframes hwEmber{0%{transform:translate(0,0);opacity:0}8%{opacity:.9}55%{opacity:.6}100%{transform:translate(var(--dx),-105vh);opacity:0}}
@media (prefers-reduced-motion:reduce){.hw-smoke,.hw-embers i{animation:none}.hw-embers{display:none}}
@media (max-width:640px){.hw-embers i:nth-child(n+14){display:none}}
:root[data-season="halloween"] .topnav{background:rgba(4,3,2,.86);border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(160,40,20,.55) 20%,rgba(214,110,40,.55) 50%,rgba(160,40,20,.55) 80%,transparent) 1}
:root[data-season="halloween"] .o5h h1,:root[data-season="halloween"] .vh h1{text-shadow:0 0 28px rgba(200,80,20,.3)}
:root[data-season="halloween"] .o5h h1 span{color:var(--acc);text-shadow:0 0 22px rgba(220,100,30,.5)}
:root[data-season="halloween"] .crumb{color:var(--acc)}
:root[data-season="halloween"] .card,:root[data-season="halloween"] .sp-lib,:root[data-season="halloween"] .sp-hero,:root[data-season="halloween"] .sp-ph{border-color:rgba(214,110,40,.11);background-color:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:inset 0 1px 0 rgba(255,150,80,.05),0 24px 60px -36px rgba(120,20,5,.6)}
:root[data-season="halloween"] .card:hover{border-color:rgba(214,110,40,.26);box-shadow:inset 0 1px 0 rgba(255,150,80,.07),0 24px 60px -30px rgba(160,40,10,.55)}
:root[data-season="halloween"] .btn.pri,:root[data-season="halloween"] .sp-play,:root[data-season="halloween"] .ctrl .big{background:linear-gradient(180deg,#c9581c,#8e2a0c);color:#fff4e8;box-shadow:0 10px 26px -14px rgba(220,80,20,.8),inset 0 1px 0 rgba(255,200,150,.25)}
:root[data-season="halloween"] .spb-ctrl .big{background:#ece3d6;color:#0c0907}
:root[data-season="halloween"] .seasonb{color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft);box-shadow:0 0 16px -6px rgba(220,90,20,.7)}
.seasonb svg path{fill:none}
:root[data-season="halloween"] ::selection{background:#8e2a0c;color:#fff4e8}
/* Halloween: tökök és pókhálók */
.hw-web{position:absolute;top:62px;width:300px;color:rgba(255,248,235,.2);filter:drop-shadow(0 0 1px rgba(255,240,220,.15))}
.hw-web.l{left:0}
.hw-web.r{right:0;transform:scaleX(-1)}
.hw-web.bl{top:auto;bottom:0;left:0;width:220px;transform:scaleY(-1);opacity:.7}
.hw-web svg{display:block;width:100%}
.hw-spider{position:absolute;top:0;right:22%;width:34px;height:300px;transform-origin:top center;animation:hwSpider 14s ease-in-out infinite}
@keyframes hwSpider{0%,100%{transform:translateY(-190px) rotate(0)}45%{transform:translateY(0) rotate(2deg)}55%{transform:translateY(-12px) rotate(-2deg)}}
.hw-pk{position:absolute;bottom:-8px;background:center/contain no-repeat;mix-blend-mode:screen;filter:saturate(1.15) brightness(1.05);-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);animation:hwPk 3.4s ease-in-out infinite}
.hw-pk.l{left:-10px;width:300px;height:216px;background-image:url("/admin/static/hw_pk1.jpg")}
.hw-pk.r{right:-20px;width:340px;height:156px;background-image:url("/admin/static/hw_pk2.jpg");animation-delay:-1.3s}
@keyframes hwPk{0%,100%{opacity:1}46%{opacity:.86}48%{opacity:.7}50%{opacity:.95}75%{opacity:.82}}
.hw-cweb{position:absolute;top:0;left:0;width:92px;z-index:3;pointer-events:none;color:rgba(255,248,235,.22);opacity:.9}
.hw-cweb.r{left:auto;right:0;transform:scaleX(-1)}
.hw-cweb svg{display:block;width:100%}
:root:not([data-season="halloween"]) .hw-cweb{display:none}
.sp-lib,.vh + .card,.g-tic > .card:first-child{position:relative}
@media (prefers-reduced-motion:reduce){.hw-spider,.hw-pk{animation:none}.hw-spider{transform:translateY(-120px)}}
@media (max-width:900px){.hw-pk.l{width:180px;height:130px}.hw-pk.r{width:200px;height:92px}.hw-web{width:170px}.hw-web.bl{display:none}.hw-spider{right:30%}}
#spookyFront{position:fixed;inset:0;z-index:25;pointer-events:none;overflow:hidden}
#spookyFront .hw-pk.l{width:230px;height:166px;left:-14px;bottom:-14px}
#spookyFront .hw-pk.r{width:260px;height:120px;right:-26px;bottom:-12px}
body:has(.sp-bar) #spookyFront .hw-pk{bottom:96px;opacity:.8}
.hw-cweb{color:rgba(255,248,235,.32);width:104px}
@media (max-width:900px){#spookyFront .hw-pk.l{width:150px;height:108px}#spookyFront .hw-pk.r{width:170px;height:78px}body:has(.sp-bar) #spookyFront .hw-pk{display:none}}
#spookyFront .hw-pk.l{width:196px;height:142px}
#spookyFront .hw-pk.r{width:220px;height:102px}
:root[data-season="halloween"] .o5op{border-color:rgba(214,110,40,.16)}

/* Halloween: a lenti panelek simák, csak kis díszítés */
:root[data-season="halloween"] .o5in,:root[data-season="halloween"] .o5low > .o4card{position:relative;border-color:rgba(214,110,40,.16);box-shadow:inset 0 1px 0 rgba(255,140,60,.12)}
:root[data-season="halloween"] .o5in .o4ic{color:var(--acc);background:rgba(214,110,40,.12)}
:root[data-season="halloween"] .o5in header em,:root[data-season="halloween"] .o5low .o4th em{color:var(--acc);background:rgba(214,110,40,.14)}
.hw-cweb.sm{width:64px;opacity:.7}
/* Halloween: kis világító tök a panelek címe mellett, minden oldalon */
:root[data-season="halloween"] .card > header h2::after,:root[data-season="halloween"] .o4th h2::after,:root[data-season="halloween"] .o5in header h2::after,:root[data-season="halloween"] .sp-sec-h h3::after,:root[data-season="halloween"] .sts > header h3::after,:root[data-season="halloween"] .sp-lib-h b::after,:root[data-season="halloween"] .o5op .o5tag::after{content:"";display:inline-block;width:24px;height:17px;margin-left:8px;vertical-align:-2px;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);filter:brightness(1.15);animation:hwPkIco 3.2s ease-in-out infinite}
@keyframes hwPkIco{0%,100%{opacity:1}47%{opacity:.75}49%{opacity:.55}51%{opacity:.95}}
@media (prefers-reduced-motion:reduce){:root[data-season="halloween"] .card > header h2::after{animation:none}}
:root[data-season="halloween"] .card > header,:root[data-season="halloween"] .o4th{border-bottom-color:rgba(214,110,40,.14)}
/* Halloween: navigáció és kezelőelemek */
:root[data-season="halloween"] .topnav{box-shadow:0 1px 0 rgba(214,110,40,.08),0 14px 34px -22px rgba(220,80,20,.5)}
:root[data-season="halloween"] .topnav::before{background:linear-gradient(180deg,rgba(10,6,3,.92),rgba(6,4,2,.8))}
:root[data-season="halloween"] .mark{box-shadow:0 0 0 1px rgba(214,110,40,.35),0 0 18px -4px rgba(255,110,30,.55)}

:root[data-season="halloween"] .ngb{color:#b9a48f}
@media (hover:hover){:root[data-season="halloween"] .ngb:hover{color:#ffd9b8;background:rgba(214,110,40,.1)}}
:root[data-season="halloween"] .ngb[aria-current="page"]{color:#ffe6cf;background:linear-gradient(180deg,rgba(60,24,8,.9),rgba(30,12,4,.9));box-shadow:inset 0 0 0 1px rgba(214,110,40,.45),0 0 18px -6px rgba(255,110,30,.6)}
:root[data-season="halloween"] .cnt{background:linear-gradient(180deg,#e2621b,#9e2a0c);color:#fff3e6;box-shadow:0 0 10px -2px rgba(255,100,20,.7)}
:root[data-season="halloween"] .dd{background:rgba(12,8,6,.97);border-color:rgba(214,110,40,.25);box-shadow:0 30px 70px -20px rgba(0,0,0,.9),0 0 0 1px rgba(214,110,40,.06),inset 0 1px 0 rgba(255,140,60,.12)}
:root[data-season="halloween"] .dd::after{content:"";position:absolute;top:0;right:0;width:70px;height:70px;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23fff3e0' stroke-width='.8' stroke-opacity='.5'%3E%3Cpath d='M100 0L20 0M100 0L35 35M100 0L60 60M100 0L100 80M100 0L0 12'/%3E%3Cpath d='M80 0Q78 8 72 9Q70 14 66 16Q72 22 80 24'/%3E%3Cpath d='M60 0Q57 12 48 14Q46 22 39 25Q48 34 62 38Q74 40 80 46'/%3E%3Cpath d='M40 0Q36 15 26 18Q22 30 14 34'/%3E%3C/g%3E%3C/svg%3E") top right/contain no-repeat}
@media (hover:hover){:root[data-season="halloween"] .ddi:hover{background:rgba(214,110,40,.1)}}
:root[data-season="halloween"] .ddic{background:rgba(20,12,7,.9);border-color:rgba(214,110,40,.18)}
:root[data-season="halloween"] .ddi[aria-current="page"] .ddic{background:linear-gradient(180deg,#e2621b,#9e2a0c);color:#fff3e6;box-shadow:0 0 12px -2px rgba(255,100,20,.6)}
:root[data-season="halloween"] .subtabs{background:rgba(8,5,3,.8);border-color:rgba(214,110,40,.18)}
:root[data-season="halloween"] .subtabs .ind,:root[data-season="halloween"] .subtabs button[aria-current="page"]{background:linear-gradient(180deg,rgba(60,24,8,.95),rgba(28,11,4,.95));box-shadow:0 0 0 1px rgba(214,110,40,.4),0 0 16px -6px rgba(255,110,30,.6)}
:root[data-season="halloween"] .subtabs.has-ind button[aria-current="page"]{background:none;box-shadow:none;color:#ffe6cf}
:root[data-season="halloween"] .btn{border-color:rgba(214,110,40,.2);background:rgba(16,10,6,.9)}
@media (hover:hover){:root[data-season="halloween"] .btn:hover{border-color:rgba(214,110,40,.45);box-shadow:0 0 14px -6px rgba(255,110,30,.5)}:root[data-season="halloween"] .btn.ghost:hover{background:rgba(214,110,40,.08)}}
:root[data-season="halloween"] .btn.ghost{border-color:transparent;background:none}
:root[data-season="halloween"] .inp{background:rgba(6,4,2,.85);border-color:rgba(214,110,40,.18)}
:root[data-season="halloween"] .inp::placeholder{color:#7d6a58}
:root[data-season="halloween"] .inp:focus{border-color:rgba(255,130,40,.6);box-shadow:0 0 0 4px rgba(214,110,40,.14),0 0 18px -6px rgba(255,110,30,.6)}
:root[data-season="halloween"] .seg{background:rgba(8,5,3,.8);border-color:rgba(214,110,40,.16)}
:root[data-season="halloween"] .seg button[aria-pressed="true"]{background:linear-gradient(180deg,rgba(60,24,8,.95),rgba(28,11,4,.95));color:#ffe6cf;box-shadow:0 0 0 1px rgba(214,110,40,.4),0 0 14px -6px rgba(255,110,30,.55)}
:root[data-season="halloween"] .sw input:checked+span{background:linear-gradient(90deg,#c8501a,#ff7a1f);box-shadow:0 0 12px -2px rgba(255,110,30,.6)}
:root[data-season="halloween"] .chip.c-acc{background:rgba(214,110,40,.16);color:#ffb37a}
:root[data-season="halloween"] table th,:root[data-season="halloween"] .thd{color:#c79a72}
:root[data-season="halloween"] tbody tr:hover,:root[data-season="halloween"] .rrow:hover{background:rgba(214,110,40,.06)}
:root[data-season="halloween"] .drawer,:root[data-season="halloween"] .modal{border-color:rgba(214,110,40,.28);box-shadow:0 40px 100px -30px rgba(0,0,0,.95),0 0 0 1px rgba(214,110,40,.06),inset 0 1px 0 rgba(255,140,60,.12)}
:root[data-season="halloween"] .dh{background:radial-gradient(100% 140% at 0% 0%,rgba(214,90,30,.22),transparent 60%),linear-gradient(180deg,rgba(30,12,4,.6),transparent);border-bottom-color:rgba(214,110,40,.16)}
:root[data-season="halloween"] .scrim{background:radial-gradient(120% 90% at 50% 50%,rgba(20,6,2,.6),rgba(2,1,0,.85))}
:root[data-season="halloween"] .toast{background:rgba(14,9,6,.96);color:#ffe6cf;border:1px solid rgba(214,110,40,.45);box-shadow:0 18px 50px -14px rgba(0,0,0,.9),0 0 22px -8px rgba(255,110,30,.6)}
:root[data-season="halloween"] .sp-bar{border-color:rgba(214,110,40,.3);background:rgba(10,6,4,.9);box-shadow:0 -1px 0 rgba(214,110,40,.12) inset,0 18px 50px -20px rgba(0,0,0,.85),0 0 30px -14px rgba(255,100,20,.45)}
:root[data-season="halloween"] .sp-li.on{background:rgba(214,110,40,.14)}
:root[data-season="halloween"] .sp-chips button[aria-pressed="true"]{background:linear-gradient(180deg,#e2621b,#9e2a0c);color:#fff3e6}
:root[data-season="halloween"] *::-webkit-scrollbar-thumb{background:rgba(214,110,40,.35);background-clip:padding-box}
:root[data-season="halloween"] *{scrollbar-color:rgba(214,110,40,.4) transparent}
:root[data-season="halloween"] .menu,:root[data-season="halloween"] .themeb,:root[data-season="halloween"] .search{border-color:rgba(214,110,40,.2)}
:root[data-season="halloween"] .me{border-color:rgba(214,110,40,.2)}
/* Tagok táblázat: kisebb kijelzőn a kevésbé fontos oszlopok elrejtve, hogy ne legyen vízszintes görgetés */
@media (max-width:1280px){.t-tag th:nth-child(8),.t-tag td:nth-child(8){display:none}}
@media (max-width:1100px){.t-tag th:nth-child(2),.t-tag td:nth-child(2),.t-tag th:nth-child(5),.t-tag td:nth-child(5){display:none}}
@media (max-width:900px){.t-tag th:nth-child(4),.t-tag td:nth-child(4),.t-tag th:nth-child(6),.t-tag td:nth-child(6){display:none}}
/* Halloween: töklámpás-füzér a navigáció alatt */
.hw-garland{position:absolute;left:0;right:0;top:100%;height:46px;pointer-events:none;z-index:1}
.hw-garland svg{position:absolute;left:0;top:0;width:100%;height:30px;overflow:visible;filter:drop-shadow(0 1px 0 rgba(255,150,70,.25))}
.hw-gl{position:absolute;top:4px;width:30px;margin-left:-15px;transform-origin:50% 0;animation:hwSway 3.6s ease-in-out infinite}
.hw-gl::before{content:"";display:block;width:1px;height:var(--len);margin:0 auto;background:rgba(20,12,6,.95)}
.hw-gl i{display:block;width:34px;height:25px;margin-left:-2px;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 64%,transparent);mask-image:radial-gradient(closest-side,#000 64%,transparent);filter:brightness(1.2) saturate(1.1);animation:hwPkIco 3.2s ease-in-out infinite}
.hw-gl::after{content:"";position:absolute;left:50%;bottom:-6px;width:40px;height:30px;margin-left:-20px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,120,30,.28),transparent);pointer-events:none}
.hw-gl:nth-child(odd) i{width:27px;height:20px;margin:0 auto;animation-delay:-1.1s}
@keyframes hwSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@media (prefers-reduced-motion:reduce){.hw-gl,.hw-gl i{animation:none}}
@media (max-width:900px){.hw-gl:nth-child(even of .hw-gl){display:none}}
/* Halloween: tök a logó, az oldalcímek, az üres listák és az értesítések mellett */
:root[data-season="halloween"] .brand b::after{content:"";display:inline-block;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);filter:brightness(1.15) saturate(1.1);width:20px;height:15px;margin-left:7px;vertical-align:-2px}
:root[data-season="halloween"] .vh h1::after,:root[data-season="halloween"] .o5h h1::after{content:"";display:inline-block;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);filter:brightness(1.15) saturate(1.1);width:44px;height:32px;margin-left:12px;vertical-align:4px;border-radius:9px}
:root[data-season="halloween"] .empty::before,:root[data-season="halloween"] .sp-empty::before,:root[data-season="halloween"] .mt-empty::before{content:"";display:inline-block;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);filter:brightness(1.15) saturate(1.1);width:34px;height:25px;display:block;margin:0 auto 10px;opacity:.9}
:root[data-season="halloween"] .toast::before{content:"";display:inline-block;background:url("/admin/static/hw_pumpkin.jpg") center/cover;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent);filter:brightness(1.15) saturate(1.1);width:20px;height:15px;margin-right:9px;vertical-align:-3px}
@media (max-width:640px){:root[data-season="halloween"] .vh h1::after,:root[data-season="halloween"] .o5h h1::after{width:30px;height:22px;vertical-align:2px}}
/* Halloween: erősebb navigációs sáv és füzér */
:root[data-season="halloween"] .topnav{background:linear-gradient(180deg,#0b0603 0%,#160904 100%);border-bottom:1px solid rgba(255,120,30,.55);box-shadow:0 1px 0 rgba(255,150,60,.25),0 10px 40px -10px rgba(255,90,10,.45),inset 0 -18px 30px -18px rgba(255,90,10,.35)}
:root[data-season="halloween"] .topnav::before{background:linear-gradient(180deg,rgba(11,6,3,.96),rgba(22,9,4,.9))}
.hw-bulbs{position:absolute;left:0;right:0;bottom:-4px;height:8px;pointer-events:none;z-index:2}
.hw-bulbs b{position:absolute;top:0;width:6px;height:8px;margin-left:-3px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 50% 35%,#fff1c4,#ffb347 45%,#e0560c);box-shadow:0 0 6px 2px rgba(255,150,50,.75),0 0 14px 4px rgba(255,90,10,.35);animation:hwBulb 3s ease-in-out infinite}
.hw-bulbs b:nth-child(3n){background:radial-gradient(circle at 50% 35%,#ffe0d0,#ff6a3d 45%,#a3140c);box-shadow:0 0 6px 2px rgba(255,80,40,.7),0 0 14px 4px rgba(200,20,10,.35)}
.hw-bulbs b:nth-child(4n+1){animation-duration:2.2s}
@keyframes hwBulb{0%,100%{opacity:1}45%{opacity:.55}55%{opacity:.9}}
.hw-garland{height:70px}
.hw-gl{top:4px;width:48px;margin-left:-24px}
.hw-gl::before{width:2px;background:#2a1a0e;box-shadow:0 0 0 .5px rgba(255,180,100,.25)}
.hw-gl i{width:50px;height:37px;margin:0 auto}
.hw-gl:nth-child(odd) i{width:40px;height:29px}
.hw-gl::after{width:64px;height:46px;margin-left:-32px;bottom:-10px;background:radial-gradient(closest-side,rgba(255,120,30,.35),transparent)}
@media (max-width:900px){.hw-gl i{width:36px;height:26px}.hw-gl:nth-child(odd) i{width:30px;height:22px}.hw-bulbs b:nth-child(2n){display:none}}
@media (prefers-reduced-motion:reduce){.hw-bulbs b{animation:none}}
:root[data-season="halloween"] .brand b::after{width:28px;height:21px;vertical-align:-5px}
:root[data-season="halloween"] .vh h1::after,:root[data-season="halloween"] .o5h h1::after{width:60px;height:44px;vertical-align:-2px}
:root[data-season="halloween"] .card > header h2::after,:root[data-season="halloween"] .o4th h2::after,:root[data-season="halloween"] .o5in header h2::after,:root[data-season="halloween"] .sp-sec-h h3::after,:root[data-season="halloween"] .sts > header h3::after,:root[data-season="halloween"] .sp-lib-h b::after,:root[data-season="halloween"] .o5op .o5tag::after{width:30px;height:22px;vertical-align:-5px}
/* Rablás panel: nap választó (gyorsgombok + naptár) */
.rs-day{display:grid;gap:6px}
.rs-day-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rs-day-row .inp{flex:1;min-width:150px;color-scheme:dark}
:root[data-theme="light"] .rs-day-row .inp{color-scheme:light}
/* ===== Civil (tag) nézet ===== */
.modeb{gap:6px}
.modeb svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.modeb span{display:none}.modeb{width:36px;padding:0;justify-content:center}}
.c-name{color:var(--acc)}
.c-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;margin-bottom:22px;align-items:start}
.c-pts{padding:22px;display:grid;gap:14px;background:radial-gradient(120% 120% at 0% 0%,var(--acc-soft),transparent 60%),var(--panel)}
.c-pts .lbl{margin:0}
.c-bal{display:flex;align-items:baseline;gap:10px}
.c-bal b{font:800 56px/1 var(--f-display);letter-spacing:-.04em}
.c-bal span{color:var(--mut);font-size:15px}
.c-rank{display:flex;gap:8px;flex-wrap:wrap}
.c-next{display:grid;gap:8px}
.c-next-h{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--mut)}
.c-next-h b{color:var(--fg)}
.c-next small,.c-maxr{color:var(--dim);font-size:12.5px}
.c-mini{display:flex;gap:18px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}
.c-mini b{color:var(--fg);margin-left:4px}
.c-ann-col{display:grid;gap:10px;min-width:0}
.c-sec{display:grid;gap:10px;margin-bottom:22px}
.c-evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.cev{padding:16px;display:grid;gap:12px}
.cev-h{display:flex;gap:12px;align-items:center;min-width:0}
.cev-h b{display:block;font-size:15px}
.cev-h small{color:var(--dim);font-size:12.5px}
.cev-d{margin:0;color:var(--mut);font-size:13px}
.cev-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cev-n{color:var(--mut);font-size:12.5px}
.cev-st{display:flex}
.cev-st .av{width:24px;height:24px;font-size:9px;margin-left:-6px;box-shadow:0 0 0 2px var(--panel)}
.cev-st .av:first-child{margin-left:0}
.cev-f .btn{margin-left:auto}
.c-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.ann{padding:16px 18px;display:grid;gap:12px}
.ann-h{display:flex;gap:12px;align-items:center;min-width:0}
.ann-h>div:not(.av){min-width:0;flex:1}
.ann-h .av{flex:none}
.ann-b b{color:var(--fg)}
.ann-h b{display:block;font-size:15.5px;overflow-wrap:anywhere}
.ann-h small{color:var(--dim);font-size:12px}
.ann-b{color:var(--mut);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.ann.sm .ann-b{font-size:13.5px}
.ann-acts{display:flex;gap:4px;flex:none}
.ann-list{display:grid;gap:14px;max-width:860px}
.ann-col{display:grid;gap:10px;align-content:start}
#annl{display:grid;gap:12px}
.ann-form form{display:grid;gap:14px}
.ann-form label{display:grid;gap:6px}
.ann-form .sw{display:flex}
.ann-emb{border-left:3px solid var(--acc)!important;display:grid;gap:4px}
.ann-emb small{color:var(--dim);font-size:11.5px}
.ann-emb #an_pb{color:var(--mut);font-size:13px;white-space:normal}
.c-offer{margin-bottom:18px}
.c-offer p{margin:6px 0 0;color:var(--fg)}
.c-prod{display:grid;gap:8px;padding:16px}
.c-price{color:var(--acc);font-size:15px}
.c-pn{margin:0;font-size:16px}
.c-pd{margin:0;color:var(--mut);font-size:13px}
.c-can{color:var(--ok);font-size:12px}
.c-cant{color:var(--dim);font-size:12px}
.c-ladder{display:grid;gap:8px}
.c-rung{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.c-rung .rlvl{margin:0;width:32px;height:32px;font-size:13px}
.c-rung b{flex:1}
.c-rung.on{border-color:var(--acc-line);background:var(--acc-soft)}
.c-toplist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.c-toplist li{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px}
.c-toplist li.me{background:var(--acc-soft);box-shadow:inset 0 0 0 1px var(--acc-line)}
.c-pl{width:24px;text-align:right;color:var(--dim);font-size:13px}
.c-toplist li:nth-child(1) .c-pl{color:#f5c542}.c-toplist li:nth-child(2) .c-pl{color:#cfd3da}.c-toplist li:nth-child(3) .c-pl{color:#d8925a}
.c-tn{flex:1;min-width:0;display:grid}
.c-tn b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-tn small{color:var(--dim);font-size:12px}
.c-rules{margin-bottom:14px}
.c-rules ol{margin:0;padding:14px 22px 18px 40px;display:grid;gap:8px;color:var(--mut);font-size:14px}
@media (max-width:900px){.c-top,.c-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.ann-h .btn span{display:none}.ann-h .btn{width:32px;padding:0;justify-content:center}}
/* fejléc: az admin menü sok csoportja miatt helytakarékos kereső és név, hogy ne csússzon a logóra */
.topnav .search span,.topnav .search kbd{display:none}
.topnav .search{padding:0;width:38px;justify-content:center}
.me b{max-width:110px}
.ngb{padding:0 12px}
.brand{flex:none}
/* ===== Hirdetmények: kategóriák, kártyák, cikk, szerkesztő ===== */
.anc-hir{--c:var(--acc)}.anc-esemeny{--c:#6aa8ff}.anc-fontos{--c:var(--bad)}.anc-info{--c:var(--ok)}.anc-pin{--c:#f5c542}
.anc{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);white-space:nowrap}
.anc svg,.ae-cat svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ant{all:unset;box-sizing:border-box;display:grid;grid-template-rows:auto 1fr;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;color:var(--fg);min-width:0;transition:transform .25s var(--ease-out),border-color .2s ease,box-shadow .25s ease}
.ant:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 18px 40px -26px rgba(0,0,0,.7)}
.ant:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ant-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:color-mix(in srgb,var(--fg) 4%,var(--panel))}
.ant-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}
.ant:hover .ant-img img{transform:scale(1.04)}
.ant-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--c);background:radial-gradient(90% 120% at 20% 0%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%)}
.ant-ph svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.ant-pin{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(8,8,10,.62);backdrop-filter:blur(6px);color:#f5c542}
.ant-pin svg{width:15px;height:15px;fill:currentColor;stroke:none}
.ant-b{display:flex;flex-direction:column;gap:8px;padding:16px 18px;min-width:0}
.ant-tags{display:flex;align-items:center;gap:10px}
.ant-tags time{color:var(--dim);font-size:12px}
.ant-t{font:700 17px/1.3 var(--f-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.ant p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ant-by{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:4px;color:var(--dim);font-size:12.5px}
.ant-by .av{width:22px;height:22px;font-size:9px}
.ant-more{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--acc);font-weight:600;opacity:0;translate:-4px 0;transition:opacity .2s ease,translate .25s var(--ease-out)}
.ant-more svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.ant:hover .ant-more,.ant:focus-visible .ant-more{opacity:1;translate:0 0}
.ant.big{grid-template-rows:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-bottom:18px;width:100%}
.ant.big .ant-img{aspect-ratio:auto;min-height:340px}
.ant.big .ant-b{padding:28px 30px;gap:12px;justify-content:center}
.ant.big .ant-t{font-size:clamp(22px,2.3vw,30px);line-height:1.15;letter-spacing:-.02em}
.ant.big p{font-size:15px;-webkit-line-clamp:5}
.ant.big .ant-by{margin-top:6px}
.ant.big .ant-more{opacity:1;translate:0 0}
.ant.home{grid-template-rows:none;grid-template-columns:190px minmax(0,1fr);width:100%}
.ant.home .ant-img{aspect-ratio:auto;min-height:100%}
.ant.sm .ant-img{aspect-ratio:2/1}
.ant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.anf{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.anf button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--mut);font-size:13px;font-weight:550;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.anf button svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.anf button .num{color:var(--dim);font-size:12px}
.anf button[aria-pressed="true"]{background:var(--acc-soft);border-color:var(--acc-line);color:var(--fg)}
/* cikk nézet */
.annm{width:min(900px,calc(100vw - 24px));padding:0;display:block}
.annm-x{position:sticky;top:12px;z-index:3;display:grid;place-items:center;width:38px;height:38px;margin:12px 12px -50px auto;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(8,8,10,.6);backdrop-filter:blur(8px);color:#fff;cursor:pointer}
.annm-x svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.annm-x:hover{background:rgba(8,8,10,.85)}
.anx-h{padding:30px 34px 22px;border-bottom:1px solid var(--line);position:relative}
.anx-h.has-cover{min-height:320px;display:flex;align-items:flex-end;padding:0;border-bottom:0;overflow:hidden;color:#fff}
.anx-cov{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.anx-h.has-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,0) 25%,rgba(8,8,10,.55) 60%,rgba(8,8,10,.94))}
.anx-ht{position:relative;z-index:1;padding:28px 34px;width:100%;box-sizing:border-box}
.anx-h:not(.has-cover) .anx-ht{padding:0}
.anx-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.anx h1{font:800 clamp(24px,3.2vw,38px)/1.1 var(--f-display);letter-spacing:-.025em;margin:0 0 16px;text-wrap:balance;overflow-wrap:anywhere}
.anx-meta{display:flex;align-items:center;gap:10px}
.anx-meta .av{width:34px;height:34px}
.anx-meta b{display:block;font-size:13.5px}
.anx-meta small{color:var(--dim);font-size:12px}
.anx-h.has-cover .anx-meta small{color:rgba(255,255,255,.7)}
.anx-meta .btn{margin-left:auto}
.anx-b{padding:26px 34px 34px;display:grid;gap:24px}
.anb-t{font-size:15.5px;line-height:1.75;color:color-mix(in srgb,var(--fg) 86%,transparent);overflow-wrap:anywhere}
.anb-t b{color:var(--fg)}
.anb-img{margin:0}
.anb-img img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:16px}
.anb-img figcaption{margin-top:9px;color:var(--dim);font-size:12.5px;text-align:center}
.anb-cards h3{margin:0 0 12px;font:700 19px/1.2 var(--f-display);letter-spacing:-.01em}
.anb-cg{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px}
.anb-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--fg) 2.5%,var(--panel));display:flex;flex-direction:column}
.anb-ci{aspect-ratio:4/3;overflow:hidden}
.anb-ci img{width:100%;height:100%;object-fit:cover;display:block}
.anb-cb{padding:14px 16px 16px;display:grid;gap:6px}
.anb-no{color:var(--acc);font-size:12px;font-weight:700;letter-spacing:.06em}
.anb-cb b{font-size:15.5px;line-height:1.3}
.anb-cb p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.6}
/* szerkesztő */
.ae{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start}
.ae-ed{display:grid;gap:14px;min-width:0;scroll-margin-top:90px}
.ae-pv{position:sticky;top:84px;max-height:calc(100dvh - 104px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--panel);min-width:0}
.ae-pvh{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.ae-pvh .lbl{margin:0}.ae-pvh small{color:var(--dim);font-size:12px}
.ae-pv .anx-h.has-cover{min-height:240px}
.ae-pv .anx-h:not(.has-cover),.ae-pv .anx-h.has-cover .anx-ht,.ae-pv .anx-b{padding-left:24px;padding-right:24px}
.ae-pv .anb-cg{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.ae-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:15px}
.ae-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ae-top h2{margin:0;font:700 17px var(--f-display)}
.ae-f{display:grid;gap:7px}
.ae-f .lbl{margin:0}.ae-f .lbl small{color:var(--dim);font-weight:400;text-transform:none;letter-spacing:0;margin-left:4px}
.ae-title{height:46px;font-size:16.5px;font-weight:650}
.ae-cats{display:flex;flex-wrap:wrap;gap:8px}
.ae-cat{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--mut);font-size:13px;font-weight:550;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.ae-cat svg{color:var(--c)}
.ae-cat[aria-pressed="true"]{color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border-color:color-mix(in srgb,var(--c) 42%,transparent)}
.ae-up{position:relative;display:grid;place-items:center;min-height:120px;border:1.5px dashed var(--line2);border-radius:14px;overflow:hidden;cursor:pointer;background:color-mix(in srgb,var(--fg) 2%,transparent);transition:border-color .2s ease,background-color .2s ease}
.ae-up:hover,.ae-up:focus-visible,.ae-up.over{border-color:var(--acc);background:var(--acc-soft);outline:0}
.ae-up.cov{aspect-ratio:3/1;min-height:0}.ae-up.wide{aspect-ratio:16/8;min-height:0}.ae-up.sq{aspect-ratio:4/3;min-height:0}
.ae-up.has{border-style:solid;border-color:var(--line)}
.ae-up.cov:not(.has),.ae-up.wide:not(.has){aspect-ratio:auto;min-height:112px}
.ae-up img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ae-upe{display:grid;justify-items:center;gap:3px;text-align:center;color:var(--mut);padding:10px}
.ae-upe svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-bottom:2px}
.ae-upe b{font-size:13px;color:var(--fg)}.ae-upe small{font-size:11.5px;color:var(--dim)}
.ae-upx{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;background:rgba(8,8,10,.7);color:#fff;font-size:12px;opacity:0;transition:opacity .2s ease}
.ae-upx svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.ae-up:hover .ae-upx,.ae-up:focus-visible .ae-upx{opacity:1}
.ae-uprm{position:absolute;top:8px;right:8px;z-index:1;width:28px;height:28px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(8,8,10,.7);color:#fff;cursor:pointer}
.ae-uprm svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2}
.ae-uprm:hover{background:var(--bad)}
.ae-up.busy{pointer-events:none}
.ae-up.busy::before{content:"Feltöltés…";position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(8,8,10,.65);color:#fff;font-size:13px;animation:fade .2s ease both}
.ae-blocks{display:grid;gap:12px}
.ae-blk{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px 14px;display:grid;gap:10px}
.ae-bt{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ae-bl{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--mut)}
.ae-bl svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ae-bn{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc);font-size:11.5px}
.ae-bb{display:inline-flex;gap:2px}
.ae-bb button{width:30px;height:30px;border-radius:8px;border:0;background:none;color:var(--mut);display:grid;place-items:center;font-size:14px;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.ae-bb button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ae-bb button:hover:not(:disabled){background:var(--line);color:var(--fg)}
.ae-bb button.dl:hover:not(:disabled){color:var(--bad)}
.ae-bb button.armed{width:auto;padding:0 8px;color:var(--bad);font-size:12px}
.ae-bb button:disabled{opacity:.28;cursor:default}
.ae-ta{min-height:120px;resize:vertical;line-height:1.6}
.ae-cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.ae-ci{min-width:0;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;gap:8px;align-content:start;background:color-mix(in srgb,var(--fg) 2%,transparent)}
.ae-cih{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--dim)}
.ae-cih .ae-bb button{width:26px;height:26px}
.ae-ci textarea{resize:vertical;min-height:70px}
.ae-cadd{display:grid;place-items:center;align-content:center;gap:6px;min-height:200px;border:1.5px dashed var(--line2);border-radius:14px;background:none;color:var(--mut);font-size:13px;cursor:pointer;transition:border-color .2s ease,color .2s ease}
.ae-cadd svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.ae-cadd:hover{border-color:var(--acc);color:var(--acc)}
.ae-add{display:grid;gap:8px}.ae-add .lbl{margin:0}
.ae-addg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ae-addb{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;row-gap:1px;align-items:center;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--fg);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.ae-addb svg{grid-row:span 2;width:20px;height:20px;stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ae-addb b{font-size:13.5px}.ae-addb small{color:var(--dim);font-size:12px}
.ae-addb:hover{border-color:var(--acc-line);background:var(--acc-soft)}
.ae-pub .lbl{margin:0}
.ae-where{width:fit-content;max-width:100%}
.ae-where button{display:inline-flex;align-items:center;gap:6px}
.ae-where svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ae-dc{display:grid;gap:12px}
.ae-pub .hint{margin:0;color:var(--dim);font-size:12.5px}
.ae-go{display:flex;justify-content:flex-end;gap:8px}
.ae-list{margin-top:30px;display:grid;gap:12px}
.ae-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.ae-li{display:grid;min-width:0}
.ae-li .ant{border-radius:18px 18px 0 0;border-bottom:0}
.ae-li .ant:hover{transform:none}
.ae-lia{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:0 0 18px 18px}
.ae-lia .chip svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9}
.ae-lib{display:flex;gap:4px}
.ae-li.on .ant,.ae-li.on .ae-lia{border-color:var(--acc-line)}
@media (max-width:1100px){.ae{grid-template-columns:minmax(0,1fr)}.ae-pv{position:static;max-height:none}}
@media (max-width:760px){.ant.big,.ant.home{grid-template-columns:minmax(0,1fr)}.ant.big .ant-img,.ant.home .ant-img{min-height:0;aspect-ratio:16/9}.ant.big .ant-b{padding:18px}.anb-cg{grid-template-columns:minmax(0,1fr)}.anx-h:not(.has-cover),.anx-h.has-cover .anx-ht,.anx-b{padding-left:20px;padding-right:20px}.anx-h.has-cover{min-height:240px}.ae-addg{grid-template-columns:minmax(0,1fr)}}
/* hirdetmény: galéria és több kép egyszerre */
.anb-gal{display:grid;grid-template-columns:repeat(var(--gc,2),minmax(0,1fr));gap:10px}
.anb-gal[data-n="3"]{--gc:3}
.anb-gal figure{margin:0;display:grid;gap:6px}
.anb-gal a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.anb-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease-out)}
.anb-gal a:hover img{transform:scale(1.04)}
.anb-gal figcaption{color:var(--dim);font-size:12px;text-align:center}
.ae-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.ae-gi{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start;min-width:0}
.ae-gib{display:flex;gap:4px;align-items:center}
.ae-gib .inp{height:32px;font-size:12.5px;min-width:0;width:0;flex:1}
.ae-gib .ae-bb button{width:24px;height:28px}
.ae-gadd .ae-upe svg{width:20px;height:20px}
.ae-gadd .ae-upe small{line-height:1.35}
.ae-cadd.ae-up{cursor:default;min-height:200px;display:grid;grid-template-rows:1fr 1fr;place-items:stretch;padding:6px;gap:6px}
.ae-caddb{display:grid;place-items:center;align-content:center;gap:4px;border:0;border-radius:10px;background:none;color:var(--mut);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.ae-caddb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ae-caddb small{color:var(--dim);font-size:11px;line-height:1.35;text-align:center}
.ae-caddb:hover{background:var(--acc-soft);color:var(--acc)}
.ae-caddb + .ae-caddb{border-top:1px dashed var(--line2);border-radius:0 0 10px 10px}
@media (max-width:760px){.anb-gal[data-n="3"]{--gc:2}}
/* helyszín kártyák: szám a képen, GPS másolás */
.anb-cards h3{display:flex;align-items:center;gap:10px}
.anb-cards h3 .num{font:600 12px var(--f-mono);color:var(--dim);padding:2px 8px;border:1px solid var(--line);border-radius:999px}
.anb-card{transition:border-color .2s ease,transform .25s var(--ease-out)}
.anb-card:hover{border-color:var(--line2);transform:translateY(-2px)}
.anb-ci{position:relative}
.anb-ci .anb-no{position:absolute;top:10px;left:10px;min-width:32px;height:28px;padding:0 8px;border-radius:9px;display:grid;place-items:center;background:rgba(8,8,10,.72);backdrop-filter:blur(6px);color:var(--acc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.anb-cb{flex:1;display:flex;flex-direction:column;gap:7px}
.anb-gps{margin-top:auto;display:grid;gap:3px;width:100%;padding:8px 10px 9px;border:1px solid var(--line2);border-radius:11px;background:color-mix(in srgb,var(--acc) 6%,transparent);color:var(--fg);cursor:pointer;text-align:left;transition:border-color .2s ease,background-color .2s ease}
.anb-gpsh{display:flex;align-items:center;gap:6px}
.anb-gpsh > svg{width:15px;height:15px;flex:none;stroke:var(--acc);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.anb-gpsh small{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--dim)}
.anb-gpsv{font:500 12.5px var(--f-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em;word-spacing:.35em}
.anb-gpsc{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--mut)}
.anb-gpsc em{font-style:normal}
.anb-gpsc svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.anb-gps:hover{border-color:var(--acc-line);background:var(--acc-soft)}
.anb-gps:hover .anb-gpsc{color:var(--acc)}
.anb-gps.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.anb-gps.ok .anb-gpsc{color:var(--ok)}
.anb-gps.ok .anb-gpsh > svg{stroke:var(--ok)}
.ae-gps{position:relative;display:block}
.ae-gps svg{position:absolute;left:10px;top:50%;translate:0 -50%;width:15px;height:15px;stroke:var(--dim);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ae-gps .inp{padding-left:32px;font:500 12px var(--f-mono);width:100%;box-sizing:border-box}
.ae-gps.ok svg{stroke:var(--ok)}
.ae-gps.ok .inp{border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.ae-gps.bad svg{stroke:var(--bad)}
.ae-gps.bad .inp{border-color:color-mix(in srgb,var(--bad) 55%,transparent)}
/* ===== Tag oldal: új kezdőlap, shop, ticketek ===== */
.ch-hero{position:relative;border-radius:24px;overflow:hidden;margin:6px 0 26px;border:1px solid var(--line);min-height:330px;display:flex;color:#fff}
.ch-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.ch-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.78) 45%,rgba(8,8,10,.35) 100%),linear-gradient(0deg,rgba(8,8,10,.7),transparent 50%)}
.ch-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;padding:34px 36px;width:100%;align-items:center}
.ch-hi{font-size:15px;color:rgba(255,255,255,.7)}
.ch-l h1{font:800 clamp(28px,3.6vw,44px)/1.05 var(--f-display);letter-spacing:-.03em;margin:4px 0 14px;overflow-wrap:anywhere}
.ch-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ch-glass{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;backdrop-filter:blur(6px)}
.ch-glass svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.ch-bal{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.ch-bal b{font:800 64px/1 var(--f-display);letter-spacing:-.04em}
.ch-bal span{color:rgba(255,255,255,.65);font-size:16px}
.ch-next{display:grid;gap:8px;max-width:420px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.ch-nh{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--mut)}
.ch-hero .ch-nh{color:rgba(255,255,255,.72)}.ch-nh b{color:var(--fg)}.ch-hero .ch-nh b{color:#fff}
.ch-next small,.ch-maxr{color:rgba(255,255,255,.6);font-size:12.5px}
.ch-acts{display:grid;gap:10px}
.ch-act{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(16,14,14,.55);backdrop-filter:blur(10px);color:#fff;text-align:left;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .25s var(--ease-out)}
.ch-act:hover{background:rgba(30,24,20,.75);border-color:color-mix(in srgb,var(--acc) 55%,transparent);transform:translateX(3px)}
.ch-act > span:nth-child(2){flex:1;min-width:0;display:grid}
.ch-act b{font-size:14.5px}.ch-act small{color:rgba(255,255,255,.6);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-act > svg{width:16px;height:16px;stroke:rgba(255,255,255,.55);fill:none;stroke-width:2;flex:none}
.ch-aic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 22%,transparent);color:var(--acc);flex:none}
.ch-aic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ch-evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ch-ev{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .2s ease,transform .25s var(--ease-out)}
.ch-ev:hover{border-color:var(--line2);transform:translateY(-2px)}
.ch-evi{position:relative;aspect-ratio:2/1;overflow:hidden}
.ch-evi img{width:100%;height:100%;object-fit:cover;display:block}
.ch-evi::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.25),transparent 40%,rgba(8,8,10,.55))}
.ch-evk,.ch-evt{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:rgba(8,8,10,.62);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14)}
.ch-evk{top:10px;left:10px}.ch-evt{bottom:10px;right:10px;color:var(--acc)}
.ch-evk svg,.ch-evt svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ch-evb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.ch-evb > b{font:700 16.5px/1.25 var(--f-display)}
.ch-evb > small{color:var(--dim);font-size:12.5px}
.ch-evb > p{margin:2px 0 0;color:var(--mut);font-size:13px}
.ch-evf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.ch-eva{margin-top:auto;padding-top:10px;display:flex;justify-content:flex-end}
.ch-none{display:flex;align-items:center;gap:12px;padding:18px 20px;border:1px dashed var(--line2);border-radius:16px;color:var(--mut);font-size:13.5px}
.ch-none svg{width:20px;height:20px;stroke:var(--dim);fill:none;stroke-width:1.8;flex:none}
.ch-anns{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ch-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-sec-h .btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
/* shop */
.sh-hero{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);margin:6px 0 16px;aspect-ratio:2/1;max-height:420px;width:100%}
.sh-hero img{width:100%;height:100%;object-fit:cover;display:block}
.sh-bal{position:absolute;right:18px;bottom:18px;display:grid;justify-items:end;padding:12px 18px;border-radius:16px;background:rgba(8,8,10,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);color:#fff}
.sh-bal span{font-size:12px;color:rgba(255,255,255,.65)}.sh-bal b{font:800 36px/1 var(--f-display)}.sh-bal small{font-size:12px;color:rgba(255,255,255,.65)}
.sh-offer{display:flex;gap:14px;align-items:center;padding:14px 18px;margin-bottom:22px;border-radius:16px;border:1px solid var(--acc-line);background:linear-gradient(90deg,var(--acc-soft),transparent)}
.sh-offer > svg{width:22px;height:22px;flex:none;fill:var(--acc);stroke:none}
.sh-offer b{font-size:13px;color:var(--acc)}.sh-offer p{margin:2px 0 0;font-size:14px}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.sh-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .2s ease,transform .25s var(--ease-out)}
.sh-card:hover{border-color:var(--line2);transform:translateY(-2px)}
.sh-card.out{opacity:.6}
.sh-img{position:relative;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 120% at 20% 10%,hsl(var(--h) 55% 34%),hsl(var(--h) 45% 12%) 70%)}
.sh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sh-mono{font:800 46px/1 var(--f-display);letter-spacing:-.03em;color:rgba(255,255,255,.88);text-shadow:0 6px 24px rgba(0,0,0,.35)}
.sh-badge{position:absolute;top:10px;right:10px;height:24px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font-size:11.5px;font-weight:650;background:rgba(8,8,10,.65);color:var(--warn);backdrop-filter:blur(6px)}
.sh-badge.bad{color:var(--bad)}.sh-badge.mut{color:rgba(255,255,255,.75)}
.sh-b{padding:14px 15px 15px;display:flex;flex-direction:column;gap:6px;flex:1}
.sh-b > b{font-size:15px;line-height:1.3}
.sh-b > p{margin:0;color:var(--mut);font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-f{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.sh-price{font:800 20px var(--f-display);color:var(--acc)}.sh-price small{font:500 12px var(--f-body);color:var(--dim);margin-left:4px}
.sh-f .btn.armed{background:var(--bad);color:#fff}
.sh-rank{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.sh-rnext{display:grid;gap:10px;padding:20px;border-radius:18px;border:1px solid var(--acc-line);background:radial-gradient(120% 140% at 0 0,var(--acc-soft),transparent 60%),var(--panel)}
.sh-rnext .lbl{margin:0}.sh-rnext h4{margin:0;font:800 26px/1.1 var(--f-display)}.sh-rnext p{margin:0;color:var(--mut);font-size:13.5px}
.sh-rnext .btn{justify-self:start;margin-top:4px}
.sh-ladder{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sh-ladder li{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:13.5px}
.sh-ladder li b{flex:1}.sh-ladder li .num{color:var(--dim)}
.sh-ladder .rlvl{margin:0;width:28px;height:28px;font-size:12px}
.sh-ladder .rlvl svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.4}
.sh-ladder li.own{opacity:.6}.sh-ladder li.own .rlvl{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.sh-ladder li.next{border-color:var(--acc-line);background:var(--acc-soft);opacity:1}
/* ticketek */
.tk-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
.tk-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}
.tk-type{display:grid;justify-items:center;gap:6px;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:none;color:var(--fg);text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.tk-type b{font-size:13px}.tk-type small{font-size:11px;color:var(--dim);line-height:1.35}
.tk-type:hover{border-color:var(--line2)}
.tk-type[aria-pressed="true"]{border-color:var(--acc-line);background:var(--acc-soft)}
.tk-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc);flex:none}
.tk-ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tk-form{display:grid;gap:12px}
.tk-form .ae-go{align-items:center;justify-content:space-between}
.tk-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tk-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tk-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:0;border-radius:12px;background:none;color:var(--fg);text-align:left;cursor:pointer;transition:background-color .15s ease}
.tk-row:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}
.tk-t{flex:1;min-width:0;display:grid}.tk-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-t small{color:var(--dim);font-size:12px}
.tk-dh{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tk-dh > div{flex:1;min-width:0;display:grid}.tk-dh b{font-size:15px}.tk-dh small{color:var(--dim);font-size:12px}
.tk-data{margin:0 0 14px;display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px}
.tk-data div{display:grid;gap:2px}.tk-data dt{font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.tk-data dd{margin:0;font-size:13.5px}
.tk-thr{display:grid;gap:4px;max-height:50vh;overflow:auto;margin-bottom:12px}
.tk-reply{display:flex;gap:8px;align-items:flex-end}.tk-reply textarea{flex:1;resize:vertical}
.tk-reply .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
@media (max-width:1100px){.ch-three{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ch-three > :last-child{grid-column:1/-1}.tk-grid,.sh-rank{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.ch-in{grid-template-columns:minmax(0,1fr);padding:24px 20px}.ch-hero::after{background:linear-gradient(180deg,rgba(8,8,10,.6),rgba(8,8,10,.94))}.ch-bal b{font-size:52px}.tk-types{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.ch-three{grid-template-columns:minmax(0,1fr)}.tk-types{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-two{grid-template-columns:1fr}.sh-hero{aspect-ratio:16/10}.sh-bal{right:10px;bottom:10px;padding:8px 12px}.sh-bal b{font-size:26px}}
.drawer.tkd{width:min(580px,calc(100vw - 20px))}
.tkd .db{gap:0}
.tkd .tk-thr{max-height:none}
/* ===== Tag oldal: ticket ablak, üres állapot ===== */
.tkc-weapon{--c:var(--bad)}.tkc-inactivity{--c:#6aa8ff}.tkc-report{--c:var(--warn)}.tkc-question{--c:var(--acc)}.tkc-idea{--c:var(--ok)}
.tkm{width:min(680px,calc(100vw - 24px));padding:0;display:block}
.tkm-h{display:flex;align-items:flex-start;gap:12px;padding:24px 26px 18px;background:radial-gradient(120% 140% at 0 0,var(--acc-soft),transparent 60%);border-bottom:1px solid var(--line)}
.tkm-h > div{flex:1}.tkm-h h2{margin:0 0 4px;font:800 24px/1.1 var(--f-display);letter-spacing:-.02em}.tkm-h p{margin:0;color:var(--mut);font-size:13.5px}
.tkm-h .annm-x{position:static;margin:0;background:var(--sunk);color:var(--fg);border-color:var(--line2)}
.tkm-b{padding:20px 26px 24px}
.tkm .tk-types{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}
.tkm .tk-type{padding:14px 6px 12px}
.tk-type .tk-ic{background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.tk-type[aria-pressed="true"]{border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent)}
.tk-form{padding:16px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:16px;background:color-mix(in srgb,var(--c) 4%,transparent);animation:fade .25s ease both}
.tk-fh{display:flex;align-items:center;gap:12px;margin-bottom:2px}.tk-fh > div{display:grid}.tk-fh b{font-size:15px}.tk-fh small{color:var(--dim);font-size:12.5px}
.tk-fh .tk-ic{background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c)}
.tk-go{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px}
.tk-go small{display:inline-flex;align-items:center;gap:6px;color:var(--dim);font-size:12.5px}
.tk-go small svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9}
.tk-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:56px 24px}
.tk-empty > svg{width:44px;height:44px;stroke:var(--acc);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.tk-empty b{font:700 18px var(--f-display)}.tk-empty p{margin:0 0 8px;color:var(--mut);font-size:13.5px;max-width:360px}
.ch-hero{min-height:300px}
@media (max-width:640px){.tkm .tk-types{grid-template-columns:repeat(3,minmax(0,1fr))}.tkm-h,.tkm-b{padding-left:18px;padding-right:18px}}
/* ===== Tag kezdőlap v3: események felül, hírek, oldalsáv ===== */
.cx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 22px}
.cx-head h1{margin:4px 0 0;font:800 clamp(26px,3vw,36px)/1.1 var(--f-display);letter-spacing:-.03em}
.cx-pill{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--acc-line);background:var(--acc-soft);color:var(--fg);cursor:pointer;transition:transform .2s var(--ease-out)}
.cx-pill:hover{transform:translateY(-1px)}
.cx-pill svg{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:1.9}
.cx-pill b{font:800 20px var(--f-display)}.cx-pill span{color:var(--mut);font-size:13px}
.cx-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--acc-soft);color:var(--acc);font:700 12px var(--f-mono);vertical-align:middle}
.ch-evi{aspect-ratio:2.3/1}
.cx-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.cx-news{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:stretch}
.cx-news.one{grid-template-columns:minmax(0,1fr)}
.cx-news .ant.big{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;margin:0}
.cx-news .ant.big .ant-img{min-height:0;aspect-ratio:16/9}
.cx-news .ant.big .ant-b{padding:18px 20px;justify-content:flex-start}
.cx-news .ant.big .ant-t{font-size:22px}
.cx-news .ant.big p{-webkit-line-clamp:3;font-size:14px}
.cx-news.one .ant.big{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:none}
.cx-news.one .ant.big .ant-img{aspect-ratio:auto;min-height:260px}
.cx-nlist{display:grid;gap:10px;align-content:start}
.cx-nrow{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--fg);text-align:left;cursor:pointer;transition:border-color .2s ease,transform .25s var(--ease-out)}
.cx-nrow:hover{border-color:var(--line2);transform:translateX(2px)}
.cx-nimg{position:relative;flex:none;width:96px;height:66px;border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--fg) 4%,var(--panel))}
.cx-nimg img{width:100%;height:100%;object-fit:cover}
.cx-nimg .ant-ph svg{width:24px;height:24px}
.cx-nt{display:grid;gap:4px;min-width:0;justify-items:start}
.cx-nt b{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cx-nt small{color:var(--dim);font-size:12px}
.cx-side{display:grid;gap:14px;position:sticky;top:84px}
.cx-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}
.cx-me{display:grid;gap:12px;background:radial-gradient(120% 120% at 0 0,var(--acc-soft),transparent 60%),var(--panel)}
.cx-meh{display:flex;gap:12px;align-items:center}.cx-meh > div{min-width:0;display:grid;gap:6px}
.cx-meh b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-tags{display:flex;gap:6px;flex-wrap:wrap}
.cx-bal{display:flex;align-items:baseline;gap:8px}.cx-bal b{font:800 44px/1 var(--f-display);letter-spacing:-.03em}.cx-bal span{color:var(--mut)}
.cx-next{display:grid;gap:7px}.cx-next small,.cx-max{color:var(--dim);font-size:12.5px}
.cx-links{display:grid;gap:2px;padding:8px}
.cx-link{display:flex;align-items:center;gap:11px;padding:9px 10px;border:0;border-radius:12px;background:none;color:var(--fg);text-align:left;cursor:pointer;transition:background-color .15s ease}
.cx-link:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}
.cx-link > span:nth-child(2){flex:1;min-width:0;display:grid}.cx-link b{font-size:14px}.cx-link small{color:var(--dim);font-size:12px}
.cx-link > svg{width:15px;height:15px;stroke:var(--dim);fill:none;stroke-width:2}
@media (max-width:1100px){.cx-grid{grid-template-columns:minmax(0,1fr)}.cx-side{position:static;grid-template-columns:1fr 1fr}}
@media (max-width:760px){.cx-news,.cx-news.one .ant.big{grid-template-columns:minmax(0,1fr)}.cx-news.one .ant.big .ant-img{aspect-ratio:16/9;min-height:0}.cx-side{grid-template-columns:minmax(0,1fr)}.cx-head{align-items:flex-start;flex-direction:column}}
/* jelentkezés gombok, csak olvasható ticket */
.vt{display:flex;gap:6px;flex-wrap:wrap;align-items:center;width:100%}
.vt button{flex:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line2);background:none;color:var(--mut);font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.vt button svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.vt button:hover{color:var(--fg);border-color:var(--line2);background:color-mix(in srgb,var(--fg) 5%,transparent)}
.vt .vt-yes[aria-pressed="true"]{background:color-mix(in srgb,var(--ok) 16%,transparent);border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:var(--ok)}
.vt .vt-maybe[aria-pressed="true"]{background:color-mix(in srgb,var(--warn) 16%,transparent);border-color:color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn)}
.vt .vt-no[aria-pressed="true"]{background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}
.vt-dc{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);color:var(--dim)}
.vt-dc svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.vt-dc:hover{color:var(--fg);border-color:var(--line2)}
.ch-eva:has(.vt){justify-content:stretch}
.tk-ro{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;border:1px dashed var(--line2);color:var(--mut);font-size:13px}
.tk-ro svg{width:16px;height:16px;flex:none;stroke:var(--dim);fill:none;stroke-width:1.9}
/* admin shop: termékkép */
.prod .pimg{position:relative;margin:-20px -20px 0;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;cursor:pointer;border-bottom:1px solid var(--line);background:radial-gradient(120% 120% at 20% 10%,hsl(var(--h) 45% 26%),hsl(var(--h) 40% 10%) 70%);border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;transition:filter .2s ease}
.prod .pimg:hover,.prod .pimg.over{filter:brightness(1.12)}
.prod .pimg.over{outline:2px dashed var(--acc);outline-offset:-6px}
.prod .pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prod .pimg .ae-upe{color:rgba(255,255,255,.8)}.prod .pimg .ae-upe b{color:#fff}.prod .pimg .ae-upe small{color:rgba(255,255,255,.6)}
.prod .pimg:hover .ae-upx{opacity:1}
.prod .pimg.busy{pointer-events:none}
.prod .pimg.busy::before{content:"Feltöltés…";position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(8,8,10,.65);color:#fff;font-size:13px}
/* tag shop: beépített fejléc */
.sh2{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:center;margin:6px 0 16px;padding:36px 38px;border-radius:24px;border:1px solid var(--acc-line);background:radial-gradient(90% 140% at 0% 0%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 55%),radial-gradient(70% 120% at 100% 100%,color-mix(in srgb,var(--bad) 14%,transparent),transparent 60%),var(--panel)}
.sh2-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--fg) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--fg) 4%,transparent) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.sh2-bg span{position:absolute;right:300px;top:50%;translate:0 -50%;opacity:.06}
.sh2-bg svg{width:220px;height:220px;stroke:var(--fg);fill:none;stroke-width:1.2}
.sh2-l{position:relative;min-width:0}
.sh2-k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.sh2 h1{margin:6px 0 10px;font:800 clamp(40px,6vw,68px)/.95 var(--f-display);letter-spacing:-.04em}
.sh2 p{margin:0 0 18px;max-width:520px;color:var(--mut);font-size:14.5px;line-height:1.6}
.sh2-st{display:flex;gap:10px;flex-wrap:wrap}
.sh2-st span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line2);background:color-mix(in srgb,var(--fg) 3%,transparent);color:var(--mut);font-size:12.5px}
.sh2-st b{font:700 15px var(--f-display);color:var(--fg)}
.sh2-bal{position:relative;display:grid;gap:4px;padding:20px 22px;border-radius:20px;border:1px solid var(--line2);background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(8px)}
.sh2-bal > span{font-size:12.5px;color:var(--dim)}.sh2-bal > b{font:800 52px/1 var(--f-display);letter-spacing:-.04em;color:var(--acc)}.sh2-bal > small{color:var(--mut)}
.sh2-nx{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mut)}.sh2-nx b{color:var(--fg)}
@media (max-width:860px){.sh2{grid-template-columns:minmax(0,1fr);padding:26px 22px}.sh2-bg span{right:20px;top:30%}}
/* admin: shop banner */
.shbn{display:flex;gap:16px;align-items:center;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.shbn > div:last-child{display:grid;gap:6px;justify-items:start}.shbn b{font-size:14.5px}.shbn p{margin:0;color:var(--mut);font-size:13px;max-width:560px}
.shbn-img{position:relative;flex:none;width:240px;aspect-ratio:2/1;border-radius:12px;overflow:hidden;display:grid;place-items:center;cursor:pointer;border:1.5px dashed var(--line2);background:color-mix(in srgb,var(--fg) 2%,transparent)}
.shbn-img.has{border-style:solid;border-color:var(--line)}.shbn-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shbn-img:hover,.shbn-img.over{border-color:var(--acc)}.shbn-img:hover .ae-upx{opacity:1}
.shbn-img.busy{pointer-events:none}.shbn-img.busy::before{content:"Feltöltés…";position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(8,8,10,.65);color:#fff;font-size:13px}
@media (max-width:640px){.shbn{flex-direction:column;align-items:stretch}.shbn-img{width:100%}}
/* ===== Felső menüsor: lebegő, lekerekített sáv, ikonos pontok, aktív aláhúzás ===== */
.topnav{border-bottom:0;padding:12px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));background:none}
.topnav::before{display:none}
.topin{position:relative;max-width:1400px;height:64px;padding:0 12px 0 16px;border:1px solid var(--line2);border-radius:22px;background:color-mix(in srgb,var(--panel) 80%,transparent);box-shadow:0 12px 32px -20px rgba(0,0,0,.7),inset 0 1px 0 color-mix(in srgb,var(--fg) 4%,transparent)}
/* az elmosás egy hátsó rétegen van: a sávon lévő backdrop-filter miatt a mobil menü (position:fixed) a sávhoz igazodna a képernyő helyett */
.topin::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.nav{gap:2px}
.ngb{position:relative;height:42px;padding:0 13px;border-radius:12px;gap:8px;font-weight:550}
.ngb > svg:first-child{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:color .2s ease}
.ngb[aria-current="page"]{background:none;box-shadow:none;color:var(--fg)}
.ngb[aria-current="page"] > svg:first-child{color:var(--acc)}
.ngb::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;border-radius:2px;background:var(--acc);transform:scaleX(0);transition:transform .25s var(--ease-out)}
.ngb[aria-current="page"]::after{transform:scaleX(1)}
@media (hover:hover){.ngb:hover{background:var(--hover)}}
.status .themeb,.status .search,.status .me{border-color:var(--line)}
.ae-pv,.cx-side{top:96px}
:root[data-season="halloween"] .topnav{background:none;border-bottom:0;box-shadow:none;border-image:none}
:root[data-season="halloween"] .topin{background:linear-gradient(180deg,rgba(14,7,3,.94),rgba(24,10,4,.9));border-color:rgba(255,120,30,.45);box-shadow:0 0 0 1px rgba(255,150,60,.08),0 12px 36px -12px rgba(255,90,10,.45),inset 0 -14px 26px -18px rgba(255,90,10,.35)}
:root[data-season="halloween"] .hw-bulbs{left:18px;right:18px}
:root[data-season="halloween"] .hw-garland{left:22px;right:22px}
@media (max-width:980px){
  .topin{height:58px;padding:0 10px 0 12px;border-radius:18px}
  .nav{top:82px;left:16px;right:16px;bottom:16px;border:1px solid var(--line2);border-radius:20px;padding:14px}
  .ngb{height:46px;border-radius:12px}
  .ngb::after{display:none}
  .ngb[aria-current="page"]{background:var(--acc-soft)}
  .ngb > svg:first-child{width:20px;height:20px}
}
@media (max-width:640px){.topnav{padding-left:10px;padding-right:10px}.topin{gap:8px;padding:0 8px 0 10px}.status{gap:5px}.status .themeb,.status .menu{width:34px;height:34px}.status #searchBtn{display:none}.brand .mark.wide{width:44px}}
/* shop termékkép: négyzetes, a kép teljesen látszik, ár jelvény a sarokban */
.sh-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.sh-img{aspect-ratio:1/1}
.sh-img img{object-fit:contain;background:#0b0b0d}
.sh-pr{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:10px;background:rgba(8,8,10,.78);backdrop-filter:blur(6px);color:#fff;font:700 15px var(--f-display);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.sh-pr svg{width:15px;height:15px;stroke:var(--acc);fill:none;stroke-width:2}
.sh-badge{top:auto;bottom:10px;right:auto;left:10px}
.sh-f .sh-price{display:none}
.sh-f .btn{flex:1;justify-content:center}
.prod .pimg{aspect-ratio:1/1}
.prod .pimg img{object-fit:contain;background:#0b0b0d}
/* skin kép a kártya tetején */
.skc{padding-top:0}
.skc ul{align-content:start}
.skimg{position:relative;margin:0 -14px 2px;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;cursor:pointer;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--fg) 3%,transparent);transition:background-color .2s ease}
.skimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.skimg:not(.has){aspect-ratio:auto;height:64px}
.skimg:not(.has) .ae-upe{flex-direction:row;display:flex;gap:8px;align-items:center}
.skimg:not(.has) .ae-upe svg{margin:0;width:16px;height:16px}
.skimg:not(.has) .ae-upe small{display:none}
.skimg:hover,.skimg.over{background:var(--acc-soft)}
.skimg.over{outline:2px dashed var(--acc);outline-offset:-4px}
.skimg:hover .ae-upx{opacity:1}
.skimg.busy{pointer-events:none}
.skimg.busy::before{content:"Feltöltés…";position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(8,8,10,.65);color:#fff;font-size:13px}
.skc header{padding-top:2px}
.skimg.has{aspect-ratio:3/4}
.skimg.has img{object-position:center top;transition:transform .4s var(--ease-out)}
.skimg.has:hover img{transform:scale(1.03)}
.skimg .ae-uprm{opacity:0;transition:opacity .15s ease}
.skimg:hover .ae-uprm,.skimg:focus-within .ae-uprm{opacity:1}
@media (hover:none){.skimg .ae-uprm{opacity:1}}
/* beállítások: típus jelzés, több rang címkékkel */
.sttype{display:inline-block;margin-left:8px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:1px 7px;vertical-align:1px}
.stchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;max-width:420px}
.stchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 4px 0 10px;border-radius:999px;background:var(--raised);border:1px solid var(--line2);font-size:12.5px}
.stchip.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}
.stchip button{width:22px;height:22px;border-radius:50%;border:0;background:none;color:var(--dim);display:grid;place-items:center;cursor:pointer}
.stchip button:hover{background:var(--bad-soft);color:var(--bad)}
.stchip button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2}
.stnone{color:var(--dim);font-size:13px}
.stchips .spick{flex:1 1 220px;min-width:200px}
.stv > svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55;margin-left:auto}
/* fegyver/széf szám törlése */
.wtbl .ndel{color:var(--dim)}
.wtbl .ndel:hover,.wtbl .ndel.armed{color:var(--bad)}
/* beállítások: Google Sheet és hozzáférés fájl mező */
.str.wide{grid-template-columns:minmax(0,1fr) minmax(0,440px)}
.stfree{display:grid;gap:6px;width:100%;min-width:0}
.stfree-r{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.stfree-r .inp{flex:1 1 200px}
.stfree-r .inp{flex:1;min-width:0;font-size:12.5px}
.stfree small{color:var(--dim);font-size:11.5px;line-height:1.45;word-break:break-all}
.stfree small b{color:var(--mut);font-weight:600}
/* bevetési skin: nincs tag hozzáadás */
.skc .sklock{margin:auto 0 0;font-size:12px;color:var(--dim);text-align:center;padding:8px 0 2px}
/* esemény: ha az idő már elmúlt, „lejárt” és halványabb */
.ch-evt.past{background:rgba(20,20,24,.78);color:#b9b9c2}
/* áttekintés: lejárt, de még nincs lezárva (pont nincs kiosztva): „lezárásra vár” az élő helyett */
.o4live.wait{color:var(--warn)}
.o4live.wait i{background:var(--warn);animation:none}
/* kiadva: egyszerre kiadott tételek listája */
.kdl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kdl li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--raised);border:1px solid var(--line)}
.kdl li span{display:flex;gap:6px;align-items:center;min-width:0;font-weight:550}
.kdl li small{color:var(--dim);white-space:nowrap}
/* rablás kártya: mikor írták ki (bal alsó sarok) */
.rob-at{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12px;color:var(--dim)}
.rob-at svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
