:root{--p1:#2f6c9e;--p2:#2e7d32;--p3:#a8336f;--ppl:#6a4c93;--pres:#00695c;--past:#8d5524;--pres-bg:#e0f2f1;--past-bg:#f6ece2;--nom:#2f6c9e;--acc:#b0302a;--gen:#8e44ad;--dat:#a84300;--ins:#5f6b6d;--nom-bg:#e3eef8;--acc-bg:#fbe4e1;--gen-bg:#f1e4f6;--dat-bg:#fcebdc;--ins-bg:#eceeee;--masc:#2f6c9e;--fem:#a8336f;--neut:#226b44;--masc-t:var(--masc);--fem-t:var(--fem);--neut-t:var(--neut)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--kff4f4f4,#f4f4f4);color:var(--kt222222,#222222)}
header{position:sticky;top:0;background:var(--kf2f6c9e,#2f6c9e);color:var(--ktffffff,#ffffff);display:flex;gap:12px;align-items:center;padding:10px 16px}
.logo{color:var(--ktffffff,#ffffff);font-weight:700;text-decoration:none;font-size:20px;white-space:nowrap}
#q{flex:1;padding:9px 12px;border:0;border-radius:4px;font-size:16px}nav a{color:var(--ktffffff,#ffffff);margin-left:10px;text-decoration:none}
main{max-width:820px;margin:0 auto;padding:12px}
.card{background:var(--kfffffff,#ffffff);border-radius:4px;padding:12px 16px;margin:8px 0;box-shadow:0 1px 2px 0002;cursor:pointer}
.hw{font-size:22px;color:var(--kt1b4f7a,#1b4f7a);font-weight:600}.rune{font-size:20px;color:var(--kt8a5a00,#8a5a00);margin-left:8px}
.pos{color:var(--kt2e8b57,#2e8b57);font-size:13px;font-style:italic}.ex{color:var(--kt555555,#555555);font-size:14px;margin:4px 0 4px 18px}.ex i{color:var(--kt888888,#888888)}
.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:3px;background:var(--kfe07b00,#e07b00);color:var(--ktffffff,#ffffff);margin-right:4px}
table{border-collapse:collapse;width:100%;font-size:14px}td,th{border:1px solid var(--kfdddddd,#dddddd);padding:4px 8px;text-align:left}th{background:var(--kfeef3f8,#eef3f8)}
.runes{display:flex;flex-wrap:wrap;gap:8px}.rb{border:1px solid var(--kfe3c98f,#e3c98f);background:var(--kffffaf0,#fffaf0);border-radius:4px;padding:6px;text-align:center;min-width:64px}
.rb b{font-size:28px;display:block;color:var(--kt8a5a00,#8a5a00)}.rb small{display:block;color:var(--kt666666,#666666)}
button{background:var(--kf2f6c9e,#2f6c9e);color:var(--ktffffff,#ffffff);border:0;border-radius:4px;padding:6px 12px;cursor:pointer;margin:2px}button.sec{background:var(--kf888888,#888888)}
h3{color:var(--kt2f6c9e,#2f6c9e);border-bottom:1px solid var(--kfdddddd,#dddddd);margin-top:18px}
.fc{font-size:40px;text-align:center;padding:50px 10px;min-height:200px}footer{text-align:center;font-size:12px;color:var(--kt888888,#888888);padding:20px}
@font-face{font-family:"Noto Sans Runic";src:local("Noto Sans Runic"),url(fonts/NotoSansRunic-Regular.ttf) format("truetype");font-display:swap}
.rune,.rb b,.logo .r,.fc .rune{font-family:"Noto Sans Runic",system-ui,sans-serif}
.fc .back{font-size:26px;line-height:1.4}.fc .back .def{font-size:30px;font-weight:600;color:var(--kt1b4f7a,#1b4f7a)}.fc .back .more{font-size:18px;color:var(--kt555555,#555555);margin-top:10px}
.hero{text-align:center;padding:28px 12px 18px}.hero h1{margin:0;font-size:40px;color:var(--kt1b4f7a,#1b4f7a)}.hero h1 .rune{display:block;font-size:26px;margin:0 0 4px}
.pitch{color:var(--kt555555,#555555);font-size:17px;margin:8px 0 18px}.bigq{width:100%;max-width:640px;padding:14px 16px;font-size:18px;border:2px solid var(--kf2f6c9e,#2f6c9e);border-radius:6px}
.lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--kte07b00,#e07b00);font-weight:700;margin-bottom:6px}.def{font-size:18px;margin:6px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid2 .card{margin:0}.wotd .ex{margin-left:0}
.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:12px 0}.q{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--kt222222,#222222);margin:0}
.q b{color:var(--kt1b4f7a,#1b4f7a);font-size:17px}.q span{font-size:14px;color:var(--kt555555,#555555)}.q:hover{box-shadow:0 2px 8px 0003}.soon{opacity:.6;cursor:default}
.stats{text-align:center;color:var(--kt666666,#666666);font-size:14px}textarea{width:100%;font-size:18px;padding:10px;border:1px solid var(--kfcccccc,#cccccc);border-radius:4px}
.runeout{font-size:32px;margin:12px 0;word-break:break-all}
nav{display:flex;flex-wrap:wrap}nav a{white-space:nowrap}
@media(max-width:700px){header{flex-wrap:wrap;gap:8px}#q{order:3;flex-basis:100%}nav{margin-left:auto}nav a{margin-left:8px;font-size:14px}.grid2{grid-template-columns:1fr}.hero h1{font-size:32px}.bigq{font-size:16px}body[data-page=home] #q{display:none}}
body[data-page=home] header #q{visibility:hidden}@media(max-width:700px){body[data-page=home] header #q{display:none}}
.crumbs{font-size:13px;color:var(--kt777777,#777777);margin:8px 0}.pgtitle{color:var(--kt1b4f7a,#1b4f7a);margin:4px 0 10px}.guide{line-height:1.6}.guide .lead{font-size:17px;color:var(--kt444444,#444444)}
.toc ol{columns:2;margin:6px 0 0;padding-left:22px}.toc{background:var(--kff8fbff,#f8fbff);box-shadow:none;border:1px solid var(--kfd6e4f0,#d6e4f0)}
.gt{margin:8px 0 14px}.gt td{vertical-align:top}.gt .big{font-size:22px;font-weight:600;color:var(--kt1b4f7a,#1b4f7a);white-space:nowrap}.table-wrap{overflow-x:auto}
.exw{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px;padding:2px 7px;margin:2px;border:1px solid var(--kfd6e4f0,#d6e4f0);border-radius:4px;background:var(--kff8fbff,#f8fbff);text-decoration:none;color:var(--kt222222,#222222);font-size:14px}
.exw b{color:var(--kt1b4f7a,#1b4f7a)}.exw .rune{font-size:14px;margin:0}.exw .ipa{color:var(--kt2e8b57,#2e8b57);font-size:12px}.exw .gl{color:var(--kt666666,#666666);font-size:12px}.exw:hover{border-color:var(--kf2f6c9e,#2f6c9e)}.exw.missing{opacity:.6}
.note{background:var(--kffff8e6,#fff8e6);border-left:4px solid var(--kfe07b00,#e07b00);padding:8px 12px;margin:10px 0;border-radius:3px}.alpha{font-size:24px;letter-spacing:.12em;text-align:center;color:var(--kt1b4f7a,#1b4f7a)}
.verse{font-size:24px;text-align:center;margin:6px 0;font-family:Georgia,serif}.verse.rune{font-size:22px}
.quiz details{background:var(--kff8fbff,#f8fbff);border:1px solid var(--kfd6e4f0,#d6e4f0);border-radius:4px;padding:8px 12px;margin:6px 0}.quiz summary{cursor:pointer;font-weight:500}.quiz details[open] summary{margin-bottom:6px;color:var(--kt2f6c9e,#2f6c9e)}
.cp{font-size:18px;padding:2px 10px}.src{font-size:14px}.guide h3{scroll-margin-top:70px}.ws{margin:6px 0}
@media(max-width:700px){.toc ol{columns:1}.gt{display:block;overflow-x:auto}.gt td,.gt th{padding:4px 5px;font-size:13px}.verse{font-size:19px}}
.q .tag{align-self:flex-start;color:var(--ktffffff,#ffffff);font-size:11px}
.tw{overflow-x:auto}.par caption{caption-side:top;text-align:left;font-weight:600;color:var(--kt2f6c9e,#2f6c9e);padding:4px 0}.par td b,.art td b{color:var(--ktc0392b,#c0392b)}.gd{font-size:11px;font-weight:400;color:var(--kt888888,#888888)}

.il{display:flex;flex-wrap:wrap;gap:6px 10px;margin:10px 0 2px;padding:8px;background:var(--kff8fbff,#f8fbff);border:1px solid var(--kfd6e4f0,#d6e4f0);border-radius:4px}
.ilw{display:flex;flex-direction:column;align-items:flex-start;min-width:48px}.ilw .oe{font-weight:600;font-size:17px;color:var(--kt1b4f7a,#1b4f7a)}.ilg{font-size:13px;color:var(--kt555555,#555555)}
.ilt{font-size:10px;text-transform:uppercase;padding:0 4px;border-radius:2px;background:var(--kfeeeeee,#eeeeee);color:var(--kt555555,#555555)}
.ilx{margin:2px 0 12px;font-style:italic;color:var(--kt444444,#444444)}.exw.mini{padding:0 4px;font-size:11px;margin:0}.passage{font-family:Georgia,serif;font-size:20px;line-height:1.7;background:var(--kffffaf0,#fffaf0);border:1px solid var(--kfe3c98f,#e3c98f);border-radius:4px;padding:10px 14px}

/* shared case & gender colours (guides + dictionary) */
.c-nom{color:var(--nom)}.c-acc{color:var(--acc)}.c-gen{color:var(--gen)}.c-dat{color:var(--dat)}.c-ins{color:var(--ins)}
.ilt.nom{background:var(--nom-bg);color:var(--nom)}.ilt.acc{background:var(--acc-bg);color:var(--acc)}.ilt.gen{background:var(--gen-bg);color:var(--gen)}.ilt.dat{background:var(--dat-bg);color:var(--dat)}
.g{display:inline-block;font-size:12px;line-height:1.5;padding:0 6px;border-radius:3px;color:var(--ktffffff,#ffffff);font-weight:600;font-style:normal;vertical-align:middle;margin-right:3px}
.g.m{background:var(--masc)}.g.f{background:var(--fem)}.g.n{background:var(--neut)}
.gb{margin-left:6px;white-space:nowrap}.gb .g{font-size:11px}.hw+.gb .g,.fcg .g{font-size:12px}
tr.r-nom>td:first-child{color:var(--nom);background:var(--nom-bg);font-weight:600;border-left:4px solid var(--nom)}
tr.r-acc>td:first-child{color:var(--acc);background:var(--acc-bg);font-weight:600;border-left:4px solid var(--acc)}
tr.r-gen>td:first-child{color:var(--gen);background:var(--gen-bg);font-weight:600;border-left:4px solid var(--gen)}
tr.r-dat>td:first-child{color:var(--dat);background:var(--dat-bg);font-weight:600;border-left:4px solid var(--dat)}
tr.r-ins>td:first-child{color:var(--ins);background:var(--ins-bg);font-weight:600;border-left:4px solid var(--ins)}
.par tr th.c-nom,.art th.c-nom{background:var(--nom-bg)}.art th.c-acc{background:var(--acc-bg)}.art th.c-gen{background:var(--gen-bg)}.art th.c-dat{background:var(--dat-bg)}.art th.c-ins{background:var(--ins-bg)}
.caselegend{font-size:12px;margin:4px 0 6px;display:flex;flex-wrap:wrap;gap:4px 10px}.caselegend span{font-weight:600}
.gt th.c-nom,.gt tr.r-nom>th{background:var(--nom-bg);color:var(--nom)}.gt th.c-acc,.gt tr.r-acc>th{background:var(--acc-bg);color:var(--acc)}.gt th.c-gen,.gt tr.r-gen>th{background:var(--gen-bg);color:var(--gen)}.gt th.c-dat,.gt tr.r-dat>th{background:var(--dat-bg);color:var(--dat)}.gt th.c-ins,.gt tr.r-ins>th{background:var(--ins-bg);color:var(--ins)}.gor{color:var(--kt999999,#999999);margin-right:3px}

/* verb tables: tense columns + person rows (shared by dictionary and Verbs guide) */
.vt .t-pres{background:var(--pres-bg);color:var(--pres)}.vt .t-past{background:var(--past-bg);color:var(--past)}
.vt tr.mood th{background:var(--kff3f3f3,#f3f3f3);color:var(--kt444444,#444444);text-transform:uppercase;font-size:11px;letter-spacing:.05em}
.vt tr.p1>th:first-child{border-left:4px solid var(--p1);color:var(--p1)}.vt tr.p2>th:first-child{border-left:4px solid var(--p2);color:var(--p2)}
.vt tr.p3>th:first-child{border-left:4px solid var(--p3);color:var(--p3)}.vt tr.ppl>th:first-child{border-left:4px solid var(--ppl);color:var(--ppl)}
.vt th.pr{font-weight:400;font-style:italic;color:var(--kt666666,#666666);font-size:12px}.vt td{min-width:70px}.nf{color:var(--ktbbbbbb,#bbbbbb)}.small{font-size:13px}
.c-pres{color:var(--pres)}.c-past{color:var(--past)}.pp td:nth-child(2){background:var(--pres-bg)}.pp td:nth-child(3),.pp td:nth-child(4){background:var(--past-bg)}.pp td:nth-child(5){background:var(--kff3f3f3,#f3f3f3)}
.vc{min-height:40px}

/* adjective declension tables */
.adjblk{margin:10px 0 16px}.adjh{font-weight:700;margin:4px 0 6px;color:var(--kt333333,#333333)}
table.at th.t-sg{background:var(--kfeef3f8,#eef3f8)}table.at th.t-pl{background:var(--kff3eef8,#f3eef8)}
table.at th.g-m{color:var(--masc-t)}table.at th.g-f{color:var(--fem-t)}table.at th.g-n{color:var(--neut-t)}
table.at td{white-space:nowrap}
.vh-a{background:var(--kffff3c4,#fff3c4);border-bottom:2px solid var(--kf8a6d00,#8a6d00);font-weight:700}
.bw{font-family:Georgia,serif;font-size:17px;line-height:1.9}.bw .ln{color:var(--kt777777,#777777);font-size:12px;width:2em;display:inline-block}.bw .cz{color:var(--kt999999,#999999);padding:0 .6em}
/* word order + verse */
.vfin{background:var(--kfe6f4ea,#e6f4ea);color:var(--kt1b5e20,#1b5e20);font-weight:700;padding:0 2px;border-radius:2px}.sbj{background:var(--kfe3edf7,#e3edf7);color:var(--kt1f4f7a,#1f4f7a);padding:0 2px;border-radius:2px}
table.wo td{vertical-align:top}
.bwrap{border:1px solid var(--kfe3d9c2,#e3d9c2);background:var(--kffffdf7,#fffdf7);border-radius:6px;padding:10px 12px;margin:12px 0}
.bwbar{text-align:right;margin-bottom:4px}.bwrap .rt{font-size:13px;padding:3px 8px;border:1px solid var(--kfb48a3c,#b48a3c);background:var(--kffff6e0,#fff6e0);color:var(--kt5a3d00,#5a3d00);border-radius:4px;cursor:pointer}
.bl{padding:4px 0;border-bottom:1px dotted var(--kfeadfc6,#eadfc6)}.bl:last-child{border:0}
.st{background:var(--kffff3c4,#fff3c4);color:var(--kt7a3e00,#7a3e00);font-weight:700;border-bottom:2px solid var(--kfb07a00,#b07a00)}
.stv .oe{font-weight:700}
.blg summary{font-size:12px;color:var(--kt6b5a2e,#6b5a2e);cursor:pointer;display:inline-block}.blg .il{margin-top:6px}
.czw{align-self:center;color:var(--kt999999,#999999);font-size:20px;padding:0 4px}
.bwrap.rmode .lt{display:none}.bwrap.rmode .rn{display:inline;font-family:'Noto Sans Runic',sans-serif;color:var(--kt7a4e00,#7a4e00)}.rn{display:none}
.bwrap.rmode .ilw .oe .rn{display:inline}
.passage.verse p{font-family:Georgia,serif;line-height:1.9}
.bw .hl{display:inline-block;min-width:44%;vertical-align:top}
@media(max-width:640px){.bw .ln{float:left}.bw .hl{display:block;min-width:0}.bw .cz{display:none}.bw .hl+.cz+.hl{padding-left:2.4em}}
/* runes hub */
.hubr{font-size:30px!important;color:var(--kt8a5a00,#8a5a00)!important;margin:0}.rl{margin:0 2px;font-size:1.15em}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:10px 0 18px}
.rcard{border:1px solid var(--kfe3c98f,#e3c98f);background:var(--kffffaf0,#fffaf0);border-radius:6px;padding:10px 12px;display:flex;gap:12px;align-items:flex-start}
.rglyph{font-family:"Noto Sans Runic",sans-serif;font-size:56px;line-height:1;color:var(--kt7a4e00,#7a4e00);min-width:52px;text-align:center}
.rbody{flex:1;min-width:0;font-size:14px}.rname{margin-bottom:4px}.rnum{color:var(--kt555555,#555555);font-size:12px}.rnl{color:var(--kt1b4f7a,#1b4f7a);font-size:16px}.nodict{color:var(--kt666666,#666666)}
.rcard dl{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:4px 0}.rcard dt{color:var(--kt555555,#555555);font-size:12px}.rcard dd{margin:0}
.rcard .cp{font-family:"Noto Sans Runic",sans-serif!important;color:var(--kt7a4e00,#7a4e00);font-size:18px;line-height:1.2;border:1px solid var(--kfc9a95a,#c9a95a);background:var(--kfffffff,#ffffff);border-radius:3px;cursor:pointer;padding:0 6px}
.rnote{font-size:13px;color:var(--kt444444,#444444);margin:4px 0}.rpo summary{cursor:pointer;color:var(--kt1b4f7a,#1b4f7a);font-size:13px}.rpo .oe,.guide .oe{font-family:Georgia,serif;font-style:italic;margin:6px 0}.rpo .tr,.guide .tr{color:var(--kt333333,#333333);margin:4px 0}
.rtab{border-collapse:collapse;margin:8px 0;font-size:14px;width:100%}.rtab th,.rtab td{border:1px solid var(--kfd6e4f0,#d6e4f0);padding:4px 8px;text-align:left;vertical-align:top}.rtab th{background:var(--kff8fbff,#f8fbff)}
.obj{border-left:3px solid var(--kfe3c98f,#e3c98f);padding:2px 0 2px 12px;margin:12px 0}.obj h4{margin:4px 0;color:var(--kt1b4f7a,#1b4f7a)}
.rfig{margin:8px 0}.rfig img{max-width:100%;height:auto;border-radius:4px;display:block}.rfig figcaption{font-size:12px;color:var(--kt555555,#555555);margin-top:4px}
.prx{border:1px solid var(--kfd6e4f0,#d6e4f0);border-radius:4px;padding:6px 12px;margin:8px 0}.prx .where{font-size:13px;color:var(--kt555555,#555555);margin:0}.prx .verse{text-align:left;word-break:break-all}
@media(max-width:600px){.rgrid{grid-template-columns:1fr}.rglyph{font-size:46px;min-width:44px}.rtab{font-size:13px}}
/* rune entries */
.posrune{background:var(--kf7a4e00,#7a4e00);color:var(--ktffffff,#ffffff);font-size:12px;padding:1px 7px;border-radius:9px;font-style:normal;vertical-align:middle}
.rchip{display:inline-block;margin-left:8px;background:var(--kffffaf0,#fffaf0);border:1px solid var(--kfc9a95a,#c9a95a);color:var(--kt7a4e00,#7a4e00);border-radius:12px;padding:1px 9px;font-size:13px;text-decoration:none;vertical-align:middle}.rchip span{font-family:"Noto Sans Runic",sans-serif;font-size:17px}
a.rlk{color:inherit;text-decoration:none;border-bottom:1px dotted var(--kfc9a95a,#c9a95a)}a.rlk:hover{background:var(--kffff1d0,#fff1d0)}
a.rglyph{text-decoration:none}.rnl{text-decoration:none;font-weight:600}.rent{color:var(--kt666666,#666666);font-size:11px}.rword{font-size:13px;margin-bottom:2px}
a.rb{text-decoration:none;color:inherit}a.rb:hover{box-shadow:0 1px 5px 0003}
.rehead{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.rebig{font-family:"Noto Sans Runic",sans-serif;font-size:110px;line-height:1;color:var(--kt7a4e00,#7a4e00);min-width:90px;text-align:center;border:1px solid var(--kfe3c98f,#e3c98f);background:var(--kffffaf0,#fffaf0);border-radius:8px;padding:8px 14px}
.recp{font-family:"Noto Sans Runic",sans-serif;color:var(--kt7a4e00,#7a4e00);border:1px solid var(--kfc9a95a,#c9a95a);background:var(--kfffffff,#ffffff);border-radius:3px;cursor:pointer}
.redl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0}.redl dt{color:var(--kt555555,#555555)}.redl dd{margin:0}
.rentry .oe{font-family:Georgia,serif;font-style:italic}.renav{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:16px}
.hwr{font-family:"Noto Sans Runic",sans-serif;font-size:28px;color:var(--kt7a4e00,#7a4e00)}
.exr{border-color:var(--kfe3c98f,#e3c98f);background:var(--kffffaf0,#fffaf0)}
/* lists */
.lhub .q .cnt{font-size:13px;color:var(--kt555555,#555555)}.samp{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px}.ls1{font-size:13px;color:var(--kt1b4f7a,#1b4f7a)}.ls1 .rune{font-size:13px;color:var(--kt8a5a00,#8a5a00);margin:0}
.myl{cursor:default;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px}.myl .cnt{color:var(--kt555555,#555555);font-size:13px}.myl .acts{margin-left:auto}
.btn{display:inline-block;background:var(--kf1b4f7a,#1b4f7a);color:var(--ktffffff,#ffffff)!important;padding:5px 12px;border-radius:4px;text-decoration:none;font-size:14px}
.lbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0}.lbar label{font-size:14px}.lsrc{color:var(--kt444444,#444444)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;max-height:70vh;overflow-y:auto;padding:2px;border:1px solid var(--kfe3e8ee,#e3e8ee);border-radius:4px}
.wcell{position:relative;display:flex}.wcell .wc{flex:1;margin:0;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 9px}
.wc b{font-size:16px}.wc b.rune{font-size:24px;color:var(--kt8a5a00,#8a5a00)}.wb{display:flex;gap:4px;align-items:center}.wb .pos{font-size:11px;color:var(--kt1e6b40,#1e6b40)}.wn{font-size:12px;color:var(--kt5a4000,#5a4000);font-style:italic}
.rmw{position:absolute;top:2px;right:2px;padding:0 7px;line-height:20px}
@media(max-width:600px){.wgrid{grid-template-columns:1fr 1fr;max-height:none}.myl .acts{margin-left:0}}
.cols{columns:2 240px;font-size:14px}

.hform{display:flex;gap:8px;max-width:640px;margin:0 auto}.hform .bigq{flex:1;min-width:0}.hbtn{padding:0 18px;font-size:17px;border-radius:6px;flex:none}

.rl{font-weight:700;text-decoration:underline;text-decoration-color:var(--btn,currentColor);text-decoration-thickness:2px;text-underline-offset:3px}
/* Quiz */
:root,[data-theme="light"]{--okb:#1f5d3a;--okbg:#dcebd3;--okfg:#16391f;--badb:#a33024;--badbg:#f4d7cf;--badfg:#5e1910}
[data-theme="dark"]{--okb:#6fc28c;--okbg:#1c3523;--okfg:#d3f0db;--badb:#e58a78;--badbg:#45201a;--badfg:#f8d6ce}
@media(max-width:700px){nav a.navq{display:none}}
.quiz{max-width:720px;margin:0 auto}
.qmeta{display:flex;gap:10px;align-items:baseline;font-size:14px;color:var(--kt666666,#666)}
.qprog{height:8px;border-radius:4px;background:var(--kfe3e8ee,#e3e8ee);overflow:hidden;margin:8px 0 4px}.qprog span{display:block;height:100%;background:var(--btn,#2f6c9e);transition:width .3s}
.qstat{display:flex;justify-content:space-between;font-size:14px;color:var(--kt444444,#444);margin-bottom:8px}
.qcard{text-align:center;cursor:default;padding:18px 16px;margin:0 0 12px}.qlbl{font-size:14px;color:var(--kt666666,#666);margin-bottom:6px}
.qw{font-size:40px;font-weight:600;color:var(--kt1b4f7a,#1b4f7a);line-height:1.2;word-break:break-word}.qw.rune{font-size:64px;font-weight:400}
.qcard .qr{font-size:22px;margin:4px 0}.qcard .wb{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:6px}
.qg{font-size:26px;line-height:1.3;color:var(--kt222222,#222);margin:4px 0}
.qopts{display:grid;gap:10px}
[data-theme] button.qopt,button.qopt{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:10px 14px;text-align:left;font:inherit;font-size:18px;line-height:1.3;border-radius:6px;cursor:pointer;
 background:var(--kfffffff,#fff);color:var(--kt222222,#222);border:2px solid var(--kfcccccc,#ccc)}
[data-theme] button.qopt:hover:not(:disabled){border-color:var(--btn,#2f6c9e)}button.qopt:focus-visible{outline:3px solid var(--link,#2f6c9e);outline-offset:2px}
button.qopt .qk{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:15px;font-weight:700;background:var(--kfe3e8ee,#e3e8ee);color:var(--kt222222,#222)}
button.qopt .qtx{flex:1}button.qopt .qtx .rune{font-size:16px;margin-left:4px}button.qopt .qrb{font-size:30px;font-weight:400}
[data-theme] button.qopt.ok,button.qopt.ok{background:var(--okbg);color:var(--okfg);border-color:var(--okb)}button.qopt.ok .qk{background:var(--okb);color:var(--okbg)}
[data-theme] button.qopt.bad,button.qopt.bad{background:var(--badbg);color:var(--badfg);border-color:var(--badb)}button.qopt.bad .qk{background:var(--badb);color:var(--badbg)}
button.qopt:disabled{cursor:default}button.qopt.dim{opacity:.75}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.qfb{margin-top:12px}.qres{cursor:default;margin:0 0 10px;border-left:6px solid}.qres.ok{border-left-color:var(--okb)}.qres.bad{border-left-color:var(--badb)}
.qres .qv{font-size:19px}.qres.ok .qv{color:var(--okfg)}.qres.bad .qv{color:var(--badfg)}[data-theme] .qres.ok .qv{color:var(--kt222222)}[data-theme] .qres.bad .qv{color:var(--kt222222)}
.qans{display:flex;margin:8px 0}.qans .wcell{flex:1;max-width:360px}.qfull{color:var(--kt444444,#444)}
[data-theme] button.qbtn,button.qbtn,a.qbtn2{min-height:48px;padding:10px 20px;font:inherit;font-size:17px;border-radius:6px;margin:4px 6px 4px 0}a.qbtn2{display:inline-flex;align-items:center}
.qhint{color:var(--kt666666,#666)}
.qpick{cursor:default;display:grid;gap:14px;margin:12px 0}.qfld{display:grid;gap:4px}.qfld span,.qseg legend{font-size:14px;font-weight:600;color:var(--kt444444,#444)}
.qfld select{font:inherit;font-size:17px;min-height:48px;padding:6px 8px;border-radius:6px;border:2px solid var(--kfcccccc,#ccc);background:var(--qbg,#fff);color:var(--qfg,#222);max-width:100%}
.qseg{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.qseg legend{margin-bottom:4px;padding:0}
.qseg label{flex:1 1 auto;position:relative}.qseg input{position:absolute;opacity:0;inset:0;margin:0}
.qseg span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 14px;border:2px solid var(--kfcccccc,#ccc);border-radius:6px;cursor:pointer;text-align:center;background:var(--kfffffff,#fff)}
.qseg input:checked+span{background:var(--btn,#2f6c9e);color:var(--btnfg,#fff);border-color:var(--btn,#2f6c9e);font-weight:600}.qseg input:focus-visible+span{outline:3px solid var(--link,#2f6c9e);outline-offset:2px}
.qstart{justify-self:start}
.qbest{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.qbl{display:flex;flex-direction:column;gap:2px;text-decoration:none;margin:0}.qbl span{font-size:13px}.qbp{font-weight:700}
.qscore{cursor:default;text-align:center;margin:8px 0 12px}.qbig{font-size:46px;font-weight:700;color:var(--kt1b4f7a,#1b4f7a)}
.qacts{display:flex;flex-wrap:wrap;align-items:center}.qmiss{max-height:none}
@media(max-width:600px){.qacts>*{flex:1 1 100%;justify-content:center;margin-right:0}.qstart{justify-self:stretch}.qw{font-size:34px}}
@media(hover:none){.kbh{display:none}}
[data-theme] button.qclr,button.qclr{font:inherit;font-size:14px;min-height:36px}
/* Grammar quiz (grammar-quiz.js) */
.gqmodes label{flex:1 1 40%}.gqinfo{margin:2px 0 0;min-height:1.2em}
.gqof{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:baseline}.gqof .gl{font-style:italic}.gqw2{font-size:32px}
.gqgrid{display:grid;grid-template-columns:minmax(92px,auto) 1fr 1fr;gap:8px;align-items:stretch;margin-bottom:10px}
.gqh{text-align:center;font-weight:600;font-size:14px;align-self:end}
.gqrl{display:flex;align-items:center;padding:0 8px;border-radius:6px;font-weight:600;font-size:15px;text-transform:capitalize}
.gqo{min-height:52px;justify-content:center;border-left-width:6px!important}.gqo .qtx{flex:0 1 auto;font-weight:600}
.gq-nom{border-left-color:var(--nom)!important}.gq-acc{border-left-color:var(--acc)!important}.gq-gen{border-left-color:var(--gen)!important}.gq-dat{border-left-color:var(--dat)!important}
.gqgrid .qopt.ok{border-left-color:var(--okb)!important}.gqgrid .qopt.bad{border-left-color:var(--badb)!important}
.gqg{min-height:56px;font-size:18px}.gqg .g{font-size:15px;padding:2px 10px}.gqg-m{border-left:6px solid var(--masc)!important}.gqg-f{border-left:6px solid var(--fem)!important}.gqg-n{border-left:6px solid var(--neut)!important}
.gqt{margin:8px 0;min-width:0}.gqt td{white-space:nowrap}.gqt th.g-m{color:var(--masc-t)}.gqt th.g-f{color:var(--fem-t)}.gqt th.g-n{color:var(--neut-t)}
.gqin{display:inline-flex;align-items:baseline;gap:1px}.gqst{opacity:.8}.gqin input{width:5.2em;min-width:0;font:inherit;font-size:17px;padding:6px 6px;border:2px solid var(--btn,#2f6c9e);border-radius:5px;background:var(--qbg,#fff);color:var(--qfg,#222)}
.gqa.ok{color:var(--okfg);font-weight:600}.gqa.bad{color:var(--badfg);font-weight:600}.gqa s{opacity:.8;font-weight:400}
.gqkeys{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.gqkeys button{min-width:44px;min-height:44px;font-size:20px;padding:0 8px}
.qres mark{background:var(--okbg);color:var(--okfg);font-weight:700;padding:0 2px;border-radius:3px}
.gqmiss li{margin:4px 0}.gqtest{cursor:default;margin:18px 0}.gqlinks{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:600px){.gqmodes span{min-height:44px;padding:6px 8px}.gqgrid{grid-template-columns:auto 1fr 1fr;gap:6px}.gqrl{font-size:14px;padding:0 6px}.gqt th,.gqt td{padding:4px 5px;font-size:15px}.gqin input{width:4.2em}}
