/* /felveteli/pontszamito/ (2026-10-28): Barnabás pontszámítója (pontszamito.html v3) a weboldal sablonjába illesztve.
   Minden szabály a .psz hatókörben, a weboldal változóival (site.css). Az oldalon kívül semmit nem érint. */
.psz,.psz-mini{--c-math:var(--gold);--c-hun:#7cc4ff;--c-grade:#9be38f;--c-oral:#d7a6ff;--ok:var(--good,#5fd38a)}
.psz{
  max-width:720px;margin:18px 0 0;display:grid;gap:18px}
.psz a:not(.btn):not(.sh){color:var(--gold)}
.psz button:not(.sh):not(.btn),.psz select,.psz input{font:inherit;color:inherit}   /* a megosztó gombok (.sh) a site.css saját stílusát tartják */
.psz :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.psz .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:14px;min-width:0}
.psz .card-h{display:flex;gap:12px;align-items:baseline;justify-content:space-between}
.psz .card-h h2{font-family:var(--display);font-weight:600;font-size:20px;margin:0;line-height:1.2;display:flex;gap:10px;align-items:baseline}
.psz .card-h h2 span{color:var(--gold)}
.psz .card-h .aside{font-size:13px;color:var(--dim)}
.psz select.big{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:16px;font-weight:600}
.psz .tracks{display:flex;flex-wrap:wrap;gap:8px}
.psz .tracks[hidden]{display:none}
.psz .track{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;min-height:40px}
.psz .track[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft)}
.psz .formula{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.psz .formula .t{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border-radius:8px;padding:4px 9px}
.psz .formula .eq{color:var(--dim)}
.psz .formula .sum{font-weight:700;color:var(--gold)}
.psz .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.psz .notes{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px;color:var(--fg-2)}
.psz .notes[hidden]{display:none}
.psz .src{font-size:12.5px;color:var(--dim);margin:0}
.psz .weights{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.psz .weights[hidden]{display:none}
.psz .w{display:grid;gap:4px}
.psz .w label{font-size:13px;color:var(--fg-2)}
.psz .w input{width:100%;height:42px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:0 10px;font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}
.psz .exam-row{display:grid;gap:4px}
.psz .exam-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.psz .exam-top label{font-weight:700;display:flex;align-items:center;gap:8px}
.psz .stepper{display:flex;align-items:center;gap:6px}
.psz .stepper button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);font-size:20px;line-height:1;cursor:pointer}
.psz .stepper input{width:60px;height:40px;text-align:center;font-family:var(--mono);font-size:18px;font-weight:700;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-variant-numeric:tabular-nums}
.psz .of{font-family:var(--mono);color:var(--dim);font-size:14px}
.psz .rng{position:relative;padding-bottom:24px}
.psz input[type=range]{width:100%;accent-color:var(--gold);margin:0}
.psz .avgmark{position:absolute;top:21px;transform:translateX(-50%);font-size:11px;font-family:var(--mono);color:var(--dim);white-space:nowrap;pointer-events:none}
.psz .avgmark::before{content:"";display:block;width:1px;height:7px;background:var(--dim);margin:0 auto 2px}
.psz .hint{font-size:13px;color:var(--dim);margin:0}
.psz .psz-szabaly{font-size:14px}.psz .psz-szabaly[hidden]{display:none}
.psz .quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--dim)}
.psz .quick[hidden]{display:none}
.psz .chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;cursor:pointer;min-height:36px}
.psz .chip:hover{border-color:var(--gold)}
.psz .gt{display:grid;gap:0;font-size:15px}
.psz .gt-row{display:grid;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.psz .gt-row.head{border-top:0;padding-top:0;font-family:var(--mono);font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.psz .gt-row.head span{text-align:center}
.psz .gt-name{min-width:0;font-weight:600}
.psz .gt-name small{display:block;font-weight:500;color:var(--dim);font-size:12px;line-height:1.35}
/* jegyválasztó: a site.css általános select-paddingja (13px 14px) levágta a számjegyet; saját nyíl, 44 px-es koppintási felület */
.psz .gsel{justify-self:stretch;width:100%;height:46px;padding:0 22px 0 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a9b3c4' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 9px center;-webkit-appearance:none;appearance:none;color-scheme:dark;font-family:var(--mono);font-weight:700;font-size:18px;line-height:1;text-align:center;text-align-last:center;cursor:pointer}
.psz .gsel option{background:var(--panel-2);color:var(--fg)}
.psz .gsel.g5{border-color:color-mix(in srgb,var(--c-grade) 60%,var(--line))}
.psz .gsel.g3,.psz .gsel.g2,.psz .gsel.g1{border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}
.psz .na{justify-self:center;color:var(--dim)}
.psz .avg-in{display:grid;gap:6px}
.psz .avg-in[hidden],.psz .oral[hidden]{display:none}
.psz .result{border-color:var(--gold)}
.psz .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.psz .score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.psz .score .big{font-family:var(--display);font-weight:700;font-size:clamp(46px,11vw,62px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.psz .score .max{font-family:var(--mono);font-size:20px;color:var(--fg-2)}
.psz .score .pct{font-family:var(--mono);font-size:15px;color:var(--dim)}
.psz .for{font-size:14px;color:var(--fg-2);margin:4px 0 0}
.psz .bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--panel-2)}
.psz .bar div{height:100%;transition:width .25s}
.psz .legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.psz .legend div{background:var(--panel-2);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--fg-2);display:grid;gap:2px}
.psz .legend b{font-family:var(--mono);color:var(--fg);font-size:16px;font-variant-numeric:tabular-nums}
.psz .checks{display:grid;gap:6px}
.psz .check{font-size:14px;border-radius:10px;padding:9px 12px;display:flex;gap:10px;align-items:flex-start}
.psz .check.ok{background:color-mix(in srgb,var(--ok) 13%,transparent)}
.psz .check.bad{background:color-mix(in srgb,var(--bad) 13%,transparent)}
.psz .check i{font-style:normal;font-weight:800;min-width:12px}
.psz .check.ok i{color:var(--ok)}.psz .check.bad i{color:var(--bad)}
.psz h3{font-family:var(--display);font-size:17px;font-weight:600;margin:0}
.psz .cheap{display:grid;gap:8px}
.psz .cheap p{margin:0;color:var(--dim);font-size:14px}
.psz .cheap ol{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.psz .cheap li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--panel-2);border-radius:10px;padding:9px 12px}
.psz .cheap li small{display:block;color:var(--dim);font-size:12.5px}
.psz .cheap .gain{font-family:var(--mono);font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.psz .actions{display:flex;flex-wrap:wrap;gap:10px}
.psz .note{font-size:13px;color:var(--dim);margin:0}
.psz .note[hidden]{display:none}
/* élő összpontszám a képernyő alján; a sütisáv fölött marad (--ux-consent-h, site.js) */
.psz-mini{position:fixed;left:0;right:0;bottom:var(--ux-consent-h,0px);z-index:40;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);
  padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));transition:transform .2s}
.psz-mini.is-off{transform:translateY(110%)}
.psz-mini-in{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:12px}
.psz-mini-in b{font-family:var(--display);font-size:22px;color:var(--gold);font-variant-numeric:tabular-nums}
.psz-mini-in span{font-family:var(--mono);color:var(--dim);font-size:14px}
.psz-mini-in .bar{flex:1;height:8px;display:flex;border-radius:999px;overflow:hidden;background:var(--panel-2)}
.psz-mini-in .bar div{height:100%}
.psz-mini-in a{font-size:14px;font-weight:700;white-space:nowrap;color:var(--gold)}
.psz-page{padding-bottom:84px}
@media (prefers-reduced-motion:reduce){.psz .bar div,.psz-mini{transition:none}}
.psz .psz-share{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}
/* megosztó gombok a kártyán belül: keskenyebb oszlop, ezért kisebb ikon és betű, szót nem törünk */
.psz .ux-share .sh{font-size:14.5px;gap:8px;padding:8px 10px 8px 8px;overflow-wrap:normal;word-break:normal}
.psz .ux-share .sh::before{width:32px;height:32px;background-size:18px}
.psz .ux-share .sh-main{font-size:16px}
/* hiányzó iskola kérése (2026-10-29) */
.psz .hint button.psz-link:not(.btn){background:none;border:0;padding:0;color:var(--gold);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;font:inherit;min-height:0}
.psz .psz-miss{display:grid;gap:10px;padding:14px;border:1px dashed var(--line);border-radius:12px}
.psz .psz-miss[hidden]{display:none}
.psz .psz-miss label{font-weight:700}
.psz .psz-miss input.big{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:16px}
.psz .psz-miss input.big[hidden]{display:none}
.psz .psz-miss .btn{justify-self:start;padding-right:42px}   /* a site.js sikeres küldés utáni pipájának helye */
.psz .psz-miss-ok{color:var(--fg-2)}
/* kért iskolák: hol tartunk (2026-10-31; csak állapot, darabszám nélkül) */
.psz .psz-kert{padding:0 14px;border-radius:10px}
.psz .psz-kert[hidden]{display:none}
.psz .psz-kert>summary{padding:10px 0;font-size:14.5px}
.psz .psz-kert-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.psz .psz-kert-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);font-size:14px}
.psz .psz-kert-list a{color:var(--fg);text-underline-offset:.2em}
.psz .psz-kert .note{margin:0 0 12px}
.psz .psz-tag{font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.psz .psz-tag.ok{color:var(--good);background:rgba(61,220,132,.12);border-color:rgba(61,220,132,.55)}
.psz .psz-tag.wip{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-line)}

/* eredmény e-mailben (2026-10-29) */
.psz-mail{display:grid;gap:8px;margin:12px 0 4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.psz-mail label{font-size:14px;color:var(--fg-2)}
.psz-mail-row{display:flex;gap:8px;min-width:0}
.psz-mail-row input{flex:1;min-width:0;min-height:48px;padding:0 14px;border-radius:10px;border:1px solid #5a6783;background:var(--bg);color:var(--fg);font-size:16px;font-family:var(--body)}
.psz-mail-row input:focus{outline:2px solid var(--gold);outline-offset:1px}
.psz-mail-row input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}
.psz-mail-row .btn{flex:none;min-height:48px;padding:0 18px}
.psz-mail .note{margin:0}
.psz-mail-msg{margin:0;font-size:15px;font-weight:600;color:var(--good,#3ddc84)}.psz-mail-msg.bad{color:var(--bad)}
/* „Küldd el a gyerekednek” az eredménykártyán, és a feliratkozás jelölőnégyzetei (2026-11-01) */
.psz-kid{margin:16px 0 12px;padding:16px;border:1px solid var(--gold-line);border-radius:14px;background:var(--gold-soft)}
.psz-kid h3{margin:0 0 6px;font-size:18px}
.psz-kid-lead{margin:0 0 10px;color:var(--fg-2);font-size:14px}
.psz-kid-msg{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.psz-kid-row{display:flex;flex-wrap:wrap;gap:8px}
.psz-kid-row .btn{min-height:44px;padding:0 16px}
.psz-kid-note{margin:8px 0 0;font-size:14px;font-weight:600;color:var(--good,#3ddc84)}
.psz-kid-note:empty{display:none}
.psz-chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--fg-2);line-height:1.45;cursor:pointer}
.psz-chk input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold)}
.psz .psz-miss .psz-chk{font-weight:400}
.psz-mail-row[hidden]{display:none}
/* a pontszámító alatt: mi ez a Szorzó (2026-10-29) */
.psz-about{margin:28px 0 8px;padding:clamp(18px,3vw,30px);border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.psz-about h2{margin:8px 0 10px}
.psz-about-lead{margin:0;max-width:62ch;font-size:16.5px;line-height:1.5;color:var(--fg-2)}
.psz-about-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0;max-width:640px}
.psz-about-shots figure{margin:0;min-width:0}
.psz-about-shots img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#0c0f16}
.psz-about-shots figcaption{margin-top:6px;font-size:12.5px;line-height:1.3;color:var(--muted)}
.psz-about-parent{display:grid;gap:12px;justify-items:start;margin-top:18px}
.psz-about-parent p{margin:0;max-width:62ch;font-size:15.5px;line-height:1.5;color:var(--fg-2)}
.psz-about-parent b{color:var(--fg)}
.psz-about .psz-share{margin-top:18px}
.psz-about-more{margin:14px 0 0;font-size:15px}

/* 2026-11-04: iskolakereső elöl, a többi lépés az iskola kiválasztása után; pontszám csak kitöltés után */
.psz.psz-uj [data-iskola-utan]{display:none!important}
.psz input.psz-q{width:100%;min-height:50px;margin-top:8px;padding:12px;border:1px solid var(--gold-line);border-radius:10px;background:var(--panel-2);font-size:16px;font-weight:600}
.psz input.psz-q:focus{outline:2px solid var(--gold);outline-offset:1px}
.psz-talalat{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.psz .psz-talalat button:not(.btn){display:block;width:100%;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);text-align:left;font-weight:600;font-size:15px;line-height:1.3;cursor:pointer}
.psz .psz-talalat button:not(.btn):hover{border-color:var(--gold-line)}
.psz-talalat small{display:block;margin-top:2px;font-weight:400;font-size:13px;color:var(--muted)}
.psz-nincs{font-size:14px;line-height:1.45;color:var(--fg-2)}
.psz .psz-nincs button.psz-link:not(.btn){display:inline;width:auto;min-height:0;padding:0;border:0;background:none;color:var(--gold);font-weight:400;font-size:inherit;text-decoration:underline;text-underline-offset:.2em}
.psz-teljes{margin-top:10px}
.psz-teljes summary{min-height:36px;padding:6px 0;font-size:14px;color:var(--fg-2);cursor:pointer}
.psz-teljes select{margin-top:6px}
.psz:not(.psz-uj) [data-csak-uj]{display:none!important}
.psz-iskola-sor{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px}
.psz-iskola-sor .psz-szabaly{margin:0}
.psz button.sl-csillag:not(.btn){min-height:40px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--fg-2);font-size:13.5px;font-weight:600;cursor:pointer}
.psz button.sl-csillag[aria-pressed="true"]:not(.btn){border-color:var(--gold-line);background:var(--gold-soft);color:var(--gold)}
.psz-kesz{display:grid;gap:inherit}
.psz-hiany-t{margin:6px 0 8px;font-family:var(--display);font-size:20px;font-weight:600;line-height:1.3;color:var(--fg)}
.psz-terv{margin:4px 0;padding:16px;border:1px solid var(--gold-line);border-radius:14px;background:linear-gradient(180deg,var(--gold-soft),transparent 160%)}
.psz-terv-k{display:block;font:700 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.psz-terv h3{margin:6px 0 0;font-size:19px;line-height:1.25}
.psz-terv-pelda{margin:8px 0 0;font-size:15px;line-height:1.4;color:var(--fg)}
.psz-terv ul{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:5px;font-size:14.5px;line-height:1.35;color:var(--fg-2)}
.psz-terv li{position:relative;padding-left:22px}
.psz-terv li::before{content:"✓";position:absolute;left:0;color:var(--good,#5fd38a);font-weight:700}
.psz-terv .btn{width:100%}
.psz-terv-m{margin:8px 0 0;font-size:13.5px;color:var(--muted)}
/* iskola, aminek a pontos szabálya még nincs meg (2026-11-04) */
.psz-minta{margin:12px 0 0;padding:12px 14px;border:1px solid var(--gold-line);border-radius:12px;background:var(--panel-2);font-size:15px;line-height:1.45}
.psz-minta p{margin:0}
.psz-minta .psz-minta-g{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px}
.psz-minta .psz-minta-ok{margin-top:10px;font-size:14px;color:var(--fg-2)}
