
body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.app{--bg:#f3f4fa;--bg2:#ffffff;--card:#ffffff;--card2:#f6f7fb;--line:#e6e8f2;--txt:#1a1a2e;--mut:#6b7280;--mut2:#9aa0b4;--acc:#2775ff;--acc2:#4f2bd6;--ok:#15803d;--okbg:#ecfdf3;--warn:#b45309;--warnbg:#fff4e5;--bad:#dc2626;--badbg:#fef2f2;--shadow:0 10px 30px rgba(26,26,46,.08);--glass:rgba(255,255,255,.7);
 background:var(--bg);color:var(--txt);min-height:100vh;display:grid;grid-template-columns:248px 1fr;transition:background .3s,color .3s}
.app.dark{--bg:#0d1026;--bg2:#121633;--card:#161a3d;--card2:#1b2048;--line:rgba(255,255,255,.08);--txt:#eef0fa;--mut:#a3a8c7;--mut2:#6f7498;--ok:#4ade80;--okbg:rgba(74,222,128,.12);--warn:#ffd166;--warnbg:rgba(255,209,102,.12);--bad:#f87171;--badbg:rgba(248,113,113,.14);--shadow:0 16px 40px rgba(0,0,0,.4);--glass:rgba(22,26,61,.7)}
/* sidebar */
.sb{background:var(--bg2);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;box-sizing:border-box;overflow:auto}
.sb-logo{display:flex;align-items:center;justify-content:flex-start;margin:0 0 14px;padding:6px 8px;border-radius:14px}
/* Logo: aydınlıkta marka mavisi (gradyan), karanlıkta beyaz — tema değişince yerleşim aynı kalır */
.sb-logo-img{display:block;width:138px;height:28px;background:linear-gradient(120deg,#2b19a3,#2775ff 70%,#1c63f0);-webkit-mask:var(--logo-svg) no-repeat center/contain;mask:var(--logo-svg) no-repeat center/contain;transition:background .3s}
.app.dark .sb-logo-img{background:#fff}
.sb-logo img{height:26px}
.sb-i{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:12px;font-size:13.5px;font-weight:600;color:var(--mut);position:relative;transition:background .2s,color .2s}
.sb-i:hover{background:var(--card2);color:var(--txt)}.sb-i.on{background:linear-gradient(135deg,rgba(39,117,255,.14),rgba(79,43,214,.14));color:var(--txt)}
.sb-i.on::before{content:'';position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--acc),var(--acc2))}
.sb-i.sb-top{font-weight:700;color:var(--txt)}.sb-ic{width:34px;height:34px;border-radius:10px;background:var(--card2);display:inline-flex;align-items:center;justify-content:center;color:var(--acc);flex:none}.sb-i.on .sb-ic{background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff}
.sb-cnt{margin-left:auto;font-size:11px;font-weight:800;color:var(--acc);background:rgba(39,117,255,.12);border-radius:999px;padding:2px 8px}
.sb-i.sm{padding:5px 10px;font-size:13px}.sb-ic.sm{width:28px;height:28px;border-radius:8px}
.sb-lbl{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--mut2);padding:12px 10px 4px}
.sb-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.2)}
.sb-foot{margin-top:auto;padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);font-size:12px;color:var(--mut)}
.sb-foot b{display:block;color:var(--txt);font-size:13px;margin-bottom:4px}
.prog{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:8px}.prog i{display:block;height:100%;width:38%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:3px}
/* main */
.main{padding:0 28px 40px;min-width:0}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;position:sticky;top:0;z-index:25;background:var(--bg);transition:background .3s}
.top h1{margin:0;font-size:22px;font-weight:800}.top .sub{font-size:13px;color:var(--mut);margin-top:2px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:700;box-shadow:var(--shadow)}
.chip.fire{color:#f97316}
.tbtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--txt);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow)}
.ava{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:background .3s,border-color .3s}
.card-h{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 0}.card-h b{font-size:14px;font-weight:800}.card-h a{font-size:12px;font-weight:700;color:var(--acc)}
/* hero */
.hero{grid-column:1/-1;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(120deg,#2b19a3 0%,#4f2bd6 45%,#2775ff 100%);color:#fff;padding:26px 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;box-shadow:0 24px 60px rgba(43,25,163,.35)}
.hero::after{content:'';position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),rgba(255,255,255,0) 65%)}
.hero .k{font-size:11.5px;font-weight:800;letter-spacing:.14em;opacity:.85}.hero h2{margin:8px 0 6px;font-size:26px;font-weight:800;line-height:1.2}.hero p{margin:0;font-size:14px;opacity:.9;line-height:1.5}
.hero .cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;height:44px;padding:0 20px;border-radius:12px;background:#fff;color:#2a1b7a;font-weight:800;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.resume{position:relative;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:14px;display:flex;gap:14px;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.thumb{width:118px;height:70px;border-radius:10px;background:linear-gradient(135deg,#0f1230,#1d4fd8);position:relative;flex:none;overflow:hidden}
.thumb::after{content:'';position:absolute;left:50%;top:50%;width:30px;height:30px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.thumb::before{content:'';position:absolute;left:calc(50% - 4px);top:calc(50% - 7px);border-left:11px solid #1d4fd8;border-top:7px solid transparent;border-bottom:7px solid transparent;z-index:1}
.thumb i{position:absolute;left:0;bottom:0;height:4px;width:64%;background:#ffd166}
.resume b{display:block;font-size:14px}.resume span{font-size:12px;opacity:.85}
.cl-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px 18px 18px}
.cl-t{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 8px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);position:relative;transition:transform .25s,box-shadow .25s}
.cl-t:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cl-t b{font-size:12.5px;font-weight:700;margin-top:2px}.cl-t span{font-size:11px;color:var(--mut)}
.cl-t.new::after{content:'';position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.2)}
.ava{border:0;cursor:pointer}
.am{position:absolute;right:0;top:46px;width:264px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(26,26,46,.25);padding:8px;z-index:20;animation:dropIn .2s ease both}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.am-h{padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.am-h b{display:block;font-size:14px}.am-h span{font-size:11.5px;color:var(--mut)}
.am-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:600;color:var(--txt)}.am-i:hover{background:var(--card2)}.am-i svg{color:var(--acc);flex:none}.am-i em{margin-left:auto;font-style:normal;font-size:11px;color:var(--mut)}
.am-sep{height:1px;background:var(--line);margin:6px 0}.am-i.out{color:#ef4444}.am-i.out svg{color:#ef4444}
.cl-grid.big{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cl-grid.big .cl-t{padding:22px 10px 18px}.cl-grid.big .cl-t b{font-size:14px}.cl-grid.big .cl-t span{font-size:12px}
.ph{display:flex;gap:18px;align-items:center;margin-top:6px;padding:22px 24px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.ph h2{margin:4px 0 6px;font-size:24px;font-weight:800}.ph p{margin:0;font-size:13.5px;color:var(--mut);line-height:1.5;max-width:560px}.ph-k{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--acc)}
.ph-stats{margin-left:auto;display:flex;gap:10px}.ph-stats div{background:var(--card2);border-radius:12px;padding:10px 14px;text-align:center}.ph-stats b{display:block;font-size:18px;font-weight:800}.ph-stats span{font-size:11px;color:var(--mut)}
.hw{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px}.hw:hover{background:var(--card2)}.hw-d{width:64px;flex:none;text-align:center;background:var(--card2);border-radius:10px;padding:8px 0;font-size:12px}.hw.now{background:linear-gradient(135deg,rgba(39,117,255,.1),rgba(79,43,214,.1));border:1px solid rgba(39,117,255,.25)}.hw.now .hw-d{background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff}.hw.now .t-st{color:var(--acc)}.hw.done .t-st{color:var(--ok)}.hw.lock{opacity:.55}
.cta2{display:inline-flex;align-items:center;justify-content:center;height:42px;border-radius:12px;background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff;font-weight:800;font-size:13px;box-shadow:0 10px 24px rgba(39,117,255,.3)}
.cl-home{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 14px;padding:26px 18px 30px;justify-items:center}
.cl-h{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;text-align:center}.cl-h b{font-size:13.5px;font-weight:700}.cl-h .ng{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cl-h:hover .ng{transform:translateY(-6px) rotate(-3deg) scale(1.04)}
.cl-h.new::after{content:'';position:absolute;right:calc(50% - 62px);top:-4px;width:12px;height:12px;border-radius:50%;background:#f97316;border:2px solid var(--card);box-shadow:0 0 0 3px rgba(249,115,22,.2)}

/* 3B kitap (Main ile aynı) */
.book{position:relative;width:118px;height:158px;transform:perspective(900px) rotateY(-26deg) rotateX(4deg);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);z-index:2;margin-top:6px}
.pdfc:hover .book{transform:perspective(900px) rotateY(-8deg) rotateX(0) translateY(-4px) scale(1.04)}
.bk-cover{position:absolute;inset:0;border-radius:4px 10px 10px 4px;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:-16px 24px 34px rgba(26,26,46,.4),inset 0 1px 0 rgba(255,255,255,.35),inset -2px 0 0 rgba(0,0,0,.08);overflow:hidden;color:#fff;padding:14px 12px 12px 16px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;transform:translateZ(8px)}
.bk-cover::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:rgba(0,0,0,.18);box-shadow:1px 0 0 rgba(255,255,255,.18)}
.bk-band{position:absolute;right:-20px;top:16px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),rgba(255,255,255,0) 60%)}
.bk-kicker{font-size:8px;font-weight:800;letter-spacing:.22em;color:var(--acc)}
.bk-title{font-size:14px;font-weight:800;line-height:1.15;text-shadow:0 2px 6px rgba(0,0,0,.25);position:relative}
.bk-ic{width:46px;height:46px;margin-top:auto;align-self:flex-end;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));position:relative}
.bk-brand{display:flex;flex-direction:column;gap:1px;position:relative}.bk-brand span{font-size:8px;font-weight:800;letter-spacing:.18em}.bk-brand em{font-style:normal;font-size:6.5px;letter-spacing:.14em;opacity:.8}
.bk-gloss{position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.22) 45%,rgba(255,255,255,0) 55%);transform:translateX(-120%);transition:transform .8s ease}
.pdfc:hover .bk-gloss{transform:translateX(120%)}
.bk-pages{position:absolute;top:4px;bottom:4px;left:6px;right:-7px;border-radius:2px 8px 8px 2px;background:repeating-linear-gradient(180deg,#fff 0 2px,#e3e6ef 2px 3px);box-shadow:4px 6px 14px rgba(26,26,46,.25);transform:translateZ(0)}
.bk-back{position:absolute;inset:0;left:2px;right:-4px;border-radius:4px 10px 10px 4px;background:linear-gradient(150deg,var(--c1),var(--c2));filter:brightness(.6);transform:translateZ(-6px)}
.pdfc:hover .bk-gloss{}
/* bölüm içerik düzeni */
.sec{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.side{display:flex;flex-direction:column;gap:18px}
.fbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ftab{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--mut);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.ftab.on{background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff;border-color:transparent}
.fx{margin-left:auto}.srch{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--mut);font-size:12.5px;min-width:180px}
.bigsrch{display:flex;align-items:center;gap:12px;height:56px;padding:0 18px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--mut);font-size:15px;box-shadow:var(--shadow)}.bigsrch kbd{margin-left:auto;font:inherit;font-size:11px;border:1px solid var(--line);border-radius:6px;padding:2px 8px}
.tg{font-style:normal;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;background:var(--card2);color:var(--mut);white-space:nowrap}.tg.ok{background:var(--okbg);color:var(--ok)}.tg.now{background:rgba(39,117,255,.12);color:var(--acc)}.tg.lock{opacity:.8}
.more{text-align:center;font-size:13px;font-weight:700;color:var(--acc);padding:12px}
/* video kartları */
.vgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s}.vc:hover{transform:translateY(-4px)}
.vth{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#0f1230,#1d4fd8 60%,#4f2bd6)}
.vth .vn{position:absolute;left:10px;top:10px;font-size:11px;font-weight:800;color:#fff;background:rgba(0,0,0,.35);padding:3px 8px;border-radius:999px}
.vth .vp{position:absolute;left:50%;top:50%;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vth .vd{position:absolute;right:10px;bottom:10px;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.45);padding:3px 7px;border-radius:6px}
.vbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.2)}.vbar i{display:block;height:100%;background:#ffd166}
.vc.done .vbar i{background:#22c55e}.vc.lock{opacity:.6}.vc.lock .vth{filter:grayscale(.6)}
.vt{padding:12px 12px 12px;display:flex;flex-direction:column;gap:8px}.vt b{font-size:13px;font-weight:700;line-height:1.3}
/* pdf kartları */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pc{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);transition:transform .25s}.pc:hover{transform:translateY(-4px)}
.pc-b{display:flex;flex-direction:column;gap:4px;min-width:0}.pc-b b{font-size:13.5px;font-weight:700}.pc-b span{font-size:12px;color:var(--mut)}.pc-b small{font-size:11px;color:var(--mut2)}
.pc.done .pc-b small{color:var(--ok)}.pc.lock{opacity:.6}
.book.bk-sm{width:62px;height:84px;margin:0;transform:perspective(600px) rotateY(-18deg) rotateX(3deg);flex:none}.bk-sm .bk-cover{padding:7px 6px 6px 9px;gap:2px}.bk-sm .bk-kicker{font-size:4.5px}.bk-sm .bk-title{font-size:7.5px}.bk-sm .bk-ic{width:22px;height:22px}.bk-sm .bk-brand span{font-size:4.5px}
.pc:hover .book.bk-sm{transform:perspective(600px) rotateY(-6deg)}
/* hafta / ısı haritası / günlük */
.wk{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px}.wk-n{width:44px;height:44px;border-radius:12px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.wk.done .wk-n{background:var(--okbg);color:var(--ok)}.wk.now{background:linear-gradient(135deg,rgba(39,117,255,.1),rgba(79,43,214,.1));border:1px solid rgba(39,117,255,.25)}.wk.now .wk-n{background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff}.wk .t-st{color:var(--ok)}.wk.now .t-st{color:var(--acc)}
.heat{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 18px 18px}.heat div{padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,rgba(39,117,255,var(--v)),rgba(79,43,214,var(--v)))}
.dgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dc{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.dc b{display:block;font-size:14px;font-weight:700;margin-top:4px}.dc span{font-size:12px;color:var(--mut)}.dc .tg{align-self:flex-start}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sc{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.sc b{display:block;font-size:13.5px;font-weight:700}.sc span{font-size:12px;color:var(--mut)}.sc .tg{margin-left:auto}
.fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fc{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(150deg,var(--h),#1a1a2e 160%);box-shadow:0 16px 36px rgba(26,26,46,.25);transition:transform .25s}.fc:hover{transform:translateY(-4px) rotate(-1deg)}
.fc-k{font-size:10px;font-weight:800;letter-spacing:.14em;opacity:.85}.fc b{font-size:22px;font-weight:800}.fc span{font-size:13px;opacity:.9}.fc-f{margin-top:auto;display:flex;justify-content:space-between;font-size:11px;opacity:.85}.fc-f em{font-style:normal}
.ann.pin{background:var(--card2);border-radius:12px;padding:12px;border-top:0;margin-top:4px}
/* mobil */
@media (max-width:900px){
.app{grid-template-columns:1fr}
.sb{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:6px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;z-index:25}
.sb-logo{margin:0 6px 0 0;padding:8px;flex:none}.sb-logo img{height:20px}.sb-logo-img{width:100px;height:20px}
.sb-i{flex:none;padding:6px}.sb-i span:not(.sb-ic){display:none}.sb-i.sb-top .sb-cnt,.sb-dot{display:none}.sb-lbl,.sb-foot{display:none}.sb-i.on::before{display:none}
.main{padding:0 14px 90px}.top{position:static;flex-wrap:wrap;gap:10px;padding:12px 0}.top h1{font-size:19px}.chip{display:none}
.grid,.grid2{grid-template-columns:1fr}.hero{grid-template-columns:1fr;padding:20px}.hero h2{font-size:21px}
.cl-home{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 8px;padding:18px 8px}
.vgrid,.pgrid,.sgrid,.fgrid,.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pgrid,.sgrid{grid-template-columns:1fr}
.ph{flex-wrap:wrap;padding:16px}.ph-stats{margin-left:0;width:100%}.ph-stats div{flex:1}
.fx{margin-left:0;width:100%}.srch{width:100%;box-sizing:border-box}
.am{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto}
.bars{height:90px}.kv{grid-template-columns:1fr 1fr}
}
.task.fin .t-st{color:var(--ok)}
.od{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px}.od:hover{background:var(--card2)}.od.now{background:linear-gradient(135deg,rgba(39,117,255,.08),rgba(79,43,214,.08));border:1px solid rgba(39,117,255,.22)}.od.done .t-txt b{color:var(--mut);text-decoration:line-through}.od .t-txt b{font-size:13.5px;font-weight:600;line-height:1.4}.od .t-txt span em{font-style:normal;color:var(--acc);font-weight:700}
.ck{position:relative;width:22px;height:22px;flex:none}.ck input{position:absolute;opacity:0;inset:0;cursor:pointer}.ck i{display:block;width:22px;height:22px;border-radius:7px;border:2px solid var(--line);background:var(--card)}.ck input:checked+i{background:linear-gradient(135deg,#22c55e,#0f766e);border-color:transparent}.ck input:checked+i::after{content:'';position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.lvl{font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:var(--warnbg);color:var(--warn);white-space:nowrap}.lvl.all{background:var(--card2);color:var(--mut)}
.od-go{font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#2775ff,#4f2bd6);padding:8px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 14px rgba(39,117,255,.25)}.od.done .od-go{color:var(--ok)}
.hnote{margin:12px 18px 0;padding:12px 14px;border-radius:12px;background:var(--card2);font-size:13px;line-height:1.55;color:var(--txt);border-left:3px solid var(--acc)}
.dstrip{display:flex;gap:8px;overflow-x:auto;padding:2px}.dchip{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:12px;color:var(--mut)}.dchip b{font-size:12.5px;color:var(--txt)}.dchip.now{background:linear-gradient(135deg,#2775ff,#4f2bd6);border-color:transparent}.dchip.now b,.dchip.now span{color:#fff}.dchip.done b{color:var(--ok)}.dchip.more{justify-content:center;font-weight:700;color:var(--acc)}
.pc-a{display:flex;gap:10px;margin-top:4px}.pc-a a{font-size:12px;font-weight:800;color:var(--acc)}
.sett{display:flex;flex-direction:column;padding:6px 18px 12px}.sett div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.sett div:last-child{border-bottom:0}.sett span{color:var(--mut)}.sett b{font-weight:700}
.wchip{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--card2);border:1px solid var(--line)}
.metro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mt{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(145deg,var(--g1),var(--g2));box-shadow:0 16px 36px rgba(26,26,46,.22);overflow:hidden;transition:transform .25s,box-shadow .25s;min-height:168px}
.mt::after{content:'';position:absolute;right:-50px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 65%)}
.mt:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(26,26,46,.3)}
.mt-top{display:flex;justify-content:space-between;align-items:flex-start}.mt-badge{font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35)}
.mt b{font-size:16px;font-weight:800;margin-top:4px;position:relative}.mt p{margin:0;font-size:12.5px;line-height:1.45;opacity:.9;position:relative}
.mt-btn{margin-top:auto;align-self:flex-start;font-size:12px;font-weight:800;background:#fff;color:#1a1a2e;padding:8px 12px;border-radius:999px;position:relative}
@media (max-width:900px){.metro{grid-template-columns:1fr 1fr}}
.pbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px}.pb-l{font-size:12px;font-weight:800;color:var(--mut);letter-spacing:.08em}.pgs{display:flex;gap:4px;flex-wrap:wrap}.pg{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--mut);background:var(--card2)}.pg.on{background:linear-gradient(135deg,#2775ff,#4f2bd6);color:#fff}.pg.dots{background:transparent}.pb-go{margin-left:auto;font-size:12px;font-weight:800;color:var(--acc)}
.egrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.et{display:flex;flex-direction:column;gap:6px;padding:14px 16px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;min-height:150px}.et::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--g))}.et:hover{transform:translateY(-4px)}
.et-top{display:flex;justify-content:space-between;align-items:center}.et-k{font-size:10px;font-weight:800;letter-spacing:.14em;padding:4px 8px;border-radius:999px;background:var(--card2);color:var(--mut)}
.et b{font-size:15px;font-weight:800;margin-top:4px;line-height:1.25}.et span{font-size:12px;color:var(--mut)}.et em{margin-top:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--acc)}
@media (max-width:900px){.egrid{grid-template-columns:1fr 1fr}.pb-go{margin-left:0;width:100%}}

/* ders ekranı */
.crumb{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mut)}.crumb a{font-weight:700;color:var(--acc)}
.lgrid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.lmain{display:flex;flex-direction:column;gap:14px;min-width:0}
.player{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0b0e24;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.pv-bg{position:absolute;inset:0;background:radial-gradient(80% 60% at 30% 20%,rgba(79,43,214,.55),transparent 60%),radial-gradient(70% 60% at 80% 80%,rgba(39,117,255,.45),transparent 60%),linear-gradient(160deg,#141a3a,#0b0e24)}
.pv-logo{position:absolute;left:22px;top:18px;font-size:12px;font-weight:800;letter-spacing:.2em;color:rgba(255,255,255,.7)}.pv-title{position:absolute;left:22px;bottom:84px;font-size:28px;font-weight:800;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.pv-toast{position:absolute;right:16px;top:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:700;padding:8px 12px;border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pv-play{position:absolute;left:50%;top:50%;width:72px;height:72px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.pv-bar{position:absolute;left:0;right:0;bottom:0;padding:10px 16px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff}
.pv-prog{position:relative;height:5px;border-radius:3px;background:rgba(255,255,255,.25);margin-bottom:10px}.pv-prog i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#2775ff,#ffd166)}.pv-prog b{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.4)}
.pv-ctl{display:flex;align-items:center;gap:14px;font-size:12.5px;font-weight:700}.pv-b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.1)}.pv-t{opacity:.9}.pv-sp{margin-left:auto;background:rgba(255,255,255,.14);padding:4px 10px;border-radius:999px;font-size:12px}
.ltitle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ltitle h2{margin:4px 0 8px;font-size:22px;font-weight:800}.lmeta{display:flex;gap:12px;align-items:center;font-size:12.5px;color:var(--mut)}
.ltabs{display:flex;gap:8px;flex-wrap:wrap}
.chap{padding:0 18px 14px}.ch{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;font-size:13px}.ch:hover{background:var(--card2)}.ch-t{font-variant-numeric:tabular-nums;font-weight:800;color:var(--acc);width:48px}.ch b{font-weight:600;flex:1}.ch em{font-style:normal;color:var(--mut);font-size:12px}.ch.done .ch-t{color:var(--ok)}.ch.now{background:linear-gradient(135deg,rgba(39,117,255,.1),rgba(79,43,214,.1))}
.qbox{padding:12px;border-radius:12px;background:var(--card2);border:1px dashed var(--line);font-size:13px;color:var(--mut)}
@media (max-width:900px){.lgrid{grid-template-columns:1fr}.pv-title{font-size:20px;bottom:70px}}
/* tasks */
.tasks{padding:8px 10px 12px;display:flex;flex-direction:column;gap:4px}
.task{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:14px;transition:background .2s}.task:hover{background:var(--card2)}
.t-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.t-txt b{font-size:14px;font-weight:700}.t-txt span{font-size:12px;color:var(--mut)}
.t-st{font-size:12px;font-weight:800;color:var(--mut2);white-space:nowrap}
.task.done .t-txt b{text-decoration:line-through;color:var(--mut)}.task.done .t-st{color:var(--ok)}.task.done .ng{opacity:.55;filter:grayscale(.4)}
.task.now{background:linear-gradient(135deg,rgba(39,117,255,.1),rgba(79,43,214,.1));border:1px solid rgba(39,117,255,.25)}.task.now .t-st{color:var(--acc)}
/* ring */
.ringwrap{display:flex;gap:18px;align-items:center;padding:14px 18px 18px}
.ring{width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--acc) 0 82%,var(--line) 82% 100%);display:flex;align-items:center;justify-content:center;flex:none;position:relative}
.ring::before{content:'';position:absolute;inset:9px;border-radius:50%;background:var(--card)}.ring b{position:relative;font-size:20px;font-weight:800}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}.kv div{background:var(--card2);border-radius:12px;padding:10px 12px}.kv b{display:block;font-size:17px;font-weight:800}.kv span{font-size:11.5px;color:var(--mut)}
/* chart */
.bars{display:flex;gap:10px;align-items:flex-end;height:110px;padding:14px 18px 16px}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--acc),var(--acc2));opacity:.85;min-height:6px}.bar:nth-child(5) i{background:linear-gradient(180deg,#22c55e,#0f766e)}
.bar span{font-size:11px;color:var(--mut)}
/* duyurular */
.anns{padding:8px 18px 14px;display:flex;flex-direction:column}
.ann{padding:12px 0;border-top:1px solid var(--line)}.ann:first-child{border-top:0}
.ann-h{display:flex;justify-content:space-between;font-size:12px}.ann-h b{color:var(--acc)}.ann-h span{color:var(--mut2)}
.ann p{margin:5px 0 0;font-size:13.5px;line-height:1.5;color:var(--txt)}
.exam{display:flex;gap:12px;padding:14px 18px 18px}.exam div{flex:1;background:var(--card2);border-radius:14px;padding:12px 14px;border:1px solid var(--line)}.exam b{display:block;font-size:24px;font-weight:800;line-height:1}.exam span{font-size:12px;color:var(--mut)}
.cert{margin:0 18px 18px;padding:14px;border-radius:14px;background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(239,68,68,.1));border:1px solid rgba(245,158,11,.3);font-size:13px;display:flex;gap:12px;align-items:center}
.cert b{display:block;font-size:13.5px}.cert span{color:var(--mut);font-size:12px}
.badge-g{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#92400e;background:linear-gradient(135deg,#ffe9a8,#ffd166);border-radius:999px;padding:4px 9px}
.app.dark .badge-g{color:#5a3200}
/* ---------- YENİ NESİL İKON KÜTLESİ (merkezi set) ---------- */
.ng{position:relative;width:var(--s,112px);height:var(--s,112px);border-radius:calc(var(--s,112px)*.27);transition:transform .35s cubic-bezier(.2,.8,.2,1);flex:none}
.ng .tile{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,#1b2150 0%,#141a3a 55%,#1a1444 100%);overflow:hidden;isolation:isolate;transform:translateZ(0);box-shadow:0 calc(var(--s,112px)*.16) calc(var(--s,112px)*.3) rgba(20,26,58,.35),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.4)}
.ng .aura{position:absolute;inset:-40%;background:conic-gradient(from 0deg,var(--a) 0%,var(--b) 30%,var(--a) 55%,var(--c) 80%,var(--a) 100%);filter:blur(calc(var(--s,112px)*.2));opacity:.75}
.ng .vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 110%,rgba(0,0,0,.55),transparent 55%),radial-gradient(80% 60% at 50% -10%,rgba(255,255,255,.22),transparent 60%)}
.ng .rim{position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(150deg,rgba(255,255,255,.75),rgba(255,255,255,.05) 40%,rgba(255,255,255,0) 60%,var(--b) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ng .pane{position:absolute;inset:calc(var(--s,112px)*.1);border-radius:calc(var(--s,112px)*.19);background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 50%,rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 30px rgba(0,0,0,.25)}
.ng .dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:0}
.ng .dust i:nth-child(1){left:22%;top:70%}.ng .dust i:nth-child(2){left:70%;top:62%;width:2px;height:2px}.ng .dust i:nth-child(3){left:42%;top:82%}
.ng .ground{position:absolute;left:50%;bottom:13%;width:43%;height:9%;border-radius:50%;background:var(--b);filter:blur(calc(var(--s,112px)*.07));opacity:.5;transform:translateX(-50%)}
.ng .obj{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ng .obj svg{width:60%;height:60%;filter:drop-shadow(0 calc(var(--s,112px)*.1) calc(var(--s,112px)*.13) rgba(0,0,0,.45));overflow:visible}
.ng:hover{transform:translateY(-6px) rotate(-3deg) scale(1.04)}
/* canlı mod (ana sayfa): sürekli; sakin mod (panel): yalnızca fare üstündeyken */
.ng.live .aura,.ng.calm:hover .aura{animation:ngSpin 9s linear infinite}
.ng.live .dust i,.ng.calm:hover .dust i{animation:ngDust 5s ease-in-out infinite}
.ng .dust i:nth-child(2){animation-delay:1.6s !important}.ng .dust i:nth-child(3){animation-delay:3.1s !important}
.ng.calm [class*="ma-"]{animation-play-state:paused !important}.ng.calm:hover [class*="ma-"]{animation-play-state:running !important}
@keyframes ngSpin{to{transform:rotate(360deg)}}
@keyframes ngDust{0%{opacity:0;transform:translateY(0)}30%{opacity:.9}100%{opacity:0;transform:translateY(-40px)}}
/* nesneye özel mikro hareketler */
.ma-route{animation:maDash 1.6s linear infinite}@keyframes maDash{to{stroke-dashoffset:-12}}
.ma-pin{animation:maPin 2.4s ease-in-out infinite}@keyframes maPin{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ma-ring{animation:maRing 2.4s ease-out infinite}.ma-ring.r2{animation-delay:1.2s}@keyframes maRing{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2);opacity:0}}
.ma-pop{animation:maPop 2.6s ease-in-out infinite}@keyframes maPop{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.25)}90%{transform:scale(.95)}}
.ma-write{stroke-dasharray:40;animation:maWrite 2.6s ease-in-out infinite}@keyframes maWrite{0%{stroke-dashoffset:40}45%,100%{stroke-dashoffset:0}}
.ma-top{animation:maTop 3s ease-in-out infinite}@keyframes maTop{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(1.5px,-2.5px) rotate(3deg)}}
.ma-eq rect{animation:maEq 1s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}.ma-eq rect:nth-child(2){animation-delay:.2s}.ma-eq rect:nth-child(3){animation-delay:.4s}@keyframes maEq{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1.3)}}
.ma-b{animation:maB 3s steps(1) infinite;opacity:0}.ma-b.b2{animation-delay:1s}.ma-b.b3{animation-delay:2s}@keyframes maB{0%{opacity:1}33.3%,100%{opacity:0}}
.ma-pen{animation:maPen 3s ease-in-out infinite}@keyframes maPen{0%,100%{transform:translate(0,0)}33%{transform:translate(-1px,-2px)}66%{transform:translate(1px,2px)}}
.ma-star{animation:maStar 2.2s ease-in-out infinite}@keyframes maStar{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.3) rotate(18deg)}}
.ma-lens{animation:maLens 3.2s ease-in-out infinite}@keyframes maLens{0%,100%{transform:translate(0,0)}50%{transform:translate(-9px,-6px)}}
.ma-arrow{animation:maArrow 2.8s cubic-bezier(.2,.9,.2,1) infinite}@keyframes maArrow{0%{transform:translate(14px,-14px);opacity:0}25%,100%{transform:translate(0,0);opacity:1}}
.ma-target{animation:maHit 2.8s ease-out infinite}@keyframes maHit{0%,24%,40%,100%{transform:scale(1)}28%{transform:scale(1.06)}34%{transform:scale(.98)}}
.ma-glow{animation:maGlow 2.2s ease-in-out infinite}@keyframes maGlow{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.95;transform:scale(1.15)}}
.ma-sp{animation:maTw 1.8s ease-in-out infinite;opacity:0}.ma-sp.s2{animation-delay:.6s}.ma-sp.s3{animation-delay:1.2s}@keyframes maTw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(90deg)}}
.ma-hl{animation:maHl 2.8s ease-in-out infinite}@keyframes maHl{0%{transform:scaleX(0)}40%,100%{transform:scaleX(1)}}
.ma-marker{animation:maMk 2.8s ease-in-out infinite}@keyframes maMk{0%{transform:translate(-14px,10px)}40%,100%{transform:translate(0,0)}}
.ma-w{stroke-dasharray:40;stroke-dashoffset:40;animation:maWave 2.1s ease-out infinite}.ma-w.w2{animation-delay:.35s}@keyframes maWave{0%{stroke-dashoffset:40;opacity:0}30%{opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.ma-horn{animation:maShake 2.1s ease-in-out infinite}@keyframes maShake{0%,20%,100%{transform:rotate(0)}5%{transform:rotate(-6deg)}10%{transform:rotate(5deg)}15%{transform:rotate(-3deg)}}
.comp .ng{margin:0 auto}
@media (prefers-reduced-motion:reduce){.ng *{animation:none !important}}

.app.dark .ng .tile{box-shadow:0 calc(var(--s,112px)*.16) calc(var(--s,112px)*.3) rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.4)}
/* panelde küçük ikonlar: hover'da yer değiştirme ve bulanıklık yok */
.ng.calm:hover{transform:none}
.ng.calm .tile{transform:none;will-change:auto}
.ng.calm .aura{filter:blur(calc(var(--s,112px)*.14))}
.ng.calm .obj svg{filter:none}
.cl-h:hover .ng{transform:translateY(-6px) rotate(-3deg) scale(1.04)}

/* Avatar (fotoğraf / hazır / baş harf) — her yerde aynı bileşen */
.zh-ava{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;color:#fff;font-weight:800;line-height:1;flex:none;vertical-align:middle;box-shadow:0 0 0 2px rgba(255,255,255,.7),0 4px 12px rgba(0,0,0,.18);user-select:none}
.zh-ava.hazir{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
/* Ders listesi: kısa açıklama (eski ders listesindeki "kısa açıklama", 4. dilim) */
.vt-ozet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.45;color:var(--mut);margin:2px 0 3px}
