:root{color-scheme:dark;--green:#56c78c;--deep:#0a241b;--ink:#ebf3ec;--gold:#f0c76c;--cream:#091813;--mint:#193c2d;--line:#345545;--muted:#abc3b2;--red:#ffaaa2;--surface:#12271e;--field:#0b1d17;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 0%,#17392a 0,transparent 34rem),var(--cream);display:flex;flex-direction:column;line-height:1.5}
a{color:#b5ebc8}
h1,h2{font-family:Georgia,'Times New Roman',serif;color:#f1f6ed;line-height:1.15}
h1{font-size:clamp(28px,6vw,42px);margin:.2em 0 .4em}
h2{font-size:26px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
[hidden]{display:none!important}

.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:#071c16;color:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:20px}
.tag{color:var(--gold);font-weight:600;text-decoration:none}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:24px 18px 48px;flex:1}
.narrow{max-width:620px}

.hero{background:linear-gradient(135deg,#1d4733,#102a21 68%,#0b201b);color:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;border-bottom:5px solid var(--gold)}
.hero h1{color:#fff}
.hero .link{color:var(--gold);font-weight:700}
.donation-total{display:grid;gap:2px;margin:18px 0;padding:16px 18px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;background:#193729}
.donation-total span{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#cde7d3}
.donation-total strong{font-size:clamp(28px,6vw,38px);line-height:1.2;font-variant-numeric:tabular-nums;color:#fff1ca}
.donation-total small{font-size:13px;color:var(--muted)}
.hero .donation-total{max-width:390px;background:#0d251bcf;color:var(--ink)}
.search input{width:100%;font:inherit;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink)}
.grid{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--surface);border:2px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.card:hover,.card:focus-visible{border-color:var(--green);transform:translateY(-2px)}
.card strong{display:block}
.card small{color:var(--muted)}
.avatar{width:52px;height:52px;border-radius:50%;flex:none;object-fit:cover;border:3px solid var(--gold)}
.initial{display:grid;place-items:center;background:#217653;color:#fff;font-weight:800;font-size:24px}
.empty{color:var(--muted)}

.panel{background:var(--surface);border-radius:18px;padding:22px;border:2px solid var(--line);box-shadow:0 14px 38px #0005}
.center{text-align:center}
.who{display:flex;gap:14px;align-items:center}
.who .avatar{width:64px;height:64px}
.who h1{margin:0}
.donate-theme{--donate-accent:#e6b85c}
.donate-theme .panel{border-top:7px solid var(--donate-accent)}
.donate-theme .who .avatar{border-color:var(--donate-accent)}
.donate-theme .who .eyebrow{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.donate-theme .choice input:checked+span{border-color:var(--donate-accent);box-shadow:inset 0 0 0 1px var(--donate-accent)}
.donate-theme .pay{background:#218256;box-shadow:0 4px 0 var(--donate-accent)}
.donate-theme.font-classic{font-family:Georgia,'Times New Roman',serif}
.donate-theme.font-bold{font-family:'Trebuchet MS',Verdana,sans-serif}
.donate-theme.font-bold h1,.donate-theme.font-bold legend{font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:.035em}
.donate-theme.google-font h1,.donate-theme.google-font h2,.donate-theme.google-font legend{font-family:inherit}
.alert.font-classic{font-family:Georgia,'Times New Roman',serif}
.alert.font-bold{font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:.035em}
.eyebrow{margin:0;color:var(--muted);font-size:14px}
fieldset{border:0;padding:0;margin:18px 0 0}
legend{font-weight:700;margin-bottom:8px}
.amounts,.voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.choice{position:relative}
.choice input{position:absolute;opacity:0}
.choice span{display:block;text-align:center;padding:12px 8px;border:2px solid var(--line);border-radius:12px;font-weight:700;cursor:pointer;background:var(--field);color:var(--ink)}
.choice input:checked+span{border-color:var(--green);background:#204934;color:#f3fff4;box-shadow:inset 0 0 0 1px var(--green)}
.choice input:focus-visible+span{outline:3px solid var(--gold)}
.field{display:block;margin-top:16px;font-weight:700}
.field small{font-weight:400;color:var(--muted)}
.field input,.field textarea{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;padding:11px 12px;border:2px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink)}
.field input::placeholder,.field textarea::placeholder,.search input::placeholder{color:#9eb5a6;opacity:1}
.field input:focus,.field textarea:focus,.search input:focus{outline:none;border-color:var(--green)}
.counter{display:block;text-align:right}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:18px}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}
.pay,.button{display:inline-block;margin-top:18px;border:0;border-radius:12px;background:#218256;color:#fff;font:inherit;font-weight:800;font-size:18px;padding:14px 22px;cursor:pointer;text-decoration:none;box-shadow:0 4px 0 #051711}
.pay{width:100%}
.pay:disabled{background:#385548;color:#c1d1c4;cursor:not-allowed;box-shadow:none}
.pay:not(:disabled):hover,.button:hover{filter:brightness(1.05)}
.hint,.small{color:var(--muted);font-size:14px}
.notice{background:#3a2f18;border:2px solid #b99751;border-radius:12px;padding:10px 12px;color:#ffe5aa}
.hero .notice{color:#ffe5aa}
.error{color:var(--red);font-weight:700}
.foot{text-align:center;padding:18px;color:var(--muted);font-size:14px}
.foot a{color:inherit}

/* Jogi oldalak: hosszabb szöveghez kényelmes olvasási szélesség és tartalomjegyzék. */
.legal{max-width:860px}.legal .panel{padding:clamp(20px,4vw,38px)}.legal h1{max-width:18ch}.legal h2{margin:1.7em 0 .55em;font-size:clamp(22px,3vw,29px)}.legal h3{margin:1.3em 0 .35em;color:var(--deep);font-size:18px}.legal p,.legal li{max-width:72ch}.legal li{margin:.55em 0}.legal section{scroll-margin-top:24px}.legal-lead{font-size:clamp(17px,2.4vw,21px);color:var(--deep);font-weight:600}.legal-date{font-size:14px;color:var(--muted)}.legal-toc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px;margin:26px 0;border-radius:12px;background:var(--mint)}.legal-toc strong{width:100%;font-size:14px}.legal-toc a{display:inline-block;padding:6px 10px;border-radius:8px;background:#fff;text-decoration:none;font-size:14px;font-weight:600}.legal-toc a:hover,.legal-toc a:focus-visible{outline:2px solid var(--green)}.legal a{overflow-wrap:anywhere}
.legal h3,.legal-lead{color:#d7e9d8}
.legal-toc a{background:#244934;color:#e4f6e8}
.legal-toc a:hover,.legal-toc a:focus-visible{outline-color:var(--gold)}

/* Overlay (OBS Browser Source): átlátszó háttér, egy kártya felül középen. */
body.overlay{background:transparent;overflow:hidden}
#stage{display:flex;justify-content:center;padding-top:6vh}
.alert{zoom:.8;min-width:min(560px,92vw);max-width:92vw;text-align:center;color:var(--alert-text,#fff);background:linear-gradient(160deg,var(--alert-card-start,#1f4d3f),var(--alert-card-end,#06231a));border:4px solid var(--alert-border,#f2c14e);border-radius:22px;padding:18px 28px 22px;box-shadow:0 12px 40px #0008;animation:pop .55s cubic-bezier(.2,1.4,.4,1) both}
.alert.out{animation:leave .4s ease-in both}
.alert .badge{display:inline-flex;gap:8px;align-items:center;font-weight:800;letter-spacing:.12em;color:var(--alert-border,#f2c14e);font-size:18px}
.alert .headline{font-size:clamp(26px,4vw,40px);font-weight:800;margin:8px 0 2px;text-shadow:0 2px 0 #0006}
.alert .name{color:var(--alert-name,#f2c14e)}
.alert .amount{display:inline-block;margin-top:4px;padding:2px 16px;border-radius:999px;background:var(--alert-amount-bg,#38b270);color:var(--alert-amount-text,#fff);font-size:clamp(24px,3.6vw,34px);font-weight:900}
.alert .message{font-size:clamp(20px,2.8vw,28px);margin:12px 0 0;overflow-wrap:anywhere}
.overlay-status{position:fixed;left:8px;bottom:8px;margin:0;background:#000b;color:#fff;padding:6px 10px;border-radius:8px;font-size:14px}
@keyframes pop{from{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:none}}
@keyframes leave{to{opacity:0;transform:translateY(-20px) scale(.95)}}
@media (prefers-reduced-motion:reduce){.alert,.alert.out{animation-duration:.01s}}

/* Streamer-portál */
.portal-page{background:radial-gradient(circle at 85% 0%,#202539 0,transparent 35rem),var(--cream)}.portal-top{background:#1c1930;border-bottom:4px solid var(--gold)}.portal-top>span{font-size:12px;letter-spacing:.15em;color:var(--gold);font-weight:900}.portal{max-width:1040px}.portal-intro{padding:20px 0 8px}.portal .panel{margin-bottom:18px}.portal .panel h2{margin-top:0}.portal-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.portal button{font:inherit;font-weight:700;cursor:pointer;border:0;border-radius:9px;padding:10px 14px;background:#267b54;color:#fff}.portal button.secondary{background:#213c32;color:#edf8ef;border:1px solid #557660}.portal button:focus-visible,.portal input:focus-visible,.portal select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.portal-link{display:flex;gap:8px;flex-wrap:wrap}.portal-link input{flex:1;min-width:220px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink);font:inherit}.portal select{padding:10px;font:inherit;background:var(--field);color:var(--ink);border:1px solid var(--line)}.portal-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:18px 0}.portal-colors label{display:flex;align-items:center;gap:9px;background:#1a3328;padding:8px;border-radius:9px}.portal-colors input{margin-left:auto;width:38px;height:38px;border:0;background:none;cursor:pointer}.portal-colors output{font-family:monospace;font-size:12px}.portal-preview{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1a2b28 0 14px,#28413a 14px 28px);min-height:260px;border-radius:14px;overflow:hidden}.portal-preview .alert{min-width:0;width:min(560px,95%);transform:scale(.8);animation:none}.portal ol{padding-left:22px}.portal li{margin-bottom:8px}.portal details{margin-top:16px}.portal-status{color:#a5ecc0}
.portal #font-search,.portal #font-choice{display:block;width:100%;margin:6px 0 0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink);font:inherit}.portal label[for="font-choice"]{display:block;margin-top:12px}.portal #font-count{margin:6px 0 0;font-size:12px}
@media(max-width:600px){.portal-link>*{width:100%}.portal-preview .alert{transform:scale(.7)}.portal .panel{padding:16px}}

/* Moderálás */
.admin{max-width:1280px}
.admin section{margin-bottom:24px}
.admin h2{margin:0 0 10px;font-size:22px}
.flags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.review{display:grid;gap:10px}
.item{background:#182f24;border:2px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:6px}
.item.fresh{border-color:var(--gold);box-shadow:0 0 0 3px #e6b85c55}
.item .meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:14px}
.item .meta b{color:var(--ink)}
.item .donor{font-weight:800;font-size:18px;overflow-wrap:anywhere}
.item .text{font-size:18px;overflow-wrap:anywhere;white-space:pre-wrap}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.actions button,.small-button{font:inherit;font-weight:700;border-radius:10px;border:2px solid #668972;padding:8px 12px;cursor:pointer;background:#18372a;color:#eff8f0}
.actions .ok{background:#237d4f;border-color:#237d4f;color:#fff}
.actions .no{border-color:var(--red);color:var(--red)}
.actions button:disabled{opacity:.5;cursor:wait}
.admin table{width:100%;border-collapse:collapse;background:var(--surface);font-size:14px}
.admin th,.admin td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}
.admin th{background:var(--mint)}
.pill{display:inline-block;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;background:var(--mint);color:#d8f0de}
.pill.warn{background:#4b2826;color:#ffbcb1}
.pill.on{background:#237d4f;color:#fff}
.duos .hint{margin:0 0 14px}
.duos h3.sub{margin:0 0 10px;font-size:18px;color:#dcefe2}
.filter{width:100%;margin-bottom:8px;padding:10px 12px;font:inherit;border:2px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink)}
.picklist{max-height:300px;overflow:auto;padding:6px;border:2px solid var(--line);border-radius:10px;background:var(--field)}
.pick{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer}
.pick:hover{background:var(--mint)}
.pick input{width:18px;height:18px;accent-color:var(--green)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}

/* Streamer-munkafelület: a nyilvános link, a privát OBS-link és a próba külön lépés. */
.portal-intro{padding:28px 30px;margin:0 0 18px;border-radius:20px;background:radial-gradient(circle at 92% 15%,#418763 0,#234f40 27%,#173b31 72%);color:#fff;box-shadow:0 16px 32px #163d3026}
.portal-intro .eyebrow{color:#d6bd7a;font-size:12px;font-weight:800;letter-spacing:.17em}
.portal-intro h1{color:#fff;font-size:clamp(32px,5vw,52px);margin:.1em 0}
.portal-intro p:last-child{margin:0;color:#e3f0e8}
.portal #portal-status:empty{display:none}
.portal #portal-status:not(:empty){position:sticky;top:8px;z-index:10;padding:10px 14px;background:#3a301c;border:1px solid #b69654;border-radius:10px;color:#ffe9b8;font-weight:700}
.portal-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.portal-steps a{padding:8px 14px;border-radius:999px;background:#1d3c2d;color:#dcf5e4;font-size:13px;font-weight:800;text-decoration:none}
.portal-steps a:hover,.portal-steps a:focus-visible{background:#315c40;outline:2px solid var(--gold)}
.portal-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.portal-link-grid .panel{margin:0}
.portal-link-card{border-top:6px solid #38b270;min-width:0}
.portal-link-card h2{margin:.3em 0;font-size:25px}
.portal-link-card>p:not(.eyebrow){font-size:14px;color:var(--muted)}
.portal-link-card .eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em}
.portal-private{border-top-color:#9c82d3;background:#1e2030}
.portal-private .eyebrow{color:#cbb9ef}
.portal-text-link{display:inline-flex;align-items:center;min-height:42px;font-weight:800;text-underline-offset:3px}
.portal-section-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.portal-section-head h2{margin:.2em 0}
.portal-section-head p:last-child{max-width:64ch;margin:.3em 0 16px;color:var(--muted)}
.portal-step-number{font:900 44px Georgia,serif;color:#436653}
.portal-design-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:20px}
.portal-field{display:grid;gap:6px;font-weight:800}
.portal-field select{width:100%;border:1px solid #557660;border-radius:10px;padding:11px 12px;background:var(--field);color:var(--ink)}
.portal-design-grid .portal-colors{grid-template-columns:repeat(2,minmax(150px,1fr));margin:8px 0}
.portal-colors label{border:1px solid var(--line);font-size:13px;min-width:0}
.portal-colors output{display:none}
.portal-preview{min-height:320px;border:1px solid var(--line)}
.portal-save-row{padding-top:14px;border-top:1px solid var(--line)}
.portal-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:16px;align-items:center;margin:10px 0 18px}
.portal-audio-grid label{font-weight:750}
.portal-audio-grid label input[type=range]{display:block;width:100%;margin-top:8px;accent-color:#2a8056}
.portal-audio-grid output{float:right;color:#9de0b6;font-variant-numeric:tabular-nums}
.portal-audio-grid .portal-toggle{display:flex;align-items:center;gap:8px}
.portal-test-actions{padding:16px;border:1px dashed #638670;border-radius:12px;background:#142f23}
.portal details summary{font-weight:800;font-size:18px;cursor:pointer}
@media(max-width:760px){.portal-link-grid,.portal-design-grid{grid-template-columns:1fr}.portal-audio-grid{grid-template-columns:1fr 1fr}.portal-audio-grid .portal-toggle{grid-column:1/-1}}
@media(max-width:600px){.portal-intro{padding:22px}.portal-design-grid .portal-colors{grid-template-columns:1fr 1fr}.portal-audio-grid{grid-template-columns:1fr}.portal-audio-grid .portal-toggle{grid-column:auto}}

/* Moderálási sor: döntések, hangkészítés és OBS-lejátszás külön látszik. */
.moderation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 24px}
.moderation-summary a{display:grid;gap:2px;padding:16px 18px;border:1px solid var(--line);border-top:5px solid #54bd83;border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);box-shadow:0 5px 14px #0004}
.moderation-summary a:nth-child(1){border-top-color:#d9993b}.moderation-summary a:nth-child(2){border-top-color:#8867ab}.moderation-summary a:nth-child(3){border-top-color:#2c80a0}
.moderation-summary strong{font:800 clamp(23px,3vw,32px) Georgia,serif;line-height:1.1}
.moderation-summary span{font-size:13px;font-weight:750}
.moderation-section{padding:20px;border:1px solid var(--line);border-radius:18px;background:#10251c}
.moderation-section .empty{padding:18px;background:#1a3528;border:1px dashed #52705a;border-radius:10px}
.moderation-heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:15px}
.moderation-heading .eyebrow{font-weight:900;font-size:11px;letter-spacing:.16em;color:var(--muted)}
.moderation-heading h2{margin:.2em 0}
.moderation-heading .hint{margin:0;max-width:75ch}
.queue-filters{display:flex;flex-wrap:wrap;gap:6px}
.queue-filters button{border:1px solid #668972;border-radius:99px;padding:7px 12px;background:#1b382a;color:#e3f2e7;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
.queue-filters button.selected{background:#287f55;color:#fff;border-color:#287f55}
.queue-entry{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:10px}
.queue-order{padding:8px 6px;border-radius:8px;background:#274b35;color:#d8efdd;text-align:center;font-size:12px;font-weight:800}
.queue-entry .item{border-left:5px solid #2c80a0}
.queue-entry.queue-tts .item{border-left-color:#8867ab}
.admin section:target,.portal section:target{scroll-margin-top:18px}
@media(max-width:760px){.moderation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-entry{grid-template-columns:1fr}.queue-order{text-align:left;padding-left:10px}.admin .cols{grid-template-columns:1fr}.admin table{display:block;max-width:100%;overflow-x:auto}}

/* Alertközpont: sötét vezérlőpult, három közvetlen kiküldési mód. */
.admin-page{background:#0c1210;color:#e7efe9;color-scheme:dark;--surface:#141e19;--field:#0c1510;--line:#304238;--muted:#a2b6a8;--mint:#21382a}
.admin-page .top{background:#0d1811;border-bottom:1px solid #304238;padding:14px 28px}
.admin-page .brand{font-size:15px;letter-spacing:.05em}
.admin-identity{display:flex;align-items:center;gap:18px;font-size:13px}
.connection{color:#a2b6a8;font-size:12px;white-space:nowrap}.connection:before{content:'';display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:currentColor}.connection.online{color:#80d2a0}.connection.offline{color:#ffba8e}
.admin{max-width:1440px;padding:30px 28px 60px}
.admin-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.admin-intro h1{font-family:Georgia,serif;font-size:clamp(34px,5vw,52px);letter-spacing:-.035em;margin:6px 0}
.admin-intro .eyebrow{font-size:11px;letter-spacing:.17em;color:#d7bd79;font-weight:800}
.admin-intro p:last-child{margin:0;color:var(--muted)}.admin-tools{display:flex;gap:8px;flex-wrap:wrap}
.admin .flags{gap:6px;margin-bottom:20px}.admin .flags .pill{padding:5px 10px;border:1px solid var(--line);background:#17271c;color:#aac6b4}.admin .flags .pill.warn{background:#34211e;color:#efb7a6}
.admin .moderation-summary{gap:12px;margin:0 0 24px}
.admin .moderation-summary button{display:grid;gap:9px;text-align:left;padding:19px 20px;background:#152119;border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;cursor:pointer}
.admin .moderation-summary button:first-child{background:#243022;border-color:#727b47}.admin .moderation-summary button:first-child strong{color:#e8d48a}.admin .moderation-summary button:nth-child(2) strong{color:#c5b5e6}.admin .moderation-summary button:nth-child(3) strong{color:#a7d4e6}.admin .moderation-summary button:last-child strong{color:#9ed6ae}
.admin .moderation-summary strong{font-family:inherit;font-size:clamp(25px,3vw,36px);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.admin .moderation-summary span{font-weight:500;color:#b4c6b9}
.admin-nav{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}
.admin-nav button{white-space:nowrap;font:inherit;font-size:14px;font-weight:700;border:0;border-bottom:3px solid transparent;background:transparent;color:#9fb3a6;padding:13px 16px;cursor:pointer}.admin-nav button.selected{border-bottom-color:#c9dc89;color:#eef5d3}.admin-nav button span{display:inline-block;padding:1px 7px;margin-left:7px;border-radius:5px;background:#2c3d30;font-size:12px;color:#d6e4db}
.admin button:hover:not(:disabled){filter:brightness(1.15)}.admin button:focus-visible,.admin select:focus-visible,.admin input:focus-visible{outline:3px solid #ebd28c;outline-offset:3px}
.admin button:disabled{opacity:.45;cursor:wait}.admin select{font:inherit;background:#14271c;color:var(--ink);border:1px solid #4a6654;border-radius:8px;padding:9px 12px;max-width:100%}
.moderation-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.moderation-toolbar label{font-size:13px;font-weight:700}.moderation-toolbar select{min-width:210px}.moderation-toolbar>span{margin-left:auto;color:var(--muted);font-size:12px}
.admin .moderation-section{border:0;background:transparent;padding:0}.admin .moderation-heading{margin-bottom:18px}.admin .moderation-heading h2{font-family:inherit;font-size:22px;margin:4px 0 7px;letter-spacing:-.025em}.admin .moderation-heading .eyebrow{color:#a5ba90}.admin .moderation-heading .hint{font-size:13px}
.admin #review>.review{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.admin .item{background:#17231b;border:1px solid #3b5142;border-radius:12px;padding:20px;gap:12px;min-width:0}.admin .item.fresh{border-color:#dfc87d;box-shadow:0 0 0 2px #dfc87d22}
.alert-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.alert-heading .eyebrow{font:800 16px 'Segoe UI',sans-serif;color:#d7e7db;overflow-wrap:anywhere}.alert-amount{font-size:25px;color:#e5d494;white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.recipient{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.admin .item .meta{font-size:12px;gap:5px 10px}.alert-copy{padding:14px 15px;background:#101a14;border:1px solid #2c4032;border-radius:8px;min-height:88px}.admin .item .donor{font-size:16px;margin-bottom:5px}.admin .item .text{font-size:16px;line-height:1.6;color:#cad8cf}
.send-label{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#a7bcaf;margin:1px 0 -3px}
.admin .send-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin .send-mode{display:grid;align-content:start;text-align:left;gap:5px;padding:12px 10px;border:1px solid #496752;background:#213829;border-radius:8px;font:inherit;color:#dceee1;cursor:pointer}.send-mode strong{font-size:13px}.send-mode span{font-size:11px;line-height:1.45;color:#b2c9b9}.admin .mode-full{background:#24603b;border-color:#4e9765;color:#fff}.admin .mode-full span{color:#d4ecdc}.admin .mode-name{background:#1c3237;border-color:#426970}.admin .mode-name span{color:#b8d0d5}.admin .mode-anon{background:#2a2e2a;border-color:#555f53}.admin .mode-anon span{color:#c0c8bd}
.admin .actions .reject-action{grid-column:1/-1;justify-self:start;border:0;background:transparent;padding:4px 0 0;color:#c6a4a0;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.admin-feedback{padding:12px 15px;background:#1c3826;border:1px solid #547d5b;border-radius:8px;color:#ccead5;font-size:14px}
.empty-state{grid-column:1/-1;text-align:center;padding:45px 20px;background:#141f18;border:1px dashed #3c5341;border-radius:12px}.empty-state>span{display:inline-grid;place-items:center;width:42px;height:42px;background:#244b31;border-radius:50%;font-size:24px;color:#b5e2bd}.empty-state h3{font-size:18px;color:#dbe9de;margin:14px 0 6px}.empty-state p{margin:0;font-size:14px;color:var(--muted)}
.admin .queue-list{gap:14px}.admin .queue-entry{grid-template-columns:90px minmax(0,1fr)}.admin .queue-order{background:#263b2d;color:#b9cfbf;font-size:11px}.admin .queue-entry .item{border-left:3px solid #7bb6c8}.admin .queue-entry.queue-tts .item{border-left-color:#aa91c8}.admin .queue-list .alert-copy{min-height:0}
.admin .management-view section,.admin .history-view section{min-width:0;padding:20px;background:#141e18;border:1px solid var(--line);border-radius:12px}.admin .management-view .cols>div{min-width:0}.admin .management-view h2,.admin .history-view h2{font-family:inherit;font-size:20px;margin-bottom:16px}.admin .history-view{align-items:start}.admin .history-view .review{max-height:70vh;overflow:auto}.admin td{padding:12px 10px}.admin th{padding:11px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#a9c3b1}.admin .small-button{font-size:12px;border:1px solid #4c6855;border-radius:7px;padding:8px 10px;background:#1b3022}.admin .management-view td button{margin:3px 0}
@media(min-width:1000px){.admin .queue-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.admin #review>.review{grid-template-columns:1fr}.admin .moderation-summary strong{font-size:26px}.admin .moderation-summary button{padding:15px}}
@media(max-width:600px){.admin{padding:20px 14px}.admin-page .top{padding:12px 14px}.admin-page .brand span{display:none}.admin-identity{gap:9px}.admin-intro{display:block}.admin-tools{margin-top:15px}.admin .moderation-summary{gap:8px}.admin .moderation-summary button{padding:13px}.admin .moderation-summary span{font-size:11px}.admin-nav button{padding:12px 10px;font-size:12px}.moderation-toolbar{flex-wrap:wrap}.moderation-toolbar>span{width:100%;margin:0}.admin .item{padding:15px}.admin .send-modes{grid-template-columns:1fr}.admin .send-mode{padding:11px 13px;grid-template-columns:1fr 1.45fr;align-items:center}.admin .send-mode span{font-size:11px}.alert-amount{font-size:23px}.admin .queue-entry{grid-template-columns:1fr}.admin .management-view section,.admin .history-view section{padding:14px}.admin .cols{grid-template-columns:minmax(0,1fr)}}

/* Discord nélkül meghívható alertmoderátorok */
.moderator-access { max-width: 1000px; margin: 24px auto; }
.invite-form { display: flex; align-items: end; gap: 14px; margin: 24px 0 12px; }
.invite-form label { flex: 1; margin: 0; }
.invite-form input { display: block; width: 100%; margin-top: 8px; }
.invite-form button { min-height: 46px; }
.invite-result { margin: 24px 0; padding: 22px; border: 1px solid #4b9974; background: #152d23; border-radius: 12px; }
.invite-result strong { color: #a6efc9; font-size: 1.15rem; }
.invite-copy { display: flex; gap: 10px; margin-top: 8px; }
.invite-copy input { flex: 1; min-width: 0; }
.invite-list { display: grid; gap: 12px; margin-top: 26px; }
.invite-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border: 1px solid #30443a; border-radius: 12px; background: #17271e; }
.invite-card h3 { margin: 0 0 10px; overflow-wrap: anywhere; }
.invite-card p { margin: 4px 0; }
@media (max-width: 680px) { .invite-form, .invite-copy, .invite-card { flex-direction: column; align-items: stretch; } .invite-form label { width: 100%; } }
.moderator-access h2 { font-family: inherit; font-size: 24px; }
.moderator-access .eyebrow { color: var(--muted); font-size: 12px; letter-spacing: .12em; font-weight: 800; }
.moderator-access input { box-sizing: border-box; min-height: 46px; padding: 11px 13px; font: inherit; color: var(--ink); background: var(--field); border: 1px solid #557660; border-radius: 8px; }
.invite-form button,.invite-copy button { padding: 12px 18px; font: inherit; font-weight: 700; color: #e8f6ec; background: #27513a; border: 1px solid #659977; border-radius: 8px; cursor: pointer; }

/* Read-only alert browser connections, shared with moderators. */
.connections-toolbar{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:22px 0}.connections-toolbar>label{display:block;font-size:13px;font-weight:700;flex:0 1 300px}.connections-toolbar input{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:11px 13px;background:var(--field);color:var(--ink);border:1px solid #4a6654;border-radius:8px;font:inherit}
.connection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.alert-connection{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:#152119;border:1px solid #334b3b;border-left:3px solid #d6aa68;border-radius:9px;min-width:0}.alert-connection h3{font:700 14px 'Segoe UI',sans-serif;margin:0;overflow-wrap:anywhere;line-height:1.4}.connection-state{font-size:11px;font-weight:700;white-space:nowrap;color:#e7bc7b}.connection-state:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px}.alert-connection.online{border-left-color:#65c38b}.alert-connection.online .connection-state{color:#86d7a3}.alert-connection.missing{border-left-color:#d7847d}.alert-connection.missing .connection-state{color:#eda29b}.connections-stale{padding:13px 15px;border:1px solid #b9844e;border-radius:8px;background:#37281a;color:#efc78f}
@media(max-width:600px){.connection-grid{grid-template-columns:minmax(0,1fr)}.connections-toolbar>label{flex-basis:100%}}

/* Main-stream alerts: visual priority, with the same moderation actions. */
.admin .item.mainstream-priority{background:linear-gradient(135deg,#342b16,#211d13);border:2px solid #d9b34f;box-shadow:0 2px 16px #d9b34f14}
.admin .queue-entry .item.mainstream-priority{border-left:5px solid #e5be59}
.admin .mainstream-priority .alert-heading .eyebrow,.admin .mainstream-priority .alert-amount{color:#ffe19a}
.admin .mainstream-priority .alert-copy{background:#1c190f;border-color:#6e5930}
.admin .mainstream-priority .mainstream-badge{display:block;width:fit-content;margin:0 0 7px;padding:4px 8px;border-radius:5px;background:#e5be59;color:#211b0c;font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1.4}

/* A néma jóváhagyás a teljes vizuális alertet külön, teljes szélességű módként jelzi. */
.admin .mode-silent{grid-column:1/-1;background:#1c2832;border-color:#55717d}.admin .mode-silent span{color:#bdd4df}

/* Shared broadcast controls extend the existing moderator panel. */
.card-main{border-color:var(--green)}.card-main small{display:block;margin-top:3px}.main-avatar{object-fit:contain;background:var(--field);padding:5px}
.mainstream-members{list-style:none;padding:0;display:grid;gap:8px}.mainstream-members li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--field)}
.mainstream-add{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0}.mainstream-add label{display:grid;gap:6px;min-width:220px}.mainstream-add select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}
.mainstream-permissions{margin-top:28px;overflow-x:auto}.mainstream-permissions label{white-space:nowrap}.mainstream-permissions input{width:18px;height:18px;accent-color:var(--green);vertical-align:middle}
@media(max-width:600px){.mainstream-members li{align-items:flex-start;flex-direction:column}.mainstream-add label{min-width:0;flex:1 1 220px}}

.grid>.main-broadcast-card{grid-column:1/-1}.card-main>span{min-width:0}
@media(min-width:740px){.grid>.main-broadcast-card{grid-column:span 2}}
@media(max-width:380px){.card-main{gap:8px;padding:10px}.card-main .avatar{width:40px;height:40px}.card-main strong{font-size:14px}}

/* The match queue is independent of the donation playback queue. */
.match-queue-view .moderation-heading{align-items:center;gap:16px}.match-queue-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 18px;color:var(--muted)}
.match-queue-current{padding:18px 20px;margin:18px 0;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px;background:var(--field)}.match-queue-current strong{font-size:18px;overflow-wrap:anywhere}.match-queue-current strong>span{padding:0 8px;color:var(--muted)}.match-queue-current p:last-child{margin-bottom:0}
.match-waiting-list{list-style:none;display:grid;gap:10px;padding:0;margin:20px 0}.match-waiting-list>li{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--field)}.match-queue-position{font-size:18px;font-weight:800;min-width:28px;color:var(--muted)}.match-queue-team{flex:1;min-width:0}.match-queue-team>strong{overflow-wrap:anywhere}.match-queue-team .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:7px;font-size:12px;color:var(--muted)}.match-queue-error{padding:13px 15px;border:1px solid #b9844e;border-radius:8px;background:#37281a;color:#efc78f}.match-queue-view button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){.match-waiting-list>li{flex-wrap:wrap;gap:10px}.match-queue-team{flex-basis:calc(100% - 40px)}.match-waiting-list>li>button{margin-left:38px}.match-queue-view .moderation-heading{align-items:flex-start;flex-wrap:wrap}}
.match-waiting-list>li[draggable="true"]{cursor:grab}.match-waiting-list>li.dragging{opacity:.5;cursor:grabbing}.match-waiting-list>li.drop-before{box-shadow:inset 0 3px var(--green)}.match-waiting-list>li.drop-after{box-shadow:inset 0 -3px var(--green)}.match-queue-moves{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.match-queue-moves button{min-width:38px;min-height:38px}.match-queue-moves button:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:600px){.match-queue-moves{margin-left:38px}}
.donation-report-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0; }
.donation-report-summary > div { padding:20px; border:1px solid #37614f; border-radius:12px; background:#102e24; }
.donation-report-summary span,.donation-report-summary small { display:block; color:#b8cec1; }
.donation-report-summary strong { display:block; color:#f3cc63; font-size:clamp(22px,2.4vw,32px); margin:8px 0; font-variant-numeric:tabular-nums; }
.admin .donation-report table { margin-top:24px; }
.admin .donation-report th[scope="row"] { font-weight:600; text-transform:none; letter-spacing:normal; }
.donation-report th small { display:block; margin-top:4px; font-size:12px; font-weight:400; color:#a0bcb0; }
.admin .donation-report td,.admin .donation-report th:not(:first-child) { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.admin .donation-report td:last-child { font-weight:700; }
.donation-report-main th { color:#f3cc63; }
.donation-largest { margin-top:36px; }
.donation-largest-item { padding:20px; margin:14px 0; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.donation-largest-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; }
.donation-largest-heading h4 { margin:6px 0; font-size:20px; }
.donation-largest-heading > strong { color:var(--gold); font-size:24px; white-space:nowrap; }
.donation-largest-heading small { color:var(--muted); }
.donation-message { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:760px) { .donation-report-summary { grid-template-columns:1fr; } }
