
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&display=swap');

:root{
 --bg:#06110d;--bg2:#0b1d15;--panel:rgba(14,31,24,.76);--panel2:rgba(20,43,32,.88);
 --line:rgba(155,255,91,.16);--text:#f4fff6;--muted:#9ab3a4;
 --green:#7dff45;--mint:#3dffd0;--cyan:#36d8ff;--pink:#ff5fd2;--violet:#9b6cff;--gold:#ffd166;
 --shadow:0 24px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;color:var(--text);font-family:Vazirmatn,system-ui,sans-serif;
 background:
 radial-gradient(circle at 8% 10%,rgba(125,255,69,.16),transparent 28%),
 radial-gradient(circle at 92% 18%,rgba(255,95,210,.13),transparent 26%),
 radial-gradient(circle at 50% 92%,rgba(54,216,255,.10),transparent 30%),
 linear-gradient(145deg,#04100b,#071912 48%,#080b16);
 min-height:100vh;overflow-x:hidden;
}
body:before{
 content:"";position:fixed;inset:-20%;pointer-events:none;z-index:-1;
 background:conic-gradient(from 180deg,transparent,rgba(125,255,69,.07),transparent 28%,rgba(255,95,210,.05),transparent 55%,rgba(54,216,255,.06),transparent);
 animation:aurora 18s linear infinite;
}
body.light{
 --bg:#effff5;--bg2:#e5fff0;--panel:rgba(255,255,255,.78);--panel2:#fff;
 --line:rgba(21,105,55,.14);--text:#102118;--muted:#567061;
 background:linear-gradient(145deg,#effff6,#f5f0ff 48%,#effbff);
}
@keyframes aurora{to{transform:rotate(360deg) scale(1.15)}}
@keyframes float{50%{transform:translateY(-5px)}}
@keyframes glow{50%{box-shadow:0 0 30px rgba(125,255,69,.45)}}
@keyframes pop{0%{transform:scale(.96);opacity:.5}100%{transform:scale(1);opacity:1}}
.app{width:min(720px,100%);margin:auto;padding:18px 14px 50px}
button,input{font:inherit}
button{color:inherit}
.hero{
 position:relative;padding:22px;border:1px solid var(--line);border-radius:32px;
 background:linear-gradient(135deg,rgba(18,45,32,.94),rgba(21,24,47,.88));
 box-shadow:var(--shadow);overflow:hidden;
}
.hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;top:-90px;background:rgba(125,255,69,.18);filter:blur(10px)}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;position:relative;z-index:1}
.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--green);font-weight:900}
.hero h1{font-size:30px;line-height:1;margin:10px 0 7px;letter-spacing:-1px}
.hero h1 span{color:var(--green);text-shadow:0 0 18px rgba(125,255,69,.35)}
.hero p{margin:0;color:var(--muted);font-size:12px}
.icon-btn{
 width:50px;height:50px;border-radius:17px;border:1px solid rgba(125,255,69,.28);
 background:rgba(125,255,69,.08);cursor:pointer;font-size:24px;transition:.25s;
}
.icon-btn:hover{transform:rotate(12deg) scale(1.06);background:rgba(125,255,69,.17)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}
.hero-stats>div{padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(0,0,0,.18)}
.hero-stats small{display:block;color:var(--muted);font-size:9px}
.hero-stats strong{display:block;margin-top:4px;color:var(--green);font-size:18px}
.hero-pulse{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:10px}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green);animation:glow 1.6s infinite}
.pulse-line{height:1px;flex:1;background:linear-gradient(90deg,var(--green),transparent)}
.tabs{
 display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0;
 position:sticky;top:7px;z-index:10;padding:5px;border:1px solid var(--line);
 border-radius:20px;background:rgba(5,17,12,.76);backdrop-filter:blur(18px)
}
.tab{border:0;background:transparent;border-radius:15px;padding:11px 4px;color:var(--muted);font-weight:800;font-size:11px;cursor:pointer;transition:.25s}
.tab.active{background:linear-gradient(135deg,rgba(125,255,69,.22),rgba(61,255,208,.10));color:var(--green);box-shadow:inset 0 0 0 1px rgba(125,255,69,.18)}
.tab:hover{color:var(--text);transform:translateY(-1px)}
.date-panel,.progress-card,.chart-card,.day-summary-card,.save-card,.lifetime-level,.boss,.goal,.stat{
 border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(18px);box-shadow:0 15px 45px rgba(0,0,0,.18)
}
.date-panel{border-radius:25px;padding:14px;margin-bottom:12px}
.date-main{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center}
.date-label{font-size:9px;color:var(--green);letter-spacing:1.5px;font-weight:900}
.date-main h2{margin:5px 0 0;font-size:18px}.date-main p{margin:2px 0 0;color:var(--muted);font-size:10px}
.date-arrow,.tier-arrow{
 border:1px solid rgba(125,255,69,.25);background:linear-gradient(135deg,rgba(125,255,69,.13),rgba(255,95,210,.08));
 color:var(--green);cursor:pointer;border-radius:15px;min-width:46px;height:46px;font-size:27px;font-weight:900;transition:.25s
}
.date-arrow:hover,.tier-arrow:hover{transform:scale(1.08);box-shadow:0 0 22px rgba(125,255,69,.22)}
.date-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:11px}
.soft-btn,.primary-btn,.details-btn,.motivation-btn{
 border:1px solid var(--line);background:rgba(125,255,69,.07);border-radius:13px;padding:10px 12px;cursor:pointer;font-weight:800;font-size:11px;transition:.22s
}
.soft-btn:hover,.details-btn:hover,.primary-btn:hover,.motivation-btn:hover{transform:translateY(-2px);background:rgba(125,255,69,.15);box-shadow:0 8px 24px rgba(125,255,69,.12)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 12px}
.section-head h2{margin:4px 0;font-size:22px}.section-note{font-size:10px;color:var(--muted);line-height:1.8}
.progress-card{padding:15px;border-radius:21px;margin-bottom:11px}
.progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.progress-head strong{color:var(--green)}
.bar,.level-progress{height:10px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:10px}
.bar span,.level-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--mint),var(--cyan));box-shadow:0 0 18px rgba(125,255,69,.65);border-radius:inherit;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.quest-list{display:grid;gap:9px}
.quest{
 display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border-radius:21px;
 border:1px solid var(--line);background:linear-gradient(135deg,rgba(17,38,28,.86),rgba(25,26,44,.75));
 transition:.3s;position:relative;overflow:hidden
}
.quest:hover{transform:translateY(-2px);border-color:rgba(125,255,69,.35)}
.quest.done{opacity:.5;filter:saturate(.55);background:rgba(60,100,73,.18)}
.quest.done:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(125,255,69,.06),transparent);animation:shine 1.1s}
.quest-flash{animation:questFlash .7s}
@keyframes questFlash{50%{box-shadow:0 0 35px rgba(125,255,69,.55);transform:scale(1.015)}}
.check{
 appearance:none;width:28px;height:28px;border-radius:9px;border:1px solid rgba(125,255,69,.35);background:rgba(0,0,0,.16);cursor:pointer;position:relative;transition:.25s
}
.check:checked{background:var(--green);border-color:var(--green);box-shadow:0 0 22px rgba(125,255,69,.75);animation:checkPop .35s}
.check:checked:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#07120a;font-weight:900}
@keyframes checkPop{50%{transform:scale(1.2)}}
.quest-title{font-weight:900;font-size:12px}.quest-sub{font-size:10px;color:var(--muted);line-height:1.7;margin-top:3px}
.quest-actions{display:flex;align-items:center;gap:5px;flex-direction:column}.xp{color:var(--green);font-weight:900;font-size:11px;white-space:nowrap}
.boss-list,.goal-list{display:grid;gap:11px}
.boss{padding:16px;border-radius:24px;cursor:pointer;transition:.28s}
.boss:hover{transform:translateY(-4px);box-shadow:0 20px 55px rgba(125,255,69,.10)}
.boss-top{display:flex;justify-content:space-between;gap:10px}.boss h3{margin:0;font-size:14px}.difficulty{color:var(--gold);letter-spacing:2px;font-size:10px}.boss p,.goal p{color:var(--muted);font-size:11px;line-height:2;margin:10px 0}
.goal{padding:18px;border-radius:24px;position:relative;overflow:hidden}
.goal:nth-child(1){border-right:3px solid var(--green)}.goal:nth-child(2){border-right:3px solid var(--violet)}
.goal:nth-child(3){border-right:3px solid var(--gold)}.goal:nth-child(4){border-right:3px solid var(--pink)}
.goal strong{font-size:14px}
.stat-grid,.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.stat{padding:15px;border-radius:20px}.stat span{font-size:9px;color:var(--muted)}.stat strong{display:block;margin-top:6px;color:var(--green);font-size:21px}
.day-summary-card,.chart-card,.save-card{border-radius:24px;padding:16px;margin-top:11px}
.chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.chart-head h3{margin:4px 0;font-size:15px}.chart-head span,.chart-hint{font-size:9px;color:var(--muted)}
.day-summary-top{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.day-summary-top>div{padding:10px;border-radius:14px;background:rgba(125,255,69,.05)}.day-summary-top span{font-size:8px;color:var(--muted)}.day-summary-top strong{display:block;font-size:11px;margin-top:4px;color:var(--green)}
.day-summary-list{margin-top:9px;display:grid;gap:5px}.day-row{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.025);font-size:9px}.day-row.done b{color:var(--green)}
#progressChart{width:100%;height:210px;margin-top:8px}
.save-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.save-card p{margin:4px 0;color:var(--muted);font-size:9px}
.lifetime-level{margin-top:16px;padding:19px;border-radius:28px;position:relative;overflow:hidden}
.lifetime-level:before{content:"";position:absolute;width:170px;height:170px;left:-100px;top:-80px;background:rgba(125,255,69,.12);filter:blur(25px);border-radius:50%}
.lifetime-row{display:flex;align-items:end;justify-content:space-between;margin:7px 0}.lifetime-row strong{font-size:36px;color:var(--green);text-shadow:0 0 25px rgba(125,255,69,.3)}.lifetime-row span{font-size:11px;color:var(--muted)}
.level-note{font-size:9px;color:var(--muted)}
.level-switcher{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;margin-top:15px;text-align:center}
.level-switcher strong{font-size:18px;color:var(--green)}
.level-roadmap{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}
.level-chip{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);border-radius:11px;padding:9px 2px;font-size:10px;font-weight:900;cursor:pointer;transition:.2s}
.level-chip:hover{transform:translateY(-2px);border-color:rgba(125,255,69,.4)}
.level-chip.current{color:#07120a;background:var(--green);border-color:var(--green);box-shadow:0 0 20px rgba(125,255,69,.55);animation:glow 1.7s infinite}
.level-chip.done{color:var(--green);background:rgba(125,255,69,.10);border-color:rgba(125,255,69,.35)}
.page{display:none}.page.active,.tab-panel.active{display:block;animation:pop .3s ease}
.motivation-page{padding:12px 0}.motivation-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:12px 0}.motivation-nav .tier-arrow{height:40px;min-width:0;font-size:11px;border-radius:12px}
.motivation-list{min-height:220px;display:grid;place-items:center}
.quote{padding:26px 20px;border-radius:28px;border:1px solid rgba(255,95,210,.25);background:linear-gradient(135deg,rgba(255,95,210,.10),rgba(155,108,255,.08),rgba(61,255,208,.07));box-shadow:0 0 55px rgba(155,108,255,.08);line-height:2.3;text-align:center;font-size:16px;font-weight:700;animation:pop .35s}
.motivation-btn{display:block;width:100%;margin-top:14px;border-color:rgba(255,95,210,.25);background:linear-gradient(90deg,rgba(255,95,210,.10),rgba(155,108,255,.10));}
.modal{position:fixed;inset:0;z-index:50;display:none;align-items:flex-end;justify-content:center;padding:12px}.modal.open{display:flex}.modal-shade{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(7px)}
.modal-card{position:relative;width:min(620px,100%);max-height:88vh;overflow:auto;padding:22px;border-radius:28px;background:linear-gradient(145deg,#102319,#15142a);border:1px solid var(--line);box-shadow:0 30px 100px rgba(0,0,0,.55);animation:pop .25s}
.modal-close{position:absolute;left:14px;top:12px;border:0;background:rgba(255,255,255,.06);border-radius:12px;width:38px;height:38px;cursor:pointer;font-size:22px}
.modal-icon{font-size:30px}.modal-steps{display:grid;gap:7px;margin-top:15px}.modal-steps div{padding:10px;border-radius:12px;background:rgba(125,255,69,.05);border:1px solid var(--line);font-size:10px}
.history-list{display:grid;gap:7px;margin-top:12px}.history-item{display:flex;justify-content:space-between;padding:10px;border-radius:12px;background:rgba(125,255,69,.05);font-size:10px}.history-item b{color:var(--green)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;z-index:100;padding:11px 16px;border-radius:14px;background:#0d1d14;border:1px solid var(--green);color:var(--text);transition:.3s;font-size:11px}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
footer{text-align:center;color:var(--muted);font-size:9px;padding:20px 0 4px}
@media(max-width:520px){.app{padding:10px 9px 35px}.hero{border-radius:25px;padding:18px}.hero h1{font-size:25px}.quest{grid-template-columns:auto 1fr auto}.quest-actions .details-btn{font-size:8px;padding:7px}.day-summary-top{grid-template-columns:1fr 1fr}.day-summary-top>div:last-child{grid-column:1/-1}.date-actions{grid-template-columns:1fr 1fr}.date-actions input{grid-column:1/-1;grid-row:1}.tabs{top:4px}.tab{font-size:10px}.level-roadmap{grid-template-columns:repeat(5,1fr)}}

body.light .modal-card{background:#f8fff9;color:#102118} body.light .tabs{background:rgba(255,255,255,.82)}
