/* Tilia CPP kviz: ta datoteka je NAREJENA iz backend/quiz/cpp-test-engine-v3.html.
   Ne popravljaj je rocno: popravi pogon in pozeni
   node backend/kviz-vticnik/build-vticnik.js */
#ct-app{--ct-navy:#0a1845; --ct-blue:#102a83; --ct-yl:#FFCC00; --ct-yl-dk:#e8b800; --ct-bg:#f7f8fb; --ct-panel:#ffffff;
  --ct-ink:#1b252f; --ct-mut:#696d80; --ct-line:#e2e6ec; --ct-ok:#1e8e3e; --ct-ok-bg:#e9f5ec; --ct-bad:#e53e3e; --ct-bad-bg:#fdeeee;}
#ct-app{box-sizing:border-box; background:var(--ct-bg); color:var(--ct-ink); font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif; border-radius:24px; -webkit-tap-highlight-color:transparent;}
#ct-app *{box-sizing:border-box;}
#ct-app .ct-wrap{max-width:780px; margin:0 auto; padding:24px 14px 40px;}
/* header: one compact row (logo left, "CPP testi" right) */
#ct-app .ct-head{background:var(--ct-navy); color:#fff; border-radius:16px; padding:12px 16px; margin-bottom:10px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:10px; box-shadow:0 10px 24px rgba(5,10,36,.18);}
#ct-app .ct-head:before{content:''; position:absolute; right:-40px; top:-70px; width:150px; height:150px; border-radius:50%; background:var(--ct-yl); opacity:.14;}
#ct-app .ct-head > *{position:relative; z-index:1;}
/* 8. 10. 2026: brez temne glave nad kvizom (stran ima svoj naslov) */
#ct-app .ct-head{display:none;}
#ct-app .ct-logo{display:block; height:26px; width:auto; margin:0;}
#ct-app .ct-eyebrow{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ct-yl); font-weight:800;}
#ct-app .ct-sub{font-size:14px; color:var(--ct-mut); margin:0; font-weight:500; line-height:1.55;}
#ct-app .ct-barlogo{height:22px; width:auto; display:block; background:var(--ct-navy); border-radius:8px; padding:4px 7px; box-sizing:content-box;}
#ct-app .ct-rank{display:inline-flex; align-items:center; gap:5px; background:none; color:var(--ct-mut); border:0; border-radius:999px; padding:0; margin:0; font-family:inherit; font-size:12.5px; font-weight:700; cursor:pointer; white-space:nowrap; box-shadow:none;}
#ct-app .ct-rank i{width:18px; height:18px; border-radius:50%; background:var(--ct-yl); color:var(--ct-navy); display:inline-flex; align-items:center; justify-content:center; font-style:normal; font-size:10.5px; font-weight:800;}
#ct-app .ct-rank:hover{color:var(--ct-navy); background:none;}
#ct-app .ct-rank:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px;}
#ct-app .ct-rk-row{display:flex; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--ct-line); font-size:14px;}
#ct-app .ct-rk-row:first-child{border-top:none;}
#ct-app .ct-rk-row i{width:30px; height:30px; border-radius:50%; background:#eef1f6; color:var(--ct-navy); display:inline-flex; align-items:center; justify-content:center; font-style:normal; font-weight:800; font-size:12.5px; flex:0 0 30px;}
#ct-app .ct-rk-row.ct-now{background:#fffdf3; margin:0 -10px; padding:10px; border-radius:12px; border-top:none;}
#ct-app .ct-rk-row.ct-now i{background:var(--ct-yl);}
#ct-app .ct-rk-row.ct-got i{background:var(--ct-navy); color:var(--ct-yl);}
#ct-app .ct-rk-row b{flex:1; color:var(--ct-navy);}
#ct-app .ct-rk-row span{color:var(--ct-mut); font-size:12.5px; font-weight:700; font-variant-numeric:tabular-nums;}
#ct-app .ct-card{background:var(--ct-panel); border:1px solid var(--ct-line); border-radius:18px; padding:20px; box-shadow:0 10px 26px rgba(5,10,36,.07); margin-top:14px;}
#ct-app .ct-card.ct-tight{padding:16px;}
#ct-app h3.ct-h{font-size:15px; font-weight:800; color:var(--ct-navy); margin:0 0 12px;}
/* 9. 10. 2026: vrstica igralca brez okvirja, tanka kot vrstica stanja na telefonu: levo avatar, vzdevek in
   stopnja, desno serija in XP. Nov obiskovalec vidi samo gumb Prijava desno zgoraj. */
#ct-app .ct-player{display:flex; align-items:center; gap:10px; flex-wrap:nowrap; padding:0 2px 14px;}
#ct-app .ct-player.ct-prazen{justify-content:flex-end; padding-bottom:10px;}
#ct-app .ct-player.ct-editing{flex-wrap:wrap;}
#ct-app .ct-player.ct-editing .ct-ime{flex:1 1 100%;}
#ct-app .ct-player.ct-editing .ct-pname{flex-wrap:wrap;}
#ct-app .ct-avatar{width:40px; height:40px; border-radius:12px; background:var(--ct-navy); color:var(--ct-yl); font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; flex:0 0 40px;}
#ct-app .ct-ime{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto;}
#ct-app .ct-pname{font-weight:800; color:var(--ct-navy); font-size:16px; line-height:1.2; display:flex; align-items:center; gap:2px; min-width:0; cursor:pointer;}
#ct-app .ct-pname > span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; flex:0 1 auto;}
#ct-app .ct-pname > span.ct-znak{overflow:visible; flex:0 0 auto;}
#ct-app .ct-pname button{background:none; border:0; color:var(--ct-blue); font:inherit; font-size:12.5px; font-weight:700; cursor:pointer; padding:0 0 0 6px; text-decoration:underline;}
#ct-app .ct-pname button.ct-edit{padding:4px; text-decoration:none; display:inline-flex; color:var(--ct-mut); border-radius:8px;}
#ct-app .ct-pname button.ct-edit:hover{color:var(--ct-navy); background:#eef1f6;}
#ct-app .ct-pname button.ct-edit svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
#ct-app .ct-pname input{border:1.5px solid var(--ct-line); border-radius:10px; padding:7px 10px; font:inherit; font-size:14px; width:140px; max-width:100%;}
#ct-app .ct-pod{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0;}
#ct-app .ct-pmeta{font-size:12.5px; color:var(--ct-mut); font-weight:600;}
#ct-app .ct-chips{display:flex; gap:6px; flex:0 0 auto; align-items:center;}
#ct-app .ct-chip{background:#eef1f6; border:0; border-radius:999px; padding:6px 10px; font-size:13px; font-weight:800; color:var(--ct-navy); white-space:nowrap; display:inline-flex; align-items:center; gap:4px;}
#ct-app .ct-chip.ct-fire{background:#fff7d6;}
/* 14. 10. 2026 (Tilia Plus vse v enem): značka dostopa pod vrstico igralca, besedilo iz agenti/PLUS-VSE-V-ENEM.md (2.),
   videz kot značka na /moj-racun/ (pika: zelena aktivno, zlata Premium). Tema strani gumbom ob :hover/:focus da svojo barvo,
   zato sta stanji izrecno zapisani. */
#ct-app .ct-znacka-vrsta{margin:-4px 2px 12px;}
#ct-app .ct-znacka, #ct-app .ct-znacka:hover, #ct-app .ct-znacka:focus{display:inline-flex; align-items:center; gap:9px; max-width:100%; margin:0; padding:7px 14px; border:0; border-radius:999px; font-family:inherit; font-size:13px; line-height:1.3; font-weight:800; text-align:left; white-space:normal; cursor:pointer; box-shadow:none; background:#eef1f8; color:var(--ct-navy);}
#ct-app .ct-znacka i{width:9px; height:9px; border-radius:50%; background:#9aa3b8; flex:0 0 auto;}
#ct-app .ct-znacka.ct-znacka-on, #ct-app .ct-znacka.ct-znacka-on:hover, #ct-app .ct-znacka.ct-znacka-on:focus{background:#e6f6ed; color:#0d6234;}
#ct-app .ct-znacka.ct-znacka-on i{background:#1a9b55; box-shadow:0 0 0 4px rgba(26,155,85,.16);}
#ct-app .ct-znacka.ct-znacka-prem, #ct-app .ct-znacka.ct-znacka-prem:hover, #ct-app .ct-znacka.ct-znacka-prem:focus{background:#fff4c2; color:#4d3a00;}
#ct-app .ct-znacka.ct-znacka-prem i{background:#f2b600; box-shadow:0 0 0 4px rgba(255,204,0,.25);}
#ct-app .ct-znacka:focus-visible{outline:3px solid rgba(16,42,131,.35); outline-offset:2px;}
/* vrnitev s plačila (?plus=ok&seja=...): ena kartica pod vrstico igralca */
#ct-app .ct-plus-vrnitev{position:relative; margin-top:0; margin-bottom:14px; padding-right:40px;}
#ct-app .ct-plus-vrnitev h3.ct-h{margin:0 0 4px; font-size:15.5px; line-height:1.4;}
#ct-app .ct-plus-vrnitev .ct-sub{margin:0;}
#ct-app .ct-plus-vrnitev .ct-btn{width:auto; display:inline-block; margin-top:12px; padding:11px 20px; font-size:14px;}
/* vrstica o XP iz simulatorja in znakov (stopnje, napredek) */
#ct-app .ct-xp-drugje a, #ct-app .ct-xp-drugje a:hover, #ct-app .ct-xp-drugje a:focus{color:var(--ct-blue); font-weight:700; text-decoration:underline; text-underline-offset:2px; background:none;}
#ct-app .ct-prijava{background:#fff; border:1.5px solid var(--ct-line); color:var(--ct-navy); border-radius:999px; padding:7px 15px; margin:0; font:inherit; font-size:13.5px; font-weight:800; cursor:pointer; white-space:nowrap; box-shadow:0 2px 0 #d8dce6;}
#ct-app .ct-prijava:hover{border-color:var(--ct-navy); background:#fff; color:var(--ct-navy);}
#ct-app .ct-prijava:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px;}
#ct-app .ct-flame{width:14px; height:14px; fill:var(--ct-yl-dk); flex:0 0 14px; vertical-align:-2px;}
/* znaka ob vzdevku: T+ (Tilia Plus) in zvezdica (Tilia Premium) */
#ct-app .ct-znak{display:inline-flex; align-items:center; justify-content:center; height:17px; padding:0 5px; border-radius:6px; font-size:10.5px; font-weight:800; line-height:1; margin-left:5px; vertical-align:middle; flex:0 0 auto; letter-spacing:.02em;}
#ct-app .ct-znak-plus{background:var(--ct-yl); color:var(--ct-navy);}
#ct-app .ct-znak-premium{background:var(--ct-navy); padding:0 4px;}
#ct-app .ct-znak-premium svg{width:11px; height:11px; fill:var(--ct-yl); display:block;}
#ct-app .ct-legenda{font-size:11.5px; color:var(--ct-mut); font-weight:600; margin-top:9px;}
#ct-app .ct-legenda .ct-znak{margin-left:0; margin-right:3px;}
#ct-app .ct-rew .ct-flame{width:17px; height:17px; vertical-align:-2px;}
#ct-app .ct-fr .ct-fire{display:inline-flex; align-items:center; gap:3px;}
#ct-app .ct-obvestilo{color:var(--ct-navy); font-weight:700; margin:8px 4px 0;}
/* opozorilo o jeziku izpita (samo angleška različica): tiho, a ga ni mogoče spregledati */
#ct-app .ct-jezik{margin:14px 0 0; padding:9px 12px; border-left:4px solid var(--ct-yl); background:#fffdf3; border-radius:0 12px 12px 0; color:var(--ct-navy); font-size:12.5px; font-weight:700; line-height:1.45;}
/* 9. 10. 2026 (Domen: "these 4 buttons have to be bigger than everything else ... just different colors",
   "like duolingo"): štiri barvne ploščice 2 x 2 na vsaki širini, največji elementi na strani, s 3D robom.
   Vsak način ima svojo barvo; bela besedila imajo kontrast vsaj 4,5 : 1, rumena ploščica mornarsko besedilo. */
#ct-app{--ct-zelena:#15803d; --ct-zelena-rob:#0e5a2b; --ct-vijolicna:#7048e8; --ct-vijolicna-rob:#4b2bb5; --ct-yl-rob:#c99f00;}
#ct-app .ct-modes{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
#ct-app .ct-3d{--ct-edge:var(--ct-navy); --ct-face:var(--ct-blue); position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:140px; width:100%; margin:0; border:0; border-radius:20px; padding:16px 16px 17px; background:var(--ct-face); color:#fff; text-align:left; white-space:normal; cursor:pointer; font:inherit; box-shadow:0 5px 0 var(--ct-edge), 0 12px 24px rgba(5,10,36,.14); transition:transform .08s ease, box-shadow .08s ease, filter .12s; -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent;}
#ct-app .ct-3d:hover{filter:brightness(1.06); background:var(--ct-face); color:inherit;}
#ct-app .ct-3d:active{transform:translateY(3px); box-shadow:0 2px 0 var(--ct-edge), 0 4px 10px rgba(5,10,36,.12);}
#ct-app .ct-3d:focus-visible{outline:3px solid var(--ct-navy); outline-offset:3px;}
#ct-app .ct-3d .ct-ico{width:42px; height:42px; border-radius:13px; background:rgba(255,255,255,.18); color:#fff; display:flex; align-items:center; justify-content:center; flex:0 0 auto;}
#ct-app .ct-3d .ct-ico svg{width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
#ct-app .ct-3d .ct-tt{display:block; margin-top:auto; padding-top:14px; font-size:19px; font-weight:800; line-height:1.15; letter-spacing:-.01em; color:inherit;}
#ct-app .ct-3d .ct-tl{display:block; margin-top:3px; font-size:13px; font-weight:600; line-height:1.35; opacity:.92; color:inherit;}
#ct-app .ct-3d.ct-m-izpit{--ct-face:var(--ct-blue); --ct-edge:var(--ct-navy);}
#ct-app .ct-3d.ct-m-izpit .ct-ico{background:var(--ct-yl); color:var(--ct-navy);}
#ct-app .ct-3d.ct-m-vadba{--ct-face:var(--ct-zelena); --ct-edge:var(--ct-zelena-rob);}
#ct-app .ct-3d.ct-m-dnevni{--ct-face:var(--ct-yl); --ct-edge:var(--ct-yl-rob); color:var(--ct-navy);}
#ct-app .ct-3d.ct-m-dnevni .ct-ico{background:var(--ct-navy); color:var(--ct-yl);}
#ct-app .ct-3d.ct-m-napake{--ct-face:var(--ct-vijolicna); --ct-edge:var(--ct-vijolicna-rob);}
/* značke v zgornjem desnem kotu: "Začni tukaj" (novinec), število napak, ključavnica Plus */
#ct-app .ct-3d .ct-zacni, #ct-app .ct-3d .ct-cnt, #ct-app .ct-3d .ct-kljuc{position:absolute; top:14px; right:14px; height:26px; display:inline-flex; align-items:center; gap:4px; border-radius:999px; font-size:12px; font-weight:800; line-height:1;}
#ct-app .ct-3d .ct-zacni{padding:0 10px; background:#fff; color:var(--ct-blue);}
#ct-app .ct-3d .ct-cnt{min-width:28px; justify-content:center; padding:0 9px; background:#fff; color:var(--ct-vijolicna); font-size:13.5px;}
#ct-app .ct-3d .ct-kljuc{padding:0 9px 0 7px; background:rgba(255,255,255,.2); color:#fff;}
#ct-app .ct-3d .ct-kljuc svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
/* disabled (dnevni že rešen, prazne napake): ista barva, umirjena, brez roba; za barvnimi pravili, da zmaga */
#ct-app .ct-3d:disabled{cursor:default; transform:none; filter:none; opacity:.5; box-shadow:none;}
/* tiha skupina vrstic pod ploščicami (kot nastavitve na iPhonu): Tilia Plus in Shrani napredek */
#ct-app .ct-skupina{margin-top:18px; background:var(--ct-panel); border:1px solid var(--ct-line); border-radius:16px; overflow:hidden;}
#ct-app .ct-vrstica{display:flex; align-items:center; gap:12px; width:100%; margin:0; padding:12px 14px; background:none; border:0; border-top:1px solid var(--ct-line); border-radius:0; font:inherit; color:var(--ct-ink); text-align:left; white-space:normal; cursor:pointer; box-shadow:none;}
#ct-app .ct-vrstica:first-child{border-top:0;}
#ct-app .ct-vrstica:hover{background:#f7f8fb; color:var(--ct-ink);}
#ct-app .ct-vrstica:focus-visible{outline:3px solid var(--ct-yl); outline-offset:-3px;}
#ct-app .ct-v-ico{width:34px; height:34px; flex:0 0 34px; border-radius:10px; background:#eef1f6; color:var(--ct-navy); display:flex; align-items:center; justify-content:center;}
#ct-app .ct-v-ico svg{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round;}
#ct-app .ct-v-plus .ct-v-ico{background:var(--ct-yl);}
#ct-app .ct-v-ico .ct-plusbadge{margin:0; width:auto; height:auto; background:none; font-size:21px;}
#ct-app .ct-v-txt{flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:1px;}
#ct-app .ct-v-txt b{font-size:15px; font-weight:800; color:var(--ct-navy); line-height:1.25;}
#ct-app .ct-v-txt small{font-size:13px; font-weight:500; color:var(--ct-mut); line-height:1.35;}
#ct-app .ct-v-cena{flex:0 0 auto; font-size:14px; font-weight:800; color:var(--ct-navy); white-space:nowrap;}
#ct-app .ct-v-chev{flex:0 0 auto; display:flex; color:#b3b9c6;}
#ct-app .ct-v-chev svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
#ct-app .ct-mode{border-radius:999px; padding:7px 13px; font-size:11.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; display:inline-block;}
#ct-app .ct-mode.ct-exam{background:var(--ct-navy); color:var(--ct-yl);}
#ct-app .ct-mode.ct-prac, #ct-app .ct-mode.ct-day, #ct-app .ct-mode.ct-fix{background:var(--ct-panel); color:var(--ct-navy); border:1.5px solid var(--ct-line);}
#ct-app .ct-btn{display:block; width:100%; margin-top:12px; background:var(--ct-yl); color:var(--ct-navy); border:none; border-radius:999px; padding:14px 15px; font:inherit; font-weight:800; font-size:15.5px; cursor:pointer; box-shadow:0 3px 0 #c99f00; transition:background .15s, transform .08s, box-shadow .08s;}
#ct-app .ct-btn:hover{background:var(--ct-yl-dk);} #ct-app .ct-btn:not(:disabled):active{transform:translateY(2px); box-shadow:0 1px 0 #c99f00;}
#ct-app .ct-btn:focus-visible{outline:3px solid var(--ct-navy); outline-offset:2px;}
#ct-app .ct-btn.ct-ghost{background:#fff; border:1.5px solid var(--ct-line); color:var(--ct-navy); box-shadow:0 3px 0 #d8dce6;}
#ct-app .ct-btn.ct-ghost:hover{border-color:var(--ct-yl);} #ct-app .ct-btn.ct-ghost:not(:disabled):active{box-shadow:0 1px 0 #d8dce6;}
#ct-app .ct-btn:disabled{opacity:.45; cursor:default; box-shadow:none;}
#ct-app .ct-link{background:none; border:0; padding:0; color:var(--ct-blue); font:inherit; font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer;}
#ct-app .ct-iconbtn{width:40px; height:40px; flex:0 0 40px; border-radius:12px; border:1.5px solid var(--ct-line); background:#fff; color:var(--ct-navy); font-size:17px; line-height:1; cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center;}
#ct-app .ct-ico{display:inline-block; vertical-align:-2px;}
#ct-app .ct-timer .ct-ico{margin-right:4px;}
#ct-app .ct-iconbtn:hover{border-color:var(--ct-yl);}
#ct-app .ct-bar{position:sticky; top:0; z-index:20; background:var(--ct-bg); padding:8px 0 10px; display:flex; align-items:center; gap:9px; flex-wrap:wrap;}
#ct-app .ct-pill{background:var(--ct-navy); color:#fff; border-radius:999px; padding:9px 15px; font-size:13px; font-weight:700;}
#ct-app .ct-pill b{color:var(--ct-yl); font-weight:800;}
#ct-app .ct-timer{background:#fff; border:1.5px solid var(--ct-line); border-radius:999px; padding:8px 14px; font-size:14px; font-weight:800; color:var(--ct-navy); font-variant-numeric:tabular-nums;}
#ct-app .ct-timer.ct-warn{border-color:var(--ct-bad); color:var(--ct-bad); background:var(--ct-bad-bg);}
#ct-app .ct-spacer{margin-left:auto;}
#ct-app .ct-prog{height:6px; background:var(--ct-line); border-radius:999px; overflow:hidden; margin:2px 0 14px;}
#ct-app .ct-prog i{display:block; height:100%; background:var(--ct-yl); transition:width .25s;}
#ct-app .ct-qhead{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px;}
#ct-app .ct-badge{background:var(--ct-navy); color:#fff; border-radius:8px; padding:5px 10px; font-size:12px; font-weight:800;}
#ct-app .ct-badge.ct-five{background:var(--ct-yl); color:var(--ct-navy);}
#ct-app .ct-topic{font-size:12px; color:var(--ct-mut); font-weight:600;}
#ct-app .ct-q{font-size:19px; line-height:1.45; font-weight:800; color:var(--ct-navy); margin:0 0 6px;}
#ct-app .ct-multi{font-size:12.5px; color:var(--ct-blue); font-weight:700; margin:0 0 12px;}
/* question image: intersections are 1536x1024 photos (arrows are part of the content), so keep them big.
   Klik na sliko ne odpre nicesar (V4, 1. tocka): gumb za cel zaslon resi isti problem bolje.
   Skatla rezervira razmerje 3:2, zato kartica med nalaganjem ne poskoci; ce se slika ne nalozi,
   se element skrije (onerror) in nadomestno besedilo ne obvisi na zaslonu. */
#ct-app .ct-imgbox{position:relative; display:block; width:100%; max-width:630px; aspect-ratio:3/2; max-height:420px; margin:0 auto 16px; border-radius:12px; overflow:hidden;}
#ct-app .ct-imgbox.ct-imgbox-mala{max-height:200px;}
#ct-app .ct-imgbox.ct-img-ni{background:#f4f6fb;}
#ct-app .ct-img{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; border-radius:12px; border:1px solid var(--ct-line); background:#fff;}
#ct-app .ct-imgbox.ct-img-ni .ct-img{display:none;}
#ct-app .ct-opts{display:flex; flex-direction:column; gap:9px;}
/* answer options: the same tactile treatment (raised edge, press = translateY(2px) with a shorter edge), states kept */
#ct-app .ct-opts{margin-bottom:3px;}
#ct-app button.ct-opt{display:flex; align-items:flex-start; gap:11px; width:100%; text-align:left; background:#fff; border:1.5px solid var(--ct-line); border-radius:14px; padding:12px 14px; cursor:pointer; font:inherit; font-size:15px; line-height:1.45; color:var(--ct-ink); margin:0; box-shadow:0 3px 0 #d8dce6; transition:border-color .12s, background .12s, transform .08s ease, box-shadow .08s ease;}
#ct-app button.ct-opt:hover{border-color:var(--ct-yl);}
/* 9. 10. 2026: tema strani daje gumbom white-space:nowrap, zato so dolgi odgovori silili čez okvir */
#ct-app button{white-space:normal;}
#ct-app button.ct-opt{white-space:normal; overflow-wrap:break-word;}
#ct-app button.ct-opt > span:not(.ct-let){flex:1 1 auto; min-width:0;}
#ct-app button.ct-opt:not(:disabled):active{transform:translateY(2px); box-shadow:0 1px 0 #d8dce6;}
#ct-app button.ct-opt:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px;}
#ct-app button.ct-opt .ct-let{width:28px; height:28px; border-radius:8px; flex:0 0 28px; background:#eef1f6; color:var(--ct-navy); font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; margin-top:1px; transition:background .12s, color .12s;}
#ct-app button.ct-opt:disabled{cursor:default; box-shadow:0 3px 0 #e6e9ef;}
#ct-app button.ct-opt.ct-sel{border-color:var(--ct-navy); background:#f4f6fb; box-shadow:0 3px 0 var(--ct-navy);}
#ct-app button.ct-opt.ct-sel:not(:disabled):active{box-shadow:0 1px 0 var(--ct-navy);}
#ct-app button.ct-opt.ct-sel .ct-let{background:var(--ct-navy); color:var(--ct-yl);}
/* zelena in rdeča samo za pravilno in napačno, nikjer za okras: samo rob */
#ct-app button.ct-opt.ct-good{border-color:var(--ct-ok); border-width:2px;}
#ct-app button.ct-opt.ct-bad{border-color:var(--ct-bad); border-width:2px;}
#ct-app .ct-nav{display:flex; gap:10px; margin-top:16px;}
#ct-app .ct-nav .ct-btn{margin-top:0;}
#ct-app .ct-grid{display:grid; grid-template-columns:repeat(10,1fr); gap:6px; margin-top:18px;}
#ct-app .ct-cell{aspect-ratio:1; border-radius:8px; border:1.5px solid var(--ct-line); background:#fff; font:inherit; font-size:12px; font-weight:700; color:var(--ct-mut); cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center;}
#ct-app .ct-cell.ct-done{background:var(--ct-navy); color:#fff; border-color:var(--ct-navy);}
#ct-app .ct-cell.ct-here{outline:3px solid var(--ct-yl); outline-offset:1px;}
#ct-app .ct-cell.ct-f{border-color:var(--ct-yl); border-width:2px;}
#ct-app .ct-legend{font-size:11.5px; color:var(--ct-mut); margin-top:8px; text-align:center;}
#ct-app .ct-res-hero{text-align:center; padding:22px 16px 18px; background:var(--ct-navy); color:#fff; border-radius:16px; margin:-6px -6px 0; position:relative; overflow:hidden;}
#ct-app .ct-res-hero:before{content:''; position:absolute; left:-80px; bottom:-120px; width:240px; height:240px; border-radius:50%; background:var(--ct-blue); opacity:.6;}
#ct-app .ct-res-hero > *{position:relative;}
#ct-app .ct-res-hero .ct-verdict{font-size:27px; font-weight:800; margin:6px 0;}
#ct-app .ct-res-hero.ct-pass .ct-verdict{color:#8ee6a3;} #ct-app .ct-res-hero.ct-fail .ct-verdict{color:#ff9d94;}
#ct-app .ct-res-hero .ct-sub{color:rgba(255,255,255,.78);}
#ct-app .ct-score{font-size:50px; font-weight:800; color:var(--ct-yl); line-height:1;}
#ct-app .ct-score small{font-size:18px; color:rgba(255,255,255,.7); font-weight:700;}
#ct-app .ct-xpline{margin:14px auto 0; display:inline-block; background:rgba(255,255,255,.1); border:1.5px solid rgba(255,204,0,.55); border-radius:999px; padding:8px 14px; font-size:13.5px; font-weight:700; color:rgba(255,255,255,.85); line-height:1.4;}
#ct-app .ct-xpline b{color:var(--ct-yl); font-weight:800; font-size:15px;}
#ct-app .ct-rewards{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:12px 0 0;}
#ct-app .ct-rew{background:rgba(255,255,255,.1); border:1.5px solid rgba(255,204,0,.55); border-radius:14px; padding:10px 16px; text-align:center; min-width:92px;}
#ct-app .ct-rew b{display:block; font-size:19px; color:#fff; font-weight:800;}
#ct-app .ct-rew span{font-size:11.5px; color:rgba(255,255,255,.7); font-weight:700;}
#ct-app .ct-why{font-size:14px; line-height:1.55; color:var(--ct-ink); background:var(--ct-bad-bg); border:1px solid rgba(229,62,62,.25); border-radius:12px; padding:12px 14px; margin-top:12px;}
#ct-app .ct-why.ct-okbox{background:var(--ct-ok-bg); border-color:rgba(30,142,62,.25);}
#ct-app .ct-sk-row{display:flex; align-items:center; gap:10px; font-size:13px; padding:8px 0; border-top:1px solid var(--ct-line);}
#ct-app .ct-sk-row:first-child{border-top:none;}
#ct-app .ct-sk-name{flex:1; font-weight:600;}
#ct-app .ct-sk-bar{width:92px; height:8px; background:var(--ct-line); border-radius:999px; overflow:hidden;}
#ct-app .ct-sk-bar i{display:block; height:100%; background:var(--ct-navy);}
#ct-app .ct-sk-bar.ct-low i{background:var(--ct-yl-dk);}
#ct-app .ct-sk-val{width:58px; text-align:right; font-weight:800; color:var(--ct-navy); font-variant-numeric:tabular-nums;}
#ct-app .ct-rev-item{border:1.5px solid var(--ct-line); border-radius:14px; padding:14px; margin-top:10px;}
#ct-app .ct-rev-item.ct-w{border-color:rgba(229,62,62,.4); background:#fffafa;}
#ct-app .ct-rev-item.ct-r{border-color:rgba(30,142,62,.35); background:#f9fdf9;}
#ct-app .ct-rev-q{font-weight:700; font-size:15px; color:var(--ct-navy); margin:6px 0 8px; line-height:1.4;}
#ct-app .ct-rev-a{font-size:13.5px; line-height:1.5; margin:3px 0;}
#ct-app .ct-rev-a b{color:var(--ct-ok);} #ct-app .ct-rev-a i{color:var(--ct-bad); font-style:normal; font-weight:700;}
#ct-app .ct-razlaga{margin-top:9px; font-size:13.5px; line-height:1.55; background:#f4f6fb; border-radius:10px; padding:10px 12px; color:var(--ct-ink);}
#ct-app .ct-razlaga b{color:var(--ct-navy);}
/* slovarček izrazov: samo angleški kviz. Pikčasta podčrtava brez barve in brez ikone,
   oblaček z uradnim slovenskim izrazom se ustvari šele ob odprtju in ob zaprtju izgine. */
#ct-app .ct-g{text-decoration:underline; text-decoration-style:dotted; text-decoration-thickness:1px; text-underline-offset:3px; cursor:help; -webkit-tap-highlight-color:transparent;}
#ct-app .ct-g:focus-visible{outline:2px solid var(--ct-yl); outline-offset:2px; border-radius:3px;}
/* na dotik: kazalec pointer, ker Safari na iPhonu drugace ne sproži klika na navadnem elementu */
@media (hover: none){ #ct-app .ct-g{cursor:pointer;} }
#ct-app .ct-gpop{position:fixed; left:0; top:0; z-index:99997; width:max-content; max-width:280px; max-height:40vh; overflow:auto; background:var(--ct-navy); color:#fff; border-radius:10px; padding:9px 11px; font-size:13px; line-height:1.45; box-shadow:0 10px 28px rgba(8,14,32,.3); opacity:0;}
#ct-app .ct-gpop b{display:block; font-size:14px; color:var(--ct-yl); margin-bottom:3px;}
#ct-app .ct-gpop.ct-on{opacity:1;}
#ct-app .ct-jezik .ct-link{font-size:12.5px;}
#ct-app .ct-slovar{margin-bottom:14px;}
#ct-app .ct-sl-row{border-top:1px solid var(--ct-line); padding:9px 0 0; margin-top:9px;}
#ct-app .ct-sl-row:first-child{border-top:none; padding-top:0; margin-top:0;}
#ct-app .ct-sl-row b{display:block; font-size:14.5px; color:var(--ct-navy);}
#ct-app .ct-sl-row i{display:block; font-style:normal; font-weight:700; font-size:13.5px; color:var(--ct-blue); margin:1px 0 2px;}
#ct-app .ct-sl-row span{display:block; font-size:13px; line-height:1.5; color:var(--ct-mut);}
#ct-app button.ct-blur{position:relative; display:block; width:100%; text-align:left; border:1.5px dashed var(--ct-line); cursor:pointer; font:inherit; overflow:hidden; min-height:46px;}
#ct-app button.ct-blur:before{content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,#d9dde6 0 7px,#f4f6fb 7px 17px); filter:blur(4px); opacity:.75;}
#ct-app button.ct-blur span{position:relative; font-weight:800; color:var(--ct-navy); background:rgba(255,255,255,.85); border-radius:8px; padding:3px 8px;}
#ct-app p.ct-blur{position:relative; display:block; width:100%; text-align:left; border:1.5px dashed var(--ct-line); overflow:hidden; min-height:46px; margin:8px 0 0; padding:10px 12px; box-sizing:border-box;}
#ct-app p.ct-blur:before{content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,#d9dde6 0 7px,#f4f6fb 7px 17px); filter:blur(4px); opacity:.75;}
#ct-app p.ct-blur span{position:relative; font-weight:800; color:var(--ct-navy); background:rgba(255,255,255,.85); border-radius:8px; padding:3px 8px;}
#ct-app .ct-lb{width:100%; border-collapse:collapse; font-size:14px; border:0; margin:0; background:none;}
/* 9. 10. 2026: tema strani riše tabelam robove in sive lihe vrstice; v lestvici jih ni */
#ct-app .ct-lb td{padding:9px 6px; border:0; border-top:1px solid var(--ct-line); background:transparent;}
#ct-app .ct-lb tr:first-child td{border-top:none;}
#ct-app .ct-lb thead th{padding:2px 6px 7px; border:0; background:transparent; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ct-mut); text-align:left; line-height:1.25;}
#ct-app .ct-lb thead th.ct-th-pts, #ct-app .ct-lb thead th.ct-th-cas{text-align:right;}
#ct-app .ct-lb tbody tr:first-child td{border-top:1px solid var(--ct-line);}
#ct-app .ct-vzdevek-poziv{margin-top:10px;}
#ct-app .ct-vzdevek-poziv .ct-row{display:flex; gap:8px; flex-wrap:wrap;}
#ct-app .ct-vzdevek-poziv input{flex:1 1 160px; min-width:0;}
#ct-app .ct-lb .ct-mesto{width:34px; font-weight:800; color:var(--ct-mut); white-space:nowrap;}
#ct-app .ct-lb .ct-mesto.ct-top{color:var(--ct-yl-dk);}
#ct-app .ct-lb .ct-who{font-weight:700; color:var(--ct-navy);}
#ct-app .ct-lb .ct-who small{display:block; font-size:11.5px; color:var(--ct-mut); font-weight:600;}
#ct-app .ct-lb .ct-fire{white-space:nowrap; font-size:12.5px; font-weight:700; color:var(--ct-navy);}
#ct-app .ct-lb .ct-pts{text-align:right; font-weight:800; color:var(--ct-navy); font-variant-numeric:tabular-nums;}
#ct-app .ct-lb .ct-time{text-align:right; color:var(--ct-mut); font-size:12.5px; font-variant-numeric:tabular-nums; white-space:nowrap;}
#ct-app .ct-lb tr.ct-me td{background:#fffdf3;}
#ct-app .ct-lb tr.ct-gost .ct-who{color:#4a5263; font-weight:600;}
#ct-app .ct-lb-gost{margin:8px 0 0; text-align:center;}
/* 13. 10. 2026: napredek (skupni XP, stopnja, XP tedna, liga, medalje), cone lige, strani, poziv gostu */
#ct-app .ct-nap{margin:0 0 14px; padding:14px; border:1px solid var(--ct-line); border-radius:14px; background:#fbfcfe;}
#ct-app .ct-nap-vrh{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap;}
#ct-app .ct-nap-st{font-weight:800; color:var(--ct-navy); font-size:15.5px;}
#ct-app .ct-nap-xp{font-weight:800; color:var(--ct-navy); font-size:15.5px; font-variant-numeric:tabular-nums; white-space:nowrap;}
#ct-app .ct-nap-xp small{font-size:11.5px; color:var(--ct-mut); font-weight:700;}
#ct-app .ct-nap-bar{height:10px; border-radius:999px; background:#e9edf3; overflow:hidden; margin:8px 0 5px;}
#ct-app .ct-nap-bar i{display:block; height:100%; background:var(--ct-yl); border-radius:999px;}
#ct-app .ct-nap-mreza{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin-top:10px;}
#ct-app .ct-nap-celica{background:#fff; border:1px solid var(--ct-line); border-radius:12px; padding:8px 10px; min-width:0;}
#ct-app .ct-nap-celica b .ct-med{margin:0 4px 0 0;}
#ct-app .ct-nap-celica b{display:block; font-size:15px; color:var(--ct-navy); font-variant-numeric:tabular-nums; line-height:1.3;}
#ct-app .ct-nap-celica > span{display:block; font-size:11.5px; color:var(--ct-mut); font-weight:700; line-height:1.3;}
#ct-app .ct-nap p{margin:6px 0 0; font-size:12px; color:var(--ct-mut); line-height:1.45;}
#ct-app .ct-med{display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; border-radius:50%; font-size:10.5px; font-weight:800; padding:0 4px; margin-left:4px; vertical-align:1px; box-sizing:border-box;}
#ct-app .ct-med-1{background:#f4c430; color:#3b2f00;}
#ct-app .ct-med-2{background:#cfd4dc; color:#262a31;}
#ct-app .ct-med-3{background:#d9a06b; color:#3a2210;}
#ct-app .ct-lb tr.ct-cona-gor td:first-child{box-shadow:inset 3px 0 0 var(--ct-ok);}
#ct-app .ct-lb tr.ct-cona-dol td:first-child{box-shadow:inset 3px 0 0 var(--ct-bad);}
#ct-app .ct-lb .ct-smer{font-size:10px; margin-left:3px;}
#ct-app .ct-lb .ct-smer-gor{color:var(--ct-ok);} #ct-app .ct-lb .ct-smer-dol{color:var(--ct-bad);}
#ct-app .ct-lb tr.ct-meja td{padding:5px 6px; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ct-ok); border-top:1.5px dashed var(--ct-ok); background:transparent;}
#ct-app .ct-lb tr.ct-skrit .ct-who{color:var(--ct-mut); font-style:italic; font-weight:600;}
#ct-app .ct-strani{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; font-size:12.5px; color:var(--ct-mut); font-weight:700;}
#ct-app .ct-strani .ct-tab[disabled]{opacity:.4; cursor:default;}
#ct-app .ct-javno{display:flex; gap:8px; align-items:flex-start; margin-top:12px; font-size:12.5px; color:#3b4454; cursor:pointer; line-height:1.45;}
#ct-app .ct-javno input{margin:2px 0 0; width:18px; height:18px; flex:0 0 auto;}
#ct-app .ct-poziv{border:2px solid var(--ct-yl); background:#fffdf3;}
#ct-app .ct-poziv .ct-gumbi{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap;}
#ct-app .ct-poziv .ct-gumbi .ct-btn{margin:0; flex:1 1 160px; width:auto;}
#ct-app .ct-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
@media (max-width:420px){
  #ct-app .ct-nap-mreza{gap:6px;}
  #ct-app .ct-nap-celica{padding:7px 8px;}
  #ct-app .ct-nap-celica b{font-size:14px;}
}
#ct-app .ct-pin{margin-top:10px; background:#fffdf3; border:1.5px solid rgba(255,204,0,.85); border-radius:12px; padding:4px 6px; font-size:13.5px; font-weight:700; color:var(--ct-navy);}
#ct-app .ct-pin p{margin:6px 6px; font-size:13px;}
#ct-app .ct-pin table td{border-top:none; background:transparent;}
#ct-app .ct-tabs{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px;}
#ct-app .ct-tab{border:1.5px solid var(--ct-line); background:#fff; border-radius:999px; padding:8px 13px; font:inherit; font-size:12.5px; font-weight:800; color:var(--ct-navy); cursor:pointer; display:inline-flex; align-items:center; gap:6px;}
#ct-app .ct-tab.ct-on{background:var(--ct-navy); color:var(--ct-yl); border-color:var(--ct-navy);}
#ct-app .ct-tab:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px;}
#ct-app .ct-ligatabs{flex-wrap:nowrap; overflow-x:auto; margin-bottom:10px; padding-bottom:2px;}
#ct-app .ct-ligatabs .ct-tab{padding:7px 10px; font-size:12px; flex:0 0 auto; justify-content:center;}
#ct-app .ct-dot{width:9px; height:9px; border-radius:50%; display:inline-block; flex:0 0 9px;}
#ct-app .ct-dot-bronasta{background:#d9a06b;} #ct-app .ct-dot-srebrna{background:#c3c9d2;} #ct-app .ct-dot-zlata{background:var(--ct-yl);} #ct-app .ct-dot-safirna{background:#2f6fd6;} #ct-app .ct-dot-rubinasta{background:#c2185b;} #ct-app .ct-dot-diamantna{background:var(--ct-navy); box-shadow:inset 0 0 0 2px #9ec5ff;}
/* 13. 10. 2026, druga runda: info ob dotiku/lebdenju, gumb Nazaj zgoraj, obvezen vzdevek, lestev ravni */
#ct-app{position:relative;}
#ct-app [data-info]{cursor:help;}
#ct-app .ct-info{position:absolute; z-index:60; max-width:260px; background:var(--ct-navy); color:#fff; font-size:12.5px; font-weight:600; line-height:1.45; padding:9px 11px; border-radius:10px; box-shadow:0 10px 24px rgba(5,10,36,.25); pointer-events:none;}
#ct-app .ct-nazaj-vrh{display:inline-flex; align-items:center; gap:4px; background:none; border:0; padding:4px 2px; margin:0 0 8px; font:inherit; font-size:13.5px; font-weight:800; color:var(--ct-blue); cursor:pointer;}
#ct-app .ct-nazaj-vrh:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px; border-radius:6px;}
#ct-app .ct-modal{position:fixed; inset:0; z-index:9998; background:rgba(5,10,36,.55); display:flex; align-items:center; justify-content:center; padding:18px;}
#ct-app .ct-modal-k{background:#fff; border-radius:18px; padding:22px 20px; width:100%; max-width:420px; box-shadow:0 24px 60px rgba(5,10,36,.35);}
#ct-app .ct-modal-k h3{margin:0 0 6px; font-size:18px; color:var(--ct-navy);}
#ct-app .ct-modal-k input{width:100%; box-sizing:border-box; border:1.5px solid var(--ct-line); border-radius:12px; padding:12px 13px; font:inherit; font-size:16px; margin-top:12px;}
#ct-app .ct-lestev{display:flex; gap:4px; margin-top:10px;}
#ct-app .ct-lestev span{flex:1 1 0; height:8px; border-radius:999px; opacity:.35;}
#ct-app .ct-lestev span.ct-tu{opacity:1; height:12px; margin-top:-2px; box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ct-navy);}
#ct-app .ct-poziv-prij .ct-koda-vrsta{font-size:22px; font-weight:800; letter-spacing:.12em; color:var(--ct-navy); margin:8px 0 2px;}
#ct-app .ct-tab.ct-on .ct-dot{box-shadow:0 0 0 2px rgba(255,255,255,.35);}
/* lestvica tedna na domačem zaslonu: majhna kartica, naslov z ligo levo, "Vse lestvice" desno */
#ct-app .ct-lb-mini{padding:16px 16px 8px; box-shadow:0 6px 18px rgba(5,10,36,.05);}
#ct-app .ct-lb-glava{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:4px;}
#ct-app .ct-lb-glava h3.ct-h{margin:0;}
#ct-app .ct-lb-glava small{margin-left:8px; font-size:12.5px; font-weight:600; color:var(--ct-mut);}
#ct-app .ct-lb-vse{text-decoration:none; font-size:13.5px; white-space:nowrap;}
/* prijatelji na zavihku Prijatelji (koda, dodajanje, seznam za urejanje zložen) */
#ct-app .ct-prij-blok{margin-top:18px; padding-top:14px; border-top:1px solid var(--ct-line);}
#ct-app .ct-uredi{margin-top:6px;}
#ct-app .ct-uredi summary{cursor:pointer; font-size:13px; font-weight:700; color:var(--ct-blue); padding:4px 0;}
/* zaslon za brezplačen račun */
#ct-app .ct-racun-zaslon .ct-sub{margin:-6px 0 12px;}
#ct-app .ct-racun-zaslon .ct-login{margin-top:6px; border-top:0; padding-top:0;}
#ct-app .ct-login{margin-top:12px; border-top:1px solid var(--ct-line); padding-top:12px;}
#ct-app .ct-login p.ct-login-naslov{margin:0 0 8px; font-size:13.5px; font-weight:700; color:var(--ct-navy);}
#ct-app .ct-login p.ct-note{margin:8px 0 0; font-size:12.5px; font-weight:500; color:var(--ct-mut);}
#ct-app .ct-zasebnost-d{margin-top:6px;}
#ct-app .ct-zasebnost-d summary{cursor:pointer; font-size:12.5px; font-weight:600; color:var(--ct-mut); padding:2px 0;}
#ct-app .ct-zasebnost-d[open] summary{color:var(--ct-navy);}
#ct-app .ct-zasebnost-d .ct-zasebnost{margin-top:4px;}
#ct-app .ct-plusbadge{display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:6px; background:var(--ct-yl); color:var(--ct-navy); font-weight:800; font-size:15px; line-height:1; font-style:normal; margin-left:7px; vertical-align:middle;}
#ct-app .ct-plusul{margin:0 0 10px; padding-left:18px; font-size:13.5px; line-height:1.65; color:var(--ct-ink);}
#ct-app .ct-more{text-align:center; margin-top:22px; font-size:13px;}
#ct-app .ct-more .ct-link{color:var(--ct-mut); text-decoration:none; font-weight:700; font-size:13px;}
#ct-app .ct-more .ct-link:hover{color:var(--ct-navy);}
#ct-app .ct-pika{color:var(--ct-mut); margin:0 9px;}
#ct-app .ct-morebox{margin-top:10px; text-align:left;}
#ct-app .ct-koda{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px;}
#ct-app .ct-koda b{font-size:20px; letter-spacing:.14em; color:var(--ct-navy); background:#fffdf3; border:1.5px dashed rgba(255,204,0,.9); border-radius:10px; padding:6px 12px; font-variant-numeric:tabular-nums;}
#ct-app .ct-koda .ct-btn{width:auto; margin:0; padding:10px 16px; font-size:13.5px;}
#ct-app .ct-fr{display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--ct-line); font-size:13.5px; flex-wrap:wrap;}
#ct-app .ct-fr b{color:var(--ct-navy);} #ct-app .ct-fr span{color:var(--ct-mut); font-size:12.5px; font-weight:600;}
#ct-app .ct-fr .ct-link{margin-left:auto; font-size:12px;}
/* "Kje delaš napake": pet najšibkejših tem, odstotek in tanka črta, najslabša na vrhu */
#ct-app .ct-tema{display:flex; align-items:center; gap:10px; font-size:13.5px; padding:9px 0; border-top:1px solid var(--ct-line);}
#ct-app .ct-tema:first-child{border-top:none;}
#ct-app .ct-tema-ime{flex:1; font-weight:600; color:var(--ct-ink); min-width:0;}
#ct-app .ct-tema-bar{width:84px; height:6px; flex:0 0 84px; background:var(--ct-line); border-radius:999px; overflow:hidden;}
#ct-app .ct-tema-bar i{display:block; height:100%; background:var(--ct-navy);}
#ct-app .ct-tema-val{width:46px; text-align:right; font-weight:800; color:var(--ct-navy); font-variant-numeric:tabular-nums;}
#ct-app .ct-teme.ct-locked .ct-tema-ime{color:var(--ct-mut);}
#ct-app .ct-teme.ct-locked .ct-tema-val{filter:blur(4px); color:var(--ct-mut);}
#ct-app .ct-offline{font-size:12px; color:var(--ct-mut); text-align:center; margin:8px 0 0; font-weight:600;}
#ct-app .ct-mail{margin-top:14px; background:#fff; border:1.5px dashed var(--ct-line); border-radius:16px; padding:16px;}
#ct-app .ct-rez-racun{margin-top:14px; background:#fff; border:2px solid var(--ct-navy); border-radius:16px; padding:16px 16px 12px; box-shadow:0 4px 0 var(--ct-navy);}
#ct-app .ct-rez-racun h4{margin:0 0 4px; font-size:18px; color:var(--ct-navy); font-weight:800; letter-spacing:-.01em;}
#ct-app .ct-rez-racun .ct-rez-xp{margin:0 0 8px; font-size:13.5px; color:var(--ct-mut); line-height:1.5;}
#ct-app .ct-rez-racun ul{margin:0 0 10px; padding:0; list-style:none; font-size:14.5px; line-height:1.4; color:var(--ct-ink);}
#ct-app .ct-rez-racun li{position:relative; padding:4px 0 4px 28px;}
#ct-app .ct-rez-racun li:before{content:''; position:absolute; left:1px; top:5px; width:18px; height:18px; border-radius:50%; background:#15803d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat;}
#ct-app .ct-mail h4{margin:0 0 6px; font-size:16px; color:var(--ct-navy); font-weight:800;}
#ct-app .ct-mail p{margin:0 0 10px; font-size:13.5px; color:var(--ct-mut); line-height:1.55;}
#ct-app .ct-row{display:flex; gap:8px; flex-wrap:wrap;}
#ct-app .ct-row input{flex:1; min-width:170px; border:1.5px solid var(--ct-line); border-radius:12px; padding:12px; font:inherit; font-size:14px;}
#ct-app .ct-row button{flex:0 0 auto; width:auto; margin:0; padding:12px 20px; font-size:14px;}
/* Šolska ponudba (ODLOCITVE-KVIZ-V4, 13. točka): informacija, ne ponudba. Namenoma tišja od
   kartice Plus: brez ozadja, brez sence, brez gumba, brez slike, samo obroba in ena povezava. */
#ct-app .ct-sola{position:relative; margin-top:18px; padding:13px 36px 13px 14px; border:1px solid var(--ct-line); border-radius:14px; background:none; box-shadow:none;}
#ct-app .ct-sola h4{margin:0 0 3px; font-size:13.5px; font-weight:700; color:var(--ct-navy);}
#ct-app .ct-sola p{margin:0 0 6px; font-size:12.5px; color:var(--ct-mut); line-height:1.5;}
#ct-app .ct-sola a{font-size:12.5px; font-weight:700; color:var(--ct-blue); text-decoration:underline;}
#ct-app .ct-sola-x{position:absolute; top:5px; right:5px; width:26px; height:26px; padding:0; border:0; border-radius:8px; background:none; color:var(--ct-mut); font:inherit; font-size:17px; line-height:1; cursor:pointer;}
#ct-app .ct-sola-x:hover{background:#eef1f6;}
#ct-app .ct-sola-x:focus-visible{outline:3px solid var(--ct-yl); outline-offset:2px;}
#ct-app .ct-note{font-size:12px; color:var(--ct-mut); margin-top:8px; line-height:1.5;}
#ct-app .ct-center{text-align:center;}
#ct-app .ct-foot{margin-top:24px; text-align:center; font-size:11.5px; color:var(--ct-mut); line-height:1.6;}
#ct-app .ct-foot b{color:var(--ct-navy); font-weight:800;}
#ct-app .ct-foot a{color:var(--ct-blue); font-weight:700;}
#ct-app .ct-load{text-align:center; padding:40px 0; color:var(--ct-mut); font-size:14px;}
#ct-app .ct-hide{display:none !important;}
#ct-app.ct-fs{position:fixed; inset:0; z-index:99998; border-radius:0; overflow-y:auto; -webkit-overflow-scrolling:touch;}
#ct-app.ct-fs .ct-wrap{max-width:900px; padding-top:12px;}
#ct-app.ct-fs .ct-head{display:none;}
html.ct-noscroll{overflow:hidden;}
/* Slavje ob novi stopnji ali novi ligi (V4, 10. tocka). Barve so nase: mornarsko modra, rumena, bela.
   Nikoli med resevanjem pole: finish() ga shrani, zakljucni zaslon ga pokaze. */
#ct-slavje{position:fixed; inset:0; z-index:99999; background:rgba(8,14,32,.62); display:none; align-items:center; justify-content:center; padding:20px; font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;}
#ct-slavje.ct-on{display:flex;}
#ct-slavje *{box-sizing:border-box;}
#ct-slavje .ct-sl-card{position:relative; width:100%; max-width:420px; background:#12224b; color:#fff; border-radius:22px; padding:28px 22px 22px; text-align:center; box-shadow:0 24px 60px rgba(5,10,36,.45); overflow:hidden;}
#ct-slavje .ct-sl-znak{width:78px; height:78px; border-radius:24px; background:#FFCC00; color:#0a1845; font-size:30px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; line-height:1;}
#ct-slavje .ct-sl-eyebrow{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#FFCC00; font-weight:800;}
#ct-slavje h3{font-size:26px; line-height:1.2; margin:8px 0 6px; font-weight:800; color:#fff;}
#ct-slavje p{font-size:14px; line-height:1.55; color:rgba(255,255,255,.8); margin:0 0 14px;}
#ct-slavje .ct-sl-xp{font-size:32px; font-weight:800; color:#FFCC00; font-variant-numeric:tabular-nums; line-height:1; margin:0 0 14px;}
#ct-slavje .ct-btn{display:block; width:100%; margin:0; background:#FFCC00; color:#0a1845; border:none; border-radius:999px; padding:15px; font:inherit; font-weight:800; font-size:15.5px; cursor:pointer;}
/* 14. 10. 2026: slavje ob odklenjenem Tilia Plus ima pod gumbom še povezavo na Moj račun (vseh šest stvari) */
#ct-slavje .ct-sl-link, #ct-slavje .ct-sl-link:hover, #ct-slavje .ct-sl-link:focus{display:inline-block; margin:14px 0 0; color:#FFCC00; font-size:13.5px; font-weight:800; text-decoration:underline; text-underline-offset:3px; background:none;}
#ct-slavje .ct-konfeti{position:absolute; inset:0; overflow:hidden; pointer-events:none;}
#ct-slavje .ct-konfeti i{position:absolute; top:-14px; width:8px; height:13px; border-radius:2px; opacity:0;}
@media (prefers-reduced-motion: no-preference){
  #ct-slavje{animation:ctsl-ozadje .2s cubic-bezier(0.23,1,0.32,1);}
  #ct-slavje .ct-sl-card{animation:ctsl-kartica .26s cubic-bezier(0.23,1,0.32,1) both;}
  #ct-slavje .ct-sl-znak{animation:ctsl-znak .32s cubic-bezier(0.23,1,0.32,1) .09s both;}
  #ct-slavje h3{animation:ctsl-vrstica .26s cubic-bezier(0.23,1,0.32,1) .14s both;}
  #ct-slavje p{animation:ctsl-vrstica .26s cubic-bezier(0.23,1,0.32,1) .19s both;}
  #ct-slavje .ct-sl-xp,#ct-slavje .ct-btn{animation:ctsl-vrstica .26s cubic-bezier(0.23,1,0.32,1) .24s both;}
  #ct-slavje.ct-zapira .ct-sl-card{animation:ctsl-ven .18s cubic-bezier(0.23,1,0.32,1) both;}
  #ct-slavje .ct-konfeti i{animation:ctsl-konfet 1.2s linear forwards;}
}
@keyframes ctsl-ozadje{from{opacity:0;} to{opacity:1;}}
@keyframes ctsl-kartica{from{opacity:0; transform:translateY(12px) scale(.96);} to{opacity:1; transform:none;}}
@keyframes ctsl-znak{from{opacity:0; transform:scale(.8);} to{opacity:1; transform:none;}}
@keyframes ctsl-vrstica{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
@keyframes ctsl-ven{from{opacity:1; transform:none;} to{opacity:0; transform:translateY(8px) scale(.98);}}
@keyframes ctsl-konfet{0%{opacity:1; transform:translate3d(0,0,0) rotate(0deg);} 100%{opacity:0; transform:translate3d(var(--ct-dx,0px),440px,0) rotate(var(--ct-rot,180deg));}}
/* 14. 10. 2026 (Tilia Plus vse v enem, agenti/PLUS-VSE-V-ENEM.md 2. in 4.): okno Plus v videzu strani. Nadnaslov z rumeno piko,
   naslov s poudarkom v mornarski, gumbi kot pilule (rumen glavni, bel z mornarskim robom), kartica z robom #e6eaf3 in senco
   strani. Tema Hello Elementor gumbom ob :hover/:focus da svojo barvo (#c36), zato sta stanji izrecno zapisani. */
#ct-plus{position:fixed; inset:0; z-index:99999; background:rgba(8,14,32,.55); display:none; align-items:flex-end; justify-content:center; font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif; color:#0a1845;}
#ct-plus.ct-on{display:flex;}
#ct-plus *{box-sizing:border-box;}
#ct-plus .ct-sheet{width:100%; max-width:560px; max-height:92vh; overflow-y:auto; background:#fff; border:1px solid #e6eaf3; border-bottom:0; border-radius:24px 24px 0 0; padding:26px 22px 24px; box-shadow:0 22px 50px -24px rgba(16,42,131,.28), 0 -12px 40px rgba(5,10,36,.18); outline:none; -webkit-overflow-scrolling:touch;}
@media (min-width:620px){ #ct-plus{align-items:center; padding:20px;} #ct-plus .ct-sheet{border-bottom:1px solid #e6eaf3; border-radius:24px; padding:32px 32px 28px;} }
#ct-plus .ct-eyebrow{display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:12px; line-height:1.2; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#102A83;}
#ct-plus .ct-eyebrow i{width:7px; height:7px; border-radius:50%; background:#FFCC00; flex:0 0 auto;}
#ct-plus h3{margin:0 0 14px; font-family:inherit; font-size:clamp(22px, 6vw, 30px); line-height:1.15; font-weight:800; letter-spacing:-.02em; color:#111827;}
#ct-plus h3 em{font-style:normal; color:#102A83;}
#ct-plus ul{margin:0 0 14px; padding:0; list-style:none; font-size:15px; line-height:1.45; color:#0a1845;}
#ct-plus li{position:relative; margin:0; padding:6px 0 6px 31px; font-weight:600;}
#ct-plus li:before{content:''; position:absolute; left:1px; top:8px; width:19px; height:19px; border-radius:50%; background:#1a9b55 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat;}
#ct-plus .ct-price{margin:4px 0 0; font-size:15.5px; line-height:1.45; font-weight:800; color:#0a1845;}
#ct-plus p{margin:0 0 8px; font-size:13.5px; color:#5b6480; line-height:1.55;}
#ct-plus .ct-plus-g, #ct-plus .ct-plus-g:visited, #ct-plus .ct-plus-g:hover, #ct-plus .ct-plus-g:focus{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:50px; margin:14px 0 0; padding:14px 22px; border:0; border-radius:999px; font-family:inherit; font-size:13.5px; line-height:1.2; font-weight:800; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; text-align:center; white-space:normal; cursor:pointer; background:#FFCC00; color:#0a1845; box-shadow:0 8px 20px -10px rgba(230,170,0,.9);}
#ct-plus .ct-plus-g2, #ct-plus .ct-plus-g2:visited, #ct-plus .ct-plus-g2:hover, #ct-plus .ct-plus-g2:focus{background:#fff; color:#102A83; box-shadow:inset 0 0 0 1.5px #102A83;}
#ct-plus .ct-plus-g:focus-visible{outline:3px solid rgba(16,42,131,.35); outline-offset:2px;}
#ct-plus .ct-plus-g[disabled]{opacity:.55; cursor:default;}
#ct-plus .ct-plus-drobno{margin:10px 2px 0; font-size:12px; line-height:1.55; color:#5b6480;}
#ct-plus .ct-plus-drobno a, #ct-plus .ct-plus-drobno a:hover, #ct-plus .ct-plus-drobno a:focus{color:#102A83; font-weight:700; text-decoration:underline; text-underline-offset:2px; background:none;}
#ct-plus .ct-plus-msg{margin:8px 0 0; color:#102A83; font-weight:700;}
#ct-plus .ct-plus-msg:empty{display:none;}
#ct-plus .ct-plus-app{margin:6px 0 0; padding:12px 14px; border-radius:14px; background:#f6f8fe; color:#0a1845; font-weight:700;}
#ct-plus .ct-link, #ct-plus .ct-link:hover, #ct-plus .ct-link:focus{background:none; border:0; padding:0; margin:0; color:#102A83; font:inherit; font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer; box-shadow:none;}
#ct-plus .ct-znak{display:inline-flex; align-items:center; justify-content:center; height:17px; padding:0 5px; border-radius:6px; font-size:10.5px; font-weight:800; line-height:1; vertical-align:middle;}
#ct-plus .ct-znak-plus{background:#FFCC00; color:#0a1845;}
#ct-plus .ct-znak-premium{background:#0a1845; padding:0 4px;}
#ct-plus .ct-znak-premium svg{width:11px; height:11px; fill:#FFCC00; display:block;}
#ct-plus .ct-plus-kand{margin:16px 0 0; padding-top:14px; border-top:1px solid #e6eaf3; font-size:13px;}
#ct-plus .ct-plus-prijava-v{margin:8px 0 0;}
@media (prefers-reduced-motion: no-preference){
  #ct-plus.ct-on{animation:ctplus-ozadje .2s cubic-bezier(0.23,1,0.32,1);}
  #ct-plus.ct-on .ct-sheet{animation:ctplus-list .26s cubic-bezier(0.23,1,0.32,1) both;}
}
@keyframes ctplus-ozadje{from{opacity:0;} to{opacity:1;}}
@keyframes ctplus-list{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
@media (max-width:560px){
  #ct-app .ct-q{font-size:17.5px;} #ct-app .ct-card{padding:16px;}
  #ct-app .ct-grid{grid-template-columns:repeat(8,1fr);} #ct-app .ct-score{font-size:40px;}
  #ct-app .ct-tema{font-size:13px;} #ct-app .ct-tema-bar{width:64px; flex-basis:64px;}
  #ct-app .ct-wrap{padding-top:14px;}
  #ct-app .ct-modes{gap:10px;}
  #ct-app .ct-3d{min-height:128px; padding:14px 13px 15px; border-radius:18px;} #ct-app .ct-3d .ct-ico{width:38px; height:38px; border-radius:12px;} #ct-app .ct-3d .ct-ico svg{width:21px; height:21px;}
  #ct-app .ct-3d .ct-tt{font-size:17px; padding-top:12px;} #ct-app .ct-3d .ct-tl{font-size:12.5px;}
  #ct-app .ct-3d .ct-zacni, #ct-app .ct-3d .ct-cnt, #ct-app .ct-3d .ct-kljuc{top:12px; right:12px; height:24px; font-size:11.5px;}
  /* vrstica igralca ostane ena vrstica na 360 px telefonu: manjši avatar in značke */
  #ct-app .ct-player{gap:8px;}
  #ct-app .ct-avatar{width:36px; height:36px; flex-basis:36px; border-radius:11px; font-size:14px;}
  #ct-app .ct-pname{font-size:15px;}
  #ct-app .ct-chips{gap:5px;}
  #ct-app .ct-chip{font-size:12px; padding:5px 8px;}
  #ct-app .ct-vrstica{padding:11px 12px;}
}
@media (max-width:359px){ #ct-app .ct-3d .ct-tt{font-size:16px;} #ct-app .ct-3d{padding-left:12px; padding-right:12px;} }
@media (prefers-reduced-motion: no-preference){ #ct-app .ct-fade{animation:ctfade .2s ease-out;} @keyframes ctfade{from{opacity:0; transform:translateY(5px);} to{opacity:1; transform:none;}} }
@media (prefers-reduced-motion: no-preference){ #ct-app .ct-gpop{transform:translateY(-4px); transition:opacity .12s ease-out, transform .12s ease-out;} #ct-app .ct-gpop.ct-on{transform:none;} }
