:root{
  --navy:#081d3a;--navy-2:#0b2b55;--blue:#0a3e8c;--blue-2:#175ab5;--gold:#e5b54a;--gold-2:#f4d67a;--ivory:#f8f4ea;--white:#fff;--text:#eaf1fb;--muted:#aabbd2;--success:#73d4a8;--danger:#ff8b8b;--card:rgba(11,43,85,.72);--line:rgba(244,214,122,.18);--shadow:0 24px 80px rgba(0,0,0,.28);--radius:24px;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--navy)}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
radial-gradient(circle at 70% -10%,rgba(23,90,181,.42),transparent 36%),radial-gradient(circle at 10% 30%,rgba(229,181,74,.08),transparent 30%),linear-gradient(180deg,#06162d 0%,#081d3a 45%,#06162d 100%);padding-bottom:86px}
a{color:var(--gold-2);text-decoration:none}button,input,textarea{font:inherit}.inline{display:inline}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);font-weight:800;font-size:.72rem;margin:0 0 .5rem}.lead{color:#d6e0ef;line-height:1.7}.glass-card{background:linear-gradient(145deg,rgba(15,54,102,.8),rgba(6,24,48,.8));border:1px solid rgba(244,214,122,.18);box-shadow:var(--shadow);backdrop-filter:blur(16px);border-radius:var(--radius)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;border-radius:14px;border:1px solid rgba(244,214,122,.28);padding:.78rem 1rem;font-weight:800;cursor:pointer;color:var(--text);background:rgba(255,255,255,.05);transition:.2s ease}.btn:hover{transform:translateY(-1px);border-color:var(--gold)}.btn.primary{background:linear-gradient(135deg,var(--blue-2),var(--blue));border-color:rgba(255,255,255,.12)}.btn.gold{background:linear-gradient(135deg,#f8dc7b,#c78f22);color:#122342;border-color:#ffe6a2}.btn.ghost{background:rgba(255,255,255,.04)}.btn.wide{width:100%}.btn.small{min-height:36px;padding:.5rem .7rem;font-size:.82rem}.alert{padding:.8rem 1rem;border-radius:14px;margin-bottom:1rem}.alert.error{background:rgba(255,93,93,.12);border:1px solid rgba(255,139,139,.3);color:#ffd0d0}.alert.success{background:rgba(115,212,168,.12);border:1px solid rgba(115,212,168,.3);color:#c9ffe7}
.auth-page{padding-bottom:0}.auth-shell{min-height:calc(100vh - 54px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);max-width:1180px;margin:auto;align-items:center;gap:4rem;padding:3rem 2rem}.auth-hero{text-align:center}.auth-logo{width:min(520px,88%);filter:drop-shadow(0 28px 50px rgba(0,0,0,.28))}.auth-hero h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;margin:.4rem 0 1rem;color:#fff}.auth-panel{padding:1.4rem}.tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.18);border-radius:14px;padding:4px;margin-bottom:1.1rem}.tab-btn{border:0;background:transparent;color:var(--muted);padding:.75rem;border-radius:11px;font-weight:800;cursor:pointer}.tab-btn.active{background:rgba(244,214,122,.12);color:var(--gold-2)}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel label{display:block;font-size:.82rem;color:#c8d5e7;font-weight:700;margin:.9rem 0}.tab-panel input,.question textarea{width:100%;margin-top:.4rem;border-radius:13px;border:1px solid rgba(255,255,255,.14);background:rgba(2,13,28,.62);color:#fff;padding:.85rem .9rem;outline:0}.tab-panel input:focus,.question textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(229,181,74,.12)}.demo-box{margin-top:1.3rem;padding:1rem;border:1px dashed rgba(244,214,122,.25);border-radius:16px;color:var(--muted)}.demo-box p{margin:.5rem 0}.demo-pill{font-size:.66rem;letter-spacing:.14em;font-weight:900;color:var(--gold-2)}.demo-actions{display:flex;gap:.55rem;flex-wrap:wrap}.auth-footer,.site-footer{max-width:1000px;margin:0 auto;padding:1rem 1.5rem;text-align:center;color:#7289a6;font-size:.72rem;line-height:1.5}
.topbar{position:sticky;top:0;z-index:30;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(1rem,calc((100vw - 1120px)/2));background:rgba(4,18,36,.82);border-bottom:1px solid rgba(244,214,122,.1);backdrop-filter:blur(18px)}.brand-mini{display:flex;align-items:center;gap:.65rem;color:#fff;font-weight:900;letter-spacing:.12em}.brand-mini img{width:44px;height:44px;object-fit:contain}.topbar-actions{display:flex;align-items:center;gap:.55rem}.user-chip{font-size:.78rem;color:#c4d1e3}.icon-btn{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer}
.app-shell,.admin-shell{max-width:1120px;margin:0 auto;padding:2rem 1rem 3rem}.narrow{max-width:820px}.mission-hero{display:grid;grid-template-columns:1fr 240px;align-items:center;padding:2rem;overflow:hidden;position:relative}.mission-hero:before{content:"";position:absolute;inset:auto -8% -60% 30%;height:260px;background:radial-gradient(circle,rgba(229,181,74,.16),transparent 65%)}.mission-hero-copy{position:relative;z-index:1}.mission-hero h1,.page-title h1,.admin-hero h1,.profile-card h1{font-family:Georgia,serif;color:#fff;font-size:clamp(2rem,4vw,3.7rem);margin:.2rem 0 .4rem;line-height:1.05}.scripture-line{color:#c7d5e8;margin:.2rem 0 1.4rem}.week-chip{display:inline-flex;padding:.38rem .65rem;border-radius:999px;background:rgba(244,214,122,.1);border:1px solid rgba(244,214,122,.18);color:var(--gold-2);font-size:.7rem;font-weight:800}.mission-emblem{width:250px;max-width:100%;justify-self:end;filter:drop-shadow(0 20px 30px rgba(0,0,0,.28))}.progress-row{display:flex;justify-content:space-between;color:#c9d6e7;font-size:.8rem;margin-bottom:.45rem}.progress-track{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.progress-track.large{height:14px}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#ffe28a);box-shadow:0 0 16px rgba(229,181,74,.35);transition:width .4s ease}.stats-inline{display:flex;gap:1.25rem;flex-wrap:wrap;color:#9fb0c7;font-size:.78rem;margin-top:.8rem}.stats-inline b{color:#fff}.principles-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 1.4rem}.principle-card{display:flex;gap:.8rem;align-items:flex-start;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1rem;background:rgba(255,255,255,.035)}.principle-card span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:rgba(23,90,181,.28);color:#fff;font-weight:900}.principle-card.christ{border-color:rgba(244,214,122,.2);background:rgba(229,181,74,.06)}.principle-card.christ span{background:rgba(229,181,74,.15);color:var(--gold-2)}.principle-card p{margin:.15rem 0;line-height:1.5;color:#d6e1ef}
.mission-path{position:relative;display:grid;gap:.9rem}.mission-path:before{content:"";position:absolute;left:31px;top:32px;bottom:32px;width:2px;background:linear-gradient(var(--gold),rgba(23,90,181,.3));opacity:.55}.step-card{position:relative;background:rgba(9,31,62,.76);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;transition:.2s ease}.step-card.done{border-color:rgba(115,212,168,.35)}.step-card.locked{opacity:.48}.step-head{width:100%;display:grid;grid-template-columns:64px 1fr auto 26px;align-items:center;gap:.7rem;text-align:left;border:0;background:transparent;color:#fff;padding:.9rem 1rem;cursor:pointer}.step-head:disabled{cursor:not-allowed}.step-node{position:relative;z-index:2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#154d98,#0a315f);border:2px solid rgba(244,214,122,.35);font-size:1.15rem}.done .step-node{background:linear-gradient(135deg,#31886c,#1d594a);border-color:rgba(115,212,168,.6)}.step-title-wrap{display:flex;flex-direction:column}.step-title-wrap small{font-size:.64rem;letter-spacing:.16em;color:#8298b5;font-weight:900}.step-title-wrap strong{font-size:1.05rem}.xp-badge{font-size:.72rem;color:var(--gold-2);background:rgba(229,181,74,.08);border:1px solid rgba(229,181,74,.16);padding:.35rem .5rem;border-radius:999px}.chevron{color:#8fa2bc;transition:.2s}.step-card.open .chevron{transform:rotate(180deg)}.step-body{display:none;padding:0 1rem 1.1rem 5.8rem}.step-card.open .step-body{display:block}.step-intro{color:#c3d1e3;line-height:1.65;max-width:760px}.scripture-box{display:flex;align-items:center;gap:.8rem;background:linear-gradient(135deg,rgba(229,181,74,.12),rgba(23,90,181,.08));border:1px solid rgba(244,214,122,.18);padding:.9rem;border-radius:16px;margin:1rem 0}.scripture-box span{font-size:1.5rem}.scripture-box p{margin:.2rem 0 0;color:#e8d79f}.question{border:0;padding:0;margin:1.4rem 0}.question legend{font-weight:800;line-height:1.5;margin-bottom:.7rem}.option{display:flex;gap:.75rem;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.75rem;margin:.45rem 0;cursor:pointer}.option:has(input:checked){border-color:rgba(229,181,74,.5);background:rgba(229,181,74,.08)}.option input{accent-color:var(--gold);margin-top:.18rem}.feedback{padding:.7rem .8rem;border-left:3px solid var(--gold);background:rgba(229,181,74,.07);color:#e8d9aa;border-radius:0 10px 10px 0}.step-result{margin-top:.8rem;padding:.75rem;border-radius:12px;background:rgba(115,212,168,.1);border:1px solid rgba(115,212,168,.2);color:#caffea}.completion-card{display:none;text-align:center;margin:1.3rem 0;padding:2rem;border-radius:24px;border:1px solid rgba(244,214,122,.35);background:radial-gradient(circle at 50% 10%,rgba(229,181,74,.18),transparent 38%),rgba(8,29,58,.9)}.completion-card.show{display:block}.completion-card h2{font-family:Georgia,serif;font-size:2rem;margin:.2rem 0}.sparkle{font-size:2rem;color:var(--gold)}.source-note{margin:1.2rem 0 0;padding:1rem;border-radius:16px;background:rgba(255,255,255,.025);color:#8fa2bc;font-size:.76rem;line-height:1.6}.source-note a{display:inline-block;margin-left:.35rem}.bottom-nav{position:fixed;z-index:25;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:.2rem;background:rgba(4,18,36,.9);border:1px solid rgba(244,214,122,.14);border-radius:20px;padding:.35rem;box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(16px)}.nav-item{min-width:86px;padding:.55rem .7rem;border-radius:15px;color:#91a5bf;display:flex;flex-direction:column;align-items:center;gap:.18rem;font-size:.65rem;font-weight:800}.nav-item.active{color:var(--gold-2);background:rgba(229,181,74,.08)}.nav-icon{font-size:1rem}
.page-title{padding:1rem 0}.page-title p{color:#a8b8cd;line-height:1.6}.leaderboard{padding:.7rem 1rem}.rank-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.5rem;padding:.85rem .25rem;border-bottom:1px solid rgba(255,255,255,.07)}.rank-row:last-child{border-bottom:0}.rank-row.me{background:rgba(229,181,74,.06);margin:0 -.45rem;padding-left:.7rem;padding-right:.7rem;border-radius:12px}.rank-pos{font-size:1.05rem;text-align:center}.rank-name{color:#e7eef7}.rank-name small{font-size:.55rem;color:var(--gold-2);border:1px solid rgba(229,181,74,.25);border-radius:999px;padding:.15rem .3rem;margin-left:.3rem}.collective-card{padding:1.2rem;margin-top:1rem;border:1px solid rgba(244,214,122,.18);border-radius:18px;background:rgba(229,181,74,.04)}.profile-card{text-align:center;padding:2rem}.profile-emblem{width:150px}.profile-card>p{color:#9eb0c6}.profile-xp{display:flex;flex-direction:column;margin:1rem auto 1.4rem;width:150px;padding:1rem;border-radius:16px;background:rgba(229,181,74,.07);border:1px solid rgba(229,181,74,.14)}.profile-xp strong{font-size:2rem;color:var(--gold-2)}.profile-xp span{font-size:.7rem;color:#aabbd2}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.mini-badge{padding:.8rem;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);opacity:.35;display:flex;flex-direction:column;gap:.4rem}.mini-badge.unlocked{opacity:1;border-color:rgba(244,214,122,.2);background:rgba(229,181,74,.05)}.mini-badge span{font-size:.72rem}
.admin-shell{padding-bottom:3rem}.admin-hero{padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:center}.admin-hero h1{font-size:2.2rem}.admin-hero img{width:120px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.stat-card{padding:1rem;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column}.stat-card span{font-size:1.1rem}.stat-card strong{font-size:1.8rem;margin:.35rem 0}.stat-card small{color:#8ea1bb}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-card{padding:1.2rem;margin-bottom:1rem}.admin-card h2{font-family:Georgia,serif;margin:.2rem 0 .5rem}.admin-card p{color:#aebfd3;line-height:1.6}.section-head{display:flex;justify-content:space-between;align-items:flex-start}.response-card{padding:1rem;margin-bottom:.8rem}.response-meta{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.response-meta span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-2)}.response-meta time{margin-left:auto;color:#758aa5;font-size:.7rem}.response-card pre{white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.18);border-radius:12px;padding:.8rem;color:#cbd8e8;font-size:.75rem}.empty-state{padding:2rem;text-align:center;color:#96a9c0}.attendance-list{padding:.6rem}.attendance-row{display:grid;grid-template-columns:1.3fr auto auto auto;gap:.7rem;align-items:center;padding:.8rem;border-bottom:1px solid rgba(255,255,255,.07)}.attendance-row:last-child{border-bottom:0}.attendance-row>div{display:flex;flex-direction:column}.attendance-row small{color:#8296b0}.attendance-row label{font-size:.8rem;color:#bdc9da}
@media (max-width:850px){.auth-shell{grid-template-columns:1fr;gap:1rem;padding:1.5rem 1rem}.auth-logo{width:min(360px,90%)}.auth-hero h1{font-size:2.35rem}.mission-hero{grid-template-columns:1fr;padding:1.3rem}.mission-emblem{position:absolute;right:-35px;bottom:-35px;width:190px;opacity:.2}.principles-panel{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr auto;align-items:start}.attendance-row label{grid-row:auto}.step-body{padding-left:1rem}.mission-path:before{display:none}.step-head{grid-template-columns:52px 1fr auto 20px}.step-node{width:40px;height:40px}.xp-badge{font-size:.62rem}}
@media (max-width:560px){body{padding-bottom:80px}.topbar{height:62px;padding:0 .8rem}.brand-mini span{display:none}.user-chip{display:none}.app-shell,.admin-shell{padding:1rem .7rem 2rem}.mission-hero h1,.page-title h1{font-size:2rem}.week-chip{font-size:.58rem}.principle-card{font-size:.86rem}.step-head{padding:.8rem .65rem;grid-template-columns:46px 1fr auto 18px}.xp-badge{padding:.25rem .35rem}.step-title-wrap strong{font-size:.95rem}.bottom-nav{width:calc(100% - 18px);bottom:8px;justify-content:space-around}.nav-item{min-width:0;flex:1}.badge-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.admin-hero img{width:85px}.admin-hero h1{font-size:1.65rem}.rank-row{grid-template-columns:44px 1fr auto}.attendance-row{grid-template-columns:1fr}.attendance-row .btn{width:100%}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ==============================
   HUELLAS Sprint 1.1 — Journey & Game Feel Pass
   ============================== */
:root{--journey-glow:0 0 28px rgba(244,214,122,.28);--soft-blue:#163b68}

/* Brand / navigation clarity */
.brand-mini img{width:38px;height:48px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
.nav-item{min-height:52px;min-width:92px;justify-content:center;transition:transform .18s ease,color .18s ease,background .18s ease}
.nav-item:active{transform:scale(.96)}
.nav-item.active{box-shadow:inset 0 0 0 1px rgba(244,214,122,.12)}
.nav-icon{font-size:1.1rem}

/* Journey map */
.journey-map{margin:0 0 1.2rem;padding:1.15rem 1.25rem 1rem;overflow:hidden;position:relative}
.journey-map:after{content:"";position:absolute;inset:auto -10% -70px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(229,181,74,.12),transparent 68%);pointer-events:none}
.journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.journey-head h2{font-family:Georgia,serif;margin:.1rem 0;color:#fff;font-size:1.5rem}
.journey-counter{display:flex;align-items:baseline;gap:.3rem;padding:.55rem .75rem;border-radius:14px;background:rgba(229,181,74,.07);border:1px solid rgba(244,214,122,.14)}
.journey-counter strong{font-size:1.35rem;color:var(--gold-2)}
.journey-counter span{font-size:.7rem;color:#94a8c1}
.journey-route{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;align-items:end;padding:1rem .2rem .55rem}
.journey-route:before{content:"";position:absolute;left:6%;right:6%;top:44px;height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(244,214,122,.8),rgba(23,90,181,.5));box-shadow:0 0 18px rgba(229,181,74,.15)}
.journey-stop{position:relative;z-index:1;border:0;background:transparent;color:#e8eef7;display:flex;flex-direction:column;align-items:center;gap:.2rem;cursor:pointer;padding:.2rem;min-width:0;transition:transform .2s ease,filter .2s ease}
.journey-stop:nth-child(even){transform:translateY(16px)}
.journey-stop:hover:not(:disabled){filter:brightness(1.1)}
.journey-stop:nth-child(even):hover:not(:disabled){transform:translateY(13px)}
.journey-stop:nth-child(odd):hover:not(:disabled){transform:translateY(-3px)}
.journey-stop:disabled{cursor:not-allowed}
.journey-foot{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#123f77,#0b274a);border:2px solid rgba(244,214,122,.36);font-size:1.25rem;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.journey-stop.done .journey-foot{color:#082544;background:linear-gradient(145deg,#ffe596,#d4a83b);border-color:#fff0ad;box-shadow:var(--journey-glow)}
.journey-stop.locked{opacity:.58}
.journey-stop.locked .journey-foot{border-color:rgba(255,255,255,.14);filter:saturate(.45)}
.journey-stop small{font-size:.55rem;letter-spacing:.14em;color:#7086a2;font-weight:900}
.journey-stop strong{font-size:.72rem;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.journey-stop.done strong{color:var(--gold-2)}
.journey-hint{text-align:center;color:#8195af;font-size:.72rem;margin:.8rem 0 .1rem}

/* Step cards now read as mission details, not as the map itself */
.mission-path{gap:.65rem}
.mission-path:before{display:none}
.step-card{border-radius:18px;background:linear-gradient(145deg,rgba(9,31,62,.88),rgba(7,25,49,.8))}
.step-card:not(.locked):hover{border-color:rgba(244,214,122,.16)}
.step-card.locked{opacity:.7;filter:saturate(.55)}
.step-card.locked .step-title-wrap strong{color:#9aabc0}
.step-card.locked .step-node{background:#0e2848;border-color:rgba(255,255,255,.14);color:#9fb0c4}
.step-card.done{background:linear-gradient(145deg,rgba(19,66,78,.52),rgba(7,25,49,.84));border-color:rgba(115,212,168,.32)}
.step-card.done .step-title-wrap small{color:#78cdae}
.step-head{min-height:72px}
.step-result{position:relative;overflow:hidden}
.step-result:before{content:"👣";margin-right:.35rem}

/* Reward feedback */
.xp-celebration{position:fixed;z-index:80;right:24px;top:92px;display:flex;align-items:center;gap:.8rem;min-width:260px;padding:.9rem 1rem;border-radius:18px;background:linear-gradient(135deg,rgba(19,61,105,.98),rgba(7,28,57,.98));border:1px solid rgba(244,214,122,.38);box-shadow:0 24px 70px rgba(0,0,0,.4),var(--journey-glow);transform:translateY(-20px) scale(.96);opacity:0;pointer-events:none;transition:.28s ease}
.xp-celebration.show{transform:translateY(0) scale(1);opacity:1}
.xp-burst{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#ffe89e,#ca9125);color:#0d2c50;font-size:1.3rem;box-shadow:0 0 24px rgba(244,214,122,.38)}
.xp-celebration div:last-child{display:flex;flex-direction:column}.xp-celebration strong{font-size:1.25rem;color:#fff3bd}.xp-celebration span{font-size:.72rem;color:#b5c5d8;margin-top:.1rem}
.reward-particle{position:fixed;z-index:79;width:7px;height:7px;border-radius:50%;background:var(--gold-2);pointer-events:none;animation:rewardParticle 720ms ease-out forwards}
@keyframes rewardParticle{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}
.mission-complete-overlay{position:fixed;z-index:90;inset:0;background:rgba(1,10,22,.76);display:grid;place-items:center;padding:1rem;opacity:0;pointer-events:none;transition:.25s ease;backdrop-filter:blur(12px)}
.mission-complete-overlay.show{opacity:1;pointer-events:auto}
.mission-complete-panel{max-width:520px;width:100%;padding:2rem;text-align:center;transform:translateY(20px) scale(.96);transition:.3s ease}
.mission-complete-overlay.show .mission-complete-panel{transform:none}
.mission-complete-panel h2{font-family:Georgia,serif;font-size:2rem;margin:.35rem 0;color:#fff}
.mission-complete-panel p:not(.eyebrow){color:#b9c8da;line-height:1.6}
.completion-footsteps{font-size:3rem;filter:drop-shadow(0 0 20px rgba(244,214,122,.4))}
.completion-xp{display:flex;flex-direction:column;margin:1.2rem auto;width:150px;padding:1rem;border-radius:18px;background:rgba(229,181,74,.08);border:1px solid rgba(244,214,122,.22)}
.completion-xp strong{font-size:2.2rem;color:var(--gold-2)}
.completion-xp span{font-size:.7rem;color:#9eb0c6}

/* Ranking */
.ranking-title{text-align:center;padding-bottom:.5rem}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;align-items:end;margin:.3rem 0 1rem}
.podium-card{position:relative;text-align:center;padding:1.15rem .7rem 1rem;border-radius:20px;background:linear-gradient(180deg,rgba(15,57,103,.82),rgba(8,31,60,.82));border:1px solid rgba(255,255,255,.08);min-height:170px;box-shadow:0 20px 50px rgba(0,0,0,.2);overflow:hidden}
.podium-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,transparent,var(--medal,#789),transparent)}
.podium-card.place-1{min-height:205px;border-color:rgba(244,214,122,.32);--medal:#e5b54a;background:radial-gradient(circle at 50% 0,rgba(229,181,74,.18),transparent 48%),linear-gradient(180deg,rgba(15,57,103,.9),rgba(8,31,60,.86))}
.podium-card.place-2{--medal:#b8c7dc}.podium-card.place-3{--medal:#c78958}
.podium-card.me{box-shadow:0 0 0 1px rgba(244,214,122,.24),0 20px 50px rgba(0,0,0,.24)}
.podium-medal{font-size:2rem}.podium-place{font-size:.62rem;color:#7f95af;letter-spacing:.12em}.podium-card h2{font-size:1rem;margin:.4rem 0 .25rem;color:#fff}.podium-card h2 small{font-size:.48rem;color:var(--gold-2);border:1px solid rgba(229,181,74,.22);padding:.12rem .3rem;border-radius:999px}.podium-card>strong{font-size:1.25rem;color:var(--gold-2)}.podium-foot{position:absolute;right:8px;bottom:5px;opacity:.11;font-size:2.6rem;transform:rotate(-18deg)}
.compact-leaderboard{margin-bottom:1rem}
.collective-journey{display:grid;grid-template-columns:1fr 130px;gap:1rem;align-items:center;padding:1.35rem}
.collective-copy p{color:#aabbd2;line-height:1.6}.collective-ring{--size:116px;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#0b2b55 56%,transparent 57%),conic-gradient(var(--gold-2) calc(var(--p)*1%),rgba(255,255,255,.08) 0);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.collective-ring strong{font-size:1.5rem;color:#fff}.collective-ring span{font-size:.62rem;color:#8fa2bc}.collective-journey .progress-track,.collective-stats{grid-column:1/-1}.collective-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.collective-stats div{padding:.75rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column}.collective-stats strong{font-size:1.2rem;color:var(--gold-2)}.collective-stats span{font-size:.66rem;color:#92a6bf;margin-top:.15rem}

/* Profile */
.profile-shell{display:grid;gap:1rem}.profile-hero{padding:1.7rem 1.5rem}.profile-emblem{width:124px}.profile-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.2rem}.profile-stat{display:flex;flex-direction:column;padding:.9rem;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.profile-stat strong{font-size:1.35rem;color:var(--gold-2)}.profile-stat span{font-size:.67rem;color:#94a8c1;margin-top:.2rem}.profile-section{padding:1.2rem}.profile-section h2{font-family:Georgia,serif;margin:.15rem 0;color:#fff}.badge-count{display:grid;place-items:center;min-width:48px;height:32px;border-radius:999px;background:rgba(229,181,74,.08);border:1px solid rgba(244,214,122,.16);color:var(--gold-2);font-size:.72rem;font-weight:800}.journey-badges{grid-template-columns:repeat(4,1fr);margin-top:.85rem}.journey-badges .mini-badge{min-height:128px;justify-content:center;align-items:center;text-align:center}.journey-badges .mini-badge b{font-size:1.55rem}.journey-badges .mini-badge span{font-weight:800;color:#d7e1ee}.journey-badges .mini-badge small{font-size:.58rem;color:#758ba6;line-height:1.35}.journey-badges .mini-badge.unlocked small{color:#9eb0c6}.history-list{margin-top:.75rem}.history-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.7rem;padding:.75rem .2rem;border-bottom:1px solid rgba(255,255,255,.06)}.history-row:last-child{border-bottom:0}.history-foot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(229,181,74,.08);border:1px solid rgba(244,214,122,.14)}.history-row>div{display:flex;flex-direction:column}.history-row small{font-size:.65rem;color:#8094ad;margin-top:.15rem}.history-row>b{color:var(--gold-2);font-size:.8rem}

/* Teacher preparation */
.teacher-prep-card{overflow:hidden;position:relative}.teacher-prep-card:after{content:"👣";position:absolute;right:-14px;bottom:-26px;font-size:7rem;opacity:.035;transform:rotate(-20deg)}
.teacher-prep-icon{font-size:1.8rem}.insight-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.9rem}.theme-bars{display:grid;gap:.9rem}.theme-row>div:first-child{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.35rem}.theme-row strong{font-size:.82rem}.theme-row span{font-size:.65rem;color:#7e93ae}.theme-track{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.theme-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-2),var(--gold-2));box-shadow:0 0 15px rgba(229,181,74,.2)}
.teacher-recommendation{padding:1rem;border-radius:18px;background:linear-gradient(145deg,rgba(229,181,74,.08),rgba(23,90,181,.06));border:1px solid rgba(244,214,122,.16)}.recommendation-label{font-size:.58rem;letter-spacing:.13em;color:var(--gold-2);font-weight:900}.teacher-recommendation h3{margin:.45rem 0;font-size:1.05rem;color:#fff}.teacher-recommendation p{font-size:.78rem!important}.teacher-recommendation blockquote{margin:.8rem 0 0;padding:.75rem;border-left:3px solid var(--gold);background:rgba(0,0,0,.1);color:#e9ddad;font-size:.78rem;line-height:1.5;border-radius:0 10px 10px 0}

@media(max-width:850px){
  .journey-route{grid-template-columns:repeat(5,minmax(92px,1fr));overflow-x:auto;padding-bottom:1.15rem;scroll-snap-type:x proximity}.journey-route:before{left:48px;right:48px}.journey-stop{scroll-snap-align:center}.journey-stop:nth-child(even){transform:none}.journey-stop:nth-child(even):hover:not(:disabled){transform:translateY(-3px)}
  .podium{gap:.5rem}.podium-card{min-height:155px}.podium-card.place-1{min-height:180px}
  .journey-badges{grid-template-columns:repeat(2,1fr)}
  .insight-layout{grid-template-columns:1fr}
}
@media(max-width:560px){
  .journey-map{padding:1rem .85rem}.journey-head h2{font-size:1.15rem}.journey-counter{padding:.4rem .55rem}.journey-route{margin:0 -.35rem}.journey-foot{width:48px;height:48px}.journey-stop strong{font-size:.65rem}.journey-hint{text-align:left}
  .xp-celebration{left:10px;right:10px;top:72px;min-width:0}
  .podium{grid-template-columns:1fr 1fr;align-items:stretch}.podium-card.place-1{grid-column:1/-1;grid-row:1;min-height:145px}.podium-card.place-2,.podium-card.place-3{min-height:130px}.podium-card.place-1 .podium-foot{font-size:4rem}
  .collective-journey{grid-template-columns:1fr}.collective-ring{justify-self:center}.collective-stats{grid-template-columns:1fr}.collective-stats div{flex-direction:row;align-items:baseline;gap:.5rem}.collective-stats span{margin:0}
  .profile-stat-grid{grid-template-columns:1fr 1fr}.profile-stat:last-child{grid-column:1/-1}.journey-badges{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:38px 1fr auto}
  .mission-complete-panel{padding:1.4rem}.mission-complete-panel h2{font-size:1.55rem}
}
/* Sprint 1.1 QA refinements */
.journey-badges .mini-badge:not(.unlocked){opacity:.55}.journey-badges .mini-badge:not(.unlocked) span{color:#a6b4c6}.journey-badges .mini-badge:not(.unlocked) small{color:#71869f}
@media(max-width:560px){.brand-mini span{display:inline;font-size:.76rem;letter-spacing:.1em}.brand-mini img{width:32px;height:40px}.journey-stop strong{white-space:normal;line-height:1.1;min-height:28px;max-width:88px}.journey-stop small{font-size:.52rem}}

/* =========================================================
   HUELLAS Sprint 2 — Weekly Content System + Admin Editor
   ========================================================= */
.btn.danger{background:rgba(255,139,139,.09);border-color:rgba(255,139,139,.32);color:#ffd0d0}.hidden{display:none!important}
.principles-panel.single{grid-template-columns:1fr}.discovery-callout{display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;margin:1rem 0 1.4rem}.discovery-callout>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(229,181,74,.1);border:1px solid rgba(244,214,122,.22);font-size:1.25rem}.discovery-callout strong{color:#fff}.discovery-callout p{margin:.25rem 0 0;color:#aebfd3;font-size:.84rem}.stats-inline a{margin-left:auto}.upcoming-strip{padding:1.1rem 1.2rem;margin-top:1.2rem}.upcoming-strip h2{font-family:Georgia,serif;margin:.15rem 0}.upcoming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.9rem}.upcoming-grid article{display:flex;flex-direction:column;gap:.35rem;padding:.85rem;border-radius:15px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}.upcoming-grid strong{color:#fff}.upcoming-grid small{color:#8fa2bc;line-height:1.45}.lock-pill{width:max-content;max-width:100%;font-size:.58rem;letter-spacing:.08em;color:#aabbd2;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.25rem .45rem}

/* Member year path */
.weeks-shell{max-width:960px;margin:0 auto;padding:2rem 1rem 4rem}.weeks-hero{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.6rem 1.8rem;margin-bottom:1.2rem}.weeks-hero h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);margin:.2rem 0 .6rem;color:#fff}.weeks-hero p{color:#aec0d6;line-height:1.65;max-width:720px}.calendar-orb{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 35% 30%,rgba(244,214,122,.24),rgba(23,90,181,.15));border:1px solid rgba(244,214,122,.28)}.calendar-orb strong{font-family:Georgia,serif;font-size:2.4rem;color:var(--gold-2)}.calendar-orb span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#aebfd3}.year-road{position:relative}.year-road:before{content:"";position:absolute;left:27px;top:25px;bottom:25px;width:2px;background:linear-gradient(rgba(115,212,168,.35),var(--gold),rgba(23,90,181,.2))}.week-road-card{position:relative;display:grid;grid-template-columns:56px 1fr;gap:.85rem;margin:.7rem 0;padding:.8rem 1rem .8rem .3rem;border-radius:18px;background:rgba(9,31,62,.58);border:1px solid rgba(255,255,255,.06)}.week-road-card.current{border-color:rgba(244,214,122,.48);box-shadow:0 16px 50px rgba(229,181,74,.08)}.week-road-card.locked{opacity:.72}.week-road-marker{position:relative;display:flex;justify-content:center}.week-road-marker span{position:relative;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0b315f;border:2px solid rgba(244,214,122,.26)}.week-road-card.archived .week-road-marker span{background:#1f5f4f;border-color:rgba(115,212,168,.4)}.week-road-card.current .week-road-marker span{background:linear-gradient(135deg,#d09a2f,#7d5711);box-shadow:0 0 0 5px rgba(229,181,74,.08)}.week-road-meta{display:flex;gap:.55rem;flex-wrap:wrap;color:#8197b2;font-size:.62rem;font-weight:900;letter-spacing:.1em}.week-road-copy h2{margin:.3rem 0 .25rem;color:#fff;font-family:Georgia,serif;font-size:1.25rem}.week-road-copy>p{margin:0;color:#9eb0c6;font-size:.78rem}.week-road-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}.week-road-actions small{color:#758aa5}.state-pill,.ready-pill,.draft-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.27rem .48rem;font-size:.56rem;letter-spacing:.09em;font-weight:900}.state-pill.open{color:#172b21;background:#8ce5bd}.state-pill.locked{color:#c0cee0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}.state-pill.archived{color:#a6ceb9;background:rgba(115,212,168,.08);border:1px solid rgba(115,212,168,.17)}.state-pill.hidden{display:inline-flex!important;color:#d4a9a9;background:rgba(255,139,139,.08)}.ready-pill{color:#baf7da;background:rgba(115,212,168,.08);border:1px solid rgba(115,212,168,.2)}.draft-pill{color:#dbcfa8;background:rgba(229,181,74,.07);border:1px solid rgba(229,181,74,.16)}

/* Teacher navigation */
.admin-nav{position:sticky;top:72px;z-index:24;display:flex;gap:.3rem;overflow-x:auto;max-width:1120px;margin:0 auto;padding:.55rem 1rem;background:rgba(6,22,45,.88);border-bottom:1px solid rgba(244,214,122,.08);backdrop-filter:blur(14px)}.admin-nav a{flex:0 0 auto;display:flex;align-items:center;gap:.35rem;padding:.52rem .7rem;border-radius:12px;color:#96aac3;font-size:.7rem;font-weight:800}.admin-nav a.active{color:var(--gold-2);background:rgba(229,181,74,.08);border:1px solid rgba(229,181,74,.12)}.three-cards{grid-template-columns:repeat(3,1fr)}

/* Content manager */
.content-admin-shell{max-width:1180px}.content-hero{gap:1.2rem}.content-hero p{max-width:760px;color:#aebfd3;line-height:1.6}.auto-unlock-badge{min-width:180px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;border-radius:18px;background:rgba(229,181,74,.06);border:1px solid rgba(244,214,122,.18)}.auto-unlock-badge>span{font-size:1.6rem}.auto-unlock-badge strong{color:var(--gold-2);font-size:.8rem}.auto-unlock-badge small{color:#8296b0;margin-top:.25rem}.content-toolbar{display:flex;align-items:center;justify-content:space-between}.content-toolbar h2{margin:.2rem 0}.lesson-admin-list{display:grid;gap:.65rem}.lesson-admin-row{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:.9rem;padding:.8rem 1rem;border-radius:18px}.lesson-admin-row.current{border-color:rgba(244,214,122,.42)}.lesson-admin-row.locked{opacity:.82}.lesson-week-number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;background:rgba(23,90,181,.12);border:1px solid rgba(255,255,255,.06)}.lesson-week-number span{font-size:1.3rem;font-weight:900;color:#fff}.lesson-week-number small{font-size:.48rem;letter-spacing:.12em;color:#7f94ad}.lesson-admin-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:#8ea2bb;font-size:.64rem}.lesson-admin-main h3{margin:.32rem 0 .15rem;color:#fff;font-family:Georgia,serif;font-size:1.16rem}.lesson-admin-main p{margin:0;color:#879bb4;font-size:.74rem}.lesson-admin-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}

/* Editor */
.editor-shell{max-width:1020px}.narrow-editor{max-width:760px}.editor-breadcrumb{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.2rem 0 1rem;color:#8196b1;font-size:.72rem}.editor-card{padding:1.2rem 1.3rem;margin-bottom:1rem}.editor-card h1{font-family:Georgia,serif;font-size:2rem;margin:.15rem 0;color:#fff}.editor-form{display:grid;gap:.85rem;margin-top:1rem}.editor-form.compact{margin-top:.6rem}.editor-form label{display:flex;flex-direction:column;gap:.38rem;color:#c3d0e0;font-size:.75rem;font-weight:750}.editor-form label small{color:#7187a2;font-weight:500}.editor-form input,.editor-form textarea,.editor-form select{width:100%;border:1px solid rgba(255,255,255,.11);background:rgba(2,13,28,.55);color:#f6f9fd;border-radius:12px;padding:.72rem .78rem;outline:none}.editor-form textarea{resize:vertical;line-height:1.5}.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus{border-color:rgba(244,214,122,.52);box-shadow:0 0 0 3px rgba(229,181,74,.08)}.form-grid{display:grid;gap:.75rem}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.editor-divider{display:flex;align-items:center;gap:.7rem;color:var(--gold-2);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin:.25rem 0}.editor-divider:before,.editor-divider:after{content:"";height:1px;flex:1;background:rgba(244,214,122,.12)}.check-card{flex-direction:row!important;align-items:flex-start!important;padding:.75rem;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.check-card input{width:auto!important;margin-top:.15rem}.check-card span{display:flex;flex-direction:column}.inline-check{flex-direction:row!important;align-items:center!important}.inline-check input{width:auto!important}.editor-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}.editor-switches{align-items:stretch}.editor-steps-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin:1.8rem .1rem .8rem}.editor-steps-head h2{font-family:Georgia,serif;margin:.1rem 0;color:#fff}.editor-steps-head>p{max-width:430px;color:#879bb4;font-size:.76rem}.editor-step-title{display:flex;gap:.65rem;align-items:center}.editor-step-title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(23,90,181,.18);border:1px solid rgba(244,214,122,.17)}.editor-step-title small{font-size:.56rem;letter-spacing:.12em;color:#8296b0}.editor-step-title h2{margin:.1rem 0;font-family:Georgia,serif}.question-manager{margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.07)}.question-manager h3{margin:.15rem 0;color:#fff}.question-admin-row{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.question-admin-row:last-child{border-bottom:0}.question-admin-row>div{display:flex;flex-direction:column;gap:.18rem}.question-admin-row strong{font-size:.78rem;color:#dbe5f1}.question-admin-row small{font-size:.58rem;color:#7e93ad}.question-type-pill{font-size:.54rem;text-transform:uppercase;letter-spacing:.08em;color:#d9ca94;background:rgba(229,181,74,.07);border:1px solid rgba(229,181,74,.14);border-radius:999px;padding:.25rem .38rem}.empty-note{color:#7f93ac;font-size:.76rem}.options-editor{padding:.2rem 0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;margin-bottom:1rem}.preview-toolbar>div:last-child{display:flex;gap:.5rem}.preview-state-row{display:flex;gap:.5rem;margin-top:.8rem}.preview-step-list{display:grid;gap:.75rem;margin-top:1rem}.preview-step{overflow:visible}.preview-step .step-head{cursor:default}.preview-step-body{padding:0 1rem 1rem 5.8rem;color:#aebfd3}.preview-question{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .7rem;margin:.35rem 0;border-radius:11px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.preview-question span{font-size:.5rem;text-transform:uppercase;color:var(--gold-2);letter-spacing:.08em}.preview-question strong{font-size:.74rem;color:#d7e2ef}.admin-preview-shell{padding-bottom:3rem}

@media(max-width:900px){.three-cards{grid-template-columns:1fr}.lesson-admin-row{grid-template-columns:64px 1fr}.lesson-admin-actions{grid-column:2;justify-content:flex-start}.form-grid.three{grid-template-columns:1fr 1fr}.content-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.admin-nav{top:62px;padding:.45rem .6rem}.admin-nav a{font-size:.62rem}.weeks-hero{grid-template-columns:1fr;padding:1.2rem}.calendar-orb{width:84px;height:84px;justify-self:start}.calendar-orb strong{font-size:1.8rem}.week-road-card{grid-template-columns:50px 1fr;padding:.7rem .65rem .7rem .2rem}.year-road:before{left:23px}.week-road-marker span{width:40px;height:40px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.editor-card{padding:1rem .85rem}.editor-steps-head{align-items:flex-start;flex-direction:column}.question-admin-row{grid-template-columns:auto 1fr}.question-admin-row>a{grid-column:2}.lesson-admin-row{grid-template-columns:52px 1fr;padding:.7rem}.lesson-admin-actions{grid-column:1/-1}.lesson-week-number{width:46px;height:46px}.content-toolbar{align-items:flex-start;gap:.7rem;flex-direction:column}.content-hero{align-items:flex-start}.auto-unlock-badge{min-width:0;width:100%}.upcoming-grid{grid-template-columns:1fr}.stats-inline a{margin-left:0;width:100%}.preview-toolbar{align-items:flex-start;flex-direction:column}.preview-step-body{padding-left:1rem}}

/* Sprint 2 — unlocked historical missions */
.review-banner{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.9rem 1rem;margin:-.35rem 0 1rem;border-color:rgba(115,212,168,.16);background:linear-gradient(135deg,rgba(31,95,79,.16),rgba(9,31,62,.7))}.review-banner>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(115,212,168,.1);border:1px solid rgba(115,212,168,.2);color:#9be7c3;font-size:1.1rem}.review-banner strong{color:#e9fff5}.review-banner p{margin:.18rem 0 0;color:#93ad9f;font-size:.75rem;line-height:1.45}.review-banner>a{color:var(--gold-2);font-size:.7rem;font-weight:850;white-space:nowrap}.week-road-card.archived{opacity:.92}.week-road-card.archived:hover{border-color:rgba(115,212,168,.25)}
@media(max-width:650px){.review-banner{grid-template-columns:auto 1fr}.review-banner>a{grid-column:2;white-space:normal}}

/* Sprint 2.1 — Game Feel + Minijuegos */
.journey-stop{position:relative;isolation:isolate}.journey-stop:before{content:"";position:absolute;inset:-7px;border-radius:18px;background:radial-gradient(circle,rgba(229,181,74,.16),transparent 68%);opacity:0;transform:scale(.9);transition:.25s ease;z-index:-1}.journey-stop.active:before,.journey-stop:not(.locked):hover:before{opacity:1;transform:scale(1)}.journey-stop.active .journey-foot{box-shadow:0 0 0 6px rgba(229,181,74,.08),0 0 30px rgba(229,181,74,.26)}.journey-stop.done .journey-foot{animation:footGlow 2.6s ease-in-out infinite}.journey-route{position:relative}.journey-route:after{content:"";position:absolute;inset:50% 5% auto;height:2px;background:linear-gradient(90deg,transparent,rgba(244,214,122,.55),transparent);filter:blur(.3px);opacity:.4;pointer-events:none}
@keyframes footGlow{0%,100%{filter:brightness(1);box-shadow:0 0 0 4px rgba(115,212,168,.05)}50%{filter:brightness(1.16);box-shadow:0 0 0 7px rgba(115,212,168,.08),0 0 24px rgba(115,212,168,.22)}}

.mini-game{position:relative;margin:1.1rem 0 1.35rem;padding:1rem;border-radius:20px;border:1px solid rgba(244,214,122,.18);background:radial-gradient(circle at 90% 0,rgba(229,181,74,.09),transparent 30%),linear-gradient(145deg,rgba(10,45,86,.84),rgba(5,24,49,.9));overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.18)}
.mini-game:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.035) 50%,transparent 68%);transform:translateX(-120%);pointer-events:none}.mini-game.game-good:before{animation:gameSweep .7s ease}.mini-game.game-warn{animation:gameShake .38s ease}.mini-game.game-good{border-color:rgba(115,212,168,.46);box-shadow:0 18px 44px rgba(0,0,0,.2),0 0 0 1px rgba(115,212,168,.08) inset}.mini-game.game-warn{border-color:rgba(255,139,139,.36)}
@keyframes gameSweep{to{transform:translateX(120%)}}@keyframes gameShake{20%{transform:translateX(-5px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.mini-game-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.mini-game-heading small{display:block;color:var(--gold-2);letter-spacing:.15em;font-size:.58rem;font-weight:900}.mini-game-heading h3{font-family:Georgia,serif;color:#fff;font-size:1.35rem;margin:.13rem 0 0}.mini-game-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.2rem;background:linear-gradient(135deg,rgba(229,181,74,.2),rgba(23,90,181,.18));border:1px solid rgba(244,214,122,.28);box-shadow:0 0 24px rgba(229,181,74,.09)}.mini-game-icon.christ{color:var(--gold-2)}
.scenario-card{position:relative;padding:1rem 1rem 1rem 1.1rem;margin-bottom:.85rem;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}.scenario-card>span{display:inline-flex;margin-bottom:.45rem;color:#8fb2dd;font-size:.55rem;letter-spacing:.16em;font-weight:900}.scenario-card p,.mini-game-prompt{margin:0;color:#d5e1ef;line-height:1.6}.decision-options{display:grid;gap:.55rem}.decision-option,.trace-option{width:100%;display:flex;align-items:flex-start;gap:.7rem;text-align:left;color:#dbe7f5;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:15px;padding:.72rem .8rem;cursor:pointer;transition:.18s ease}.decision-option:hover,.trace-option:hover{transform:translateY(-1px);border-color:rgba(244,214,122,.3);background:rgba(229,181,74,.055)}.decision-option.selected{border-color:rgba(229,181,74,.45)}.decision-option.correct{border-color:rgba(115,212,168,.58);background:rgba(115,212,168,.1)}.decision-option.wrong,.trace-option.wrong{border-color:rgba(255,139,139,.55);background:rgba(255,139,139,.08)}.decision-letter{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;color:var(--gold-2);font-weight:900;background:rgba(229,181,74,.08);border:1px solid rgba(229,181,74,.15)}
.game-feedback-box{margin-top:.75rem;padding:.72rem .8rem;border-radius:13px;font-size:.78rem;line-height:1.5}.game-feedback-box.success{color:#cffff0;background:rgba(115,212,168,.09);border:1px solid rgba(115,212,168,.2)}.game-feedback-box.retry{color:#ffd4d4;background:rgba(255,139,139,.07);border:1px solid rgba(255,139,139,.18)}.game-reflection{display:flex!important;flex-direction:column;gap:.45rem;margin-top:.8rem;color:#d6e2ef;font-size:.76rem;font-weight:800}.game-reflection textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(2,13,28,.54);color:#fff;border-radius:13px;padding:.75rem .8rem;resize:vertical;outline:0}.game-reflection textarea:focus{border-color:rgba(244,214,122,.48);box-shadow:0 0 0 3px rgba(229,181,74,.08)}

.trace-stage{--trace-progress:0;position:relative;height:100px;margin:.9rem 0 1rem;border-radius:17px;overflow:hidden;background:radial-gradient(circle at 88% 38%,rgba(244,214,122,.2),transparent 28%),linear-gradient(135deg,rgba(5,22,45,.92),rgba(12,51,98,.8));border:1px solid rgba(255,255,255,.07)}.trace-stage:before{content:"";position:absolute;left:8%;right:10%;top:61%;height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(229,181,74,.12),rgba(244,214,122,.28));transform:rotate(-5deg);filter:blur(.2px)}.trace-light{position:absolute;right:8%;top:13px;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle,#fff6c9 0,#f2c85f 25%,rgba(229,181,74,.25) 54%,transparent 72%);box-shadow:0 0 calc(20px + 45px * var(--trace-progress)) rgba(244,214,122,.42);transition:.3s ease}.trace-destination{position:absolute;right:10%;top:37px;color:#fff8d7;font-size:1.15rem;text-shadow:0 0 18px #f4d67a}.trace-path{position:absolute;left:18%;top:52%;display:flex;gap:14%;width:56%;transform:rotate(-5deg)}.trace-path i{position:relative;width:20px;height:31px;border-radius:55% 45% 60% 38%;background:rgba(125,153,188,.22);border:1px solid rgba(255,255,255,.08);transform:rotate(20deg);transition:.25s ease}.trace-path i:nth-child(even){transform:rotate(-18deg) scaleX(-1)}.trace-path i.lit{background:linear-gradient(145deg,#fff4ba,#d69b25);box-shadow:0 0 18px rgba(244,214,122,.65);border-color:#ffe79a}.trace-options{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.trace-option{align-items:center}.trace-option.found{border-color:rgba(115,212,168,.5);background:rgba(115,212,168,.09);color:#e8fff5}.trace-foot{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:rgba(23,90,181,.18);filter:grayscale(.4);transition:.2s}.trace-option.found .trace-foot{filter:none;background:rgba(229,181,74,.15);box-shadow:0 0 18px rgba(229,181,74,.15)}.christ-trace-game.complete .trace-stage{border-color:rgba(229,181,74,.34);box-shadow:0 0 34px rgba(229,181,74,.1) inset}

/* Admin minigame editor */
.minigame-editor{margin-top:.25rem;padding:1rem;border-radius:16px;border:1px solid rgba(244,214,122,.12);background:rgba(229,181,74,.025)}.minigame-editor-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.minigame-editor-head strong{font-family:Georgia,serif;color:#fff}.minigame-editor-head span{font-size:.56rem;letter-spacing:.13em;color:var(--gold-2);font-weight:900}.game-config-fields{display:grid;gap:.75rem}.game-config-fields.hidden{display:none}.minigame-help{color:#7f96b0;font-size:.68rem;line-height:1.45;margin:0}

@media(max-width:720px){.trace-options{grid-template-columns:1fr}.mini-game{padding:.85rem}.mini-game-heading h3{font-size:1.18rem}.decision-option,.trace-option{padding:.68rem}.trace-stage{height:88px}.journey-route:after{display:none}}
@media(prefers-reduced-motion:reduce){.journey-stop.done .journey-foot,.mini-game.game-good:before,.mini-game.game-warn{animation:none!important}.decision-option,.trace-option,.journey-stop:before{transition:none!important}}
.preview-game-pill{display:flex;align-items:center;gap:.65rem;margin:.7rem 0;padding:.65rem .75rem;border-radius:13px;border:1px solid rgba(244,214,122,.17);background:rgba(229,181,74,.05)}.preview-game-pill>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(229,181,74,.11);color:var(--gold-2)}.preview-game-pill div{display:flex;flex-direction:column}.preview-game-pill small{font-size:.52rem;letter-spacing:.12em;color:#8296b0}.preview-game-pill strong{font-size:.78rem;color:#f3e6b9}
.game-reflection[hidden]{display:none!important}

/* Sprint 2.2 — Rewards, Daily/Weekly Engagement & Sunday Ceremony */
.engagement-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;padding:1.05rem 1.15rem;margin:1rem 0}.engagement-copy h2{font-family:Georgia,serif;color:#fff;margin:.1rem 0 .35rem;font-size:1.45rem}.engagement-copy>p:last-of-type{margin:.15rem 0;color:#b9c9dc;line-height:1.55}.commitment-chip{display:flex;gap:.7rem;align-items:flex-start;margin-top:.8rem;padding:.7rem .8rem;border-radius:14px;background:rgba(229,181,74,.06);border:1px solid rgba(244,214,122,.15)}.commitment-chip>span{color:#ffaaa8}.commitment-chip div{display:flex;flex-direction:column;gap:.16rem}.commitment-chip small{font-size:.52rem;letter-spacing:.13em;color:#cfb86f;font-weight:900}.commitment-chip strong{font-size:.78rem;color:#f5edd1;line-height:1.45}.week-presence{padding:.85rem;border-radius:18px;background:rgba(3,17,35,.32);border:1px solid rgba(255,255,255,.06)}.presence-head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:#9fb1c7}.presence-head strong{color:var(--gold-2)}.presence-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:.7rem 0}.presence-day{display:flex;flex-direction:column;gap:.22rem;align-items:center;justify-content:center;min-height:48px;border-radius:11px;border:1px solid rgba(255,255,255,.06);color:#657d9a;background:rgba(255,255,255,.02)}.presence-day i{font-style:normal;font-size:.85rem}.presence-day span{font-size:.56rem;font-weight:800}.presence-day.active{color:#fff4c2;background:rgba(229,181,74,.08);border-color:rgba(244,214,122,.18)}.presence-day.today{box-shadow:0 0 0 2px rgba(23,90,181,.25) inset}.presence-note{display:block;color:#7188a2;font-size:.61rem;line-height:1.45}.reward-track{padding:1rem 1.1rem;margin:1rem 0 1.2rem}.reward-count{display:grid;place-items:center;min-width:48px;height:34px;border-radius:999px;background:rgba(229,181,74,.08);border:1px solid rgba(244,214,122,.16);color:var(--gold-2);font-weight:900;font-size:.75rem}.reward-milestones{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.reward-milestone{display:flex;gap:.55rem;align-items:flex-start;min-width:0;padding:.68rem;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);opacity:.55}.reward-milestone.unlocked{opacity:1;border-color:rgba(115,212,168,.18);background:rgba(115,212,168,.045)}.reward-milestone>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:rgba(255,255,255,.05)}.reward-milestone.unlocked>span{background:rgba(229,181,74,.1);box-shadow:0 0 16px rgba(229,181,74,.08)}.reward-milestone div{display:flex;flex-direction:column;min-width:0}.reward-milestone strong{font-size:.7rem;color:#edf4fb;line-height:1.3}.reward-milestone small{font-size:.58rem;color:#8094ad;line-height:1.35;margin-top:.12rem}.profile-rewards{grid-template-columns:1fr 1fr}.profile-presence{display:flex;align-items:center;gap:.55rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.06)}.profile-presence strong{color:var(--gold-2)}.profile-presence span{font-size:.72rem;color:#8ba0ba}.commitment-card blockquote{margin:.7rem 0 .4rem;padding:.9rem 1rem;border-left:3px solid var(--gold);background:rgba(229,181,74,.05);border-radius:0 13px 13px 0;color:#f4ead1;font-family:Georgia,serif;line-height:1.55}.commitment-card>p{color:#8499b2;font-size:.7rem}.commitment-heart{font-size:1.25rem;color:#ffaaa8}.sunday-awards{padding:1rem 1.1rem;margin:1rem 0}.award-disclaimer{color:#8599b2;font-size:.7rem;line-height:1.5}.sunday-award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.sunday-award-grid article{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .7rem;border-radius:17px;background:radial-gradient(circle at 50% 0,rgba(229,181,74,.11),transparent 48%),rgba(255,255,255,.025);border:1px solid rgba(244,214,122,.14)}.sunday-award-grid article>span{font-size:1.45rem}.sunday-award-grid small{margin:.35rem 0;color:var(--gold-2);font-size:.58rem;letter-spacing:.1em;font-weight:900}.sunday-award-grid strong{color:#fff}.sunday-award-grid em{font-style:normal;color:#87a0bb;font-size:.62rem;margin-top:.35rem}

.engagement-admin-card p:last-child{color:#8fa3bc;font-size:.75rem;line-height:1.55}.engagement-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.85rem 0}.engagement-admin-stats>div{display:flex;flex-direction:column;padding:.85rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.engagement-admin-stats strong{font-size:1.45rem;color:#fff}.engagement-admin-stats span{font-size:.64rem;color:#8398b2}.ceremony-launch{border-color:rgba(244,214,122,.24)!important;background:radial-gradient(circle at 90% 0,rgba(229,181,74,.1),transparent 36%),linear-gradient(145deg,rgba(15,54,102,.8),rgba(6,24,48,.8))!important}.ceremony-admin-hero{border-color:rgba(244,214,122,.22)}.ceremony-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.ceremony-status{display:flex;align-items:center;gap:.7rem;padding:.85rem}.ceremony-status>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(229,181,74,.08)}.ceremony-status div{display:flex;flex-direction:column}.ceremony-status small{font-size:.58rem;color:#8398b2;letter-spacing:.08em}.ceremony-status strong{color:#fff;font-size:1.05rem}.ceremony-editor{padding:1.1rem}.ceremony-policy{padding:.75rem .85rem;border-radius:13px;background:rgba(23,90,181,.09);border:1px solid rgba(93,149,218,.14);font-size:.72rem;color:#a9bdd5;line-height:1.5}.ceremony-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ceremony-editor-card{padding:.9rem;border-radius:17px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.07)}.ceremony-editor-title{display:flex;align-items:center;gap:.65rem}.ceremony-editor-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(229,181,74,.08);font-size:1.15rem}.ceremony-editor-title small{display:block;font-size:.5rem;letter-spacing:.12em;color:#7d91aa}.ceremony-editor-title h3{margin:.1rem 0;color:#fff;font-family:Georgia,serif}.ceremony-editor-card>p{color:#879bb3;font-size:.67rem;line-height:1.45;min-height:40px}.ceremony-editor-card label,.ceremony-message{display:flex;flex-direction:column;gap:.3rem;color:#b8c7d9;font-size:.7rem;font-weight:800;margin-top:.6rem}.ceremony-editor-card select,.ceremony-editor-card input,.ceremony-message textarea{width:100%;border:1px solid rgba(255,255,255,.11);background:rgba(2,13,28,.56);color:#fff;border-radius:12px;padding:.7rem .75rem;outline:0}.ceremony-editor-card select:focus,.ceremony-editor-card input:focus,.ceremony-message textarea:focus{border-color:rgba(244,214,122,.4);box-shadow:0 0 0 3px rgba(229,181,74,.07)}.ceremony-message{margin-top:.9rem}.ceremony-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}.ceremony-close-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-top:1rem}.ceremony-close-card h2{font-family:Georgia,serif;color:#fff;margin:.15rem 0}.ceremony-close-card p:last-child{margin:.2rem 0;color:#8499b2;font-size:.72rem;line-height:1.5}.ceremony-close-card .btn:disabled{opacity:.5;cursor:not-allowed}

.ceremony-page{padding:0;background:radial-gradient(circle at 50% 0,rgba(23,90,181,.42),transparent 35%),radial-gradient(circle at 50% 45%,rgba(229,181,74,.09),transparent 35%),linear-gradient(180deg,#031126,#071e3e 60%,#031126);min-height:100vh}.ceremony-page .site-footer{display:none}.ceremony-stage{position:relative;max-width:1200px;margin:auto;min-height:100vh;padding:2rem 1.2rem 4rem;overflow:hidden}.ceremony-stars{position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:radial-gradient(circle at 10% 20%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 12%,#ffe9a1 0 1px,transparent 1.5px),radial-gradient(circle at 28% 78%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 92% 68%,#fff 0 1px,transparent 1.5px);background-size:240px 220px,330px 280px,260px 300px,390px 340px}.ceremony-brand{text-align:center;position:relative;z-index:1}.ceremony-brand img{width:min(330px,75vw);max-height:190px;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(0,0,0,.32))}.ceremony-brand h1{font-family:Georgia,serif;color:#fff;font-size:clamp(2rem,5vw,4.5rem);margin:.15rem 0 .3rem}.ceremony-brand>p:last-child{color:#aabbd0}.ceremony-group-progress{position:relative;z-index:1;max-width:760px;margin:1.2rem auto;padding:1rem;text-align:center}.ceremony-group-progress>div:first-child{display:flex;align-items:baseline;justify-content:center;gap:.55rem;flex-wrap:wrap}.ceremony-group-progress small{color:var(--gold-2);letter-spacing:.12em;font-weight:900}.ceremony-group-progress strong{font-size:2rem;color:#fff}.ceremony-group-progress span{color:#8299b5}.ceremony-progress-track{height:9px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;margin:.65rem 0}.ceremony-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#fff0a5);box-shadow:0 0 18px rgba(229,181,74,.4)}.ceremony-group-progress p{margin:.3rem 0;color:#adbed2}.ceremony-reveals{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.1rem}.ceremony-award-reveal{position:relative;min-height:310px;border-radius:26px;overflow:hidden;border:1px solid rgba(244,214,122,.18);background:radial-gradient(circle at 50% 5%,rgba(229,181,74,.13),transparent 38%),rgba(6,27,54,.88);box-shadow:0 28px 70px rgba(0,0,0,.28)}.ceremony-award-cover,.ceremony-award-winner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.2rem;transition:.55s cubic-bezier(.2,.8,.2,1)}.ceremony-award-cover>span{font-size:2.8rem;filter:grayscale(.2)}.ceremony-award-cover small,.ceremony-award-winner small{margin-top:.6rem;color:var(--gold-2);font-size:.62rem;letter-spacing:.15em;font-weight:900}.ceremony-award-cover strong{font-family:Georgia,serif;font-size:1.55rem;color:#fff;margin:.3rem 0 1rem}.ceremony-award-winner{opacity:0;transform:scale(.9) translateY(12px);pointer-events:none;background:radial-gradient(circle at 50% 20%,rgba(229,181,74,.16),transparent 45%)}.ceremony-award-winner .award-big-icon{font-size:3rem}.ceremony-award-winner h2{font-family:Georgia,serif;color:#fff;font-size:2.2rem;margin:.3rem 0}.ceremony-award-winner p{color:#aabbd0;line-height:1.45;font-size:.74rem}.symbolic-prize{margin-top:.65rem;color:#ffe6a2;font-size:.78rem}.ceremony-award-reveal.revealed{border-color:rgba(244,214,122,.42);box-shadow:0 28px 70px rgba(0,0,0,.28),0 0 45px rgba(229,181,74,.09)}.ceremony-award-reveal.revealed .ceremony-award-cover{opacity:0;transform:scale(1.08);pointer-events:none}.ceremony-award-reveal.revealed .ceremony-award-winner{opacity:1;transform:none;pointer-events:auto}.ceremony-finale{position:relative;z-index:1;max-width:760px;margin:1.5rem auto 0;text-align:center;padding:1.5rem}.ceremony-finale .finale-footsteps{font-size:2.4rem}.ceremony-finale h2{font-family:Georgia,serif;color:#fff;font-size:2rem;margin:.3rem 0}.ceremony-finale p{color:#a9bbd0;line-height:1.6}.ceremony-particle{position:fixed;z-index:1000;pointer-events:none;color:#f7d677;font-style:normal;font-size:.9rem;animation:ceremonyBurst 1.25s ease-out forwards}@keyframes ceremonyBurst{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.15) rotate(280deg)}}

@media(max-width:900px){.engagement-card{grid-template-columns:1fr}.reward-milestones{grid-template-columns:1fr 1fr}.ceremony-editor-grid{grid-template-columns:1fr}.ceremony-reveals{grid-template-columns:1fr}.ceremony-award-reveal{min-height:260px}.ceremony-status-row{grid-template-columns:1fr 1fr}.ceremony-close-card{align-items:flex-start;flex-direction:column}.sunday-award-grid{grid-template-columns:1fr}.profile-rewards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.reward-milestones,.profile-rewards{grid-template-columns:1fr}.presence-days{gap:.22rem}.presence-day{min-height:44px}.engagement-admin-stats{grid-template-columns:1fr}.ceremony-status-row{grid-template-columns:1fr}.ceremony-stage{padding:1rem .75rem 3rem}.ceremony-brand img{max-height:145px}.ceremony-award-winner h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.ceremony-award-cover,.ceremony-award-winner,.ceremony-particle{transition:none!important;animation:none!important}}

/* ========================================================================
   HUELLAS — Sprint 2.3 · Onboarding + Notifications + WhatsApp
   ===================================================================== */
.notification-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(244,214,122,.18);border-radius:14px;background:rgba(255,255,255,.035);text-decoration:none;font-size:1.05rem}.notification-bell.has-unread{box-shadow:0 0 0 1px rgba(229,181,74,.18),0 0 24px rgba(229,181,74,.08)}.notification-bell b{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:#e5b54a;color:#081d3a;font-size:.68rem;line-height:1;font-weight:900}
.onboarding-page{min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(23,90,181,.23),transparent 34%),#06162d}.onboarding-shell{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.onboarding-brand{text-align:center;margin-bottom:1.25rem}.onboarding-brand img{width:min(270px,70vw);max-height:170px;object-fit:contain}.onboarding-progress{display:flex;justify-content:center;gap:.45rem;margin-top:.45rem}.onboarding-progress i{width:24px;height:4px;border-radius:99px;background:rgba(255,255,255,.12);transition:.25s ease}.onboarding-progress i.active{background:#e5b54a;box-shadow:0 0 12px rgba(229,181,74,.45)}.onboarding-stage{display:none;min-height:390px;padding:2rem;text-align:center;animation:onboardIn .35s ease}.onboarding-stage.active{display:block}.onboarding-stage h1{font-family:Georgia,serif;color:#fff;font-size:clamp(2rem,6vw,3.3rem);line-height:1.05;margin:.35rem auto .9rem;max-width:650px}.onboarding-stage>p:not(.eyebrow){max-width:620px;margin:.4rem auto;color:#c3d1e2;line-height:1.65;font-size:1.03rem}.onboarding-icon{display:grid;place-items:center;margin:0 auto .6rem;width:76px;height:76px;border-radius:24px;background:linear-gradient(145deg,rgba(229,181,74,.15),rgba(23,90,181,.12));border:1px solid rgba(244,214,122,.18);font-size:2.1rem;box-shadow:0 20px 50px rgba(0,0,0,.18)}.onboarding-mini-route{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:1.6rem auto 0}.onboarding-mini-route span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:1.3rem}.onboarding-mini-route b{color:#e5b54a}.onboarding-list{display:grid;gap:.55rem;text-align:left;max-width:570px;margin:1.15rem auto}.onboarding-list div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:.75rem;padding:.65rem .8rem;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.onboarding-list div>span{grid-row:1/3;display:grid;place-items:center;font-size:1.25rem}.onboarding-list strong{color:#fff}.onboarding-list small{color:#9fb2c9}.onboarding-rule{display:flex;align-items:center;gap:1rem;text-align:left;max-width:580px;margin:1.35rem auto 0;padding:1rem;border:1px solid rgba(229,181,74,.2);border-radius:18px;background:rgba(229,181,74,.06)}.onboarding-rule span{font-family:Georgia,serif;font-size:1.7rem;color:#f4d67a;white-space:nowrap}.onboarding-rule p{margin:0;color:#b9c9dc}.onboarding-note{display:block;color:#8fa5be;margin-top:.7rem}.onboarding-actions{display:flex;justify-content:center;gap:.7rem;margin-top:1rem}.onboarding-actions .btn{min-width:150px}.onboarding-skip{align-self:center;margin-top:.8rem;border:0;background:none;color:#849ab3;text-decoration:underline;cursor:pointer}.hidden{display:none!important}@keyframes onboardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.notifications-shell{max-width:980px}.notifications-hero{display:flex;align-items:center;justify-content:space-between;padding:1.35rem 1.5rem;margin-bottom:1rem}.notifications-hero h1{font-family:Georgia,serif;color:#fff;margin:.1rem 0 .35rem}.notifications-hero p{margin:0;color:#aebfd3}.notifications-hero>span{font-size:2rem}.notification-list{display:grid;gap:.75rem}.notification-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.85rem;padding:1rem 1.05rem;text-decoration:none;color:inherit;transition:.2s ease}.notification-card:hover{transform:translateY(-2px);border-color:rgba(229,181,74,.22)}.notification-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(23,90,181,.14);border:1px solid rgba(92,153,232,.13);font-size:1.3rem}.notification-card strong{color:#fff}.notification-card p{margin:.25rem 0 0;color:#aebfd3;line-height:1.45}.notification-card>b{color:#e5b54a}.notification-settings{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.15rem}.notification-settings h2{color:#fff;margin:.1rem 0 .25rem}.notification-settings p{margin:0;color:#9eb2c9;max-width:660px}
.communications-shell{max-width:1180px}.admin-hero-bigicon{font-size:3rem}.comm-principle{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.15rem;margin:1rem 0}.comm-principle>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(37,211,102,.12);color:#59e38c;font-weight:900}.comm-principle strong{color:#fff}.comm-principle p{margin:.25rem 0 0;color:#aebfd3;line-height:1.5}.communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.communication-card{padding:1rem}.communication-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}.communication-head span{font-size:1.3rem}.communication-head strong{color:#fff}.communication-card textarea{width:100%;min-height:220px;resize:vertical;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(3,14,30,.55);color:#c8d5e5;padding:.85rem;line-height:1.55;font:inherit}.communication-actions{display:flex;gap:.6rem;margin-top:.7rem}.btn.whatsapp,.whatsapp{background:rgba(37,211,102,.13);border:1px solid rgba(37,211,102,.25);color:#9af2ba}.btn.whatsapp:hover{background:rgba(37,211,102,.2)}
@media(max-width:760px){.onboarding-shell{width:min(100% - 1rem,760px);padding:1rem 0 2rem;justify-content:flex-start}.onboarding-brand img{max-height:120px}.onboarding-stage{min-height:430px;padding:1.35rem 1rem}.onboarding-stage h1{font-size:2rem}.onboarding-actions{position:sticky;bottom:.6rem;background:rgba(6,22,45,.88);backdrop-filter:blur(12px);padding:.6rem;border-radius:18px}.onboarding-actions .btn{min-width:0;flex:1}.notification-settings{align-items:flex-start;flex-direction:column}.communication-grid{grid-template-columns:1fr}.communication-card textarea{min-height:250px}.notification-card{grid-template-columns:45px 1fr auto;padding:.85rem}.notifications-hero{padding:1rem}.notifications-hero>span{display:none}}
@media(prefers-reduced-motion:reduce){.onboarding-stage{animation:none}.notification-card{transition:none}}
