/* WortWende – Vokabelkarten */
:root{
 --bg:#0f2554; --bg2:#0a1a3e; --ink:#0b1a3f; --card:#fffdf8; --cream:#fbf1e2;
 --or:#ff8a1f; --or2:#ffb066; --ok:#1fae5b; --bad:#e23b3b; --mute:#93a3c4; --line:rgba(255,255,255,.12);
 --de1:#111; --de2:#dd0000; --de3:#ffce00; --en1:#d81e2c; --en2:#ffffff; --en3:#1f4aa8;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{background:radial-gradient(120% 80% at 50% 30%,#14306a 0%,var(--bg) 55%,var(--bg2) 100%) fixed;background-color:var(--bg);
 color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.4;
 overscroll-behavior:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:var(--or2)}
.hide{display:none!important}
#app{max-width:640px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;
 padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}

/* Kopfzeile */
.top{display:flex;align-items:center;gap:10px;min-height:52px}
.top .logo{height:40px;width:auto;border-radius:8px}
.top h1{font-size:22px;font-weight:800;letter-spacing:.01em;flex:1}
.top h1 span{color:var(--or)}
.ibtn{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.ibtn:active{transform:scale(.95)}
.ibtn svg{width:24px;height:24px}

/* Zähler und Richtungsschalter */
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}
.count{font-size:15px;color:#dfe6f7;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.count b{font-size:18px}
.count .r b{color:#6be39a}.count .f b{color:#ff8a8a}.count .s{color:var(--mute)}
.dir{display:flex;flex-direction:column;gap:4px;margin-left:auto}
.dir button{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:10px;font-weight:800;font-size:14px;letter-spacing:.04em;
 background:rgba(255,255,255,.07);border:1px solid var(--line);color:#c9d3ea}
.dir button.on{background:var(--or);border-color:var(--or);color:#2a1300}
.dir button svg{width:22px;height:14px}
.mixtag{font-size:12px;color:var(--or2);text-align:right;margin-top:2px}

/* Karte */
.stage{position:relative;perspective:1400px;margin:6px 0 4px}
.card{position:relative;width:100%;height:clamp(230px,40vh,380px);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.card.leave{transform:translateX(-115%) rotate(-10deg);opacity:0;transition:transform .26s ease-in,opacity .26s}
.card.enter{transform:translateX(115%) rotate(10deg);opacity:0;transition:none}
.inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.9,.3,1)}
.card.flip .inner{transform:rotateY(180deg)}
.face{position:absolute;inset:0;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;
 background:var(--card);color:var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.35),0 2px 0 rgba(255,255,255,.6) inset;
 display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 22px 22px;text-align:center}
.face.back{transform:rotateY(180deg)}
.face.de{background:var(--cream)}
.stripe{position:absolute;left:-30px;top:-30px;width:150px;height:150px;transform:rotate(-45deg);transform-origin:center;pointer-events:none}
.stripe i{position:absolute;left:0;right:0;height:13px}
.de .stripe i:nth-child(1){top:72px;background:var(--de1)}.de .stripe i:nth-child(2){top:85px;background:var(--de2)}.de .stripe i:nth-child(3){top:98px;background:var(--de3)}
.en .stripe i:nth-child(1){top:72px;background:var(--en1)}.en .stripe i:nth-child(2){top:85px;background:#fff}.en .stripe i:nth-child(3){top:98px;background:var(--en3)}
.lang{position:absolute;top:14px;right:18px;font-weight:900;font-size:15px;letter-spacing:.12em;color:#55617d}
.word{font-size:clamp(28px,8.5vw,50px);font-weight:900;line-height:1.12;word-break:break-word;hyphens:auto}
.alt{font-size:clamp(17px,4.6vw,24px);font-weight:700;color:#4b5876;margin-top:8px}
.say{position:absolute;bottom:14px;right:14px;width:46px;height:46px;border-radius:50%;background:rgba(15,37,84,.08);display:grid;place-items:center;color:var(--ink)}
.say svg{width:24px;height:24px}
.verdict{font-weight:900;font-size:20px;margin-bottom:8px;letter-spacing:.02em}
.verdict.ok{color:var(--ok)}.verdict.bad{color:var(--bad)}
.yours{margin-top:10px;font-size:16px;color:#69738a}
.yours s{color:var(--bad)}
.q{font-size:15px;color:#6b7690;margin-bottom:6px}

/* Countdown */
.clock{position:absolute;left:50%;top:-6px;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;z-index:3;
 background:var(--bg);border:4px solid var(--or);display:grid;place-items:center;font-size:44px;font-weight:900;color:#fff;
 box-shadow:0 6px 18px rgba(0,0,0,.4)}
.clock.low{border-color:var(--bad);color:#ffd2d2;animation:pulse .5s infinite alternate}
@keyframes pulse{to{transform:translate(-50%,-50%) scale(1.08)}}

/* Eingabe */
.answer{display:flex;gap:8px;margin-top:14px;align-items:stretch}
.answer input{flex:1;min-width:0;font-size:22px;padding:14px 16px;border-radius:16px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}
.answer input:focus{border-color:var(--or)}
.btn{padding:0 18px;border-radius:16px;background:var(--or);color:#2a1300;font-weight:900;font-size:18px;min-height:56px}
.btn:active{transform:scale(.97)}
.btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid var(--line)}
.btn.wide{width:100%;margin-top:14px;font-size:20px}
.mic{width:60px;border-radius:16px;background:#1d3f8f;border:2px solid #3a63c4;display:grid;place-items:center;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none}
.mic svg{width:28px;height:28px;pointer-events:none}
.mic.rec{background:var(--bad);border-color:#ff9a9a;animation:rec 1s infinite}
@keyframes rec{50%{box-shadow:0 0 0 10px rgba(226,59,59,.25)}}
.hint{font-size:14px;color:var(--mute);margin-top:8px;min-height:20px;text-align:center}

/* Werbung für das Spiel */
.promo{margin-top:auto;padding-top:18px}
.promo a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:linear-gradient(90deg,rgba(182,240,0,.14),rgba(255,255,255,.05));
 border:1px solid rgba(182,240,0,.35);color:#fff;text-decoration:none}
.promo img{width:48px;height:48px;border-radius:12px}
.promo b{display:block;color:#c9f55a}
.promo small{color:#cfd8ea}
.promo .go{margin-left:auto;background:#B6F000;color:#0b0f02;font-weight:900;border-radius:99px;padding:8px 14px;white-space:nowrap}
.foot{margin-top:auto;display:flex;justify-content:center;gap:16px;font-size:13px;color:var(--mute);padding:16px 0 2px}
.foot a,.foot button{color:var(--mute);text-decoration:underline;font-size:13px}

/* Seiten (Einstellungen, Wörter) */
.page{position:fixed;inset:0;z-index:20;background:var(--bg);overflow:auto;-webkit-overflow-scrolling:touch;
 padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.page .wrap{max-width:640px;margin:0 auto}
.page h2{font-size:24px;font-weight:900;flex:1}
.sec{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:18px;padding:14px;margin-top:12px}
.sec h3{font-size:16px;margin-bottom:4px}
.sec p{font-size:14px;color:#c4cee6;margin-bottom:10px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:700;min-width:48px}
.seg button.on{background:var(--or);border-color:var(--or);color:#2a1300}
.tg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.tg+.tg{border-top:1px solid var(--line)}
.tg span small{display:block;color:var(--mute);font-size:13px}
.sw{width:56px;height:32px;border-radius:99px;background:#3a4a6e;position:relative;flex:none;transition:background .2s}
.sw::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .2s}
.sw.on{background:var(--ok)}.sw.on::after{left:28px}
.rules{list-style:none;margin-top:6px}
.rules li{font-size:14px;color:#c4cee6;padding:6px 0 6px 18px;position:relative}
.rules li::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--or)}
.rules li b{color:#fff}
.links .lrow{display:flex;align-items:center;gap:8px}
.links .lrow+.lrow{border-top:1px solid var(--line)}
.links .lrow>button:first-child,.links .lrow>a{flex:1;display:block;text-align:left;padding:12px 4px;font-weight:700;color:#fff;text-decoration:none}

/* Info-Knöpfe und Erklär-Blase in den Einstellungen */
.sec h3{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tg>span{flex:1}
.info{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--or2);color:var(--or2);background:rgba(255,138,31,.08);
 display:inline-grid;place-items:center;font:italic 800 15px Georgia,"Times New Roman",serif;line-height:1}
.info:active{transform:scale(.92)}
.info.on{background:var(--or);border-color:var(--or);color:#2a1300}
.page .wrap{position:relative}
.ipop{position:absolute;left:0;right:0;z-index:5;background:var(--card);color:var(--ink);border-radius:16px;padding:14px 16px 12px;
 box-shadow:0 16px 44px rgba(0,0,0,.5);font-size:15px;line-height:1.45;animation:ipop .16s ease-out}
@keyframes ipop{from{opacity:0;transform:translateY(-4px)}}
.ipop::before{content:"";position:absolute;top:-7px;left:var(--ax,50%);width:16px;height:16px;background:var(--card);transform:translateX(-50%) rotate(45deg);border-radius:3px}
.ipop h4{font-size:17px;font-weight:900;margin:0 40px 6px 0}
.ipop p{color:#33415f;margin:0 0 6px}
.ipop ul{margin:4px 0 6px 18px;color:#33415f}
.ipop li{margin:3px 0}
.ipop .in{font-size:13px;color:#69738a;margin-top:6px}
.ipop .ix{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;background:#eef1f7;color:#43506d;font-weight:900;font-size:16px}

/* Wörter verwalten */
.field{display:block;margin-top:10px}
.field span{display:block;font-size:13px;color:var(--mute);margin-bottom:4px}
.field input{width:100%;font-size:18px;padding:12px 14px;border-radius:12px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}
.field input:focus{border-color:var(--or)}
.pwbox{position:relative;display:block}
.pwbox input{padding-right:58px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:10px;display:grid;place-items:center;color:#33415f}
.eye svg{width:26px;height:26px}
.eye.on .slash{display:none}
.eye.on{color:var(--or)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.grid2{grid-template-columns:1fr}}
.msg{margin-top:10px;font-weight:700;min-height:20px}
.msg.ok{color:#6be39a}.msg.bad{color:#ff9a9a}
.wl{margin-top:10px}
.wl .row{display:flex;align-items:center;gap:8px;padding:9px 4px;border-top:1px solid var(--line)}
.wl .row div{flex:1;min-width:0}
.wl .row b{display:block;overflow-wrap:anywhere}
.wl .row small{color:#c4cee6;overflow-wrap:anywhere}
.wl .row button{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08)}

/* Overlays */
.ov{position:fixed;inset:0;z-index:40;background:rgba(4,10,26,.78);display:grid;place-items:center;padding:20px}
.box{position:relative;background:var(--card);color:var(--ink);border-radius:22px;max-width:420px;width:100%;padding:24px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.box h3{font-size:24px;font-weight:900;margin-bottom:8px}
.box p{color:#43506d;margin-bottom:14px}
.box img{width:84px;height:84px;border-radius:18px;margin-bottom:10px}
.box .btn{width:100%;margin-top:8px}
.box .btn.ghost{color:var(--ink);background:#eef1f7;border:0}
#intro{position:fixed;inset:0;z-index:60;background:#06132f;display:flex;align-items:center;justify-content:center}
#intro video{width:100%;max-height:100%;object-fit:contain}
#intro .ibar{position:absolute;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px}
#fx{position:fixed;inset:0;pointer-events:none;z-index:30}
.stamp{position:fixed;left:50%;top:38%;z-index:31;pointer-events:none;font-weight:900;font-size:clamp(40px,12vw,72px);letter-spacing:.06em;
 padding:6px 18px;border:6px solid currentColor;border-radius:14px;transform:translate(-50%,-50%) rotate(-12deg);background:rgba(255,255,255,.85)}

/* kleine Karten-Effekte */
.card.shake .inner{animation:shake .45s}
@keyframes shake{20%{transform:rotateY(180deg) translateX(-14px)}40%{transform:rotateY(180deg) translateX(12px)}60%{transform:rotateY(180deg) translateX(-8px)}80%{transform:rotateY(180deg) translateX(5px)}}
.card.droop{animation:droop .7s}
@keyframes droop{30%{transform:translateY(16px) rotate(3deg)}60%{transform:translateY(6px) rotate(-1deg)}}
.card.glow .face.back{box-shadow:0 0 0 4px #ffd34d,0 0 40px 10px rgba(255,211,77,.7)}
.card.bounce{animation:bounce .55s}
@keyframes bounce{30%{transform:scale(1.06)}60%{transform:scale(.98)}}
.card.redglow .face.back{box-shadow:0 0 0 4px var(--bad),0 0 36px 8px rgba(226,59,59,.55)}
.flash{position:fixed;inset:0;z-index:29;pointer-events:none;animation:flash .5s forwards}
@keyframes flash{from{opacity:1}to{opacity:0}}

/* großer Bildschirm */
@media (min-width:700px){
 .card{height:340px}
 .word{font-size:54px}
}

.card{cursor:default}
.xbtn{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:#eef1f7;color:#43506d;font-size:20px;font-weight:900}

/* Kompakte Ansicht bei offener Bildschirmtastatur: Karte so groß wie möglich, Eingabe bleibt gleich groß */
body.kb #app{position:fixed;left:0;right:0;top:var(--vvt,0px);height:var(--vvh,100%);min-height:0;overflow:hidden;
 padding-top:6px;padding-bottom:6px}
body.kb .top,body.kb .foot,body.kb .hint,body.kb .mixtag{display:none}
body.kb .bar{margin:0 0 4px;min-height:28px}
body.kb .count{font-size:11px;gap:6px;color:#b9c4dd}
body.kb .count b{font-size:12px}
body.kb .dir{flex-direction:row;gap:4px}
body.kb .dir button{padding:3px 7px;font-size:11px;border-radius:8px}
body.kb .dir button svg{width:16px;height:10px}
body.kb .stage{margin:2px 0 0}
body.kb .card{height:max(110px,calc(var(--vvh,600px) - 118px))}
body.kb .face{padding:14px 12px 10px;border-radius:16px}
body.kb .stripe{transform:rotate(-45deg) scale(.6);left:-44px;top:-44px}
body.kb .lang{top:8px;right:12px;font-size:11px}
body.kb .word{font-size:clamp(24px,7.5vw,36px)}
body.kb .alt{font-size:15px;margin-top:4px}
body.kb .q{font-size:13px;margin-bottom:2px}
body.kb .verdict{font-size:16px;margin-bottom:4px}
body.kb .yours{font-size:13px;margin-top:4px}
body.kb .say{width:36px;height:36px;bottom:8px;right:8px}
body.kb .say svg{width:20px;height:20px}
body.kb .clock{width:52px;height:52px;font-size:30px;border-width:3px;top:4px}
body.kb .answer{margin-top:8px}

/* Gruppen: Handy = Leiste über der Karte, PC = Liste rechts neben der Karte */
.groups{display:flex;gap:6px;overflow-x:auto;margin:0 -2px 8px;padding:2px 2px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.groups::-webkit-scrollbar{display:none}
.gchip{flex:none;display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid var(--line);
 color:#d6deef;font-weight:700;font-size:14px;white-space:nowrap;max-width:100%}
.gchip span{overflow:hidden;text-overflow:ellipsis}
.gchip small{flex:none;font-size:11px;font-weight:800;color:var(--mute);background:rgba(255,255,255,.08);border-radius:99px;padding:1px 7px}
.gchip.on{background:var(--or);border-color:var(--or);color:#2a1300}
.gchip.on small{color:#2a1300;background:rgba(0,0,0,.12)}
.gchip i{flex:none;width:15px;height:15px;border-radius:4px;border:2px solid currentColor;position:relative;opacity:.8}
.gchip.on i::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #2a1300;border-width:0 2px 2px 0;transform:rotate(45deg)}
.gchip.all{border-style:dashed}
.gchip:active{transform:scale(.96)}
.gside{display:none}
.gtitle{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--mute);text-transform:uppercase;padding:0 4px 2px}
@media (min-width:940px){
 /* Karte + Liste zusammen mittig: die Karte rückt etwas nach links, damit die Liste daneben Platz hat */
 body.hasg #app{margin-left:max(16px,calc((100% - 880px) / 2));margin-right:auto}
 .groups{display:none}
 .gside{display:flex;flex-direction:column;gap:6px;position:absolute;left:calc(100% + 24px);top:50%;transform:translateY(-50%);width:230px;
  max-height:min(72vh,560px);overflow-y:auto;padding:2px;scrollbar-width:thin}
 .gside .gchip{border-radius:12px;padding:10px 12px;font-size:15px;width:100%}
 .gside .gchip span{flex:1;text-align:left}
}
.gtag{position:absolute;left:16px;bottom:18px;max-width:calc(100% - 92px);font-size:12px;font-weight:800;letter-spacing:.03em;color:#55617d;
 background:rgba(15,37,84,.07);border-radius:99px;padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.kb .groups{display:none}

/* Fortschritt: geübt / noch übrig (in der gewählten Auswahl) */
.progx{margin:-2px 0 10px}
.pt{font-size:13px;color:#c4cee6;display:flex;gap:4px 6px;flex-wrap:wrap;align-items:baseline}
.pt b{color:#fff;font-size:14px}
.pt .pl{color:var(--or2);font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preset{margin-left:6px;padding:2px 9px;border-radius:6px;background:var(--ok);color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em;
 border:1px solid #33c977;line-height:1.5;align-self:center}
.preset:active{transform:scale(.94)}
.preset.done{background:#178a48}
body.kb .preset{font-size:10px;padding:0 6px}
.pb{height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:5px}
.pb i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--or),#ffc266);border-radius:99px;transition:width .45s ease}
body.kb .progx{margin:0 0 3px}
body.kb .pt{font-size:10px;color:#b9c4dd}
body.kb .pt b{font-size:11px}
body.kb .pb{display:none}
body.kb .card{height:max(110px,calc(var(--vvh,600px) - 134px))}
body.kb .gtag{font-size:10px;left:10px;bottom:12px;padding:2px 8px;max-width:calc(100% - 64px)}

/* Wörter verwalten: Gruppen */
.grid2 .col{display:flex;flex-direction:column}
.gpick{display:flex;flex-wrap:wrap;gap:6px}
.gpick .gchip{max-width:100%}
.field .gchip span{display:inline;font-size:inherit;color:inherit;margin:0}
.gpick .gchip.add{border-style:dashed;color:var(--or2)}
.gnew{display:flex;gap:8px;margin-top:10px}
.gnew input{flex:1;min-width:0;font-size:17px;padding:11px 12px;border-radius:12px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}
.gnew input:focus{border-color:var(--or)}
.gnew .btn{min-height:48px;font-size:16px;padding:0 16px}
.field select{width:100%;font-size:17px;padding:12px 12px;border-radius:12px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}
.gl{margin-top:6px}
.gl .row{display:flex;align-items:center;gap:8px;padding:9px 4px;border-top:1px solid var(--line)}
.gl .row div{flex:1;min-width:0}
.gl .row b{display:block;overflow-wrap:anywhere}
.gl .row small{color:#c4cee6}
.gl .row button{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);flex:none}
.gl .row input{flex:1;min-width:0;font-size:17px;padding:9px 10px;border-radius:10px;border:2px solid var(--or);background:#fff;color:var(--ink);outline:none}
.wl .row em{display:block;font-style:normal;font-size:12px;color:var(--or2);margin-top:2px;overflow-wrap:anywhere}

/* ===== WortWende Kurs ===== */
.top h1 em{font-style:normal;font-size:.62em;font-weight:800;color:#fff;background:var(--or);color:#2a1300;border-radius:7px;padding:1px 7px;vertical-align:3px;margin-left:2px}
.sync{width:10px;height:10px;border-radius:50%;flex:none}
.sync.ok{background:var(--ok)}.sync.wait{background:var(--or)}.sync.off{background:#6b7896}
.dir button:disabled{opacity:.35}
.dl1{min-width:1.4em}
/* Schnellschalter: Handy = Zeile über der Karte, breiter PC = Spalte links neben der Karte */
.qsw{display:flex;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.qb{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid var(--line);font-weight:800;font-size:14px;color:#d6deef}
.qb i{width:16px;height:16px;border-radius:4px;border:2px solid currentColor;position:relative;flex:none}
.qb.on{background:#1d3f8f;border-color:#4f7be0;color:#fff}
.qb.on i{background:var(--ok);border-color:var(--ok)}
.qb.on i::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.qb.am.on{background:var(--or);border-color:var(--or);color:#2a1300}
.qb.am.on i{background:#2a1300;border-color:#2a1300}
.qsw.amon .qb:not(.am){opacity:.4}
.qb:active{transform:scale(.96)}
@media (min-width:1120px){
 .qsw{position:absolute;right:calc(100% + 24px);top:50%;transform:translateY(-50%);flex-direction:column;width:170px;margin:0}
 .qb{padding:11px 12px;font-size:15px}
 #app{margin-left:max(210px,calc((100% - 1088px) / 2 + 194px))!important;margin-right:auto!important}
}
.ins{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.ins input{width:100%;font-size:22px;padding:14px 16px;border-radius:16px;border:2px solid transparent;background:#fff;color:var(--ink);outline:none}
.ins input:focus{border-color:var(--or)}
#ansPl{font-size:19px;padding:11px 16px;background:#eef2fb}
.answer.artnext .ins{display:none}
.answer.artnext .btn{flex:1}
.artbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.artbtns button{min-height:64px;border-radius:16px;font-size:26px;font-weight:900;background:#fff;color:var(--ink);border:3px solid transparent}
.artbtns button[data-a="der"]{border-color:#3a6fd8}.artbtns button[data-a="die"]{border-color:#e0457b}.artbtns button[data-a="das"]{border-color:#27a85f}
.artbtns button:active{transform:scale(.96)}
.artbtns button.right{background:var(--ok);color:#fff;border-color:var(--ok)}
.artbtns button.bad{background:var(--bad);color:#fff;border-color:var(--bad)}
.artbtns button:disabled:not(.right):not(.bad){opacity:.45}
.word .wr{background:rgba(226,59,59,.14);color:#c11d1d;border-radius:8px;padding:0 6px;box-shadow:inset 0 -3px 0 var(--bad)}
.word .okp{background:rgba(31,174,91,.15);color:#127a3e;border-radius:8px;padding:0 6px}
.word i.mis{font-style:normal;background:#ffd34d;color:#7a1010;border-radius:3px}
.alt .wr{color:#c11d1d;background:rgba(226,59,59,.12);border-radius:6px;padding:0 4px;font-weight:900}
.alt i.mis{font-style:normal;background:#ffd34d;color:#7a1010;border-radius:3px}
.yours i.xtra{font-style:normal;color:var(--bad);text-decoration:line-through;text-decoration-thickness:2px;font-weight:800}
.yours .bad{color:var(--bad);text-decoration:line-through}
.nb{margin-top:10px;font-size:13px;font-weight:800;letter-spacing:.05em;color:#55617d;background:rgba(15,37,84,.07);border-radius:99px;padding:3px 10px}
.qa{color:#a3acc0;letter-spacing:.05em}
.empty{font-size:20px;font-weight:700;color:#55617d;display:block;max-width:420px}
/* magyar zászló-csík a kártyán */
.nat.hu .stripe i:nth-child(1){top:72px;background:#ce2939}.nat.hu .stripe i:nth-child(2){top:85px;background:#fff}.nat.hu .stripe i:nth-child(3){top:98px;background:#477050}
.nat .stripe i:nth-child(1){top:72px;background:#8a96b3}.nat .stripe i:nth-child(2){top:85px;background:#fff}.nat .stripe i:nth-child(3){top:98px;background:#8a96b3}
body.kb .qsw{margin:0 0 3px;gap:4px}
body.kb .qb{padding:2px 7px;font-size:11px;border-radius:8px}
body.kb .qb i{width:11px;height:11px;border-width:1.5px}
body.kb .ins{gap:4px}
body.kb .ins input{font-size:18px;padding:9px 12px}
body.kb #ansPl{font-size:16px;padding:7px 12px}
body.kb .card{height:max(100px,calc(var(--vvh,600px) - 160px))}
body.kb.pl2 .card{height:max(90px,calc(var(--vvh,600px) - 200px))}
/* Anmeldung */
.auth .wrap{max-width:480px}
.uisel{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}
.uisel button{padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:700;font-size:14px}
.uisel button.on{background:var(--or);border-color:var(--or);color:#2a1300}
.aintro{color:#c4cee6;font-size:15px;margin:8px 2px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.tabs button{padding:12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:800}
.tabs button.on{background:var(--or);border-color:var(--or);color:#2a1300}
.lnk{display:block;margin:14px auto 0;color:var(--or2);text-decoration:underline;font-size:15px}
.chk{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:15px;color:#dfe6f7}
.chk input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--or)}
.msg.big{font-size:15px;line-height:1.45}
.small{font-size:13px;color:var(--mute)}
.btn.red{background:var(--bad);color:#fff}
.sec.danger{border-color:rgba(226,59,59,.4)}
.dim{opacity:.45}
.field .seg button span{display:inline}
.tg span b{display:block;font-weight:600}
