/* BHG-projekt · alapstílus (techbandi-arculat + vaisnava színek)
 * Témák: a /tema.js a <html data-theme> értékét állítja: alap · matrix · light. */

@font-face{font-family:"SG";font-weight:400;font-display:swap;src:url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"SG";font-weight:400;font-display:swap;src:url(fonts/space-grotesk-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"SG";font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"SG";font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JBM";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JBM";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root,html[data-theme="alap"]{
  color-scheme:dark;
  --bg:#05060a;--panel:rgba(10,12,20,.8);--panel2:rgba(16,19,30,.92);--line:rgba(255,255,255,.08);
  --tx:#e8ecf5;--tx-strong:#f2f5fb;--tx2:#b9c1d3;--mut:#6b7488;--mut2:#8c95aa;
  --cy:#7cf9ff;--vi:#b388ff;--pk:#ff5ea8;--up:#5cffb0;--dn:#ff5e7a;
  /* vaisnava színek: sáfrány, arany, tulasī-zöld – a szöveg körül ezek dominálnak */
  --sf:#ff9f43;--gd:#ffd166;--ts:#7bd88f;
  --read:#e6e1d6;--read2:#c9c2b3;
  --grad:linear-gradient(90deg,#7cf9ff,#b388ff 55%,#ff5ea8);
  --grad-warm:linear-gradient(90deg,#ffd166,#ff9f43 55%,#ff5ea8);
  --dot:rgba(255,255,255,.06);
}
html[data-theme="matrix"]{
  color-scheme:dark;
  --bg:#020705;--panel:rgba(3,14,8,.8);--panel2:rgba(6,20,12,.92);--line:rgba(80,255,150,.1);
  --tx:#d4ffe2;--tx-strong:#eafff1;--tx2:#9fd3b2;--mut:#4f7d60;--mut2:#74a486;
  --cy:#39ff88;--vi:#b6ff3b;--pk:#00e5b0;--up:#39ff88;--dn:#ff5e7a;
  --sf:#e3ff5c;--gd:#d8ff8a;--ts:#39ff88;
  --read:#d9f5e2;--read2:#a9d6b8;
  --grad:linear-gradient(90deg,#39ff88,#b6ff3b 55%,#00e5b0);
  --grad-warm:linear-gradient(90deg,#d8ff8a,#39ff88 55%,#00e5b0);
  --dot:rgba(80,255,150,.07);
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f5f2ea;--panel:rgba(255,255,255,.86);--panel2:#ffffff;--line:rgba(40,30,10,.1);
  --tx:#1d1a14;--tx-strong:#0e0c08;--tx2:#4a443a;--mut:#7a7262;--mut2:#5d574a;
  --cy:#0a8fb0;--vi:#7a3ff0;--pk:#d6286f;--up:#0c9a5e;--dn:#d6286f;
  --sf:#c45f00;--gd:#9a6a00;--ts:#2f8f4e;
  --read:#24201a;--read2:#4a443a;
  --grad:linear-gradient(90deg,#0a8fb0,#7a3ff0 55%,#d6286f);
  --grad-warm:linear-gradient(90deg,#9a6a00,#c45f00 55%,#d6286f);
  --dot:rgba(40,30,10,.07);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--tx);
  font:400 16px/1.55 "SG",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:24px 24px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.mono{font-family:"JBM",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
a{color:var(--cy)}
code{font-family:"JBM",ui-monospace,monospace;font-size:.88em;color:var(--gd)}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
::selection{background:rgba(255,159,67,.3)}

/* ---------- jelszókérő és beállító oldal ---------- */
.gate{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}
.gate .orb{position:absolute;top:-18vmax;right:-14vmax;width:52vmax;height:52vmax;border-radius:50%;
  background:conic-gradient(var(--cy),var(--vi),var(--sf),var(--cy));filter:blur(100px);opacity:.16;animation:spin 40s linear infinite;pointer-events:none}
.gate .home{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2);text-decoration:none;min-height:44px;display:flex;align-items:center}
.gate .home i{color:var(--cy);font-style:normal}
.card{position:relative;width:100%;max-width:420px;padding:32px 24px;border-radius:22px;background:var(--panel);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.glow{border:1px solid transparent;background:linear-gradient(var(--panel2),var(--panel2)) padding-box,linear-gradient(120deg,var(--cy),var(--vi),var(--sf)) border-box;
  box-shadow:0 0 26px rgba(179,136,255,.22),0 0 60px rgba(255,159,67,.08)}
.tilak{display:block;margin:0 0 18px;filter:drop-shadow(0 0 12px rgba(255,209,102,.25))}
.kick{margin:0 0 10px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cy)}
.kick span{color:var(--pk);letter-spacing:0;margin-right:6px}
h1{margin:0 0 12px;font-weight:700;font-size:clamp(30px,8vw,38px);line-height:1.02;letter-spacing:-.04em;color:var(--tx-strong)}
.cur{font-style:normal;color:var(--cy);animation:blink 1.1s steps(1) infinite}
.lead{margin:0 0 20px;color:var(--tx2);font-size:15px}
.err{margin:0 0 16px;padding:10px 14px;border-radius:12px;font-size:14px;color:var(--dn);background:color-mix(in srgb,var(--dn) 12%,transparent);border:1px solid color-mix(in srgb,var(--dn) 40%,transparent)}
.form{display:flex;flex-direction:column;gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font:400 11px/1.2 "JBM",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2)}
input,select,textarea{font:400 16px/1.3 "SG",system-ui,sans-serif;color:var(--tx);background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;min-height:48px;padding:0 14px;width:100%}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff}
input:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 3px color-mix(in srgb,var(--cy) 25%,transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;cursor:pointer;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx);text-decoration:none;
  border:1px solid transparent;background:linear-gradient(var(--panel2),var(--panel2)) padding-box,var(--grad) border-box;transition:box-shadow .25s,transform .2s}
.btn:hover{box-shadow:0 0 22px rgba(179,136,255,.3);transform:translateY(-1px)}
.btn.main{background:var(--grad-warm);color:#140c02;font-weight:500;border:0}
.btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.note{margin:18px 0 0;font-size:11px;letter-spacing:.06em;color:var(--mut2)}
.note.ok{color:var(--up)}.note.bad{color:var(--dn)}
.foot{position:relative;margin:22px 0 0;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}

/* ---------- alkalmazás: betöltés ---------- */
.boot{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--mut2);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.boot .tilak{margin:0;animation:breathe 2.4s ease-in-out infinite}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blink{50%{opacity:0}}
@keyframes breathe{50%{opacity:.55;transform:scale(.96)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- alkalmazás: héj ---------- */
:root{--fs:19px;--rf:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","Noto Serif",Georgia,serif;
  --df:"Kohinoor Devanagari","Noto Serif Devanagari","Noto Sans Devanagari","Devanagari Sangam MN","Nirmala UI",Mangal,sans-serif;
  --tabh:calc(62px + env(safe-area-inset-bottom))}
html[data-font="sans"]{--rf:"SG",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
html.noscroll,html.noscroll body{overflow:hidden}
.app-page{padding-bottom:var(--tabh)}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;
  height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));
  background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;color:var(--tx);text-decoration:none;font-size:12px;letter-spacing:.14em}
.brand i{font-style:normal;color:var(--cy);animation:blink 1.1s steps(1) infinite}
.back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-6px;color:var(--tx);border-radius:12px}
.back[hidden]{display:none}
.back+.brand span{display:none}
.ttl{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut2)}
.sdot{flex:0 0 auto;width:8px;height:8px;margin:0 6px;border-radius:50%;background:var(--mut)}
.sdot.ok{background:var(--up);box-shadow:0 0 8px color-mix(in srgb,var(--up) 60%,transparent)}
.sdot.wait{background:var(--gd);animation:breathe 1.2s ease-in-out infinite}
.sdot.off{background:var(--dn)}
.gear{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-6px;border-radius:12px;color:var(--mut2)}
.gear[aria-current]{color:var(--gd)}
.gear:hover{color:var(--tx)}
svg[viewBox="0 0 24 24"]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.btn svg[viewBox="0 0 24 24"]{width:16px;height:16px}

/* alsó menü telefonon, a fejlécben gépen */
.tabs{position:fixed;z-index:25;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);
  height:var(--tabh);padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left));
  background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--mut2);text-decoration:none;font:400 10px/1 "JBM",ui-monospace,monospace;letter-spacing:.08em}
.tabs a[aria-current]{color:var(--gd)}
.tabs a[aria-current] svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gd) 60%,transparent))}
@media (min-width:900px){
  .app-page{padding-bottom:0}
  .tabs{left:auto;right:max(16px,env(safe-area-inset-right));top:env(safe-area-inset-top);bottom:auto;height:56px;display:flex;gap:4px;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .tabs a{flex-direction:row;gap:8px;padding:0 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
  .tabs a svg{width:18px;height:18px}
  .tabs a:hover{color:var(--tx)}
  .top{padding-right:640px}
}
@media (min-width:900px) and (max-width:1099px){.tabs a svg{display:none}.tabs a{padding:0 10px}.top{padding-right:500px}}

.wrap{max-width:720px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left));outline:none}
.panel{margin:0 0 16px;padding:20px 18px;border-radius:20px;background:var(--panel);border:1px solid var(--line)}
.panel h2,.sec h2,.unit h2,.sgroup h2{margin:0 0 14px;font-size:10px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--gd)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:0;flex:1}
.stats div{padding:12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid var(--line)}
html[data-theme="light"] .stats div{background:rgba(255,255,255,.6)}
.stats dt{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut2)}
.stats dd{margin:4px 0 0;font-size:24px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--tx-strong)}
.stats dd small{font-size:13px;font-weight:400;color:var(--mut2);letter-spacing:0}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--tx2)}
.row b{font-weight:500;color:var(--tx);font-variant-numeric:tabular-nums}
.row b.ok{color:var(--up)}.row b.wait{color:var(--gd)}.row b.bad{color:var(--dn)}
.row.sw{cursor:pointer;min-height:52px}
.row.sw input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:48px;min-height:0;height:28px;padding:0;border-radius:999px;background:rgba(127,127,127,.25);border:0;position:relative;cursor:pointer;transition:background .2s}
.row.sw input::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}
.row.sw input:checked{background:var(--sf)}
.row.sw input:checked::after{transform:translateX(20px)}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.acts .btn{flex:1 1 200px}
.btn.warn{background:linear-gradient(var(--panel2),var(--panel2)) padding-box,linear-gradient(90deg,var(--dn),var(--pk)) border-box}
.hint{margin:12px 0 0;font-size:13px;color:var(--mut2)}
.hint.center{text-align:center}
.seg{display:inline-flex;align-items:center;padding:3px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.2)}
html[data-theme="light"] .seg{background:rgba(0,0,0,.04)}
.seg button{min-height:40px;min-width:44px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--mut2);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.seg button[aria-checked="true"]{background:var(--grad-warm);color:#140c02}
.seg b{min-width:32px;text-align:center;font-size:13px;color:var(--tx)}
.panel .form{margin-top:16px}
.msg{margin:0;font-size:14px;min-height:1.2em}.msg.ok{color:var(--up)}.msg.bad{color:var(--dn)}
.sample{margin:14px 0 0;padding:14px 16px;border-radius:14px;border:1px dashed var(--line)}
code{overflow-wrap:anywhere}

.bar{display:block;height:4px;border-radius:4px;background:rgba(127,127,127,.18);overflow:hidden}
.bar i{display:block;height:100%;border-radius:4px;background:var(--grad-warm);min-width:0}
.bar.wide{flex:1;height:6px}

/* ---------- Ma ---------- */
.card-l{display:flex;flex-direction:column;gap:4px;margin:6px 0 16px;padding:20px 20px 18px;border-radius:22px;color:var(--tx);text-decoration:none}
.card-l .lbl{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--sf)}
.card-l .big{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--tx-strong)}
.card-l .sub{font-size:14px;color:var(--tx2)}
.card-l .pv{margin-top:8px;font:400 calc(var(--fs) * .86)/1.5 var(--rf);color:var(--read2)}
.card-l .go{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gd)}
.card-l .go svg{width:16px;height:16px}
.daily .iast{margin:0 0 12px}
.daily .btn{margin-top:4px}
.prog{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.ring{--p:0;flex:0 0 auto;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(closest-side,var(--panel2) 78%,transparent 80% 100%),conic-gradient(var(--sf) calc(var(--p) * 1%),rgba(127,127,127,.18) 0)}
.ring b{font-size:22px;letter-spacing:-.03em;color:var(--tx-strong)}
.unit-row{display:grid;grid-template-columns:minmax(0,1fr) 34% 44px;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);color:var(--tx2);text-decoration:none;font-size:14px}
.unit-row b{color:var(--tx)}
.unit-row .n{font-size:11px;text-align:right;color:var(--mut2)}

/* ---------- áttekintés, fejezet ---------- */
.unit{margin:26px 0 8px}
.unit h2 b{color:var(--tx);font-weight:400}
.unit h2 span{color:var(--mut2);letter-spacing:.14em;text-transform:none}
.chgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.chc{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 16px 14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);color:var(--tx);text-decoration:none;transition:border-color .2s,transform .2s}
.chc:hover{border-color:color-mix(in srgb,var(--gd) 45%,transparent);transform:translateY(-1px)}
.chc .num{font-size:12px;letter-spacing:.2em;color:var(--sf)}
.chc .t{font-weight:700;font-size:16px;line-height:1.25;letter-spacing:-.01em;color:var(--tx-strong)}
.chc .meta{font-size:10px;letter-spacing:.12em;color:var(--mut2);margin-top:auto}
.chc.done{border-color:color-mix(in srgb,var(--ts) 45%,transparent)}
.chc.done .num::after{content:" ✓";color:var(--ts)}
.u1 .chc .num{color:var(--gd)}.u2 .chc .num{color:var(--ts)}
.fronts{display:flex;flex-direction:column;border-radius:18px;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.fr{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:0 16px;color:var(--tx);text-decoration:none;border-top:1px solid var(--line)}
.fr:first-child{border-top:0}
.fr svg{color:var(--mut2)}
.fr.jump{border:1px solid var(--line);border-radius:16px;background:var(--panel);margin:0 0 12px}
.h-ch{font-size:clamp(26px,6.5vw,34px);line-height:1.12}
.chhead{display:flex;align-items:center;gap:12px;margin:4px 0 0}
.chhead .n{font-size:11px;color:var(--mut2);white-space:nowrap}
.done-note{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ts)}
.vlist{display:flex;flex-direction:column;border-radius:18px;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.vrow{display:grid;grid-template-columns:auto minmax(0,1fr) 10px;align-items:start;gap:12px;padding:14px 16px;border-top:1px solid var(--line);color:var(--tx2);text-decoration:none}
.vrow:first-child{border-top:0}
.vrow:hover{background:rgba(127,127,127,.06)}
.vrow .ref{min-width:44px;padding-top:2px;font-size:12px;color:var(--gd);font-variant-numeric:tabular-nums}
.vrow .pv{font-size:14.5px;line-height:1.5;color:var(--tx2)}
.vrow .pv mark{background:color-mix(in srgb,var(--sf) 30%,transparent);color:var(--tx-strong);border-radius:3px;padding:0 1px}
.vrow .dot{width:8px;height:8px;margin-top:7px;border-radius:50%;border:1.5px solid var(--mut)}
.vrow.read .dot{background:var(--ts);border-color:var(--ts)}
.vrow.read .pv{color:var(--mut2)}
.chnav{display:flex;justify-content:space-between;gap:10px;margin:20px 0 0}
.chnav .btn{padding:0 16px}

/* ---------- vers ---------- */
.verse{max-width:680px;margin:0 auto}
.vhead{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;text-align:center;margin:0 0 6px}
.vhead .kick{margin-bottom:4px}
.vhead .kick a{color:inherit;text-decoration:none}
.vref{margin:0;font-size:clamp(28px,7vw,36px);display:inline-flex;align-items:center;gap:8px}
.vref .rd{display:inline-flex;color:var(--ts)}
.nb{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--tx);border:1px solid var(--line);background:var(--panel)}
span.nb{border:0;background:none}
.tog{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 18px}
.tog button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--mut2);font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.tog button[lang]{font-family:var(--df);font-size:13px;letter-spacing:0;text-transform:none}
.tog button[aria-pressed="true"]{color:var(--gd);border-color:color-mix(in srgb,var(--gd) 50%,transparent);background:color-mix(in srgb,var(--gd) 8%,transparent)}
.stanza{text-align:center;margin:0 0 18px}
.spk{margin:0 0 10px;font-size:14px;color:var(--sf)}
.spk .deva{display:block;font-size:16px}
.deva{font-family:var(--df)}
.dv{margin:0 0 14px;font-size:calc(var(--fs) * 1.08);line-height:1.9;color:var(--gd)}
.iast{margin:0;font:italic 400 calc(var(--fs) * .98)/1.75 var(--rf);color:var(--tx-strong)}
.tk,.tk0{font:inherit;color:inherit;background:none;border:0;padding:0 1px;margin:0;border-radius:4px}
.tk{cursor:pointer;text-decoration:underline dotted color-mix(in srgb,var(--sf) 55%,transparent);text-underline-offset:5px;text-decoration-thickness:1.5px}
.tk:hover,.tk.hl{background:color-mix(in srgb,var(--sf) 22%,transparent);text-decoration-color:var(--sf)}
.sec{margin:26px 0 0}
.wlist{margin:0;font-size:calc(var(--fs) * .84);line-height:1.85;color:var(--tx2)}
.wd{font:inherit;color:inherit;background:none;border:0;padding:1px 2px;margin:0;border-radius:5px;cursor:pointer;text-align:left}
.wd b{font:italic 400 1em var(--rf);color:var(--gd)}
.wd:hover,.wd.hl{background:color-mix(in srgb,var(--sf) 18%,transparent)}
.sep{color:var(--mut)}
.tr-text{margin:0 0 12px;font:700 var(--fs)/1.6 var(--rf);color:var(--read);letter-spacing:.003em}
html[data-font="sans"] .tr-text{font-weight:500}
.read-text{font:400 var(--fs)/1.72 var(--rf);color:var(--read2)}
.read-text p{margin:0 0 1em;hyphens:auto;-webkit-hyphens:auto}
.read-text em{color:var(--read)}
.read-text .vq{margin:1.2em 0;text-align:center;font-style:italic;color:var(--read)}
.read-text .src{margin-top:-.6em;text-align:center;font-size:.8em;color:var(--mut2)}
.read-text h3{margin:1.6em 0 .6em;font:700 1em/1.3 "SG",sans-serif;color:var(--tx-strong)}
.read-text ul{margin:0 0 1em;padding-left:1.2em}
.read-text li{margin:0 0 .4em}
.front{margin-top:12px}
.pu-open{width:100%;margin:22px 0 0}
.chend{margin:28px 0 0;padding:16px 18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gd) 30%,transparent);font:italic 400 calc(var(--fs) * .85)/1.6 var(--rf);color:var(--tx2);text-align:center}
.vfoot{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0}
.vfoot .btn{flex:1 1 220px}
.rbtn.on{color:var(--ts);background:linear-gradient(var(--panel2),var(--panel2)) padding-box,linear-gradient(90deg,var(--ts),var(--cy)) border-box}

/* ---------- szólap ---------- */
.sheet{position:fixed;inset:0;z-index:40}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s}
.sheet-p{position:absolute;left:0;right:0;bottom:0;max-height:78vh;max-height:78dvh;overflow:auto;overscroll-behavior:contain;
  padding:22px max(18px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  border-radius:24px 24px 0 0;background:var(--panel2);border-top:1px solid var(--line);box-shadow:0 -10px 40px rgba(0,0,0,.35);
  transform:translateY(100%);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.sheet.open .sheet-bg{opacity:1}
.sheet.open .sheet-p{transform:none}
.sheet-x{position:absolute;top:10px;right:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--mut2);cursor:pointer}
@media (min-width:700px){.sheet-p{left:50%;right:auto;bottom:auto;top:50%;width:560px;max-height:80vh;border-radius:24px;border:1px solid var(--line);transform:translate(-50%,-46%);opacity:0;transition:transform .2s,opacity .2s}
  .sheet.open .sheet-p{transform:translate(-50%,-50%);opacity:1}}
.wsheet+.wsheet{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.wsa{margin:0 44px 4px 0;font:italic 400 30px/1.2 var(--rf);color:var(--gd);letter-spacing:0}
.whu{margin:0 0 12px;font:700 19px/1.4 var(--rf);color:var(--read)}
.wgl{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.08);font-size:14px;color:var(--tx2)}
.wgl span{display:block;margin-bottom:2px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ts)}
.wsheet h3{margin:16px 0 8px;font-size:10px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--mut2)}
.occ{list-style:none;margin:0;padding:0}
.occ li{padding:8px 0;border-top:1px solid var(--line);font-size:15px}
.occ .ohu{color:var(--tx)}
.occ .oids{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px;vertical-align:middle}
.occ a{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--gd);text-decoration:none}
.occ .more{font-size:11px;color:var(--mut2)}

/* ---------- keresés ---------- */
.sbox{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:5;margin:0 0 16px}
.sbox input{min-height:54px;padding:0 18px;border-radius:16px;font-size:17px;background:var(--panel2)}
.sbox input:focus{outline:none;border-color:var(--gd);box-shadow:0 0 0 3px color-mix(in srgb,var(--gd) 22%,transparent)}
.scount{margin:0 0 10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut2)}
.sgroup{margin:0 0 22px}
.sgroup .more{width:100%;margin-top:10px}
.glrow{display:flex;flex-direction:column;gap:2px;padding:12px 16px;margin:0 0 8px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:14.5px;color:var(--tx2)}
.glrow b{font:italic 400 17px var(--rf);color:var(--gd)}
.glrow mark{background:color-mix(in srgb,var(--sf) 30%,transparent);color:inherit;border-radius:3px}
.tips .hint{font-size:14px;line-height:1.6}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--tx);text-decoration:none;font-size:14px}
.vlist.jump{margin:0 0 12px;border-color:color-mix(in srgb,var(--gd) 40%,transparent)}

@media (min-width:900px){
  .wrap{padding-top:36px}
  .sbox{top:72px}
}
.prog .stats{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.prog .stats div{padding:10px 12px}
.prog .stats dd{font-size:21px}
@media (max-width:359px){.prog .ring{margin:0 auto}}

/* ---------- kártyák: közös ---------- */
.cbtn.on{color:var(--gd);background:linear-gradient(var(--panel2),var(--panel2)) padding-box,var(--grad-warm) border-box}
.vfoot .rbtn,.vfoot .cbtn{flex:1 1 150px}
.vfoot #b-next{flex:1 1 100%}
@media (min-width:700px){.vfoot #b-next{flex:1 1 220px}}
.wcard{width:100%;margin-top:16px}
.rtile{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:14px 16px;border-radius:18px;background:var(--panel);border:1px solid var(--line);color:var(--tx2);text-decoration:none}
.rtile>svg:first-child{color:var(--mut2)}
.rtile span{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.rtile b{font-weight:500;color:var(--tx)}
.rtile small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2)}
.rtile>svg:last-child{color:var(--mut2)}
.rtile.on{border-color:color-mix(in srgb,var(--gd) 45%,transparent)}
.rtile.on>svg:first-child{color:var(--gd)}

/* ---------- tanulás ---------- */
.panel.empty .lead{margin:0}
.panel .sub-h{margin:20px 0 10px;font-size:10px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--mut2)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:110px}
.week div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}
.week i{display:block;width:100%;max-width:34px;min-height:3px;border-radius:6px 6px 2px 2px;background:var(--grad-warm);opacity:.85}
.week div:first-child i{opacity:1;box-shadow:0 0 12px color-mix(in srgb,var(--sf) 40%,transparent)}
.week b{font-size:12px;font-weight:400;color:var(--tx)}
.week span{font-size:10px;letter-spacing:.06em;color:var(--mut2)}
.panel .seg{flex-wrap:wrap}
.hint.first{margin-top:0}
.hint b{color:var(--tx2);font-weight:500}
.vrow .due{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sf);margin-right:4px}

/* ---------- ismétlés ---------- */
.rv-top{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.rv-top .n{font-size:11px;color:var(--mut2);white-space:nowrap;font-variant-numeric:tabular-nums}
.rv-undo{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-8px;border:0;border-radius:12px;background:none;color:var(--mut2);cursor:pointer}
.rv-undo:disabled{opacity:.3;cursor:default}
.fc{position:relative;min-height:46vh;min-height:46dvh;display:flex;flex-direction:column;padding:22px 20px 24px;border-radius:24px;background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:center}
.fc.flipped{cursor:default}
.fc.fresh{border-color:color-mix(in srgb,var(--ts) 40%,transparent)}
.fc-k{margin:0 0 18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cy)}
.newb{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--ts) 18%,transparent);color:var(--ts);letter-spacing:.14em}
.fc-front{flex:1;display:flex;flex-direction:column;justify-content:center}
.fc-sa{margin:0;font:italic 400 clamp(34px,10vw,46px)/1.2 var(--rf);color:var(--gd);overflow-wrap:anywhere}
.fc-iast{margin:0 0 6px}
.fc .dv{margin-bottom:12px}
.fc-q{margin:18px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2)}
p.fc-q:not(.mono){font:400 calc(var(--fs) * .92)/1.5 var(--rf);letter-spacing:0;text-transform:none;color:var(--tx2)}
p.fc-q span{display:block;margin-bottom:2px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ts)}
.gap{display:inline-block;min-width:3.2em;padding:0 4px;border-radius:6px;font-style:normal;letter-spacing:.12em;color:var(--sf);background:color-mix(in srgb,var(--sf) 14%,transparent);border-bottom:2px solid var(--sf)}
.gap.shown{font-style:italic;letter-spacing:0;color:var(--tx-strong);background:color-mix(in srgb,var(--ts) 20%,transparent);border-color:var(--ts)}
.fc-back{margin:22px 0 0;padding:20px 0 0;border-top:1px dashed var(--line);text-align:left}
.fc-hu{margin:0 0 14px;font:700 calc(var(--fs) * 1.1)/1.45 var(--rf);color:var(--read);text-align:center}
.fc-tr .tr-text{margin-bottom:10px}
.fc-words{margin:14px 0 0}
.fc-words b{font:italic 400 1em var(--rf);color:var(--gd)}
.fc-more{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2);text-decoration:none}
.fc-more svg{width:14px;height:14px}
.fc .occ{text-align:left}
.rv-acts{position:sticky;bottom:var(--tabh);z-index:6;margin:6px -16px 0;padding:22px 16px 10px;background:linear-gradient(transparent,var(--bg) 22px)}
.flipb[hidden]{display:none}
.flipb{width:100%;min-height:56px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.grades[hidden]{display:none}
.gb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:6px 4px;border-radius:16px;cursor:pointer;
  font:500 15px/1.1 "SG",system-ui,sans-serif;color:var(--tx);background:var(--panel2);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.gb span{font-size:10px;letter-spacing:.06em;color:var(--mut2)}
.gb.g0{border-color:color-mix(in srgb,var(--dn) 55%,transparent)}.gb.g0 b{color:var(--dn)}
.gb.g1{border-color:color-mix(in srgb,var(--gd) 45%,transparent)}
.gb.g2{border-color:color-mix(in srgb,var(--ts) 60%,transparent)}.gb.g2 b{color:var(--ts)}
.gb.g3{border-color:color-mix(in srgb,var(--cy) 50%,transparent)}.gb.g3 b{color:var(--cy)}
.gb b{font-weight:500}
.gb:active{transform:scale(.97)}
.rv-done{padding-top:4vh}
@media (min-width:900px){.rv-acts{bottom:0;padding-bottom:16px}}

/* ---------- szótár ---------- */
.dbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.dmine{display:flex;align-items:center;gap:10px;min-height:44px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut2);cursor:pointer}
.dmine input{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--sf)}
.dlist{display:flex;flex-direction:column;border-radius:18px;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.drow{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;width:100%;padding:13px 16px;border:0;border-top:1px solid var(--line);
  background:none;color:var(--tx2);text-align:left;cursor:pointer;font:400 14.5px/1.45 "SG",system-ui,sans-serif}
.drow:first-child{border-top:0}
.drow:hover{background:rgba(127,127,127,.06)}
.drow b{font:italic 400 18px/1.3 var(--rf);color:var(--gd);overflow-wrap:anywhere}
.drow .dhu{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow .n{font-size:11px;color:var(--mut2)}
.drow.card .n::before{content:"● ";color:var(--sf)}
@media (max-width:520px){.drow{grid-template-columns:minmax(0,1fr) auto}.drow .dhu{grid-column:1 / -1;grid-row:2;white-space:normal}}
#dres .more{width:100%;margin-top:10px}

/* ---------- kedvencek, jegyzetek ---------- */
.fav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-4px;border:0;border-radius:50%;background:none;color:var(--mut);cursor:pointer}
.fav svg{width:24px;height:24px}
.fav[aria-pressed="true"]{color:var(--gd)}
.fav[aria-pressed="true"] svg{fill:currentColor;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--gd) 55%,transparent))}
.note textarea{display:block;min-height:110px;padding:14px 16px;resize:none;overflow:hidden;border-radius:16px;font:400 calc(var(--fs) * .9)/1.6 var(--rf);color:var(--read);background:var(--panel)}
.note textarea:focus{outline:none;border-color:var(--gd);box-shadow:0 0 0 3px color-mix(in srgb,var(--gd) 20%,transparent)}
.note-open{width:100%}
.nsave{margin:8px 2px 0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2)}
.mytiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.mytile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:16px;border-radius:18px;background:var(--panel);border:1px solid var(--line);color:var(--tx);text-decoration:none}
.mytile svg{grid-row:1 / 3;color:var(--gd)}
.mytile b{font-size:24px;line-height:1;letter-spacing:-.03em;color:var(--tx-strong)}
.mytile span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut2)}
.fr.more-l{margin-top:4px;padding:0;border-top:1px solid var(--line);justify-content:flex-start;gap:12px;color:var(--tx2);font-size:14px}
.fr.more-l span{flex:1}
.fr.more-l svg:first-child{color:var(--gd)}
.seg-tabs{display:flex;width:100%;margin:4px 0 18px}
.seg-tabs a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 10px;border-radius:999px;color:var(--mut2);text-decoration:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.seg-tabs a svg{width:16px;height:16px}
.seg-tabs a[aria-current]{background:var(--grad-warm);color:#140c02}
.nrow .pv{white-space:pre-line;color:var(--tx)}
.nrow .pv mark{background:color-mix(in srgb,var(--sf) 30%,transparent);color:var(--tx-strong);border-radius:3px}
.nrow small{display:block;margin-top:6px;font-size:10px;letter-spacing:.1em;color:var(--mut2)}
.stats dd a{color:inherit;text-decoration:none}

/* ---------- statisztika ---------- */
.bc-plot{display:flex;align-items:flex-end;gap:2px;height:120px;padding-top:18px;border-bottom:1px solid var(--line)}
.bc-c{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;padding:0;border:0;background:none;cursor:pointer;min-width:0}
.bc-c i{display:block;width:100%;border-radius:4px 4px 0 0;background:var(--sf);opacity:.8}
.bc-c:last-child i{opacity:1}
.bc-c.on i,.bc-c:focus-visible i{opacity:1;background:var(--gd)}
.bc-c b{position:absolute;left:50%;transform:translateX(-50%);top:-16px;font-size:10px;font-weight:400;color:var(--tx2)}
.bc-c:focus-visible{outline-offset:0}
.bc-ax{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--mut2)}
.bc-cap{margin:8px 0 0;min-height:1.4em;font-size:11px;letter-spacing:.06em;color:var(--tx2)}
.vm-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut2)}
.vm-leg span{display:inline-flex;align-items:center;gap:6px}
.vmap{display:flex;flex-direction:column;gap:8px}
.vm-row{display:grid;grid-template-columns:22px minmax(0,1fr) 34px;gap:8px;align-items:start}
.vm-n{font-size:11px;line-height:14px;color:var(--gd);text-decoration:none;text-align:right}
.vm-p{font-size:10px;line-height:14px;color:var(--mut2);text-align:right}
.vm-cells{display:flex;flex-wrap:wrap;gap:3px}
.vm-c{display:inline-block;width:11px;height:11px;border-radius:3px;background:rgba(127,127,127,.2);box-sizing:border-box}
.vm-c.r{background:var(--sf)}
.vm-c.k{box-shadow:inset 0 0 0 2px var(--ts)}
.vm-c.r.k{box-shadow:inset 0 0 0 2px var(--ts),inset 0 0 0 3px var(--panel2)}
.vm-c.f{border-radius:50%}
a.vm-c:hover{transform:scale(1.35)}
@media (min-width:700px){.vm-c{width:13px;height:13px}}
