/* Extracted from ghost-ops.html */
:root{ --season-col:#c084ff; }
.page-hero{text-align:center;padding:64px 22px 48px;background:radial-gradient(ellipse at 50% -5%,rgba(192,132,255,.1) 0%,transparent 60%);position:relative;overflow:hidden;}
.page-hero-deco{position:absolute;font-size:180px;opacity:.05;top:-10px;right:-30px;pointer-events:none;animation:floatD 10s ease-in-out infinite alternate;}
@keyframes floatD{from{transform:translateY(0) rotate(-8deg);}to{transform:translateY(20px) rotate(0deg);}}
.page-label{font-family:var(--font-head);font-size:10px;letter-spacing:7px;color:var(--season-col);opacity:.75;text-transform:uppercase;margin-bottom:12px;}
.page-hero h1{font-family:var(--font-head);font-size:clamp(1.8rem,5vw,3.6rem);font-weight:900;background:linear-gradient(135deg,#c084ff,#e0b0ff,#f5e6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 24px rgba(192,132,255,.55));line-height:1.1;margin-bottom:8px;}
.page-hero .sub{color:var(--muted);font-family:var(--font-body);font-weight:300;font-size:1rem;letter-spacing:2px;}
.page-hero .desc{max-width:660px;margin:10px auto 0;color:rgba(204,216,232,.6);font-size:.88rem;line-height:1.7;}
.purple-bar{width:100px;height:2px;background:linear-gradient(90deg,transparent,var(--season-col),transparent);margin:22px auto 0;}
h2{color:var(--season-col);}
.toc{background:var(--panel);border:1px solid rgba(192,132,255,.18);border-radius:13px;padding:22px 28px;margin:36px 0;position:relative;overflow:hidden;}
.toc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--season-col),transparent);opacity:.5;}
.toc-title{font-family:var(--font-head);font-size:.72rem;letter-spacing:3px;color:var(--season-col);margin-bottom:14px;text-transform:uppercase;}
.toc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px;}
.toc a{color:var(--accent2);font-size:.84rem;text-decoration:none;padding:4px 0;display:block;border-bottom:1px solid rgba(255,255,255,.04);transition:color .2s;}
.toc a:hover{color:var(--season-col);}
.toc a::before{content:'→ ';color:var(--accent);font-size:.74rem;}
.rarity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:14px;}
.rarity-card{border-radius:11px;padding:18px;position:relative;overflow:hidden;}
.rarity-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.rarity-ur-star{background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(13,21,32,.95));border:1px solid rgba(255,215,0,.3);}
.rarity-ur-star::before{background:linear-gradient(90deg,transparent,#ffd700,transparent);}
.rarity-ur{background:linear-gradient(135deg,rgba(192,132,255,.1),rgba(13,21,32,.95));border:1px solid rgba(192,132,255,.3);}
.rarity-ur::before{background:linear-gradient(90deg,transparent,#c084ff,transparent);}
.rarity-ssr{background:linear-gradient(135deg,rgba(80,100,255,.08),rgba(13,21,32,.95));border:1px solid rgba(80,100,200,.25);}
.rarity-ssr::before{background:linear-gradient(90deg,transparent,#5060cc,transparent);}
.rarity-title{font-family:var(--font-head);font-size:.82rem;letter-spacing:1px;margin-bottom:8px;}
.rarity-ur-star .rarity-title{color:#ffd700;}
.rarity-ur .rarity-title{color:#c084ff;}
.rarity-ssr .rarity-title{color:#8090dd;}
.priority-badge{display:inline-block;font-size:.65rem;padding:2px 8px;border-radius:10px;font-family:var(--font-head);letter-spacing:1px;margin-bottom:8px;}
.badge-p1{background:rgba(255,68,68,.15);border:1px solid rgba(255,68,68,.3);color:#ff8888;}
.badge-p2{background:rgba(192,132,255,.15);border:1px solid rgba(192,132,255,.3);color:#c084ff;}
.badge-p3{background:rgba(90,110,132,.15);border:1px solid rgba(90,110,132,.3);color:var(--muted);}
.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;}
.time-box{background:var(--panel2);border:1px solid rgba(192,132,255,.2);border-radius:9px;padding:12px;text-align:center;}
.time-box .tb-time{font-family:var(--font-head);font-size:.88rem;color:#c084ff;margin-bottom:4px;}
.time-box .tb-label{font-size:.75rem;color:var(--muted);}
.goal-card{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:20px 24px;margin-bottom:14px;border-left:4px solid var(--season-col);position:relative;}
.goal-num{font-family:var(--font-head);font-size:.68rem;letter-spacing:2px;color:var(--season-col);margin-bottom:6px;display:block;}
.goal-title{font-family:var(--font-head);font-size:.88rem;color:var(--text);margin-bottom:10px;}

@media(max-width:600px){
  .toc-grid,.rarity-grid,.time-grid{grid-template-columns:1fr!important;}
}
