/* ============================================
   ОТВЕТ №1 — Landing + Dashboard Styles v3
   Exam Sheet (Бланк) Visual Theme
   ============================================ */

/* ── APP SHELL ── */
.app-shell{display:grid;grid-template-columns:260px 1fr;grid-template-rows:64px 1fr;min-height:100vh}

/* ── SIDEBAR ── */
.sidebar{grid-row:1/3;background:var(--bg-primary);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column;position:relative;z-index:10}
.sidebar-logo{padding:0 20px;margin-bottom:32px;display:flex;align-items:center;gap:10px}
.sidebar-logo .logo-mark{width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0;overflow:hidden;box-shadow:var(--shadow-cyan);animation:glow 3s infinite}
.sidebar-logo .logo-mark img{width:100%;height:100%;object-fit:cover;display:block}
.sidebar-logo .logo-text{font-family:'Unbounded',sans-serif;font-weight:700;font-size:1.1rem;color:var(--text-primary);letter-spacing:-.02em}
.logo-num{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.3em;font-weight:800}
.sidebar-nav{flex:1}
.nav-group{margin-bottom:24px}
.nav-group-title{padding:0 20px;font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative;text-decoration:none}
.nav-item:hover{color:var(--text-primary);background:rgba(255,255,255,.03)}
.nav-item.active{color:var(--cyan);background:var(--cyan-dim)}
.nav-item.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--cyan);border-radius:0 3px 3px 0}
.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.7}
.nav-item.active svg{opacity:1}
.nav-item .lock-icon{margin-left:auto;width:14px;height:14px;color:var(--text-muted);opacity:.5}
.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border)}
.sidebar-user{display:flex;align-items:center;gap:10px}
.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--cyan-dim);border:2px solid var(--cyan-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--cyan)}
.user-info .user-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}
.user-info .user-role{font-size:.72rem;color:var(--text-muted)}

/* ── TOPBAR ── */
.topbar{grid-column:2;background:var(--bg-primary);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:relative;z-index:10}
.topbar-left{display:flex;align-items:center;gap:16px}
.topbar-left h2{font-size:1.15rem;font-weight:600}
.topbar-right{display:flex;align-items:center;gap:12px}

/* ── MAIN CONTENT ── */
.main-content{grid-column:2;padding:32px;overflow-y:auto;position:relative;background-image:linear-gradient(rgba(99,102,241,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(13,211,180,.02) 1px,transparent 1px);background-size:28px 28px}
.landing-content{padding:0;overflow-y:auto}

/* ── GRID BACKGROUND ── */
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(13,211,180,.03) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)}

/* ============================
   HERO — Split layout with blank
   ============================ */
.landing-hero{position:relative;padding:60px 40px;overflow:hidden;min-height:calc(100vh - 64px);display:flex;align-items:center}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;width:100%;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.hero-tag{display:inline-block;padding:6px 14px;background:var(--purple-dim);border:1px solid rgba(139,92,246,.3);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;color:var(--purple);letter-spacing:.08em;margin-bottom:20px;text-transform:uppercase}
.hero-left h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:20px;line-height:1.2}
.hero-small{font-size:.55em;color:var(--text-secondary);font-weight:500;display:block;margin-top:8px}
.hero-desc{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin-bottom:28px;max-width:420px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ── БЛАНК ОТВЕТОВ CARD ── */
.blank-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg),0 0 60px rgba(99,102,241,.06);position:relative;transform:rotate(1deg);transition:transform .4s var(--ease)}
.blank-card:hover{transform:rotate(0deg) scale(1.02)}
.blank-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.blank-title{font-family:'Unbounded',sans-serif;font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase}
.blank-badge{font-size:.7rem;font-weight:700;color:var(--green);background:var(--green-dim);padding:4px 10px;border-radius:var(--radius-full)}
.blank-meta{display:flex;gap:24px;margin-bottom:16px;font-size:.78rem;color:var(--text-muted)}
.blank-meta strong{color:var(--text-primary)}
.blank-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.blank-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.q-num{font-family:'Unbounded',sans-serif;font-size:.75rem;font-weight:700;color:var(--text-muted);width:20px;text-align:right}
.bubble{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-hover);transition:all .3s}
.bubble.filled{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px rgba(6,182,212,.3)}
.blur-row{filter:blur(4px);opacity:.5}
.blank-lock{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:var(--bg-deep);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;color:var(--text-muted)}

/* CTA mini blank */
.cta-blank-mini{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:20px;opacity:.6}
.mini-row{display:flex;gap:6px}
.mini-row .bubble{width:16px;height:16px;border-width:1.5px}
.mini-row .bubble.filled{width:16px;height:16px}

/* ============================
   SCHEME (How it works - flow)
   ============================ */
.scheme-flow{display:flex;align-items:flex-start;justify-content:center;gap:8px;flex-wrap:wrap;max-width:1000px;margin:0 auto}
.scheme-node{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 20px;text-align:center;flex:1;min-width:180px;max-width:220px;transition:all .3s var(--ease)}
.scheme-node:hover{border-color:var(--cyan-border);transform:translateY(-4px)}
.scheme-node.highlight-node{border-color:var(--cyan-border);background:linear-gradient(135deg,var(--bg-card),rgba(6,182,212,.06))}
.scheme-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.scheme-node:nth-child(1) .scheme-icon{background:var(--cyan-dim);color:var(--cyan)}
.scheme-node:nth-child(3) .scheme-icon{background:var(--purple-dim);color:var(--purple)}
.scheme-node:nth-child(5) .scheme-icon{background:var(--amber-dim);color:var(--amber)}
.scheme-node:nth-child(7) .scheme-icon{background:var(--green-dim);color:var(--green)}
.scheme-node h4{font-size:.92rem;margin-bottom:6px}
.scheme-node p{font-size:.78rem;color:var(--text-muted);line-height:1.4}
.scheme-arrow{font-family:'Unbounded',sans-serif;font-size:1.4rem;color:var(--cyan);padding-top:40px;opacity:.5}

/* ============================
   WHAT YOU GET - numbered cards
   ============================ */
.get-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:800px;margin:0 auto}
.get-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;transition:all .3s var(--ease);position:relative}
.get-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}
.get-num{font-family:'Unbounded',sans-serif;font-size:2.2rem;font-weight:800;line-height:1;margin-bottom:12px;opacity:.5}
.get-card:nth-child(1) .get-num{background:linear-gradient(135deg,var(--cyan),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.get-card:nth-child(2) .get-num{background:linear-gradient(135deg,var(--purple),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.get-card:nth-child(3) .get-num{background:linear-gradient(135deg,var(--amber),#F97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.get-card:nth-child(4) .get-num{background:linear-gradient(135deg,var(--green),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.get-card h4{font-size:.95rem;margin-bottom:8px}
.get-card p{font-size:.82rem;color:var(--text-muted);line-height:1.5}

/* ============================
   SECTIONS COMMON
   ============================ */
.landing-section{padding:60px 40px;border-top:1px solid var(--border)}
.section-heading{font-size:clamp(1.4rem,3vw,2rem);text-align:center;margin-bottom:8px}
.section-sub{text-align:center;color:var(--text-secondary);margin-bottom:40px;max-width:500px;margin-left:auto;margin-right:auto}

/* Pricing */
.pricing-preview{max-width:500px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.price-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);transition:background .2s}
.price-row:last-child{border-bottom:none}
.price-row:hover{background:rgba(255,255,255,.02)}
.price-row.highlight{background:linear-gradient(135deg,rgba(13,211,180,.08),rgba(99,102,241,.08));border-color:rgba(99,102,241,.2)}
.price-label{font-weight:600;font-size:.9rem}
.price-discount{font-size:.78rem;font-weight:600;color:var(--text-muted);padding:2px 10px;border-radius:var(--radius-full)}
.price-discount.save{color:var(--green);background:var(--green-dim);font-weight:700}
.price-val{font-family:'Unbounded',sans-serif;font-size:1.15rem;font-weight:700;color:var(--text-primary)}
.pricing-note{text-align:center;font-size:.82rem;color:var(--text-muted);margin-top:16px}
.pricing-note strong{color:var(--cyan)}

/* FAQ */
.faq-list{max-width:700px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden;transition:border-color .2s}
.faq-item:hover,.faq-item.active{border-color:var(--border-hover)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:.9rem;font-weight:600;color:var(--text-primary);background:transparent;text-align:left;cursor:pointer;transition:color .2s}
.faq-question svg{flex-shrink:0;transition:transform .3s;color:var(--text-muted)}
.faq-item.active .faq-question svg{transform:rotate(180deg);color:var(--cyan)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.faq-answer-inner{padding:0 20px 16px;font-size:.85rem;color:var(--text-secondary);line-height:1.6}

/* CTA */
.landing-cta{position:relative;padding:80px 40px;text-align:center;overflow:hidden}
.cta-inner{position:relative;z-index:1}
.landing-cta h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:12px}
.landing-cta p{color:var(--text-secondary);max-width:450px;margin:0 auto 24px}

/* Footer — compact one-line */
.landing-footer{border-top:1px solid var(--border);padding:20px 40px;background:var(--bg-deep)}
.footer-compact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{font-size:.82rem;color:var(--text-muted);transition:color .2s}
.footer-links a:hover{color:var(--cyan)}
.footer-copy{font-size:.75rem;color:var(--text-muted);opacity:.5}

/* ── AUTH OVERLAY ── */
.auth-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(6,14,27,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.auth-overlay.visible{opacity:1;pointer-events:all}
.auth-card{background:var(--bg-primary);border:1px solid var(--border-cyan);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-cyan-lg);position:relative;transform:translateY(20px) scale(.97);transition:transform .4s var(--ease)}
.auth-overlay.visible .auth-card{transform:translateY(0) scale(1)}
.auth-card .auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center}
.auth-card .auth-logo .logo-mark{width:44px;height:44px;font-size:1.2rem}
.auth-card .auth-logo .logo-text{font-size:1.3rem}
.auth-card h2{text-align:center;font-size:1.4rem;margin-bottom:8px}
.auth-card .auth-subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:28px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.form-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:border-color .2s;outline:none}
.form-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-dim)}
.form-input::placeholder{color:var(--text-muted)}
.form-select{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;outline:none;appearance:none;cursor:pointer}
.form-select:focus{border-color:var(--cyan)}
.auth-card .btn-primary{width:100%;padding:14px;font-size:.95rem;margin-top:8px}
.auth-divider{text-align:center;color:var(--text-muted);font-size:.8rem;margin:20px 0;position:relative}
.auth-divider::before,.auth-divider::after{content:'';position:absolute;top:50%;width:calc(50% - 20px);height:1px;background:var(--border)}
.auth-divider::before{left:0}.auth-divider::after{right:0}
.auth-switch{text-align:center;margin-top:20px;font-size:.85rem;color:var(--text-secondary)}
.auth-switch a{color:var(--cyan);font-weight:600}
.auth-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s}
.auth-close:hover{background:var(--bg-card);color:var(--text-primary)}

/* ── DASHBOARD (for dashboard.html) ── */
.welcome-banner{background:linear-gradient(135deg,var(--bg-card),rgba(6,182,212,.08));border:1px solid var(--cyan-border);border-radius:var(--radius-xl);padding:36px 40px;margin-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;overflow:hidden}
.welcome-banner h1{font-size:1.6rem;margin-bottom:8px}
.welcome-banner p{color:var(--text-secondary);max-width:500px}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .3s var(--ease)}
.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.stat-card .stat-label{font-size:.78rem;color:var(--text-muted);font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.stat-card .stat-value{font-family:'Unbounded',sans-serif;font-size:1.8rem;font-weight:700}
.stat-card .stat-sub{font-size:.75rem;color:var(--text-muted);margin-top:4px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.section-title-row h3{font-size:1.1rem}
.subjects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.subject-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .3s var(--ease);position:relative;overflow:hidden}
.subject-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.subject-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.subject-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}
.subject-card h4{font-size:1rem;margin-bottom:4px}
.subject-card .subject-class{font-size:.78rem;color:var(--text-muted);margin-bottom:16px}
.subject-timer{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-deep);border-radius:var(--radius-sm);margin-bottom:16px}
.subject-timer svg{width:14px;height:14px;color:var(--amber);flex-shrink:0}
.subject-timer span{font-size:.8rem;color:var(--text-secondary);font-weight:500}
.subject-timer strong{color:var(--amber);font-weight:700}
.subject-card .subject-price{font-family:'Unbounded',sans-serif;font-size:1.2rem;font-weight:700;margin-top:12px}
.subject-card .subject-price span{font-size:.8rem;color:var(--text-muted);font-weight:400}
.subject-card .btn{width:100%;margin-top:12px;padding:10px}
.timeline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:32px}
.timeline-item{display:flex;align-items:center;gap:16px;padding:14px 0}
.timeline-item+.timeline-item{border-top:1px solid var(--border)}
.timeline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.timeline-dot.upcoming{background:var(--cyan);box-shadow:0 0 8px var(--cyan-glow)}
.timeline-dot.future{background:var(--text-muted)}
.timeline-info{flex:1}
.timeline-info .t-subject{font-size:.9rem;font-weight:600}
.timeline-info .t-date{font-size:.78rem;color:var(--text-muted)}
.timeline-countdown{font-family:'Unbounded',sans-serif;font-size:.85rem;font-weight:600;color:var(--cyan)}
.locked-overlay{position:absolute;inset:0;background:rgba(6,14,27,.7);backdrop-filter:blur(4px);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;opacity:0;transition:opacity .3s}
.subject-card:hover .locked-overlay{opacity:1}
.locked-overlay svg{width:24px;height:24px;color:var(--cyan);margin-bottom:8px}
.locked-overlay span{font-size:.82rem;font-weight:600}

/* ── CALENDAR ── */
.cal-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.cal-tab{padding:8px 18px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;background:transparent;font-family:'Unbounded',sans-serif}
.cal-tab:hover{border-color:var(--border-hover);color:var(--text-primary)}
.cal-tab.active{background:var(--cyan-dim);border-color:var(--cyan-border);color:var(--cyan)}
.cal-table{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.cal-row{display:grid;grid-template-columns:90px 1fr 80px 100px 100px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);font-size:.85rem;transition:background .2s}
.cal-row:last-child{border-bottom:none}
.cal-row:hover{background:rgba(255,255,255,.02)}
.cal-header{font-weight:700;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-card)}
.cal-date-col{font-weight:600;color:var(--text-primary);font-family:'Unbounded',sans-serif}
.cal-countdown-col{font-family:'Unbounded',sans-serif;font-weight:600;color:var(--cyan)}

/* ── SUBJECT SELECTION (subjects.html) ── */
.subj-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.subj-select-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;user-select:none}
.subj-select-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}
.subj-select-card input{display:none}
.subj-check-mark{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid var(--border-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:transparent}
.subj-select-card input:checked~.subj-check-mark{background:var(--cyan);border-color:var(--cyan);color:#fff}
.subj-select-card input:checked~.subj-select-info h4{color:var(--cyan)}
.subj-select-info h4{font-size:.9rem;margin-bottom:2px;transition:color .2s}
.subj-select-info span{font-size:.75rem;color:var(--text-muted)}
.subj-select-timer{margin-left:auto;font-family:'Unbounded',sans-serif;font-size:.82rem;font-weight:600;color:var(--cyan);flex-shrink:0}
.subj-bottom-bar{position:sticky;bottom:0;background:var(--bg-primary);border-top:1px solid var(--border);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:10}
.subj-bottom-info{display:flex;flex-direction:column;gap:2px}
.subj-bottom-info strong{font-size:.88rem;color:var(--text-primary)}
.subj-bottom-info span{font-size:.75rem;color:var(--text-muted)}

/* ── ANSWERS PURCHASE (answers.html) ── */
.answers-list{display:flex;flex-direction:column;gap:6px}
.answer-check-row{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;user-select:none}
.answer-check-row:hover{border-color:var(--border-hover)}
.answer-check-row input{display:none}
.answer-check-box{width:24px;height:24px;border-radius:6px;border:2px solid var(--border-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;color:transparent}
.answer-check-row input:checked~.answer-check-box{background:var(--cyan);border-color:var(--cyan);color:#fff}
.answer-check-row input:checked~.answer-subj-name{color:var(--cyan)}
.answer-subj-name{flex:1;font-weight:600;font-size:.88rem;transition:color .2s}
.answer-subj-date{font-size:.78rem;color:var(--text-muted);min-width:60px}
.answer-subj-price{font-family:'Unbounded',sans-serif;font-weight:700;font-size:.92rem;color:var(--text-primary);min-width:80px;text-align:right}
.calc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:sticky;top:32px}
.calc-details{font-size:.85rem;color:var(--text-secondary);min-height:40px}
.calc-line{display:flex;justify-content:space-between;padding:6px 0;font-size:.82rem}
.calc-line span:first-child{color:var(--text-secondary)}
.calc-line span:last-child{font-weight:600;color:var(--text-primary)}
.calc-divider{height:1px;background:var(--border);margin:16px 0}
.calc-discount-info{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.88rem}
.calc-discount-info span{color:var(--text-secondary)}
.calc-discount-info strong{color:var(--green);font-weight:700}
.calc-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0}
.calc-total span{font-size:1rem;font-weight:600;color:var(--text-primary)}
.calc-total strong{font-family:'Unbounded',sans-serif;font-size:1.5rem;font-weight:700;color:var(--cyan)}
.calc-without{font-size:.78rem;color:var(--text-muted);text-align:right}
.calc-without s{color:var(--red)}

/* ── BLOG ── */
@keyframes cardFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .3s var(--ease);text-decoration:none;color:inherit;animation:cardFadeIn .4s ease both}
.blog-card:nth-child(1){animation-delay:.05s}.blog-card:nth-child(2){animation-delay:.1s}.blog-card:nth-child(3){animation-delay:.15s}
.blog-card:nth-child(4){animation-delay:.2s}.blog-card:nth-child(5){animation-delay:.25s}.blog-card:nth-child(6){animation-delay:.3s}
.blog-card:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 12px 40px rgba(6,182,212,.12)}
.blog-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.blog-date{font-size:.75rem;color:var(--text-muted)}
.blog-card h3{font-size:.95rem;margin-bottom:8px;line-height:1.4}
.blog-card p{font-size:.82rem;color:var(--text-muted);line-height:1.5;margin-bottom:12px}
.blog-read{font-size:.82rem;color:var(--cyan);font-weight:600;transition:color .2s}
.blog-card:hover .blog-read{color:#0dd3b4}
.article-content{max-width:720px}
.article-content h2{font-size:1.3rem;margin:32px 0 12px;color:var(--text-primary)}
.article-content h3{font-size:1.05rem;margin:24px 0 8px;color:var(--text-primary)}
.article-content p{font-size:.92rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}
.article-content ul,.article-content ol{margin:0 0 16px 20px}
.article-content li{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:6px}
.article-content strong{color:var(--text-primary)}
.article-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);margin-bottom:20px;transition:color .2s}
.article-back:hover{color:var(--cyan)}
.blog-filter-tab.active{background:var(--cyan-dim)!important;color:var(--cyan)!important;border-color:var(--cyan)!important}
.blog-filter-tab:hover{border-color:var(--cyan);color:var(--text-primary)}

/* ── MOBILE ── */
.mobile-header{display:none;position:fixed;top:0;left:0;right:0;z-index:50;height:56px;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:0 16px;align-items:center;justify-content:space-between}
.mobile-header .logo-mark{width:32px;height:32px;font-size:.9rem}
.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);position:relative;background:transparent}
.menu-toggle span{display:block;width:16px;height:2px;background:var(--text-primary);position:absolute;left:50%;transform:translateX(-50%);transition:all .2s;border-radius:2px}
.menu-toggle span:nth-child(1){top:13px}
.menu-toggle span:nth-child(2){top:19px}
.menu-toggle span:nth-child(3){top:25px}

@media(max-width:1024px){
  .app-shell{grid-template-columns:1fr;grid-template-rows:56px 1fr}
  .sidebar{display:none;position:fixed;top:56px;left:0;bottom:0;width:260px;z-index:40}
  .sidebar.mobile-open{display:flex}
  .mobile-header{display:flex}
  .menu-toggle{display:block}
  .topbar{display:none}
  .main-content{padding:16px!important;grid-column:1!important;grid-row:2!important}
  .landing-content{grid-column:1!important;grid-row:2!important}
  .landing-hero{padding:40px 20px;min-height:auto}
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-desc{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .blank-card{transform:rotate(0);max-width:360px;margin:0 auto}
  .landing-section{padding:40px 20px}
  .landing-cta{padding:48px 20px}
  .scheme-flow{flex-direction:column;align-items:center}
  .scheme-arrow{transform:rotate(90deg);padding:0}
  .scheme-node{max-width:100%;width:100%}
  .get-grid,.subj-select-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .subjects-grid{grid-template-columns:1fr 1fr}
  .footer-compact{flex-direction:column;align-items:center;text-align:center}
  .welcome-banner{flex-direction:column;text-align:center;padding:28px 20px}
  .cal-row{grid-template-columns:70px 1fr 60px 80px;font-size:.78rem}
  .cal-status-col{display:none}
  #discountCalc>div{grid-template-columns:1fr!important}
  .calc-card{position:static}
}
@media(max-width:600px){
  .stats-row,.subjects-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .auth-card{margin:16px;padding:28px 20px}
  .hero-inner{gap:28px}
  .cal-row{grid-template-columns:60px 1fr 70px;font-size:.75rem}
  .cal-type-col{display:none}
  .cal-header .cal-countdown-col{font-size:.65rem}
  .answer-check-row{flex-wrap:wrap;gap:4px}
  .answer-subj-date{font-size:.7rem}
  .answer-subj-price{font-size:.85rem}
  .profile-grid{grid-template-columns:1fr!important}
  .profile-header{flex-direction:column;text-align:center}
}
