/* ===== betűk (saját tárhelyről) ===== */
@font-face{font-family:"Space Grotesk";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:"Space Grotesk";font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-500-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:"Space Grotesk";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:"Space Grotesk";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+0323,U+1D00-1DBF,U+1E00-1E3F,U+1E42-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0323,U+1D00-1DBF,U+1E00-1E3F,U+1E42-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";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+0323,U+1D00-1DBF,U+1E00-1E3F,U+1E42-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-weight:400;font-display:swap;src:url(fonts/tr-m-400.woff2) format("woff2");unicode-range:U+1E40-1E41}
@font-face{font-family:"Space Grotesk";font-weight:500;font-display:swap;src:url(fonts/tr-m-500.woff2) format("woff2");unicode-range:U+1E40-1E41}
@font-face{font-family:"Space Grotesk";font-weight:700;font-display:swap;src:url(fonts/tr-m-700.woff2) format("woff2");unicode-range:U+1E40-1E41}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+2212}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+2212}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-024F}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-024F}
@font-face{font-family:"Noto Serif Devanagari";font-weight:400;font-display:swap;src:url(fonts/noto-serif-devanagari-devanagari-400-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Noto Serif Devanagari";font-weight:600;font-display:swap;src:url(fonts/noto-serif-devanagari-devanagari-600-normal.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF}

/* ===== alap ===== */
:root{
 --bg:#05060a;--panel:rgba(10,12,20,.82);--panel2:rgba(16,19,30,.92);--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
 --tx:#e8ecf5;--tx2:#b9c1d3;--mut:#6b7488;--mut2:#8c95aa;
 --cy:#7cf9ff;--vi:#b388ff;--pk:#ff5ea8;--up:#5cffb0;--dn:#ff5e7a;--ye:#ffd166;
 --grad:linear-gradient(90deg,#7cf9ff,#b388ff 55%,#ff5ea8);
 --sg:"Space Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--dev:"Noto Serif Devanagari",serif;
 --r:20px;--top:64px;--tab:0px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--sg);font-size:16px;line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}
.orb{position:fixed;width:min(720px,120vw);aspect-ratio:1;right:-25vw;top:-40vh;border-radius:50%;background:conic-gradient(from 0deg,#7cf9ff,#b388ff,#ff5ea8,#7cf9ff);filter:blur(110px);opacity:.17;pointer-events:none;z-index:0;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
.dev{font-family:var(--dev);font-weight:400}
.tr{font-family:var(--sg)}
.mono{font-family:var(--mono)}
.kick{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--cy)}
.kick b{color:var(--pk);font-weight:500}
.mut{color:var(--mut)}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:8px}

/* ===== felső sáv ===== */
.top{position:sticky;top:0;z-index:30;height:var(--top);background:rgba(5,6,10,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .in{max-width:1680px;margin:0 auto;padding:0 clamp(16px,3vw,48px);height:100%;display:flex;align-items:center;gap:20px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none;font-weight:700;letter-spacing:-.04em;font-size:20px;white-space:nowrap}
.logo small{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--mut);font-weight:400}
.cur{color:var(--cy);animation:blink 1.05s steps(2) infinite}
@keyframes blink{to{opacity:0}}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);text-decoration:none;padding:0 14px;height:40px;display:flex;align-items:center;border-radius:999px;border:1px solid transparent;transition:.2s}
.nav a:hover{color:var(--tx)}
.nav a.on{color:var(--tx);background:rgba(255,255,255,.05);border-color:var(--line2)}
.nav a i{font-style:normal;color:var(--pk);margin-right:6px}
.streak{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--up);white-space:nowrap}
.streak svg{width:16px;height:16px}

@media (min-width:720px) and (max-width:1023px){.nav a{padding:0 10px;letter-spacing:.08em}.nav a i{display:none}.top .in{gap:12px}.logo small{display:none}}
/* ===== alsó tabsáv (telefon) ===== */
.tabbar{display:none}
@media (max-width:719px){
 :root{--top:56px;--tab:calc(68px + env(safe-area-inset-bottom))}
 .nav{display:none}.streak{margin-left:auto}
 .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--tab);padding:8px 4px env(safe-area-inset-bottom);background:rgba(7,8,14,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
 .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--mut);text-decoration:none;padding-top:4px;min-height:48px}
 .tabbar a.on{color:var(--cy)}
 .tabbar a.on svg{filter:drop-shadow(0 0 6px rgba(124,249,255,.6))}
 .tabbar svg{width:22px;height:22px}
 .tabbar .dot{position:absolute;margin-left:18px;width:7px;height:7px;border-radius:50%;background:var(--pk);box-shadow:0 0 8px var(--pk)}
}
svg.i{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ===== tartalom ===== */
main{position:relative;z-index:1;max-width:1680px;margin:0 auto;padding:28px clamp(16px,3vw,48px) calc(48px + var(--tab))}
.hero{margin:6px 0 22px}
h1{font-size:clamp(28px,5vw,44px);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin:10px 0 8px}
h2{font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.15}
h3{font-size:17px;font-weight:700;letter-spacing:-.02em}
.sub{color:var(--tx2);max-width:760px;font-size:15px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.glow{border:1px solid transparent;background:linear-gradient(var(--panel2),var(--panel2)) padding-box,linear-gradient(120deg,#7cf9ff,#b388ff,#ff5ea8) border-box;box-shadow:0 0 26px rgba(179,136,255,.22),0 0 60px rgba(124,249,255,.07);border-radius:22px;padding:22px}
.reveal{animation:rv .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes rv{from{opacity:0;transform:translateY(18px)}}

/* szegmens-választó */
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);color:var(--mut2);transition:.2s}
.seg button.on{background:var(--cy);border-color:var(--cy);color:#05060a;font-weight:500}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;background:linear-gradient(#0b0d16,#0b0d16) padding-box,var(--grad) border-box;color:var(--tx);transition:.2s;text-decoration:none}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 22px rgba(179,136,255,.3)}
.btn.p{background:var(--grad);color:#05060a;font-weight:500}
.btn.g{background:rgba(255,255,255,.04);border-color:var(--line2)}
.btn svg{width:16px;height:16px}
.btn[disabled]{opacity:.4;pointer-events:none}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row .btn{flex:1 1 140px}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;padding:6px 11px;border-radius:999px;border:1px solid var(--line2);color:var(--tx2);white-space:nowrap}
.chip.c{border-color:rgba(124,249,255,.4);color:var(--cy)}
.chip.v{border-color:rgba(179,136,255,.45);color:var(--vi)}
.chip.p{border-color:rgba(255,94,168,.45);color:var(--pk)}
.chip.u{border-color:rgba(92,255,176,.45);color:var(--up)}
.chips{display:flex;flex-wrap:wrap;gap:6px}

/* ===== tanulás: elrendezés ===== */
.learn{display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,28vw,480px);gap:20px;align-items:start}
.side{position:sticky;top:calc(var(--top) + 20px)}
@media (max-width:1023px){.learn{grid-template-columns:minmax(0,1fr)}.side{display:none}}

/* betűrács */
.gridt{display:grid;gap:7px;align-items:stretch}
.gh .s{display:none}
.gh{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);text-align:center;align-self:end;padding-bottom:2px;line-height:1.25}
.rl{font-family:var(--mono);font-size:11px;color:var(--mut2);align-self:center;line-height:1.25}
.rl small{display:block;color:var(--mut);font-size:9px;letter-spacing:.06em}
.cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);transition:.15s;padding:6px 2px}
.cell:hover{border-color:var(--line2);background:rgba(255,255,255,.05);transform:translateY(-1px)}
.cell .dev{font-size:30px;line-height:1.15}
.cell .tr{font-size:12px;color:var(--mut2);margin-top:2px}
.cell.empty{border-style:dashed;opacity:.35;pointer-events:none}
.cell.sel{border-color:var(--cy);box-shadow:0 0 0 1px var(--cy),0 0 22px rgba(124,249,255,.25)}
.cell.ok{border-color:rgba(92,255,176,.45)}.cell.ok .tr{color:var(--up)}
.cell.bad{border-color:rgba(255,94,122,.5)}.cell.bad .tr{color:var(--dn)}
.cell.lrn{border-color:rgba(179,136,255,.45)}
.cell .alt{position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--pk);box-shadow:0 0 8px var(--pk)}
.legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.sect{margin-top:22px}
.sect>.kick{margin-bottom:10px;display:block}
@media (max-width:519px){
 .gridt{gap:5px}
 .cell{min-height:62px;border-radius:12px}
 .cell .dev{font-size:26px}
 .cell .tr{font-size:11px}
 .gh{font-size:9px;letter-spacing:.04em}.gh .l{display:none}.gh .s{display:inline}
 .rl{font-size:10px}.rl small{display:none}
 .card{padding:14px}
}

/* részletek panel */
.det .bigrow{display:flex;align-items:center;gap:18px;margin:8px 0 6px}
.det .big{font-size:110px;line-height:1.1;flex:none}
.det .ia{font-size:40px;font-weight:700;letter-spacing:-.04em;line-height:1}
.det .ej{font-family:var(--mono);font-size:12px;color:var(--mut2);margin-top:6px}
.det .chips{margin:12px 0 4px}
.det p{color:var(--tx2);font-size:14px;margin-top:10px}
.det .box{font-family:var(--mono);font-size:11px;color:var(--mut2);margin-top:12px;display:flex;align-items:center;gap:8px}
.lbox{display:flex;gap:3px}.lbox i{width:14px;height:6px;border-radius:2px;background:rgba(255,255,255,.1)}.lbox i.f{background:var(--vi)}
.syl{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin-top:10px}
.syl button{border:1px solid var(--line);border-radius:12px;padding:6px 2px;text-align:center;transition:.15s}
.syl button:hover{border-color:var(--cy)}
.syl .dev{font-size:24px;display:block;line-height:1.3}
.syl .tr{font-size:11px;color:var(--mut2)}
.altimg{display:flex;align-items:center;gap:14px;margin-top:12px;padding:12px;border:1px dashed rgba(255,94,168,.4);border-radius:14px}
.altimg img{width:44px;height:auto;flex:none;filter:drop-shadow(0 0 6px rgba(124,249,255,.45))}
.altimg p{margin:0;font-size:13px}
.ex{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.ex .dev{font-size:22px}.ex .tr{color:var(--tx2);font-size:14px}.ex .tr b{color:var(--cy);font-weight:500}.ex em{margin-left:auto;font-style:normal;font-size:12px;color:var(--mut)}
.place{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}
.place div{border:1px solid var(--line);border-radius:12px;padding:8px 2px;text-align:center;font-family:var(--mono);font-size:9px;color:var(--mut);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.place div.on{border-color:var(--pk);color:var(--pk);background:rgba(255,94,168,.07)}
.hl{color:var(--cy)}

/* alsó lap (telefon/tablet) */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;opacity:0;pointer-events:none;transition:.25s}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:rgba(11,13,22,.98);border-top:1px solid rgba(179,136,255,.45);border-radius:26px 26px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.7,.2,1);box-shadow:0 -24px 60px rgba(0,0,0,.6)}
.sheet:not(.on){visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s .32s}
.sheet.on{transform:none}
.sheet .grab{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.2);margin:4px auto 10px}
.sheet .x{position:absolute;right:14px;top:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center}
.sheet .x svg{width:18px;height:18px}
@media (min-width:720px){.sheet{left:50%;width:min(680px,100%);transform:translate(-50%,105%);border:1px solid rgba(179,136,255,.45);border-bottom:0}.sheet.on{transform:translate(-50%,0)}}

/* jelek nézet */
.cons-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;margin:0 0 16px}
.cons-pick::-webkit-scrollbar{display:none}
.cons-pick button{height:50px;border-radius:14px;border:1px solid var(--line);font-family:var(--dev);font-size:24px}
.cons-pick button.on{border-color:var(--cy);box-shadow:0 0 14px rgba(124,249,255,.3);color:var(--cy)}
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rule{border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}
.rule .dev{font-size:40px;line-height:1.3}
.rule .w{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--pk);margin-top:2px}
.rule .tr{font-size:13px;color:var(--mut2)}
@media (max-width:519px){.rules{grid-template-columns:repeat(2,1fr)}}
.signs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.sgc{border:1px solid var(--line);border-radius:16px;padding:10px 6px;text-align:center;transition:.15s}
.sgc:hover{border-color:var(--line2);transform:translateY(-1px)}
.sgc .dev{font-size:36px;line-height:1.3;display:block}
.sgc .tr{font-size:14px;font-weight:500}
.sgc .w{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.sgc.ok{border-color:rgba(92,255,176,.45)}.sgc.bad{border-color:rgba(255,94,122,.5)}

/* ligatúra / sandhi */
.ligs{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.lig{border:1px solid var(--line);border-radius:16px;padding:12px 6px;text-align:center;transition:.15s}
.lig:hover{border-color:var(--line2);transform:translateY(-1px)}
.lig .dev{font-size:38px;line-height:1.3;display:block}
.lig .tr{font-size:14px;font-weight:500}
.lig .w{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.lig.ok{border-color:rgba(92,255,176,.45)}.lig.bad{border-color:rgba(255,94,122,.5)}
.eq{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:14px 0}
.eq .dev{font-size:44px;line-height:1.2}
.eq .op{font-family:var(--mono);color:var(--mut);font-size:18px}
.eq .res{color:var(--cy)}
.eq.sm .dev{font-size:28px}
.sandhi{display:grid;gap:10px}
.sr-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-align:left;transition:.15s;width:100%}
.sr-card:hover{border-color:var(--line2)}
.sr-card .r{font-weight:700;font-size:15px}
.sr-card .x{font-size:13px;color:var(--tx2)}
.sr-card .x b{color:var(--cy);font-weight:500}
.sr-card .dev{font-size:22px;grid-row:span 2;color:var(--tx)}
.sr-card.ok{border-color:rgba(92,255,176,.4)}.sr-card.bad{border-color:rgba(255,94,122,.45)}
@media (max-width:519px){.sr-card{grid-template-columns:1fr}.sr-card .dev{grid-row:auto}}

/* ===== gyakorlás ===== */
.modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.mode{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);transition:.2s;width:100%}
.mode:hover{transform:translateY(-2px);border-color:rgba(179,136,255,.5);box-shadow:0 0 24px rgba(179,136,255,.15)}
.mode .ic{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(124,249,255,.07);border:1px solid rgba(124,249,255,.3);font-family:var(--dev);font-size:24px;color:var(--cy)}
.mode h3{margin-bottom:3px}
.mode p{font-size:13px;color:var(--mut2);line-height:1.4}
.mode.feat{background:linear-gradient(var(--panel2),var(--panel2)) padding-box,var(--grad) border-box;border-color:transparent}
.quiz{max-width:640px;margin:0 auto}
@media (min-width:1024px){.quiz{max-width:780px}.qcard .big{font-size:170px}.opt{min-height:78px;font-size:24px}.opt .dev{font-size:40px}}
.qtop{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.qtop .x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;flex:none}
.qtop .x svg{width:18px;height:18px}
.prog{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.prog i{display:block;height:100%;background:var(--grad);transition:width .35s}
.qtop .n{font-family:var(--mono);font-size:12px;color:var(--mut2);font-variant-numeric:tabular-nums}
.qcard{text-align:center;padding:20px 18px 24px}
.qcard .big{font-size:clamp(96px,26vw,140px);line-height:1.2}
.qcard .bigt{font-size:clamp(46px,12vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.15;margin:18px 0 8px}
.qcard .ask{color:var(--tx2);font-size:15px;margin-top:4px}
.qcard .hint{font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:6px;letter-spacing:.06em}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.opt{position:relative;min-height:66px;border-radius:18px;border:1px solid var(--line2);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;padding:10px 12px 10px 30px;font-size:21px;font-weight:700;letter-spacing:-.02em;transition:.15s;line-height:1.15}
.opt:hover{border-color:rgba(124,249,255,.5)}
.opt .k{position:absolute;left:12px;top:9px;font-family:var(--mono);font-size:9px;color:var(--mut);font-weight:400}
.opt .dev{font-size:34px;font-weight:400}
.opt.sm{font-size:16px}
.opt.ok{border-color:var(--up);color:var(--up);background:rgba(92,255,176,.08);box-shadow:0 0 22px rgba(92,255,176,.18)}
.opt.no{border-color:var(--dn);color:var(--dn);background:rgba(255,94,122,.08)}
.opt.dim{opacity:.4}
.opts.locked .opt{pointer-events:none}
.opts.sign{grid-template-columns:repeat(4,1fr)}
.opts.sign .opt{padding:8px 4px 4px;flex-direction:column;min-height:74px}
.opts.sign .opt .dev{font-size:34px;line-height:1.1}
.opts.sign .opt .tr{font-size:11px;color:var(--mut2);font-weight:400}
.fb{margin-top:14px;border-radius:18px;padding:14px 16px;border:1px solid var(--line2)}
.fb.ok{border-color:rgba(92,255,176,.4);background:rgba(92,255,176,.05)}
.fb.no{border-color:rgba(255,94,122,.4);background:rgba(255,94,122,.05)}
.fb .t{font-weight:700;margin-bottom:4px}
.fb.ok .t{color:var(--up)}.fb.no .t{color:var(--dn)}
.fb .m{font-size:13px;color:var(--tx2)}
.fb .m .dev{font-size:20px}
.fb .cmp{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:6px}
.fb .cmp .dev{font-size:32px}
.qnext{margin-top:16px;width:100%}
.stage{position:relative;height:200px;margin:8px auto 0;max-width:320px}
.stage .base{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:110px;line-height:1}
.stage .slot{position:absolute;border:1.5px dashed rgba(124,249,255,.3);border-radius:12px;transition:.3s}
.stage .slot.on{border-color:var(--pk);background:rgba(255,94,168,.09);box-shadow:0 0 20px rgba(255,94,168,.3)}
.stage .s-pre{left:6%;top:24%;width:16%;height:56%}
.stage .s-post{right:6%;top:24%;width:16%;height:56%}
.stage .s-top{left:30%;top:2%;width:40%;height:18%}
.stage .s-bot{left:32%;bottom:0;width:36%;height:20%}
.stage .lab{position:absolute;font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}
.done{text-align:center;padding:30px 20px}
.done .score{font-size:72px;font-weight:700;letter-spacing:-.05em;line-height:1}
.done .bar{height:8px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;margin:18px auto;max-width:340px}
.done .bar i{display:block;height:100%;background:var(--grad)}
.mist{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 4px}
.mist span{border:1px solid rgba(255,94,122,.4);border-radius:12px;padding:6px 10px;font-size:13px}
.mist .dev{font-size:22px;margin-right:6px}

/* írás */
.write{max-width:560px;margin:0 auto}
.pad{position:relative;width:100%;max-width:520px;aspect-ratio:1;margin:14px auto 0;border-radius:24px;border:1px solid var(--line2);background:rgba(255,255,255,.02);overflow:hidden;touch-action:none}
.pad .ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--dev);font-size:min(78vw,300px);line-height:1;color:rgba(124,249,255,.12);pointer-events:none;transition:opacity .2s}
.pad .ghost.off{opacity:0}
.pad .guide{position:absolute;left:6%;right:6%;border-top:1px dashed rgba(255,255,255,.12);pointer-events:none}
.pad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.steps{display:grid;gap:8px;margin-top:14px}
.steps div{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--tx2)}
.steps b{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--pk);color:var(--pk);font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:500}

/* ===== haladás ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:899px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat .n{font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums}
.stat .n small{font-size:13px;color:var(--mut);font-weight:400;margin-left:4px;letter-spacing:0}
.stat .bar{height:6px;border-radius:3px;background:rgba(255,255,255,.07);margin-top:12px;overflow:hidden}
.stat .bar i{display:block;height:100%;background:var(--grad);border-radius:3px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width:767px){.two{grid-template-columns:1fr}}
.leit{display:flex;align-items:flex-end;gap:10px;height:140px;margin-top:16px}
.leit div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.leit i{display:block;width:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--vi),rgba(179,136,255,.15));min-height:3px;transition:height .8s cubic-bezier(.2,.7,.2,1)}
.leit div:last-child i{background:linear-gradient(180deg,var(--up),rgba(92,255,176,.15))}
.leit span{font-family:var(--mono);font-size:10px;color:var(--mut2);text-align:center;line-height:1.3}
.pairs .pr{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}
.pairs .pr:first-child{border-top:0}
.pairs .dev{font-size:24px}
.pairs .c{font-family:var(--mono);font-size:12px;color:var(--dn)}
.chart svg{width:100%;height:auto;display:block;margin-top:12px}
.empty-note{color:var(--mut);font-size:14px;padding:12px 0}

/* ===== referencia ===== */
.tblw{overflow-x:auto}
.ref-m{display:none}
.rm{padding:12px 0;border-top:1px solid var(--line)}.rm:first-child{border-top:0}
.rm .rl{margin-bottom:8px;font-size:12px}.rm .rl small{display:inline;margin-left:6px}
.rmc{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.rmc div{border:1px solid var(--line);border-radius:12px;padding:6px 2px;text-align:center}.rmc .dev{display:block;font-size:30px;line-height:1.25}.rmc .tr{font-size:14px;color:var(--tx2)}
table.ref{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;font-size:14px}
table.ref th{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:500;text-align:left;padding:8px;border-bottom:1px solid var(--line2);vertical-align:bottom}
table.ref td{white-space:nowrap;padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
table.ref td .dev{font-size:24px;margin-right:6px}
table.ref td .tr{color:var(--tx2)}
table.ref td.rh{font-family:var(--mono);font-size:11px;color:var(--mut2);white-space:nowrap}
.pron{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pron div{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px}
.pron .dev{font-size:26px;width:36px;text-align:center}
.pron .tr{font-weight:700}
.pron .mono{font-size:11px;color:var(--mut2)}

footer{position:relative;z-index:1;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--mut);padding:0 20px calc(28px + var(--tab));text-transform:uppercase}
footer a{color:var(--mut2)}
.toast{position:fixed;left:50%;bottom:calc(20px + var(--tab));transform:translate(-50%,30px);opacity:0;z-index:80;background:var(--panel2);border:1px solid rgba(124,249,255,.4);border-radius:999px;padding:10px 18px;font-size:13px;transition:.3s;pointer-events:none;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ===== nagy képernyő ===== */
@media (min-width:1280px){
 .gridt{gap:10px}
 .cell{min-height:94px;border-radius:16px}
 .cell .dev{font-size:42px}
 .cell .tr{font-size:14px}
 .gh{font-size:11px}.rl{font-size:13px}
 .det .big{font-size:130px}.det .ia{font-size:46px}
 .syl{grid-template-columns:repeat(auto-fill,minmax(62px,1fr))}.syl .dev{font-size:28px}.syl .tr{font-size:12px}
 .signs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.sgc .dev{font-size:44px}.sgc .tr{font-size:16px}
 .ligs{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.lig .dev{font-size:46px}.lig .tr{font-size:16px}
 .rule .dev{font-size:52px}
 .sr-card .dev{font-size:28px}.sr-card .r{font-size:17px}.sr-card .x{font-size:14px}
 .pron{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.pron .dev{font-size:30px}
 table.ref td .dev{font-size:28px}
}
@media (min-width:1600px){
 .cell{min-height:108px}.cell .dev{font-size:50px}.cell .tr{font-size:15px}
 h1{font-size:52px}
}
/* ===== telefon: nagyobb betűk, nincs oldalra görgetés ===== */
@media (max-width:719px){
 body{font-size:17px}
 .sub{font-size:16px}
 .kick{font-size:11.5px;letter-spacing:.22em}
 .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .seg button{height:46px;padding:0 4px;font-size:11px;letter-spacing:.05em}
 .card{padding:14px}
 .gridt{grid-template-columns:repeat(var(--n),minmax(0,1fr))!important;gap:6px}
 .gridt .corner,.gridt .gpad{display:none}
 .rl{grid-column:1/-1;margin-top:8px;font-size:12px;color:var(--tx2);letter-spacing:.06em}
 .rl small{display:inline!important;margin-left:6px;font-size:10px}
 .gh{font-size:10px!important;letter-spacing:.04em!important}
 .cell{min-height:86px;border-radius:14px}
 .cell .dev{font-size:40px;line-height:1.1}
 .cell .tr{font-size:15px;margin-top:4px}
 .cell .alt{width:8px;height:8px;top:7px;right:7px}
 .legend .chip{font-size:12px}
 .cons-pick{grid-template-columns:repeat(6,minmax(0,1fr))}
 .cons-pick button{font-size:26px;height:52px}
 .rules .dev{font-size:46px}.rule .tr{font-size:15px}
 .signs{grid-template-columns:repeat(3,minmax(0,1fr))}.sgc .dev{font-size:42px}.sgc .tr{font-size:16px}.sgc .w{font-size:10px}
 .ligs{grid-template-columns:repeat(3,minmax(0,1fr))}.lig .dev{font-size:42px}.lig .tr{font-size:16px}.lig .w{font-size:10px}
 .sr-card .r{font-size:16px}.sr-card .x{font-size:15px}.sr-card .dev{font-size:26px}
 .det .big{font-size:120px}.det .ia{font-size:44px}.det .ej{font-size:13px}.det p{font-size:15px}
 .chip{font-size:12px}
 .syl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.syl .dev{font-size:30px}.syl .tr{font-size:14px}
 .place div{font-size:9.5px}
 .ex .dev{font-size:26px}.ex .tr{font-size:16px}
 .opt{font-size:23px;min-height:72px}.opt.sm{font-size:17px}.opt .dev{font-size:40px}
 .opts.sign .opt .dev{font-size:38px}.opts.sign .opt .tr{font-size:13px}
 .fb .m{font-size:15px}
 .mode h3{font-size:18px}.mode p{font-size:14px}
 .tabbar a{font-size:10.5px;letter-spacing:.02em}
 .tabbar svg{width:24px;height:24px}
 .tblw{display:none}.ref-m{display:block}
 .pron{grid-template-columns:repeat(2,minmax(0,1fr))}.pron .dev{font-size:30px}.pron .tr{font-size:17px}.pron .mono{font-size:12px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
