/* Shared shell: curtain transition (all pages) + matching nav / look for body.shell pages */
:root{--sh-ink:#0b0908;--sh-cream:#f6efe8;--sh-muted:#b5a89d;--sh-flame:#ff6a1a;--sh-amber:#ffb020;--sh-red:#e5301f;--sh-line:rgba(255,255,255,.09)}

/* curtain */
.sh-curtain{position:fixed;inset:0;z-index:9999;background:var(--sh-ink);display:grid;place-items:center;transform:translateY(100%);pointer-events:none;will-change:transform}
.sh-curtain::before{content:"";position:absolute;left:0;right:0;top:-2px;height:3px;background:linear-gradient(90deg,var(--sh-amber),var(--sh-flame),var(--sh-red));box-shadow:0 0 40px 6px rgba(255,106,26,.55)}
.sh-curtain img{width:84px;height:84px;border-radius:50%;box-shadow:0 0 60px rgba(255,106,26,.4)}
html.entering::before{content:"";position:fixed;inset:0;background:var(--sh-ink);z-index:9998}

/* shell pages */
body.shell{font-family:"Manrope","Segoe UI",system-ui,sans-serif;background:var(--sh-ink)}
body.shell h1,body.shell h2,body.shell h3,body.shell h4,body.shell .section-title{font-family:"Bricolage Grotesque","Segoe UI",sans-serif;letter-spacing:-.025em}
.sh-embers{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body.shell::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 18% 12%,rgba(255,106,26,.17),transparent 70%),radial-gradient(50% 45% at 90% 95%,rgba(229,48,31,.12),transparent 70%),radial-gradient(120% 90% at 50% 50%,transparent 50%,rgba(5,3,2,.65))}
body.shell>*:not(.sh-embers):not(.sh-curtain){position:relative;z-index:1}
body.shell .sh-nav{position:fixed}
body.shell .auth-shell{background:transparent!important;min-height:100svh;padding-top:96px}
body.shell .main-content{padding-top:84px}

.sh-nav{top:0;left:0;right:0;z-index:70!important;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(18px,4vw,56px);transition:background .4s,padding .4s}
.sh-nav.scrolled{background:rgba(11,9,8,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-top:11px;padding-bottom:11px;border-bottom:1px solid var(--sh-line)}
.sh-brand{display:inline-flex;align-items:center;gap:12px;color:var(--sh-cream);text-decoration:none}
.sh-brand img{width:42px;height:42px;border-radius:50%;box-shadow:0 0 24px rgba(255,106,26,.35)}
.sh-brand span{display:flex;flex-direction:column;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.2rem;line-height:1.05}
.sh-brand small{font-family:"Manrope",sans-serif;font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sh-muted);margin-top:3px}
.sh-links{display:flex;gap:4px;padding:6px;border-radius:999px;background:rgba(22,16,13,.55);border:1px solid var(--sh-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sh-links a{font-size:.88rem;font-weight:600;padding:9px 16px;border-radius:999px;color:var(--sh-muted);text-decoration:none;transition:color .25s,background .25s}
.sh-links a:hover,.sh-links a.active{color:var(--sh-cream);background:rgba(255,255,255,.08)}
.sh-actions{display:flex;align-items:center;position:relative}
#studentBtn{font-family:"Manrope",sans-serif;font-weight:700;font-size:.85rem;padding:11px 18px;border-radius:999px;border:0;cursor:pointer;color:#1a0b06;background:linear-gradient(135deg,var(--sh-amber),var(--sh-flame) 55%,var(--sh-red));box-shadow:0 10px 40px -8px rgba(255,90,20,.65)}
.sh-burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--sh-line);background:rgba(22,16,13,.6);position:relative;cursor:pointer}
.sh-burger i{position:absolute;left:13px;right:13px;height:2px;background:var(--sh-cream);transition:transform .4s,top .4s}
.sh-burger i:nth-child(1){top:18px}.sh-burger i:nth-child(2){top:25px}
.sh-burger[aria-expanded=true] i:nth-child(1){top:21px;transform:rotate(45deg)}
.sh-burger[aria-expanded=true] i:nth-child(2){top:21px;transform:rotate(-45deg)}

/* auth cards */
body.shell .auth-box{max-width:430px;background:rgba(22,16,13,.62);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid var(--sh-line);border-radius:26px;padding:44px 36px;box-shadow:0 40px 100px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);animation:shIn .9s cubic-bezier(.22,1,.36,1) both}
@keyframes shIn{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:none}}
body.shell .auth-box .nav-logo{display:none}
body.shell .auth-box h2{font-size:2rem;font-weight:800;line-height:1.05;margin-bottom:8px}
body.shell .auth-box input,body.shell .auth-box select{background:rgba(0,0,0,.35);border:1px solid var(--sh-line);border-radius:14px;padding:15px 16px;font-family:"Manrope",sans-serif;font-size:.95rem}
body.shell .auth-box input:focus,body.shell .auth-box select:focus{border-color:var(--sh-flame);box-shadow:0 0 0 3px rgba(255,106,26,.18)}
body.shell .auth-box button{border-radius:999px;padding:15px;font-family:"Manrope",sans-serif;font-weight:700;box-shadow:0 10px 40px -8px rgba(255,90,20,.6)}
body.shell .auth-box select option{background:#14100e}

@media (max-width:960px){
  .sh-burger{display:block;position:relative;z-index:3}
  .sh-links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:4px;padding:100px 28px 40px;border-radius:0;border:0;background:rgba(11,9,8,.97);opacity:0;pointer-events:none;transition:opacity .4s}
  .sh-links.open{opacity:1;pointer-events:auto}
  .sh-links a{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:2.2rem;padding:6px 0;background:none!important;color:var(--sh-cream)}
  .sh-actions{margin-left:auto}
}
@media (max-width:520px){.sh-brand span{display:none}#studentBtn{padding:10px 14px;font-size:.78rem}}
@media (prefers-reduced-motion:reduce){body.shell .auth-box{animation:none}}
