/* TILKÓPIR AI: three colors only. Black background, red accent, white text (grays are white at lower opacity). */
:root{
  --black:#000; --red:#D90F21; --red-text:#FF4D5A; --white:#fff;
  --bg:#000; --card:#0B0B0B; --line:rgba(255,255,255,.14); --text:#fff; --muted:rgba(255,255,255,.62);
  --blue:var(--red-text); /* legacy name used in app.js inline styles */
  --err:#FF6B76; --top:env(safe-area-inset-top,0px); --bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
#app{min-height:100vh;display:flex;flex-direction:column}
header{background:var(--black);color:var(--white);padding:calc(var(--top) + 12px) 16px 12px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;border-bottom:2px solid var(--red)}
header h1{font-size:18px;margin:0;flex:1;font-weight:700;letter-spacing:.2px}
header button.back{background:none;border:0;color:var(--white);font-size:26px;line-height:1;padding:0 8px 0 0;cursor:pointer}
main{flex:1;padding:16px 16px calc(88px + var(--bottom));max-width:720px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px}
nav.tabs{position:fixed;left:0;right:0;bottom:0;background:var(--black);border-top:1px solid var(--line);display:flex;padding-bottom:var(--bottom);z-index:5}
nav.tabs a{flex:1;text-align:center;padding:8px 2px 6px;color:var(--muted);text-decoration:none;font-size:11px;border-top:2px solid transparent;margin-top:-1px}
nav.tabs a span{display:block;font-size:20px;line-height:1.2}
nav.tabs a.on{color:var(--red-text);font-weight:700;border-top-color:var(--red)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.card.link{cursor:pointer}
.card.link:active{border-color:var(--red)}
.row{display:flex;gap:8px;flex-wrap:wrap}
.row>*{flex:1;min-width:0}
h2{font-size:17px;margin:0;color:var(--white)}
small,.muted{color:var(--muted);font-size:13px}
label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
input,select,textarea{font:inherit;font-size:16px;padding:11px 12px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:var(--black);color:var(--white);width:100%}
select option{background:var(--black);color:var(--white)}
textarea{min-height:160px;resize:vertical}
input::placeholder{color:rgba(255,255,255,.35)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
button,.btn{font:inherit;font-weight:700;font-size:15px;padding:12px 16px;border-radius:12px;border:1px solid var(--red);background:var(--red);color:var(--white);cursor:pointer;text-align:center;text-decoration:none;display:block}
button.sec,.btn.sec{background:transparent;color:var(--white);border-color:rgba(255,255,255,.35)}
button.danger{background:transparent;color:var(--red-text);border-color:var(--red)}
button:active,.btn:active{filter:brightness(1.2)}
button:disabled{opacity:.45}
:focus-visible{outline:2px solid var(--white);outline-offset:2px}
.banner{background:rgba(217,15,33,.14);border:1px solid rgba(217,15,33,.55);border-radius:12px;padding:12px;font-size:13px;color:var(--white)}
.banner.info{background:rgba(255,255,255,.07);border-color:var(--line)}
.err{color:var(--err);font-size:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}
.stat b{display:block;font-size:24px;color:var(--red-text)}
.stat span{font-size:12px;color:var(--muted)}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.chips button{flex:none;padding:8px 14px;font-size:14px}
.cue{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}
audio,video{width:100%;color-scheme:dark}
.spin{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:s .8s linear infinite;margin:8px auto}
@keyframes s{to{transform:rotate(360deg)}}
.hero{padding:8px 0 4px;color:var(--white);font-size:15px;border-left:3px solid var(--red);padding-left:12px}
.hint{font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
