/* Dashboard specific classes */
.stat-card {
    text-align:center;
    padding:30px;
}

.stat-card i {
    font-size:2.5rem;
    margin-bottom:15px;
    color:var(--primary);
}

.stat-card h1 {
    font-size:3.2rem;
    margin:0;
    color:var(--primary);
    -webkit-text-fill-color:initial;
    background:none;
}

.stat-card.gold i, .stat-card.gold h1 { color:var(--accent);}


@keyframes meteorShower {
    0% { transform:translate(100px, -100px);opacity:0;}
    10% { opacity:1;}
    90% { opacity:1;}
    100% { transform:translate(-150vw, 150vh);opacity:0;}
}
.meteor {
    position:fixed;
    top:0;
    right:0;
    font-size:3rem;
    z-index:9999;
    pointer-events:none;
    animation:meteorShower 1s linear forwards;
}

@keyframes heartLost {
    0% { transform:scale(1);}
    15% { transform:scale(1.4);color:var(--danger);}
    30% { transform:scale(0.9) rotate(-10deg);}
    45% { transform:scale(1.2) rotate(10deg);}
    60% { transform:scale(0.95) rotate(-5deg);}
    75% { transform:scale(1.1) rotate(5deg);}
    100% { transform:scale(1) rotate(0deg);}
}
.heart-lost-anim {
    display:inline-block;
    animation: heartLost 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.lang-option:hover{background:rgba(111,95,228,0.08)!important;}
.dropdown-menu {
    position:absolute;
    right:0;
    top:100%;
    margin-top:10px;
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:8px;
    padding:10px;
    box-shadow:0 10px 25px rgba(0,0,0,0.12);
    z-index:100;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px) scale(0.95);
    transition:opacity 0.25s cubic-bezier(0.16,1,0.3,1),transform 0.25s cubic-bezier(0.16,1,0.3,1),visibility 0.25s;
    pointer-events:none;
}
.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.lang-dropdown-menu{width:200px;}
.user-dropdown-menu{width:200px;}
.dropdown-menu a:hover{background:rgba(111,95,228,0.08);color:var(--primary)!important;}


/* Exit Confirmation Modal */
.modal-overlay {
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100dvh; /* P100-a11y: a full-screen overlay must track the dynamic viewport */
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter:blur(8px);
    z-index:10002;
    align-items:center;
    justify-content:center;
    opacity:0;
    animation:fadeIn 0.2s forwards;
}
.modal-card {
    background:var(--card-bg);
    padding:30px;
    border-radius:20px;
    max-width:340px;
    width:90%;
    text-align:center;
    border:1px solid var(--card-border);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    transform:translateY(20px) scale(0.95);
    animation: slideUp 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
.modal-icon-wrapper {
    font-size:3rem;
    color:var(--warning);
    margin-bottom:15px;
}
.modal-title {
    margin-top:0;
    font-size:1.5rem;
    color:var(--text);
    margin-bottom:10px;
}
.modal-text {
    color:var(--text-muted);
    font-size:1rem;
    line-height:1.5;
    margin-bottom:25px;
}
.modal-actions {
    display:flex;
    gap:15px;
    justify-content:center;
}
.modal-btn {
    flex:1;
    padding:12px;
    font-weight:600;
}
.danger-glow {
    background:var(--danger);
    color:white;
    border:none;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
    transition:all 0.2s;
}
.danger-glow:hover {
    background:#dc2626;
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.6);
    transform:translateY(-2px);
}

#main-nav a.nav-logo:hover,#main-nav a.nav-logo:focus{background:none !important;box-shadow:none !important;transform:none !important;}

.landing-hero {
    background:radial-gradient(circle at 50% 20%,rgba(111,95,228,0.18) 0%,rgba(244,130,92,0.1) 40%,transparent 80%),rgba(255,255,255,0.7);
    border:1.5px solid var(--card-border);
    border-radius:24px;
    box-shadow:0 15px 45px rgba(111,95,228,0.08);
    padding:40px;
    margin-bottom:50px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}
.landing-hero-content{flex:1.2;display:flex;flex-direction:column;align-items:flex-start;text-align:left;z-index:2;}
.landing-hero-visual{flex:0.8;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;width:100%;}
.landing-floating-orb {
    position:absolute;
    border-radius:50%;
    z-index:1;
    pointer-events:none;
    animation:float-orb 12s ease-in-out infinite alternate;
}
.orb-primary{width:180px;height:180px;background:var(--primary);top:10%;left:10%;filter:blur(50px);opacity:0.25;}
.orb-secondary{width:140px;height:140px;background:var(--secondary);bottom:10%;right:15%;filter:blur(50px);opacity:0.18;animation-delay:-5s;}
@keyframes float-orb {
    0% { transform:translate(0,0) scale(1);}
    100% { transform:translate(40px,-20px) scale(1.15);}
}
.landing-container{position:relative;width:100%;}
#cosmic-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;}
.landing-card,.landing-sector-pill,.landing-hero,.landing-finale{position:relative;overflow:hidden;}
.landing-card::before,.landing-sector-pill::before,.landing-finale::before,.landing-hero::before,.auth-card::before,.legal-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x,-1000px) var(--mouse-y,-1000px),rgba(244,130,92,0.08) 0%,rgba(111,95,228,0.04) 50%,transparent 80%);z-index:1;pointer-events:none;transition:opacity 0.3s;opacity:0;}
.landing-card:hover::before,.landing-sector-pill:hover::before,.landing-finale:hover::before,.landing-hero:hover::before,.auth-card:hover::before,.legal-card:hover::before{opacity:1;}
.landing-card:nth-child(1):hover .landing-card-icon i{animation:sparkle-spin 1.5s ease-in-out infinite;}
.landing-card:nth-child(2):hover .landing-card-icon i{animation:spin-clockwise 2s linear infinite;}
.landing-card:nth-child(3):hover .landing-card-icon i{animation:gauge-osc 0.8s ease-in-out infinite alternate;}
@keyframes sparkle-spin{0%{transform:scale(1) rotate(0deg);filter:brightness(1);}50%{transform:scale(1.2) rotate(180deg);filter:brightness(1.5);color:var(--secondary);}100%{transform:scale(1) rotate(360deg);filter:brightness(1);}}
@keyframes spin-clockwise{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes gauge-osc{from{transform:rotate(-30deg);color:var(--danger);}to{transform:rotate(30deg);color:var(--accent);}}
.landing-sector-pill:nth-child(1):hover{border-color:#6F5FE4;box-shadow:0 5px 15px rgba(111,95,228,0.25);}.landing-sector-pill:nth-child(1):hover .landing-sector-icon{color:#6F5FE4;}
.landing-sector-pill:nth-child(2):hover{border-color:#06b6d4;box-shadow:0 5px 15px rgba(6,182,212,0.25);}.landing-sector-pill:nth-child(2):hover .landing-sector-icon{color:#06b6d4;}
.landing-sector-pill:nth-child(3):hover{border-color:#10b981;box-shadow:0 5px 15px rgba(16,185,129,0.25);}.landing-sector-pill:nth-child(3):hover .landing-sector-icon{color:#10b981;}
.landing-sector-pill:nth-child(4):hover{border-color:#8b5cf6;box-shadow:0 5px 15px rgba(139,92,246,0.25);}.landing-sector-pill:nth-child(4):hover .landing-sector-icon{color:#8b5cf6;}
.landing-sector-pill:nth-child(5):hover{border-color:#f59e0b;box-shadow:0 5px 15px rgba(244,162,60,0.25);}.landing-sector-pill:nth-child(5):hover .landing-sector-icon{color:#f59e0b;}
.landing-sector-pill:nth-child(6):hover{border-color:#f43f5e;box-shadow:0 5px 15px rgba(244,63,94,0.25);}.landing-sector-pill:nth-child(6):hover .landing-sector-icon{color:#f43f5e;}
/* Scroll-reveal armed by landing.js (below-fold sections only). The zero-duration delayed
   animation is a safety net — when IntersectionObserver callbacks never arrive (occluded tab,
   restored session, exotic browsers), content force-reveals after 3s instead of staying
   invisible forever. */
.reveal-hidden{opacity:0;transform:translateY(25px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1);animation:reveal-fallback 0s 3s forwards;}
.reveal-visible{opacity:1;transform:translateY(0);}
@keyframes reveal-fallback{to{opacity:1;transform:translateY(0);}}
/* Auto-playing product preview (landing hero) */
.lp-demo-card{position:relative;width:100%;max-width:370px;background:rgba(255,255,255,0.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--card-border);border-radius:22px;padding:18px;box-shadow:0 20px 44px -14px rgba(111,95,228,0.3),0 4px 12px rgba(0,0,0,0.05);cursor:default;}
.lp-demo-card,.lp-demo-card *{cursor:default;}
.lp-demo-badge{position:absolute;top:-13px;left:22px;display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;padding:5px 12px;border-radius:20px;font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 6px 14px var(--primary-glow);z-index:3;}
.lp-demo-media{position:relative;width:100%;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#ece9fb,#f6eee8);}
.lp-demo-img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity 0.5s ease,transform 0.7s ease;}
.lp-demo-img.loaded{opacity:1;transform:scale(1);}
.lp-demo-ring{position:absolute;inset:0;border-radius:16px;border:3px solid var(--success);opacity:0;pointer-events:none;}
.lp-demo-ring.animate{animation:lp-ring 1.4s ease-out;}
@keyframes lp-ring{0%{opacity:0;box-shadow:inset 0 0 0 0 rgba(16,185,129,0);}25%{opacity:1;box-shadow:inset 0 0 24px 2px rgba(16,185,129,0.35);}100%{opacity:0;box-shadow:inset 0 0 40px 8px rgba(16,185,129,0);}}
.lp-demo-xp{position:absolute;top:12px;right:14px;font-weight:900;font-size:1rem;color:#fff;background:var(--success);padding:3px 11px;border-radius:14px;opacity:0;pointer-events:none;box-shadow:0 6px 14px rgba(16,185,129,0.45);}
.lp-demo-xp.animate{animation:lp-xp 1.4s cubic-bezier(0.16,1,0.3,1);}
@keyframes lp-xp{0%{opacity:0;transform:translateY(8px) scale(0.8);}25%{opacity:1;transform:translateY(0) scale(1.05);}80%{opacity:1;transform:translateY(-5px) scale(1);}100%{opacity:0;transform:translateY(-16px) scale(0.95);}}
.lp-demo-ask{margin:16px 0 4px;font-size:0.74rem;font-weight:800;text-transform:uppercase;letter-spacing:0.6px;color:var(--text-muted);}
.lp-demo-prompt{margin:0 0 14px;font-family:var(--font-display);font-size:1.45rem;font-weight:800;color:var(--text-color);}
.lp-demo-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.lp-choice{padding:11px 12px;border-radius:12px;border:1.5px solid var(--card-border);background:#fff;font-weight:800;font-size:0.96rem;color:var(--text-color);text-align:center;transition:border-color 0.35s,background 0.35s,color 0.35s,transform 0.35s,box-shadow 0.35s;}
.lp-choice-correct{border-color:var(--success);background:rgba(16,185,129,0.12);color:#0f7a5a;transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,185,129,0.22);}

/* Hero brand lockup + eyebrow + trust row */
.landing-hero-logo{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;}
.landing-hero-logo-mark{height:56px;width:56px;object-fit:contain;}
.landing-hero-logo-word{font-family:var(--font-display),sans-serif;font-weight:800;font-size:2rem;letter-spacing:-.5px;color:var(--text-color);line-height:1;cursor:default;}
.landing-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:rgba(111,95,228,0.1);border:1px solid rgba(111,95,228,0.18);color:var(--primary);font-weight:800;font-size:0.85rem;margin-bottom:22px;}
.landing-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;}
.landing-trust-item{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-weight:700;font-size:0.95rem;}
.landing-trust-item i{color:var(--secondary);}

/* Flight path steps */
.landing-steps{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:0;}
.landing-step{flex:1;min-width:240px;display:flex;gap:16px;align-items:flex-start;background:var(--card-glass);border:1px solid var(--card-border);border-radius:18px;padding:24px;transition:transform 0.2s,box-shadow 0.2s;}
.landing-step:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(111,95,228,0.1);}
.landing-step-num{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:1.25rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 6px 14px var(--primary-glow);}
.landing-step-title{font-size:1.15rem;font-weight:800;margin:6px 0 8px;color:var(--text-color);}
.landing-step-desc{font-size:0.98rem;color:var(--text-muted);margin:0;}
.landing-step-connector{flex:0 0 40px;align-self:center;height:2px;background:repeating-linear-gradient(90deg,var(--card-border) 0,var(--card-border) 6px,transparent 6px,transparent 12px);}

/* Languages */
.landing-lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.landing-lang-card{position:relative;background:var(--card-glass);border:1px solid var(--card-border);border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:transform 0.32s cubic-bezier(0.16,1,0.3,1),border-color 0.32s ease,box-shadow 0.32s ease;}
.landing-lang-card:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:0 12px 26px var(--primary-glow);}
/* cover + center crops the 4:3 flag to fill the round badge (the base .fi rule uses contain, which
   leaves whitespace above/below the flag inside the circle). */
.landing-lang-flag{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 4px 12px rgba(0,0,0,0.12);transition:transform 0.32s cubic-bezier(0.16,1,0.3,1);}
.landing-lang-card:hover .landing-lang-flag{transform:scale(1.1);}
.landing-lang-name{font-weight:800;font-size:1.05rem;color:var(--text-color);}
.landing-lang-status{font-size:0.82rem;font-weight:700;color:var(--text-muted);display:inline-flex;align-items:center;gap:5px;}
.landing-lang-card.is-live .landing-lang-status{color:var(--success);}
.landing-lang-card:not(.is-live){opacity:0.8;}

/* FAQ — native <details name> accordion: exclusivity + animation are pure HTML/CSS, so the FAQ
   stays fully functional (and crawlable) without JavaScript. Sizing keywords are enabled only
   inside this component — engines lacking the details pseudo-element simply toggle instantly. */
.landing-faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;interpolate-size:allow-keywords;}
.landing-faq-item::details-content{block-size:0;overflow:clip;transition:block-size 0.35s ease,content-visibility 0.35s allow-discrete;}
.landing-faq-item[open]::details-content{block-size:auto;}
.landing-faq-item{background:var(--card-glass);border:1.5px solid var(--card-border);border-radius:16px;overflow:hidden;transition:border-color 0.25s ease;}
.landing-faq-item[open]{border-color:var(--primary);}
.landing-faq-q{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 22px;
    cursor:pointer;
    font-family:var(--font-display);
    font-weight:800;
    font-size:1.08rem;
    color:var(--text-color);
    list-style:none;
}
.landing-faq-q::-webkit-details-marker{display:none;}
.landing-faq-q:hover{color:var(--primary);}
.landing-faq-caret{color:var(--primary);font-size:0.85rem;flex-shrink:0;transition:transform 0.25s ease;}
.landing-faq-item[open] .landing-faq-caret{transform:rotate(180deg);}
.landing-faq-a{padding:0 22px 20px;}
.landing-faq-a p{color:var(--text-muted);font-size:0.95rem;line-height:1.6;margin:0 0 10px;}
.landing-faq-a p:last-child{margin-bottom:0;}

/* Closing CTA */
.landing-finale{text-align:center;background:radial-gradient(circle at 50% 0%,rgba(111,95,228,0.16),transparent 70%),var(--card-glass);border:1.5px solid var(--card-border);border-radius:24px;padding:56px 30px;margin-top:20px;}
.landing-finale-glow{position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:300px;height:300px;border-radius:50%;background:var(--primary);filter:blur(90px);opacity:0.18;pointer-events:none;z-index:0;}
.landing-finale-icon{font-size:3.2rem;color:var(--primary);margin-bottom:18px;position:relative;z-index:2;}
.landing-finale-title{font-family:var(--font-display);font-size:2.1rem;font-weight:900;margin:0 0 12px;color:var(--text-color);position:relative;z-index:2;justify-content:center;text-align:center;}
.landing-finale-sub{font-size:1.15rem;color:var(--text-muted);max-width:520px;margin:0 auto 26px;position:relative;z-index:2;}
.landing-finale .btn{position:relative;z-index:2;}

/* Pricing */
.landing-pricing-lead{text-align:center;font-size:1.1rem;color:var(--text-muted);max-width:640px;margin:-25px auto 40px;}
.landing-pricing-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:26px;
    max-width:760px;
    margin:0 auto;
    align-items:stretch;
}
.landing-price-card{
    position:relative;
    display:flex;
    flex-direction:column;
    background:var(--card-glass);
    border:1px solid var(--card-border);
    border-radius:20px;
    padding:32px 26px;
    transition:transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease;
}
.landing-price-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px var(--primary-glow);}
.landing-price-card.is-pro{border:1.5px solid var(--primary);box-shadow:0 10px 30px var(--primary-glow);}
.landing-price-ribbon{
    position:absolute;
    top:-13px;
    left:50%;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    padding:5px 16px;
    border-radius:20px;
    font-size:0.74rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.5px;
    box-shadow:0 6px 14px var(--primary-glow);
}
.landing-price-plan{font-weight:800;font-size:1.05rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;}
.landing-price-amount{
    font-family:var(--font-display),sans-serif;
    font-size:2.8rem;
    font-weight:900;
    color:var(--text-color);
    margin:6px 0 2px;
    line-height:1;
}
.landing-price-per{font-size:1rem;font-weight:700;color:var(--text-muted);}
.landing-price-tag{font-size:0.92rem;color:var(--text-muted);margin:0 0 20px;min-height:20px;}
.landing-price-list{
    list-style:none;
    padding:0;
    margin:0 0 24px;
    display:flex;
    flex-direction:column;
    gap:12px;
    text-align:left;
    flex:1;
}
.landing-price-list li{display:flex;align-items:flex-start;gap:10px;font-size:0.96rem;color:var(--text-color);}
.landing-price-list i{color:var(--success);margin-top:3px;flex-shrink:0;}
.landing-price-card.is-pro .landing-price-list i{color:var(--primary);}
.landing-price-soon{font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;color:var(--secondary);background:rgba(244,130,92,0.13);padding:2px 7px;border-radius:8px;margin-left:3px;white-space:nowrap;}
.landing-price-cta{width:100%;justify-content:center;}
.landing-price-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:0.8rem;color:var(--text-muted);margin:12px 0 0;}

.pulse-btn {
    animation:pulse-button 2s infinite;
}
@keyframes pulse-button {
    0% { box-shadow:0 0 0 0 rgba(111,95,228,0.7);}
    70% { box-shadow:0 0 0 10px rgba(111,95,228,0);}
    100% { box-shadow:0 0 0 0 rgba(111,95,228,0);}
}
.landing-title {
    font-size:3.8rem;
    font-weight:900;
    margin-top:0;
    margin-bottom:20px;
    line-height:1.1;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.landing-subtitle{font-size:1.3rem;color:var(--text-muted);max-width:700px;margin-bottom:40px;}
.landing-cta{display:flex;gap:20px;justify-content:center;}
.landing-academy-cta{margin-top:34px;}
.landing-section{padding:40px 0;}
.landing-section-title{display:flex;justify-content:center;text-align:center;font-size:2.2rem;font-weight:800;margin-bottom:45px;}
.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;}
/* The Academy section has FOUR cards — the base auto-fit resolves to 3 columns at desktop width and
   orphans the fourth onto its own row. Narrower track + capped width settles it into a balanced 2x2
   (still 1 col on mobile). MUST stay after .landing-grid — same specificity, so source order decides. */
.landing-academy-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:940px;margin:0 auto;}
.landing-card {
    background:var(--card-glass);
    border:1px solid var(--card-border);
    border-radius:20px;
    padding:30px;
    text-align:center;
    transition:transform 0.2s,box-shadow 0.2s;
}
.landing-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.05);}
.landing-card-icon{font-size:3rem;color:var(--primary);margin-bottom:20px;}
.landing-card-title{font-size:1.3rem;font-weight:800;margin-bottom:12px;color:var(--text-color);}
.landing-card-desc{font-size:1.05rem;color:var(--text-muted);margin-bottom:0;}
.landing-sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px;margin-top:30px;}
.landing-sector-pill {
    background:var(--card-glass);
    border:1px solid var(--card-border);
    border-radius:12px;
    padding:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    text-align:center;
    cursor:default;
    transition:transform 0.32s cubic-bezier(0.16,1,0.3,1),border-color 0.32s ease,box-shadow 0.32s ease,background 0.32s ease;
}
.landing-sector-pill:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 8px 20px var(--primary-glow);}
.landing-sector-icon{font-size:1.5rem;color:var(--primary);transition:transform 0.32s cubic-bezier(0.16,1,0.3,1),color 0.32s ease;}
.landing-sector-pill:hover .landing-sector-icon{transform:scale(1.18);}
.landing-sector-title{font-size:1.05rem;font-weight:800;color:var(--text-color);}
.landing-sector-sub{font-size:0.85rem;color:var(--text-muted);}

.settings-section{margin-bottom:30px;border-bottom:1px solid var(--card-border);padding-bottom:30px;}
.settings-section:last-of-type{border-bottom:none;padding-bottom:0;}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}

.decal-star{position:absolute;color:#fbbf24;}
.decal-star-1{top:15px;left:18%;font-size:1.8rem;}
.decal-star-2{top:60px;left:25%;font-size:1.2rem;}
.decal-star-3{top:5px;right:22%;font-size:2rem;}
.decal-star-4{top:70px;right:28%;font-size:1rem;}
.decal-comet{position:absolute;top:-10px;right:10%;font-size:1.5rem;color:#94a3b8;transform:rotate(-45deg);}

.settings-group{display:flex;flex-direction:column;gap:8px;}
.settings-label{font-weight:800;font-size:1.05rem;color:var(--text-color);}
.settings-desc{font-size:0.95rem;color:var(--text-muted);margin-top:-5px;margin-bottom:10px;}
.settings-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:10px;}
.settings-toggle-card {
    background:var(--card-bg);
    border:2px solid var(--card-border);
    border-radius:12px;
    padding:15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    transition:border-color 0.2s,box-shadow 0.2s;
}
.settings-toggle-card:hover{border-color:var(--primary);}
.settings-toggle-card.selected{border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow);}
.settings-toggle-card.disabled{opacity:0.6;cursor:not-allowed;pointer-events:none;}
.settings-toggle-info{display:flex;align-items:center;gap:12px;}
.settings-toggle-icon{font-size:1.25rem;color:var(--primary);width:25px;text-align:center;}
.settings-toggle-label{font-size:1.05rem;font-weight:700;color:var(--text-color);}
.settings-toggle-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--primary);}

@keyframes fadeIn {
    from { opacity:0;}
    to { opacity:1;}
}
@keyframes slideUp {
    from { transform:translateY(20px) scale(0.95);opacity:0;}
    to { transform:translateY(0) scale(1);opacity:1;}
}

/* Shared translucent surfaces used by Vocabulary, Conjugations and Pro. */
/* `.glass-panel` carries optional `.has-aurora`, `.glass-dots` and `.glass-sheen` children. */
.glass-panel{position:relative;overflow:hidden;background:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.7);border-radius:22px;box-shadow:0 16px 36px -20px rgba(111,95,228,0.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.glass-panel>*{position:relative;z-index:1;}
.glass-panel::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mouse-x,-1000px) var(--mouse-y,-1000px),rgba(244,130,92,0.10) 0%,rgba(111,95,228,0.06) 50%,transparent 80%);opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:0;}
.glass-panel:hover::before{opacity:1;}
/* Optional slow aurora for explicitly opted-in feature panels; the dashboard itself stays still. */
.glass-panel.has-aurora::after{content:'';position:absolute;inset:-30%;z-index:0;pointer-events:none;background:radial-gradient(circle at 25% 30%,rgba(183,81,204,0.10),transparent 40%),radial-gradient(circle at 78% 75%,rgba(170,121,216,0.12),transparent 42%);filter:blur(26px);animation:auroraDrift 17s ease-in-out infinite alternate;}
@keyframes auroraDrift{from{transform:translate(-3%,-2%) scale(1);}to{transform:translate(4%,3%) scale(1.14);}}
/* Holographic sheen sweep for explicitly opted-in shared glass surfaces. */
.glass-panel .glass-sheen{position:absolute;top:0;left:-90%;width:60%;height:100%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,0.6),transparent);transform:skewX(-18deg);animation:dashSheen 8s ease-in-out infinite;}
@keyframes dashSheen{0%{left:-90%;}55%,100%{left:170%;}}
/* Content-area particles stay disabled; the authenticated rail owns the ambient particle field. */
.glass-panel .glass-dots{display:none;}

/* === Phase 83: mission-first learner command centre ========================================== */
.dashboard-container{position:relative;width:100%;min-height:100vh;padding:var(--app-content-top) 0 64px;}
.dash-content-wrapper{position:relative;z-index:1;width:min(100%,var(--app-content-max));padding-inline:var(--app-content-gutter);}
.dash-welcome {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin:0 0 22px;
    padding:2px 4px;
}
.dash-kicker,.dash-track-label{display:block;color:var(--primary);font-size:0.7rem;font-weight:800;letter-spacing:0.13em;line-height:1.2;text-transform:uppercase;}
.dash-welcome h1{margin:4px 0 2px;color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:clamp(1.7rem,2.5vw,2.35rem);font-weight:750;letter-spacing:-0.025em;}
.dash-welcome p{margin:0;color:var(--text-muted);font-size:0.92rem;}
.dash-language{display:flex;align-items:center;gap:10px;min-width:170px;padding:9px 13px;border:1px solid rgba(111,95,228,0.12);border-radius:14px;background:rgba(255,255,255,0.34);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
.dash-language-flag{display:block;width:36px;height:27px;flex:0 0 36px;border:1px solid rgba(39,31,79,0.1);border-radius:5px;background-size:cover;background-position:center;box-shadow:0 4px 10px -8px rgba(25,19,55,0.55);}
.dash-language>span:last-child{display:flex;flex-direction:column;line-height:1.2;}
.dash-language small{color:var(--text-muted);font-size:0.66rem;font-weight:700;text-transform:uppercase;}
.dash-language strong{font-size:0.9rem;font-weight:800;}

.dash-mission-panel,.dash-track-panel,.dash-flight-panel,.dash-progress-panel {
    position:relative;
    overflow:hidden;
    border:1px solid rgba(146,132,226,0.18);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,0.78),rgba(252,249,255,0.58));
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.72),0 22px 48px -34px rgba(54,38,126,0.52);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.dash-mission-panel::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(115deg,rgba(111,95,228,0.05),transparent 36%,rgba(244,130,92,0.045));
}
.dash-mission-panel>*,.dash-track-panel>*,.dash-flight-panel>*,.dash-progress-panel>*{position:relative;z-index:1;}
body.hyper-theme .dash-mission-panel,body.hyper-theme .dash-track-panel,body.hyper-theme .dash-flight-panel,body.hyper-theme .dash-progress-panel{background:rgba(15,23,42,0.72);border-color:rgba(148,163,184,0.18);}

.dash-mission-panel {
    display:grid;
    grid-template-columns:clamp(108px,11vw,148px) minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    min-height:210px;
    padding:34px clamp(25px,3.2vw,46px);
    background:radial-gradient(500px circle at 6% 0%,rgba(111,95,228,0.16),transparent 58%),
        radial-gradient(440px circle at 98% 100%,rgba(244,130,92,0.13),transparent 58%),
        linear-gradient(145deg,rgba(255,255,255,0.86),rgba(250,246,255,0.68));
    border-color:rgba(124,106,225,0.24);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 28px 64px -38px rgba(65,48,157,0.64);
}
.dash-mission-panel>picture{display:grid;place-items:center;}
.dash-mission-art{width:clamp(108px,11vw,148px);height:clamp(108px,11vw,148px);}
.dash-mission-copy{min-width:0;}
.dash-mission-eyebrow{display:block;margin-bottom:7px;color:var(--primary);font-size:0.7rem;font-weight:850;letter-spacing:0.13em;text-transform:uppercase;}
.dash-mission-copy h2{margin:0 0 7px;color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:780;letter-spacing:-0.02em;}
.dash-mission-copy p{margin:0;color:var(--text-muted);font-size:0.96rem;line-height:1.5;}
.dash-mission-meta{margin-top:12px;color:var(--text-muted);font-size:0.78rem;font-weight:700;}
.dash-mission-meta i{margin-right:5px;color:var(--primary);}
.dash-mission-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;min-width:185px;}
.dash-mission-cta{justify-content:center;min-width:185px;white-space:nowrap;}
.dash-mission-cta[aria-busy="true"]{opacity:0.65;pointer-events:none;}
.dash-alt-link,.dash-panel-link{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:0.78rem;font-weight:750;text-decoration:none;}
.dash-alt-link:hover,.dash-panel-link:hover{color:var(--primary);}

.dash-section{margin-top:34px;}
.dash-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 3px 13px;}
.dash-section-head h2{margin:3px 0 0;color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:1.25rem;font-weight:760;}
.dash-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.dash-academy-panel{--surface-quiet-wash:rgba(111,95,228,0.055);}
.dash-vocabulary-panel{--surface-quiet-wash:rgba(244,130,92,0.05);}
.dash-track-panel{display:flex;flex-direction:column;gap:21px;min-height:320px;padding:25px;}
.dash-track-head{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;}
.dash-track-head h3,.dash-panel-heading h2,.dash-panel-heading h3{margin:2px 0 0;color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:1.08rem;font-weight:760;}
.dash-track-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(111,95,228,0.12);border-radius:14px;background:rgba(255,255,255,0.5);box-shadow:inset 0 1px 0 rgba(255,255,255,0.78);font-size:1.05rem;}
.dash-track-icon.academy{color:var(--primary);background:rgba(111,95,228,0.1);}
.dash-track-icon.vocabulary{color:var(--secondary);background:rgba(244,130,92,0.1);}
.dash-track-icon.flight{color:#488ccf;background:rgba(72,140,207,0.1);}
.dash-track-icon.mastery{color:#8b5cf6;background:rgba(139,92,246,0.1);}
.dash-track-icon.activity{color:#10a982;background:rgba(16,169,130,0.1);}
.dash-track-state{padding:5px 9px;border:1px solid rgba(111,95,228,0.11);border-radius:999px;background:rgba(111,95,228,0.06);color:var(--text-muted);font-size:0.7rem;font-weight:800;white-space:nowrap;}
.dash-track-progress{display:flex;flex-direction:column;gap:8px;}
.dash-track-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:0.76rem;font-weight:750;}
.dash-track-progress-head strong{color:var(--text-color);}
.dash-progress-track{height:7px;overflow:hidden;border-radius:999px;background:rgba(111,95,228,0.11);}
.dash-progress-fill{display:block;width:var(--dash-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width 0.55s cubic-bezier(0.16,1,0.3,1);}
.dash-vocabulary-panel .dash-progress-fill{background:linear-gradient(90deg,var(--secondary),var(--accent));}
.dash-track-focus{display:flex;align-items:center;gap:13px;min-height:76px;padding:11px 2px;border-block:1px solid rgba(111,95,228,0.08);}
.dash-focus-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:rgba(111,95,228,0.09);color:var(--primary);font-size:1rem;}
.dash-track-focus>div{display:flex;flex-direction:column;min-width:0;}
.dash-track-focus small{color:var(--primary);font-size:0.64rem;font-weight:850;letter-spacing:0.1em;text-transform:uppercase;}
.dash-track-focus strong{overflow:hidden;color:var(--text-color);font-size:0.92rem;text-overflow:ellipsis;white-space:nowrap;}
.dash-track-focus span{color:var(--text-muted);font-size:0.72rem;}
.dash-track-empty{display:flex;align-items:center;gap:13px;min-height:76px;padding-block:11px;border-block:1px solid rgba(111,95,228,0.08);color:var(--text-muted);}
.dash-track-empty>i{width:42px;color:var(--primary);font-size:1.55rem;text-align:center;}
.dash-track-empty>div{display:flex;flex-direction:column;gap:2px;}
.dash-track-empty strong{color:var(--text-color);font-size:0.9rem;}
.dash-track-empty span{font-size:0.75rem;}
.dash-track-empty.is-complete>i{color:var(--success);}
.dash-track-links{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;color:var(--text-muted);font-size:0.76rem;font-weight:700;}
.dash-track-links a{color:var(--primary);font-weight:800;text-decoration:none;}
.dash-track-links a:hover{text-decoration:underline;}
.dash-track-actions{display:flex;gap:13px;}
.dash-sector-trigger{max-width:190px;min-height:38px;border-color:rgba(111,95,228,0.13);background:rgba(255,255,255,0.44);}
.dash-sector-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dash-sector-trigger .fa-chevron-down{font-size:0.62rem;}
.dash-vocab-metrics{display:grid;grid-template-columns:repeat(3,1fr);}
.dash-vocab-metrics>div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 10px;text-align:center;}
.dash-vocab-metrics>div+div{border-left:1px solid rgba(111,95,228,0.09);}
.dash-vocab-metrics strong{color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:1.45rem;font-weight:780;line-height:1;}
.dash-vocab-metrics span{color:var(--text-muted);font-size:0.68rem;font-weight:700;}
.dash-asteroid-warning{display:flex;align-items:center;gap:10px;margin-top:-5px;padding:9px 0;border-block:1px solid rgba(244,130,92,0.13);color:var(--text-muted);font-size:0.73rem;}
.dash-asteroid-warning>i{color:var(--secondary);font-size:1rem;}
.dash-asteroid-warning span{flex:1;}
.dash-asteroid-warning strong{color:var(--text-color);}
.dash-asteroid-warning a{color:var(--secondary);font-weight:800;text-decoration:none;white-space:nowrap;}

.dash-flight-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(245px,0.85fr);margin-top:18px;}
.dash-flight-main{padding:25px;}
.dash-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:21px;}
.dash-forecast{display:grid;grid-template-columns:repeat(7,minmax(38px,1fr));align-items:end;gap:10px;min-height:112px;}
.dash-forecast-day{display:grid;grid-template-rows:18px 70px 16px;align-items:end;gap:5px;text-align:center;}
.dash-forecast-day strong{color:var(--text-color);font-size:0.76rem;}
.dash-forecast-day small{color:var(--text-muted);font-size:0.62rem;font-weight:750;text-transform:uppercase;}
.dash-forecast-bar{display:flex;align-items:flex-end;justify-content:center;width:100%;height:70px;}
.dash-forecast-bar i{display:block;width:min(20px,65%);height:var(--dash-forecast,3%);min-height:3px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#8c7aef,var(--primary));box-shadow:0 5px 14px -8px var(--primary);transition:height 0.45s cubic-bezier(0.16,1,0.3,1);}
.dash-forecast-day.is-today small{color:var(--secondary);}
.dash-forecast-day.is-today .dash-forecast-bar i{background:linear-gradient(180deg,#fb9a78,var(--secondary));}
.dash-forecast.is-empty{display:block;}
.dash-forecast-empty{display:grid;grid-template-columns:minmax(170px,0.75fr) minmax(220px,1fr);align-items:center;gap:22px;min-height:112px;}
.dash-forecast-ghost {
    display:grid;
    grid-template-columns:repeat(7,minmax(12px,1fr));
    align-items:end;
    gap:7px;
    height:72px;
    padding:0 4px;
    border-bottom:1px solid rgba(111,95,228,0.09);
}
.dash-forecast-ghost i {
    display:block;
    width:min(18px,70%);
    height:var(--dash-ghost);
    min-height:8px;
    margin-inline:auto;
    border-radius:6px 6px 2px 2px;
    background:linear-gradient(180deg,rgba(140,122,239,0.35),rgba(111,95,228,0.13));
}
.dash-forecast-empty p{display:flex;flex-direction:column;gap:4px;margin:0;}
.dash-forecast-empty strong{color:var(--text-color);font-size:0.84rem;}
.dash-forecast-empty span{max-width:34ch;color:var(--text-muted);font-size:0.72rem;line-height:1.45;}
.dash-grammar-review{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:11px 13px;border:1px solid rgba(111,95,228,0.1);border-radius:12px;background:rgba(255,255,255,0.32);color:var(--text-color);text-decoration:none;}
.dash-grammar-review:hover,.dash-grammar-review:focus-visible{border-color:rgba(111,95,228,0.23);background:rgba(111,95,228,0.055);}
.dash-grammar-review>span{display:flex;align-items:center;gap:10px;}
.dash-grammar-review>span>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(111,95,228,0.08);color:var(--primary);}
.dash-grammar-review>span>span{display:flex;flex-direction:column;gap:1px;}
.dash-grammar-review small{color:var(--primary);font-size:0.58rem;font-weight:850;letter-spacing:0.09em;text-transform:uppercase;}
.dash-grammar-review strong{font-size:0.76rem;}
.dash-grammar-review>i{color:var(--text-muted);font-size:0.75rem;}
.dash-grammar-review.is-due{border-color:rgba(244,130,92,0.16);background:rgba(244,130,92,0.045);}
.dash-grammar-review.is-due>span>i{background:rgba(244,130,92,0.09);color:var(--secondary);}
.dash-freeze{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:25px;border-left:1px solid rgba(111,95,228,0.1);background:linear-gradient(145deg,rgba(83,162,235,0.055),rgba(255,255,255,0.18));}
.dash-freeze-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(72,140,207,0.15);border-radius:15px;background:rgba(72,140,207,0.1);color:#488ccf;font-size:1.15rem;}
.dash-freeze>div{display:flex;flex-direction:column;gap:3px;}
.dash-freeze small{color:#488ccf;font-size:0.66rem;font-weight:850;letter-spacing:0.1em;text-transform:uppercase;}
.dash-freeze strong{color:var(--text-color);font-size:0.9rem;}
.dash-freeze span{color:var(--text-muted);font-size:0.72rem;line-height:1.4;}
.dash-freeze.is-planned{background:linear-gradient(145deg,rgba(72,140,207,0.1),rgba(111,95,228,0.04));}

.dash-progress-grid{display:grid;grid-template-columns:minmax(300px,0.9fr) minmax(0,1.45fr);gap:18px;}
.dash-progress-panel{display:flex;flex-direction:column;min-height:276px;padding:30px;}
.dash-mastery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0 auto;}
.dash-mastery-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:100px;aspect-ratio:1.22;padding:13px;border-radius:13px;text-align:center;}
.dash-mastery-orbit{display:grid;place-items:center;width:60px;height:60px;flex:0 0 60px;border-radius:50%;background:conic-gradient(var(--dash-sector-color) var(--dash-progress),rgba(111,95,228,0.11) 0);box-shadow:0 10px 23px -18px var(--dash-sector-color);}
.dash-mastery-orbit>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,0.85);border-radius:50%;background:rgba(250,248,253,0.94);box-shadow:inset 0 1px rgba(255,255,255,0.9);}
.dash-mastery-orbit i{display:inline-block;color:var(--dash-sector-color);font-size:0.96rem;}
.dash-mastery-copy{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;}
.dash-mastery-copy>strong{max-width:100%;overflow:hidden;color:var(--text-color);font-size:0.7rem;text-overflow:ellipsis;white-space:nowrap;}
.dash-mastery-copy small{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:0.57rem;white-space:nowrap;}
.dash-mastery-copy b{color:var(--dash-sector-color);font-size:0.61rem;}
.dash-mastery-skeleton{min-height:100px;aspect-ratio:1.22;border-radius:13px;background:radial-gradient(circle at 50% 42%,rgba(111,95,228,0.13) 0 25px,transparent 26px),linear-gradient(100deg,rgba(111,95,228,0.04) 30%,rgba(139,125,240,0.12) 50%,rgba(111,95,228,0.04) 70%);background-size:auto,220% 100%;animation:dashSkeletonPulse 1.5s ease-in-out infinite alternate;}
.dash-panel-link{margin-top:auto;padding-top:18px;color:var(--primary);}
.dash-heatmap-shell{display:flex;align-items:flex-start;min-height:109px;flex:0 0 auto;overflow:hidden;}
.dash-heatmap-grid{display:grid;grid-template-rows:repeat(7,13px);grid-auto-flow:column;grid-auto-columns:13px;gap:3px;width:max-content;max-width:100%;}
.dash-heat-cell{width:13px;height:13px;border-radius:3px;background:rgba(111,95,228,0.08);}
.heat-l0{background:rgba(111,95,228,0.08);}
.heat-l1{background:rgba(111,95,228,0.28);}
.heat-l2{background:rgba(111,95,228,0.48);}
.heat-l3{background:rgba(111,95,228,0.7);}
.heat-l4{background:var(--primary);}
.heat-lx{background:transparent;}
.dash-heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;color:var(--text-muted);font-size:0.66rem;font-weight:700;}
.dash-heatmap-legend span{display:inline-block;width:10px;height:10px;border-radius:3px;}
.dash-heatmap-skeleton{width:100%;height:109px;border-radius:9px;background:repeating-linear-gradient(90deg,rgba(111,95,228,0.08) 0 13px,transparent 13px 16px),repeating-linear-gradient(0deg,rgba(255,255,255,0.28) 0 13px,transparent 13px 16px);animation:dashSkeletonPulse 1.5s ease-in-out infinite alternate;}
.dash-activity-summary{margin-top:auto;padding-top:20px;border-top:1px solid rgba(111,95,228,0.1);}
.dash-activity-window{color:var(--primary);font-size:0.63rem;font-weight:850;letter-spacing:0.11em;text-transform:uppercase;}
.dash-activity-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0 0;}
.dash-activity-stat{min-width:0;padding:11px 12px;border:1px solid rgba(111,95,228,0.1);border-radius:12px;background:rgba(111,95,228,0.035);}
.dash-activity-stat dt{overflow:hidden;color:var(--text-muted);font-size:0.61rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap;}
.dash-activity-stat dd{display:flex;align-items:baseline;gap:5px;margin:5px 0 0;color:var(--text-color);}
.dash-activity-stat dd strong{font-family:var(--font-display),sans-serif;font-size:1.05rem;line-height:1;}
.dash-activity-stat dd small{overflow:hidden;color:var(--text-muted);font-size:0.58rem;font-weight:680;text-overflow:ellipsis;white-space:nowrap;}
.dash-activity-summary-skeleton>.skeleton-bar{width:92px;height:8px;}
.dash-activity-stat-skeleton{width:100%;height:53px;border-radius:12px;}
@keyframes dashSkeletonPulse{from{opacity:0.5;}to{opacity:0.9;}}

.sector-people{--dash-sector-color:#7868e8;color:var(--dash-sector-color);}
.sector-abstract{--dash-sector-color:#16a5c4;color:var(--dash-sector-color);}
.sector-nature{--dash-sector-color:#12a875;color:var(--dash-sector-color);}
.sector-space{--dash-sector-color:#8b5cf6;color:var(--dash-sector-color);}
.sector-animals{--dash-sector-color:#d58a25;color:var(--dash-sector-color);}
.sector-food{--dash-sector-color:#e5506b;color:var(--dash-sector-color);}
.sector-object{--dash-sector-color:#d44e96;color:var(--dash-sector-color);}
.sector-architecture{--dash-sector-color:#b79116;color:var(--dash-sector-color);}
.sector-transport{--dash-sector-color:#3d7fd2;color:var(--dash-sector-color);}
.sector-finance{--dash-sector-color:#159f91;color:var(--dash-sector-color);}
.sector-anatomy{--dash-sector-color:#9851d5;color:var(--dash-sector-color);}
.sector-other,.sector-all{--dash-sector-color:var(--primary);color:var(--dash-sector-color);}

.dash-dialog-overlay{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(25,20,48,0.48);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:fadeIn 0.18s ease both;}
.dash-dialog {
    width:min(680px,100%);
    max-height:min(86dvh,760px);
    overflow-y:auto;
    padding:24px;
    border:1px solid rgba(255,255,255,0.72);
    border-radius:23px;
    background:radial-gradient(500px circle at 10% 0%,rgba(111,95,228,0.14),transparent 55%),
        linear-gradient(145deg,rgba(247,245,255,0.96),rgba(244,239,250,0.94));
    box-shadow:0 32px 90px -26px rgba(20,14,48,0.72);
    animation:slideUp 0.25s cubic-bezier(0.16,1,0.3,1) both;
}
.dash-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.dash-dialog-head h2{margin:3px 0 0;color:var(--text-color);font-family:var(--font-display),sans-serif;font-size:1.25rem;}
.dash-dialog-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(111,95,228,0.13);border-radius:13px;background:rgba(255,255,255,0.52);color:var(--text-muted);cursor:pointer;}
.dash-dialog-close:hover{border-color:rgba(111,95,228,0.3);color:var(--primary);}
.dash-dialog-intro{margin:13px 0 19px;color:var(--text-muted);font-size:0.82rem;line-height:1.5;}
.dash-sector-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.dash-sector-option{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:12px;border:1px solid rgba(111,95,228,0.09);border-radius:15px;background:rgba(255,255,255,0.42);color:var(--text-color);cursor:pointer;text-align:left;transition:border-color 0.16s,background 0.16s,transform 0.16s;}
.dash-sector-option:hover,.dash-sector-option:focus-visible{border-color:rgba(111,95,228,0.24);background:rgba(255,255,255,0.72);transform:translateY(-1px);}
.dash-sector-option.is-selected{border-color:rgba(111,95,228,0.32);background:rgba(111,95,228,0.09);}
.dash-sector-option>i:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--dash-sector-color) 11%,white);color:var(--dash-sector-color);font-size:0.95rem;}
.dash-sector-option>span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dash-sector-option strong{overflow:hidden;font-size:0.82rem;text-overflow:ellipsis;white-space:nowrap;}
.dash-sector-option small{color:var(--text-muted);font-size:0.67rem;}
.dash-sector-check{color:var(--primary);font-size:0.72rem;opacity:0;}
.dash-sector-option.is-selected .dash-sector-check{opacity:1;}
.dash-freeze-dialog{width:min(510px,100%);}
.dash-freeze-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.dash-freeze-fields label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:0.74rem;font-weight:750;}
.dash-freeze-fields input{width:100%;padding:11px 12px;border:1px solid rgba(111,95,228,0.16);border-radius:11px;background:rgba(255,255,255,0.64);color:var(--text-color);font:inherit;}
.dash-freeze-fields input:focus{outline:2px solid rgba(111,95,228,0.2);border-color:var(--primary);}
.dash-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;margin-top:21px;}

.dash-skeleton-orb{background:rgba(111,95,228,0.08);}
.dash-skeleton-button{width:185px;height:46px;border-radius:13px;}
.dash-track-head>.skeleton-bar:last-child{width:68px;}
.dash-vocab-metrics .skeleton-bar{margin-inline:auto;}
.dash-track-focus .skeleton-bar{margin-block:4px;}
.dash-flight-panel>.dash-flight-main,.dash-flight-panel>.dash-freeze{position:relative;z-index:1;}
.dash-forecast>.skeleton-bar{align-self:end;height:68px;border-radius:8px;}
.dash-freeze>.skeleton-bar.sk-icon{width:46px;height:46px;}
.dash-region-unavailable{display:flex;align-items:center;justify-content:center;gap:9px;min-height:220px;color:var(--text-muted);font-size:0.82rem;font-weight:750;}
.dash-empty-copy{grid-column:1/-1;align-self:center;margin:0;color:var(--text-muted);font-size:0.8rem;text-align:center;}

@media(prefers-reduced-motion:reduce){
    .dash-progress-fill,.dash-forecast-bar i{transition:none;}
    .dash-heatmap-skeleton,.dash-mastery-skeleton{animation:none;opacity:0.7;}
}
@media(hover:none){.dash-sector-option:hover{transform:none;}}


/* Sector picker modal (opened by the Mission Control pill button). */
.dash-sector-modal{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(24,18,43,0.5);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:fadeIn 0.2s forwards;}
.dash-sector-sheet{width:100%;max-width:680px;max-height:85vh;overflow-y:auto;padding:22px;border-radius:24px;background:radial-gradient(520px circle at 18% -10%,rgba(111,95,228,0.18),transparent 55%),linear-gradient(165deg,rgba(238,236,253,0.93),rgba(228,226,250,0.88));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.8);box-shadow:0 30px 80px -20px rgba(15,23,42,0.55);animation:slideUp 0.3s cubic-bezier(0.16,1,0.3,1);}
body.hyper-theme .dash-sector-sheet{background:rgba(15,23,42,0.7);border-color:rgba(148,163,184,0.2);}
.dash-sector-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dash-sector-sheet-head h3{font-family:var(--font-display),sans-serif;font-weight:800;font-size:1.2rem;margin:0;}
.dash-sector-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--card-border);background:var(--card-glass);color:var(--text-muted);font-size:1rem;cursor:pointer;transition:color 0.2s,border-color 0.2s;}
.dash-sector-close:hover{color:var(--danger);border-color:var(--danger);}
.dash-sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
.dash-sector-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 10px;border-radius:16px;border:1px solid rgba(228,222,245,0.9);background:rgba(255,255,255,0.72);cursor:pointer;text-align:center;transition:transform 0.25s cubic-bezier(0.16,1,0.3,1),border-color 0.25s,box-shadow 0.25s,background 0.25s;}
.dash-sector-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 10px 24px -10px var(--primary-glow);}
.dash-sector-card.active{border-color:var(--primary);background:rgba(111,95,228,0.12);box-shadow:0 8px 20px -10px var(--primary-glow);}
.dash-sector-card i{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.3rem;margin-bottom:4px;background:color-mix(in srgb,currentColor 14%,transparent);}
.dash-sector-card-name{font-family:var(--font-display),sans-serif;font-weight:800;font-size:0.85rem;color:var(--text-color);line-height:1.1;}
.dash-sector-card-sub{font-size:0.72rem;font-weight:700;color:var(--text-muted);}

/* Respect a user's reduced-motion preference — freeze the drifting aurora. */
@media (prefers-reduced-motion:reduce){
    .glass-panel.has-aurora::after{animation:none;}
    .glass-panel .glass-sheen{animation:none;}
}
/* Touch devices: neutralise mouse-hover lift/glow so it doesn't stick after a tap. */
@media (hover:none){
    .glass-panel:hover::before{opacity:0;}
    .dash-sector-card:hover{transform:none;}
}
