:root{
  --bg:#060610;--bg2:#0e0e1a;--bg3:#161626;--bg4:#1e1e32;
  --acc:#00c39a;--acc-b:#00e1b4;--acc-d:#009a78;--acc-g:rgba(0,195,154,.12);
  --ac2:#5f4bc7;--ac2-g:rgba(95,75,199,.12);
  --ac3:#ff5eaa;--ac3-g:rgba(255,94,170,.12);
  --t1:#f2f2fa;--t2:#9090a8;--t3:#55556e;
  --brd:#252538;--r:12px;--r2:18px;
  --dng:#ff4060;--wrn:#ffb020;--ok:#20e070;
  --sh:0 8px 40px rgba(0,0,0,.5);
  --f1:'Sora',sans-serif;--f2:'DM Sans',sans-serif;--f3:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f2);background:var(--bg);color:var(--t1);overflow-x:hidden}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--acc);border-radius:9px}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:var(--f2)}
img{max-width:100%}

.mesh{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(700px 500px at 15% 25%,rgba(0,195,154,.05),transparent),
  radial-gradient(600px 600px at 85% 75%,rgba(95,75,199,.05),transparent),
  radial-gradient(500px 400px at 50% 50%,rgba(255,94,170,.03),transparent)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;
  justify-content:space-between;padding:0 32px;height:64px;
  background:rgba(6,6,16,.88);backdrop-filter:blur(24px);border-bottom:1px solid var(--brd)}
.logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.logo img{height:36px}
.logo-text{font-family:var(--f1);font-size:1.4rem;font-weight:800;
  background:linear-gradient(135deg,var(--acc),var(--ac2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nav-r{display:flex;align-items:center;gap:6px}
.nav-btn{padding:7px 15px;border-radius:8px;border:none;background:none;color:var(--t2);
  font-size:.85rem;transition:.2s;font-family:var(--f2)}
.nav-btn:hover{color:var(--t1);background:var(--bg3)}
.nav-btn.on{color:var(--acc);background:var(--acc-g)}

/* BUTTONS */
.btn{padding:10px 24px;border-radius:10px;font-family:var(--f1);font-weight:600;
  font-size:.9rem;border:none;display:inline-flex;align-items:center;gap:8px;transition:.25s}
.btn-p{background:linear-gradient(135deg,var(--acc),var(--acc-d));color:var(--bg);
  box-shadow:0 4px 20px rgba(0,195,154,.25)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,195,154,.35)}
.btn-s{background:var(--bg3);color:var(--t1);border:1px solid var(--brd)}
.btn-s:hover{border-color:var(--acc)}
.btn-d{background:var(--dng);color:#fff}
.btn-sm{padding:7px 14px;font-size:.78rem;border-radius:8px}
.btn-lg{padding:14px 36px;font-size:1.05rem}
.btn-w{width:100%}
.btn-icon{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:10px}

/* LANGUAGE */
.lang-w{position:relative}
.lang-b{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;
  background:var(--bg3);border:1px solid var(--brd);color:var(--t1);font-size:.8rem;transition:.2s}
.lang-b:hover{border-color:var(--acc)}
.lang-dd{position:absolute;top:110%;right:0;background:var(--bg3);border:1px solid var(--brd);
  border-radius:var(--r);padding:8px;display:none;width:240px;max-height:360px;
  overflow-y:auto;z-index:99999;box-shadow:var(--sh)}
.lang-dd.open{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.lang-o{padding:7px 10px;border-radius:6px;font-size:.78rem;color:var(--t2);border:none;
  background:none;text-align:left;transition:.15s;white-space:nowrap;font-family:var(--f2)}
.lang-o:hover{background:var(--acc-g);color:var(--acc)}
.lang-o.on{background:var(--acc);color:var(--bg);font-weight:600}

/* INPUTS */
.fg{margin-bottom:14px}
.fg label{display:block;margin-bottom:5px;font-size:.82rem;color:var(--t2);font-weight:500}
.fi{width:100%;padding:11px 15px;border-radius:10px;background:var(--bg);
  border:1px solid var(--brd);color:var(--t1);font-size:.92rem;font-family:var(--f2);
  outline:none;transition:.2s}
.fi:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-g)}
textarea.fi{min-height:90px;resize:vertical}
select.fi{cursor:pointer}

/* PAGES */
.page{display:none;min-height:100vh}
.page.on{display:block}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:120px 20px 80px;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:50px;
  background:var(--acc-g);border:1px solid rgba(0,195,154,.2);color:var(--acc);
  font-size:.82rem;font-weight:500;margin-bottom:28px;animation:fu .6s ease}
.hero h1{font-family:var(--f1);font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;
  line-height:1.1;margin-bottom:22px;animation:fu .6s ease .1s both}
.hero h1 .gr{background:linear-gradient(135deg,var(--acc),var(--ac2),var(--ac3));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:1.1rem;color:var(--t2);max-width:600px;line-height:1.7;
  margin-bottom:36px;animation:fu .6s ease .2s both}
.hero-acts{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:fu .6s ease .3s both}
.hero-stats{display:flex;gap:44px;margin-top:72px;animation:fu .6s ease .4s both;flex-wrap:wrap;justify-content:center}
.hs{text-align:center}
.hs .n{font-family:var(--f1);font-size:2rem;font-weight:800;color:var(--acc)}
.hs .l{font-size:.82rem;color:var(--t3);margin-top:3px}

/* SECTIONS */
.sec{padding:72px 32px;max-width:1200px;margin:0 auto;position:relative;z-index:1}
.sec-t{font-family:var(--f1);font-size:1.9rem;font-weight:700;margin-bottom:10px}
.sec-s{color:var(--t2);font-size:.95rem;margin-bottom:36px;max-width:500px}

/* CARDS */
.card{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);
  padding:26px;transition:.3s}
.card:hover{border-color:rgba(0,195,154,.3);transform:translateY(-3px);box-shadow:var(--sh)}
.card-i{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  font-size:1.4rem;margin-bottom:14px}
.card h3{font-family:var(--f1);font-size:1.05rem;font-weight:600;margin-bottom:6px}
.card p{color:var(--t2);font-size:.88rem;line-height:1.6}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.cg{background:var(--acc-g)}.cp{background:var(--ac2-g)}
.ck{background:var(--ac3-g)}.cy{background:rgba(255,176,32,.12)}
.cb{background:rgba(0,168,255,.12)}.cr{background:rgba(255,64,96,.12)}

/* PRICING */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.plan{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);padding:28px;text-align:center;transition:.3s}
.plan:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.plan.pop{border-color:var(--acc);position:relative}
.plan.pop::before{content:'BELIEBT';position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--acc);color:var(--bg);padding:3px 14px;border-radius:6px;font-size:.68rem;
  font-weight:700;letter-spacing:1px}
.plan h3{font-family:var(--f1);font-size:1.1rem;margin-bottom:6px}
.plan .price{font-family:var(--f1);font-size:2.4rem;font-weight:800;margin:12px 0}
.plan .price span{font-size:.9rem;font-weight:400;color:var(--t2)}
.plan ul{list-style:none;text-align:left;margin:18px 0}
.plan li{padding:6px 0;font-size:.88rem;color:var(--t2);display:flex;align-items:center;gap:8px}
.plan li::before{content:'\2713';color:var(--acc);font-weight:700}

/* AUTH */
.auth-c{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;z-index:1}
.auth-b{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);
  padding:36px;width:100%;max-width:420px;box-shadow:var(--sh)}
.auth-b h2{font-family:var(--f1);font-size:1.5rem;margin-bottom:6px;text-align:center}
.auth-b .sub{text-align:center;color:var(--t2);font-size:.88rem;margin-bottom:28px}
.auth-div{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--t3);font-size:.78rem}
.auth-div::before,.auth-div::after{content:'';flex:1;height:1px;background:var(--brd)}
.auth-tg{text-align:center;margin-top:18px;color:var(--t2);font-size:.88rem}
.auth-tg a{color:var(--acc);cursor:pointer;font-weight:600}
.g-btn{width:100%;padding:11px;border-radius:10px;background:#fff;color:#333;border:none;
  font-family:var(--f2);font-size:.92rem;font-weight:500;display:flex;align-items:center;
  justify-content:center;gap:10px;transition:.2s}
.g-btn:hover{background:#eee}

/* DASHBOARD */
.dash{padding-top:64px;display:flex;min-height:100vh}
.side{width:250px;background:var(--bg2);border-right:1px solid var(--brd);
  padding:20px 14px;position:fixed;top:64px;bottom:0;overflow-y:auto;z-index:100}
.s-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--t3);margin-bottom:6px;padding:0 10px;font-weight:600}
.s-sec{margin-bottom:20px}
.s-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;
  color:var(--t2);font-size:.87rem;border:none;background:none;width:100%;
  text-align:left;font-family:var(--f2);transition:.15s;cursor:pointer}
.s-item:hover{background:var(--bg3);color:var(--t1)}
.s-item.on{background:var(--acc-g);color:var(--acc);font-weight:600}
.s-item .badge{margin-left:auto;background:var(--acc);color:var(--bg);padding:1px 7px;
  border-radius:10px;font-size:.65rem;font-weight:700}
.main{flex:1;margin-left:250px;padding:28px}
.panel{display:none}
.panel.on{display:block}

/* MOBILE MENU */
.menu-toggle{display:none;background:none;border:none;color:var(--t1);font-size:1.5rem;padding:8px}

/* OVERVIEW */
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:28px}
.st-c{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);padding:18px}
.st-c .ic{font-size:1.4rem;margin-bottom:6px}
.st-c .val{font-family:var(--f1);font-size:1.7rem;font-weight:700}
.st-c .lb{color:var(--t2);font-size:.78rem;margin-top:3px}

/* QUIZ */
.qz-c{max-width:780px;margin:0 auto}
.qz-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.prog{width:100%;height:5px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:20px}
.prog-bar{height:100%;background:linear-gradient(90deg,var(--acc),var(--ac2));border-radius:3px;transition:width .4s}
.q-card{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);padding:32px;margin-bottom:18px}
.q-num{font-family:var(--f3);font-size:.78rem;color:var(--acc);margin-bottom:10px}
.q-txt{font-size:1.1rem;font-weight:500;line-height:1.6;margin-bottom:22px}
.a-opts{display:flex;flex-direction:column;gap:9px}
.a-opt{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:11px;
  background:var(--bg);border:1.5px solid var(--brd);font-size:.92rem;line-height:1.5;
  width:100%;text-align:left;font-family:var(--f2);color:var(--t1);transition:.2s}
.a-opt:hover{border-color:var(--acc);background:var(--acc-g)}
.a-opt.sel{border-color:var(--ac2);background:var(--ac2-g)}
.a-opt.ok{border-color:var(--ok);background:rgba(32,224,112,.1)}
.a-opt.no{border-color:var(--dng);background:rgba(255,64,96,.1)}
.a-let{min-width:26px;height:26px;border-radius:7px;background:var(--bg3);
  display:grid;place-items:center;font-family:var(--f3);font-size:.78rem;font-weight:600;flex-shrink:0}
.reveal-box{background:var(--bg3);border:1px solid var(--ok);border-radius:var(--r);
  padding:20px;margin-top:16px;display:none}
.reveal-box.show{display:block}
.reveal-box h4{color:var(--ok);font-family:var(--f1);font-size:.95rem;margin-bottom:8px}
.reveal-box p{color:var(--t2);font-size:.9rem;line-height:1.6}

/* FLASHCARD */
.fc-area{display:flex;justify-content:center;align-items:center;min-height:400px;perspective:1000px}
.fc{width:100%;max-width:560px;height:320px;position:relative;transform-style:preserve-3d;
  transition:transform .6s;cursor:pointer}
.fc.flip{transform:rotateY(180deg)}
.fc-face{position:absolute;inset:0;border-radius:var(--r2);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:36px;backface-visibility:hidden;text-align:center}
.fc-front{background:linear-gradient(135deg,var(--bg3),var(--bg4));border:1px solid var(--brd)}
.fc-back{background:linear-gradient(135deg,rgba(0,195,154,.08),rgba(95,75,199,.08));
  border:1px solid rgba(0,195,154,.3);transform:rotateY(180deg)}
.fc-cat{font-size:.75rem;color:var(--acc);font-family:var(--f3);margin-bottom:16px;
  text-transform:uppercase;letter-spacing:1px}
.fc-txt{font-size:1.15rem;line-height:1.6;font-weight:500}
.fc-hint{font-size:.8rem;color:var(--t3);margin-top:auto;padding-top:16px}

/* EXAMS */
.exam-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.exam-card{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);padding:22px;transition:.2s;cursor:pointer}
.exam-card:hover{border-color:var(--acc);transform:translateY(-2px)}
.exam-tag{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.7rem;font-weight:600;margin-bottom:10px}
.tag-ihk{background:var(--acc-g);color:var(--acc)}
.tag-mock{background:var(--ac2-g);color:var(--ac2)}
.exam-meta{color:var(--t2);font-size:.8rem;display:flex;gap:12px;margin-top:10px}
.exam-timer{font-family:var(--f3);font-size:1.8rem;font-weight:700;color:var(--acc);text-align:center;margin:20px 0}

/* SLIDES */
.slide-view{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);overflow:hidden}
.slide-content{min-height:420px;padding:48px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center}
.slide-content h2{font-family:var(--f1);font-size:1.8rem;margin-bottom:16px}
.slide-content p{color:var(--t2);font-size:1rem;line-height:1.7;max-width:600px}
.slide-content ul{text-align:left;color:var(--t2);font-size:.95rem;line-height:1.8;list-style:none;margin-top:16px}
.slide-content ul li::before{content:'\25B6';color:var(--acc);margin-right:8px;font-size:.7rem}
.slide-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;
  border-top:1px solid var(--brd);background:var(--bg4)}
.slide-dots{display:flex;gap:6px}
.slide-dot{width:8px;height:8px;border-radius:50%;background:var(--t3);border:none;cursor:pointer;transition:.2s}
.slide-dot.on{background:var(--acc);width:24px;border-radius:4px}
.slide-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}

/* PRAKTIKUM */
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-bottom:20px}
.bl-btn{padding:10px;border-radius:10px;background:var(--bg3);border:1px solid var(--brd);
  color:var(--t2);font-size:.83rem;text-align:center;transition:.2s;font-family:var(--f2);cursor:pointer}
.bl-btn:hover,.bl-btn.on{border-color:var(--acc);color:var(--acc);background:var(--acc-g)}
.prakt-card{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);
  padding:20px;margin-bottom:12px;transition:.2s}
.prakt-card:hover{border-color:var(--acc)}
.prakt-card h4{font-size:1rem;font-weight:600;margin-bottom:4px}
.prakt-card .loc{color:var(--acc);font-size:.82rem;margin-bottom:8px}
.prakt-card p{color:var(--t2);font-size:.88rem;line-height:1.5}
.prakt-type{display:inline-block;padding:2px 8px;border-radius:5px;font-size:.7rem;font-weight:600;margin-bottom:6px}
.prakt-offer{background:var(--acc-g);color:var(--acc)}
.prakt-seek{background:var(--ac2-g);color:var(--ac2)}

/* ANALYTICS */
.chart-c{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);padding:24px;margin-bottom:18px}
.chart-c h3{font-family:var(--f1);font-size:1rem;margin-bottom:16px}
.bar-chart{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:10px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.bar{border-radius:6px 6px 0 0;width:100%;transition:height .6s ease;min-width:14px}
.bar-label{font-size:.65rem;color:var(--t3);white-space:nowrap}
.topic-bar{margin-bottom:12px}
.topic-bar-header{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:4px}
.topic-bar-track{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}
.topic-bar-fill{height:100%;border-radius:4px;transition:width 1s}
.ring-chart{width:140px;height:140px;border-radius:50%;position:relative;margin:0 auto 16px}
.ring-chart::after{content:'';position:absolute;inset:20px;border-radius:50%;background:var(--bg3)}
.ring-val{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f1);
  font-size:1.5rem;font-weight:700;z-index:1}
.weak-item,.strong-item{padding:8px 0;border-bottom:1px solid var(--brd);font-size:.88rem}

/* PAYMENT MODAL */
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:99998;
  display:none;place-items:center;backdrop-filter:blur(6px)}
.modal-ov.open{display:grid}
.modal{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r2);
  padding:32px;width:90%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:var(--sh)}
.modal h3{font-family:var(--f1);font-size:1.2rem;margin-bottom:16px}

/* TOAST */
.toast{position:fixed;bottom:24px;right:24px;padding:14px 24px;border-radius:var(--r);
  background:var(--bg4);border:1px solid var(--brd);color:var(--t1);font-size:.9rem;
  z-index:99999;transform:translateY(100px);opacity:0;transition:.3s;
  box-shadow:var(--sh);display:flex;align-items:center;gap:10px;max-width:400px}
.toast.show{transform:translateY(0);opacity:1}
.toast.t-ok{border-color:var(--ok)}.toast.t-err{border-color:var(--dng)}

/* FOOTER */
.footer{padding:48px 32px 24px;border-top:1px solid var(--brd);text-align:center;
  color:var(--t3);font-size:.82rem;position:relative;z-index:1}
.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.footer-links a{color:var(--t2);transition:.2s}
.footer-links a:hover{color:var(--acc)}

/* RESPONSIVE */
@media(max-width:900px){
  .side{transform:translateX(-100%);transition:transform .3s;position:fixed;z-index:9998}
  .side.open{transform:translateX(0)}
  .main{margin-left:0}
  .menu-toggle{display:block}
  .ov-grid{grid-template-columns:1fr 1fr}
  .hero-stats{gap:20px}
}
@media(max-width:600px){
  .nav{padding:0 16px}
  .sec{padding:40px 16px}
  .ov-grid{grid-template-columns:1fr}
  .hero h1{font-size:2rem}
  .plan-grid{grid-template-columns:1fr}
}

/* ANIMATIONS */
@keyframes fu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes spin{to{transform:rotate(360deg)}}
.anim-fu{animation:fu .5s ease both}
.loading{display:inline-block;width:20px;height:20px;border:2px solid var(--brd);
  border-top-color:var(--acc);border-radius:50%;animation:spin .6s linear infinite}


/* â•â•â• PRO AUTH PAGE â•â•â• */
.auth-page{min-height:100vh;display:flex;position:relative;z-index:1}
.auth-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}
.auth-right{width:480px;background:linear-gradient(135deg,rgba(0,195,154,.08),rgba(95,75,199,.08));border-left:1px solid var(--brd);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;position:relative;overflow:hidden}
.auth-right::before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(0,195,154,.12),transparent);top:-80px;right:-80px}
.auth-right::after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(95,75,199,.1),transparent);bottom:-60px;left:-60px}
.auth-right h2{font-family:var(--f1);font-size:1.6rem;margin-bottom:12px;position:relative;z-index:1}
.auth-right p{color:var(--t2);font-size:.92rem;line-height:1.7;max-width:340px;position:relative;z-index:1}
.auth-right .auth-features{margin-top:32px;text-align:left;position:relative;z-index:1}
.auth-right .auth-feat{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--t2);font-size:.88rem}
.auth-right .auth-feat-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:1.1rem;flex-shrink:0}
.auth-box-pro{background:var(--bg3);border:1px solid var(--brd);border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.auth-box-pro .auth-logo{text-align:center;margin-bottom:24px}
.auth-box-pro .auth-logo img{width:56px;height:56px;border-radius:14px}
.auth-box-pro .auth-logo-text{font-family:var(--f1);font-size:1.3rem;font-weight:800;background:linear-gradient(135deg,var(--acc),var(--ac2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-top:8px}
.auth-box-pro h2{font-family:var(--f1);font-size:1.4rem;text-align:center;margin-bottom:4px}
.auth-box-pro .auth-sub{text-align:center;color:var(--t2);font-size:.88rem;margin-bottom:24px}
.auth-tabs{display:flex;background:var(--bg);border-radius:12px;padding:4px;margin-bottom:24px}
.auth-tab{flex:1;padding:10px;border-radius:10px;border:none;background:none;color:var(--t2);font-family:var(--f1);font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s}
.auth-tab.on{background:var(--acc);color:var(--bg)}
.g-btn-pro{width:100%;padding:12px;border-radius:12px;background:#fff;color:#333;border:none;font-family:var(--f2);font-size:.92rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.g-btn-pro:hover{background:#f5f5f5;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--t3);font-size:.78rem}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--brd)}
.auth-input{width:100%;padding:12px 16px;border-radius:12px;background:var(--bg);border:1.5px solid var(--brd);color:var(--t1);font-size:.92rem;font-family:var(--f2);outline:none;transition:.2s}
.auth-input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,195,154,.1)}
.auth-input-wrap{position:relative;margin-bottom:14px}
.auth-input-wrap label{display:block;margin-bottom:6px;font-size:.82rem;color:var(--t2);font-weight:500}
.auth-input-wrap .input-icon{position:absolute;right:14px;top:38px;color:var(--t3);font-size:1rem}
.auth-forgot{text-align:right;margin:-8px 0 16px;font-size:.8rem}
.auth-forgot a{color:var(--acc);cursor:pointer}
.auth-forgot a:hover{text-decoration:underline}
.auth-submit{width:100%;padding:13px;border-radius:12px;border:none;font-family:var(--f1);font-size:.95rem;font-weight:700;cursor:pointer;transition:.25s;display:flex;align-items:center;justify-content:center;gap:8px}
.auth-submit-primary{background:linear-gradient(135deg,var(--acc),#00a87a);color:var(--bg);box-shadow:0 4px 20px rgba(0,195,154,.3)}
.auth-submit-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(0,195,154,.35)}
.auth-toggle-pro{text-align:center;margin-top:20px;color:var(--t2);font-size:.88rem}
.auth-toggle-pro a{color:var(--acc);cursor:pointer;font-weight:600}
.auth-trust{display:flex;justify-content:center;gap:20px;margin-top:20px;padding-top:16px;border-top:1px solid var(--brd)}
.auth-trust span{font-size:.72rem;color:var(--t3);display:flex;align-items:center;gap:4px}
@media(max-width:900px){
  .auth-right{display:none}
  .auth-left{padding:20px}
}
/* â”€â”€â”€ Karteikarten Grid â”€â”€â”€ */
.fc-grid-card{transition:.2s}
.fc-grid-card:hover{transform:translateY(-2px);border-color:var(--acc)!important;box-shadow:0 8px 24px rgba(0,195,154,.15)}
/* Karteikarten Flip */
#fcCard.flip,#fC.flip{transform:rotateY(180deg)}
/* Light Mode */
[data-theme="light"] {
  --bg: #f5f5f7; --bg2: #ffffff; --bg3: #ffffff;
  --t1: #1a1a2e; --t2: #4a4a5a; --t3: #8a8a9a;
  --brd: #e0e0e5; --sh: 0 2px 12px rgba(0,0,0,.08);
}
[data-theme="light"] .sidebar { background: #f0f0f5; border-color: #e0e0e5 }
[data-theme="light"] .s-item { color: #4a4a5a }
[data-theme="light"] .s-item.on { background: rgba(0,195,154,.1); color: var(--acc) }
[data-theme="light"] .card { background: #fff; border-color: #e8e8ec; box-shadow: 0 1px 6px rgba(0,0,0,.06) }
[data-theme="light"] .nav { background: rgba(255,255,255,.95); border-color: #e0e0e5 }
[data-theme="light"] .fi { background: #f5f5f7; border-color: #d8d8de; color: #1a1a2e }
/* Mobile Fix */
@media (max-width:768px) {
  .sidebar { display:none !important }
  .main { margin-left:0 !important; width:100% !important }
  .nav { padding:10px 16px !important }
  .page { padding:10px !important }
  #page-auth, #page-landing { display:block !important }
  .auth-box { width:90% !important; max-width:400px; margin:20px auto !important; padding:20px !important }
  .ov-grid { grid-template-columns:1fr 1fr !important }
  .st-c { padding:12px !important }
  #aiChat { width:95vw !important; right:2.5vw !important; bottom:70px !important }
  #aiBubble { width:50px !important; height:50px !important }
}
/* Mobile Auth Fix */
@media (max-width:900px) {
  .auth-page { flex-direction:column !important }
  .auth-left, .auth-right { width:100% !important; min-height:auto !important }
  .auth-right { display:none !important }
  .auth-box-pro { width:90% !important; max-width:400px !important; margin:10px auto !important; padding:20px !important }
  .auth-input { width:100% !important; box-sizing:border-box !important }
  .g-btn-pro { width:100% !important; box-sizing:border-box !important }
  .auth-tabs { width:100% !important }
  .auth-tab { flex:1 !important }
}