.app-hero-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 38px;border-radius:24px;border:1px solid rgba(59,130,246,.35);background:linear-gradient(135deg,#152247,#171b2d);box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden;margin-bottom:24px;color:#f8fafc}.app-hero-banner:before{content:"";position:absolute;top:-80px;right:15%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.15) 0,transparent 70%);pointer-events:none;z-index:0}.app-hero-content{position:relative;z-index:1;flex:1 1;min-width:0}.app-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;color:#93c5fd;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.app-hero-title{font-size:32px;font-weight:800;line-height:1.25;margin:4px 0 8px;color:#fff;letter-spacing:-.01em}.app-hero-description{color:#cbd5e1;font-size:15px;line-height:1.55;margin:0;max-width:740px}.app-hero-right{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}.app-hero-banner.tone-blue{border-color:rgba(59,130,246,.4);background:linear-gradient(135deg,#152247,#171b2d)}.app-hero-banner.tone-purple{border-color:rgba(139,92,246,.4);background:linear-gradient(135deg,#261b43,#171a2a)}.app-hero-banner.tone-purple:before{background:radial-gradient(circle,rgba(139,92,246,.18) 0,transparent 70%)}.app-hero-banner.tone-purple .app-hero-eyebrow{color:#c4b5fd}.app-hero-banner.tone-gold{border-color:rgba(245,158,11,.4);background:linear-gradient(125deg,#172554,#28205b 65%,#3b2513)}.app-hero-banner.tone-gold:before{background:radial-gradient(circle,rgba(245,158,11,.16) 0,transparent 70%)}.app-hero-banner.tone-gold .app-hero-eyebrow{color:#fcd34d}.app-hero-banner.tone-scratch{border-color:rgba(249,115,22,.4);background:linear-gradient(130deg,#431407,#1e1b4b 60%,#171b2d)}.app-hero-banner.tone-scratch:before{background:radial-gradient(circle,rgba(249,115,22,.18) 0,transparent 70%)}.app-hero-banner.tone-scratch .app-hero-eyebrow{color:#fdba74}.app-hero-banner.tone-dsa{border-color:rgba(217,119,6,.45);background:linear-gradient(135deg,#251d12,#171c27)}.app-hero-banner.tone-dsa:before{background:radial-gradient(circle,rgba(251,191,36,.15) 0,transparent 70%)}.app-hero-banner.tone-dsa .app-hero-eyebrow{color:#fbbf24}html[data-light] .app-hero-banner{background:linear-gradient(135deg,#fff,#f0f6ff);border-color:#bfdbfe;box-shadow:0 12px 32px rgba(37,99,235,.08);color:#0f172a}html[data-light] .app-hero-banner:before{background:radial-gradient(circle,rgba(37,99,235,.06) 0,transparent 70%)}html[data-light] .app-hero-banner .app-hero-title{color:#0f172a!important}html[data-light] .app-hero-banner .app-hero-description{color:#475569!important}html[data-light] .app-hero-banner .app-hero-eyebrow{color:#2563eb!important}html[data-light] .app-hero-banner.tone-purple{background:linear-gradient(135deg,#fff,#faf5ff);border-color:#ddd6fe}html[data-light] .app-hero-banner.tone-purple .app-hero-eyebrow{color:#7c3aed!important}html[data-light] .app-hero-banner.tone-gold{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a}html[data-light] .app-hero-banner.tone-gold .app-hero-eyebrow{color:#b45309!important}html[data-light] .app-hero-banner.tone-scratch{background:linear-gradient(135deg,#fff,#fff7ed);border-color:#fed7aa}html[data-light] .app-hero-banner.tone-scratch .app-hero-eyebrow{color:#c2410c!important}html[data-light] .app-hero-banner.tone-dsa{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a}html[data-light] .app-hero-banner.tone-dsa .app-hero-eyebrow{color:#b45309!important}html[data-light] .app-hero-banner .home-streak{background:#fff7ed;border-color:#fdba74}html[data-light] .app-hero-banner .home-streak b{color:#9a3412}html[data-light] .app-hero-banner .home-streak small{color:#7c2d12}html[data-light] .app-hero-banner .map-score{background:#fff;border-color:#93c5fd}html[data-light] .app-hero-banner .map-score b{color:#1e3a8a}html[data-light] .app-hero-banner .map-score small{color:#3b82f6}html[data-light] .app-hero-banner .level-crown{background:#fffbeb;border-color:#f59e0b}html[data-light] .app-hero-banner .level-crown b{color:#b45309}@media (max-width:850px){.app-hero-banner{padding:24px 26px;gap:20px;border-radius:20px}.app-hero-title{font-size:26px}.app-hero-description{font-size:14px}}@media (max-width:640px){.app-hero-banner{flex-direction:column;align-items:flex-start;padding:20px;gap:18px}.app-hero-right{align-self:flex-start;width:100%}.app-hero-title{font-size:23px}}.app-session-card{position:relative;display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:16px;background:var(--panel,#181c25);border:1px solid var(--border,#2d3441);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;margin-bottom:12px;color:var(--text,#f8fafc)}.app-session-card:last-child{margin-bottom:0}.app-session-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3b82f6}.app-session-card.type-homework:before{background:#f59e0b}.app-session-card.type-exam:before{background:#8b5cf6}.app-session-card.is-finished:before{background:#22c55e}.app-session-card.is-clickable{cursor:pointer}.app-session-card.is-clickable:hover{transform:translateY(-2px);border-color:#60a5fa;box-shadow:0 12px 28px rgba(0,0,0,.35)}.app-session-card.is-clickable:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.app-session-card.is-finished.is-clickable{border-color:rgba(34,197,94,.4);background:linear-gradient(100deg,rgba(20,83,45,.15),var(--panel,#181c25))}.app-session-icon{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;display:grid!important;place-items:center;border-radius:13px;background:#1e293b;font-size:22px}.app-session-body{flex:1 1 auto!important;min-width:0!important}.app-session-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.app-session-title{font-size:16px;font-weight:700;margin:0;color:var(--text,#fff);line-height:1.3}.app-session-badge{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.app-session-badge.badge-lesson{background:#14532d;color:#86efac}.app-session-badge.badge-homework{background:#78350f;color:#fde68a}.app-session-badge.badge-exam{background:#581c87;color:#e9d5ff}.app-session-badge.badge-finished{background:#166534;color:#dcfce7}.app-session-meta{font-size:13px;color:var(--muted,#94a3b8);margin:2px 0 8px}.app-session-progress{max-width:620px;margin-top:6px}.app-session-progress-info{display:flex;justify-content:space-between;gap:10px;color:var(--muted,#94a3b8);font-size:12px}.app-session-progress-info b{color:var(--text,#f8fafc)}.app-session-progress-bar{display:block;height:7px;margin-top:6px;border-radius:999px;background:#0b1220;overflow:hidden}.app-session-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#38bdf8);transition:width .3s ease}.is-finished .app-session-progress-fill{background:linear-gradient(90deg,#16a34a,#4ade80)}.app-session-note{display:block;margin-top:8px;font-size:12px;color:#cbd5e1}.app-session-feedback{margin-top:8px;padding:6px 10px;border-radius:8px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#fef08a}.app-session-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-session-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:128px;padding:10px 18px;border-radius:10px;background:#2563eb;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none!important;border:0;cursor:pointer;transition:background .18s ease,transform .18s ease}.app-session-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.app-session-btn-secondary{background:var(--soft,#334155);color:var(--text,#f8fafc)!important;border:1px solid var(--border,#475569)}.app-session-btn-secondary:hover{background:#475569}html[data-light] .app-session-card{background:#fff;border-color:#e2e8f0;color:#0f172a;box-shadow:0 4px 15px rgba(0,0,0,.04)}html[data-light] .app-session-card.is-clickable:hover{border-color:#3b82f6;box-shadow:0 10px 25px rgba(37,99,235,.1)}html[data-light] .app-session-card.is-finished{background:linear-gradient(100deg,rgba(220,252,231,.5),#fff);border-color:#86efac}html[data-light] .app-session-icon{background:#f1f5f9;color:#0f172a}html[data-light] .app-session-title{color:#0f172a!important}html[data-light] .app-session-meta{color:#475569!important}html[data-light] .app-session-progress-info{color:#64748b!important}html[data-light] .app-session-progress-info b{color:#0f172a!important}html[data-light] .app-session-progress-bar{background:#e2e8f0}html[data-light] .app-session-note{color:#475569!important}html[data-light] .app-session-btn{background:#2563eb;color:#fff!important}html[data-light] .app-session-btn:hover{background:#1d4ed8}@media (max-width:768px){.app-session-card{flex-wrap:wrap;align-items:flex-start;padding:16px}.app-session-actions{width:100%;margin-top:8px}.app-session-btn{width:100%}}