/* Peacekeeper's own look for the marketing pages (home, features, pricing), built from the wolf logo:
   its magenta-to-violet colours, thick outlines and sharp angles. Bold "sticker" panels with hard
   offset shadows, condensed uppercase headings, and Discord itself (chat, embeds) as the showcase,
   instead of the soft glass cards, cyan accents and monospace labels most bot sites share.
   Only applies to <body class="ops">. Light and dark both work; seasonal themes keep their colours.
   No flashing: motion is a slow fade-in only, and none at all with reduced motion. */

html:not([data-season]) body.ops{--bg:#09080f;--bg-2:#110f1c;--glow-1:rgba(124,92,246,.30);--glow-2:rgba(90,110,240,.16);
  --glow-3:rgba(63,180,255,.12);--glow-4:rgba(110,80,230,.18);--accent:#7c5cf6;--accent-2:#6366f1;--accent-3:#38bdf8;--accent-text:#b9a8ff;--accent-rgb:124,92,246;
  --accent-grad:linear-gradient(135deg,#8b6cf7 0%,#6366f1 60%,#38bdf8 100%);--on-accent:#ffffff}
html[data-theme="light"]:not([data-season]) body.ops{--bg:#f5f4fb;--bg-2:#eceaf7;--glow-1:rgba(124,92,246,.16);
  --glow-2:rgba(90,110,240,.10);--glow-3:rgba(56,189,248,.08);--glow-4:rgba(110,80,230,.10);--accent:#5b3fd9;--accent-2:#4f46e5;--accent-3:#0b86b8;--accent-text:#4a2fc0;
  --accent-rgb:91,63,217;--accent-grad:linear-gradient(135deg,#5b3fd9 0%,#4f46e5 60%,#0b86b8 100%);--on-accent:#ffffff}

.ops{--head:"Rajdhani","Inter",system-ui,sans-serif;--ink:rgba(var(--fg-rgb),.9);--hard:6px 6px 0 var(--accent);
  --hard-sm:4px 4px 0 var(--accent)}
/* No glow blobs or aurora, holiday themes included: flat background, colour does the work.
   Painted by body::before (behind the holiday moon, webs and bats), not on body itself. */
body.ops{background:transparent}
body.ops::before{background:var(--bg)}
.ops #pk-fx{display:none}
.ops #pk-season-bar{background:var(--accent);border-bottom:2px solid var(--ink)}
.ops #pk-bday{background:var(--accent);border-radius:0;box-shadow:var(--hard-sm);transform:skewX(-12deg)}
/* Halloween: keep the spooky font, drop the gradient fill and glow */
html.pk-spooky body.ops .hero h1,html.pk-spooky body.ops .hero h1 em{background:none;-webkit-text-fill-color:currentColor;filter:none;
  text-shadow:4px 4px 0 #000;text-transform:none}
html.pk-spooky body.ops .hero h1{color:#ff7518}
html.pk-spooky body.ops .hero h1 em{color:#f5f0e6}
html.pk-spooky[data-theme="light"] body.ops .hero h1{color:#c2410c;text-shadow:3px 3px 0 #1a0700}
html.pk-spooky[data-theme="light"] body.ops .hero h1 em{color:#1a0700;text-shadow:3px 3px 0 #ff9a4d}
html.pk-spooky body.ops #pk-spooky .moon{box-shadow:none;opacity:.8}

/* angled corners, like the wolf's ears and jaw */
.ops .cut{clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}

/* type */
.ops h1,.ops h2,.ops h3{font-family:var(--head)}
.ops .hero h1{background:none;-webkit-text-fill-color:currentColor;color:var(--text-strong);animation:none;text-transform:uppercase;
  font-weight:700;line-height:.92;letter-spacing:-.005em;font-size:clamp(42px,5vw,80px);margin:0 0 24px;text-wrap:balance}
.ops .nw{white-space:nowrap}
.ops .mark{position:relative;white-space:nowrap;z-index:0}
.ops .mark::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.08em;height:.32em;background:var(--accent);z-index:-1;
  transform:skewX(-12deg)}
.ops .tagline{display:inline-block;font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--on-accent);background:var(--accent);padding:5px 14px 4px;transform:skewX(-12deg);margin-bottom:20px}
.ops .tagline > span{display:inline-block;transform:skewX(12deg)}
.ops .eyebrow{font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);
  background:none;border:0;padding:0}
.ops .sec-head{text-align:left;max-width:var(--site-max)}
.ops .sec-head h2{font-size:clamp(36px,4.6vw,64px);text-transform:uppercase;line-height:.95;margin:8px 0 12px;letter-spacing:-.005em}
.ops .sec-head p{margin-left:0}

/* buttons: chunky, outlined, hard shadow */
.ops .cta-btn{border-radius:0;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:18px;
  padding:13px 24px;border:2px solid var(--ink);transition:transform .12s ease,box-shadow .12s ease}
.ops .cta-btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--hard-sm);border-color:var(--ink)}
.ops .cta-btn.primary{box-shadow:4px 4px 0 var(--ink)}
.ops .cta-btn.primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.ops .cta-btn.ghost{background:transparent;color:var(--text-strong);box-shadow:none}
.ops .cta-btn.ghost:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}
.ops .nav-cta{border-radius:0;font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;font-weight:700;
  background:var(--accent);color:var(--on-accent);border:2px solid var(--ink)}
@media (prefers-reduced-motion:reduce){.ops .cta-btn{transition:none}.ops .cta-btn:hover{transform:none}}

/* hero */
.ops .hero.ops-hero{max-width:var(--site-max);margin:0 auto;padding:80px var(--gutter) 56px;text-align:left;display:grid;gap:44px;align-items:center}
@media (min-width:1000px){.ops .hero.ops-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px}}
.ops .hero.ops-hero p.lead{font-size:clamp(16px,1.2vw,20px);color:var(--muted);max-width:560px;margin:0 0 30px;line-height:1.6}
.ops .nums{display:flex;flex-wrap:wrap;gap:12px 34px;margin:34px 0 0}
.ops .nums div{display:flex;flex-direction:column}
.ops .nums b{font-family:var(--head);font-size:40px;font-weight:700;line-height:1;color:var(--text-strong)}
.ops .nums span{font-size:13px;color:var(--muted)}
.ops .alive{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:16px}
.ops .alive i{width:9px;height:9px;border-radius:50%;background:var(--dim)}
.ops .alive.ok i{background:var(--green)} .ops .alive.bad i{background:var(--red)}

/* Discord chat mock: what Peacekeeper looks like in a server */
.ops .chat{background:#313338;color:#dbdee1;border:2px solid var(--ink);box-shadow:var(--hard);font-family:"Inter",system-ui,sans-serif}
html[data-theme="light"] .ops .chat{background:#ffffff;color:#313338}
.ops .chat-top{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.28);font-weight:600;font-size:14px}
html[data-theme="light"] .ops .chat-top{border-bottom-color:#e3e5e8}
.ops .chat-top .hash{opacity:.55;font-size:20px;font-weight:400;line-height:1}
.ops .chat-top small{margin-left:auto;font-weight:500;font-size:11px;opacity:.55;text-transform:uppercase;letter-spacing:.06em}
.ops .chat-body{padding:8px 0 12px;height:380px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.ops .msg{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:6px 16px;opacity:0;transform:translateY(6px);
  transition:opacity .5s ease,transform .5s ease}
.ops .msg.on{opacity:1;transform:none}
.ops .msg .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:15px;overflow:hidden}
.ops .msg .av img{width:100%;height:100%}
.ops .msg .who{font-weight:600;font-size:14.5px}
.ops .msg .bot{font-size:10px;font-weight:600;background:#5865f2;color:#fff;border-radius:3px;padding:1px 4px;margin-left:5px;vertical-align:2px}
.ops .msg time{font-size:11px;opacity:.5;margin-left:6px}
.ops .msg .txt{font-size:14.5px;line-height:1.4;margin-top:2px;word-wrap:break-word}
.ops .msg .txt s{opacity:.55}
.ops .emb{margin-top:6px;background:#2b2d31;border-left:4px solid var(--accent);border-radius:4px;padding:9px 12px;max-width:430px;font-size:13.5px;line-height:1.45}
html[data-theme="light"] .ops .emb{background:#f2f3f5}
.ops .emb b{display:block;font-size:14px;margin-bottom:2px}
.ops .emb small{display:block;opacity:.6;font-size:11.5px;margin-top:4px}
.ops .emb.red{border-left-color:#f23f43} .ops .emb.amber{border-left-color:#f0b232} .ops .emb.green{border-left-color:#23a55a}
@media (prefers-reduced-motion:reduce){.ops .msg{opacity:1;transform:none;transition:none}}

/* detect -> act -> record as three chevrons */
.ops .flow{display:grid;gap:14px}
@media (min-width:880px){.ops .flow{grid-template-columns:repeat(3,1fr);gap:0}}
.ops .flow > div{padding:30px 34px 30px 30px;background:var(--surface-solid);border:2px solid var(--ink)}
@media (min-width:880px){
  .ops .flow > div{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%,26px 50%);padding:30px 44px 30px 52px;border:0;
    background:var(--surface-solid)}
  .ops .flow > div:first-child{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%);padding-left:30px}
  .ops .flow > div:nth-child(2){background:rgba(var(--accent-rgb),.16)}
  .ops .flow > div:last-child{background:var(--accent);color:var(--on-accent)}
  .ops .flow > div:last-child p,.ops .flow > div:last-child .n{color:var(--on-accent);opacity:.9}
  .ops .flow > div:last-child h3{color:var(--on-accent)}
}
.ops .flow .n{font-family:var(--head);font-weight:700;font-size:16px;letter-spacing:.08em;color:var(--accent-text)}
.ops .flow h3{font-size:34px;text-transform:uppercase;margin:4px 0 8px;color:var(--text-strong);line-height:1}
.ops .flow p{color:var(--muted);margin:0;line-height:1.55;font-size:15px}

/* the loadout: three outlined columns with big numbers */
.ops .loadout{display:grid;gap:22px}
@media (min-width:900px){.ops .loadout{grid-template-columns:repeat(3,1fr)}}
.ops .kit{background:var(--surface-solid);border:2px solid var(--ink);box-shadow:var(--hard);padding:24px 24px 10px}
.ops .kit > h3{font-size:32px;text-transform:uppercase;margin:0 0 6px;color:var(--text-strong);line-height:1}
.ops .kit > p{color:var(--muted);margin:0 0 10px;font-size:14px}
.ops .kit ol{list-style:none;margin:0;padding:0;counter-reset:k}
.ops .kit li{counter-increment:k;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line-2)}
.ops .kit li::before{content:counter(k,decimal-leading-zero);font-family:var(--head);font-weight:700;font-size:26px;line-height:1;color:var(--accent-text)}
.ops .kit li b{display:block;color:var(--text-strong);font-size:15.5px;margin-bottom:2px}
.ops .kit li span{color:var(--muted);font-size:14px;line-height:1.5}

/* reused pieces from pk.css, given the same treatment */
.ops .feat,.ops .step,.ops .plan,.ops .news,.ops .v10,.ops .v10-stats div,.ops .tour{border-radius:0}
.ops .feat,.ops .step{background:var(--surface-solid);border:2px solid var(--ink);box-shadow:var(--hard-sm);-webkit-backdrop-filter:none;backdrop-filter:none}
.ops .feat .ic{display:none}
.ops .feat h3,.ops .step h3{font-size:24px;text-transform:uppercase}
.ops .v10{border:2px solid var(--ink);box-shadow:var(--hard);background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}
.ops .v10::before{display:none}
.ops .v10-stats div{border:2px solid var(--line-2);background:transparent}
.ops .v10-stats b{font-family:var(--head)}
.ops .news{background:var(--surface-solid);border:2px solid var(--ink);box-shadow:var(--hard-sm);-webkit-backdrop-filter:none;backdrop-filter:none}
.ops .news-tag{border-radius:0;font-family:var(--head);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--on-accent)}
.ops .tour{border:2px solid var(--ink);box-shadow:var(--hard)}
.ops .tour video{border-radius:0}
.ops .cta-band{border-radius:0;background:var(--accent);color:var(--on-accent);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);
  text-align:left;padding:46px 44px;-webkit-backdrop-filter:none;backdrop-filter:none}
.ops .cta-band::before,.ops .cta-band::after{display:none}
.ops .cta-band h2{color:var(--on-accent);text-transform:uppercase;font-size:clamp(36px,4.8vw,66px);line-height:.95;margin:0 0 12px}
.ops .cta-band p{color:var(--on-accent);opacity:.9;margin:0 0 24px;max-width:620px}
.ops .cta-band .cta-row{justify-content:flex-start}
.ops .cta-band .cta-btn.primary{background:var(--on-accent);color:var(--accent);box-shadow:4px 4px 0 var(--ink)}
.ops .cta-band .cta-btn.ghost{border-color:var(--on-accent);color:var(--on-accent)}
.ops .faq details{border-radius:0;border:2px solid var(--ink);background:var(--surface-solid);box-shadow:none;margin-bottom:12px;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.ops .faq details[open]{box-shadow:var(--hard-sm)}
.ops .faq summary{font-family:var(--head);font-size:21px;font-weight:700;text-transform:uppercase}
.ops .pill{border-radius:0;background:var(--accent);color:var(--on-accent);font-family:var(--head);font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;transform:skewX(-12deg);border:0}
.ops .hero h1 em{font-style:normal;color:var(--accent-text);background:none;-webkit-text-fill-color:currentColor}

/* pricing comparison table */
.ops .ptable-wrap{overflow-x:auto;border:2px solid var(--ink);box-shadow:var(--hard);background:var(--surface-solid)}
.ops .ptable{width:100%;min-width:560px;border-collapse:collapse}
.ops .ptable th,.ops .ptable td{padding:14px 18px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.ops .ptable thead th{vertical-align:bottom;border-bottom:2px solid var(--ink);padding-top:24px}
.ops .ptable thead .tier{font-family:var(--head);font-size:30px;font-weight:700;text-transform:uppercase;color:var(--text-strong);display:block;line-height:1}
.ops .ptable thead .price{font-family:var(--head);font-size:56px;font-weight:700;line-height:1;color:var(--text-strong);display:block;margin-top:6px}
.ops .ptable thead .price small{font-size:17px;color:var(--muted);font-weight:600;margin-left:4px}
.ops .ptable thead .sub{display:block;font-size:13px;color:var(--muted);margin:6px 0 14px}
.ops .ptable td.c,.ops .ptable th.c{text-align:center;width:22%}
.ops .ptable th.c{text-align:left}
.ops .ptable .pro{background:rgba(var(--accent-rgb),.10)}
.ops .ptable .yes{color:var(--green);font-weight:700;font-size:18px}
.ops .ptable .no{color:var(--dim)}
.ops .ptable .grp td{font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);padding-top:22px}
.ops .ptable tbody tr:last-child td{border-bottom:0}
.ops .ptable thead .sm{display:none}
@media (max-width:640px){.ops .ptable{min-width:0;table-layout:fixed}.ops .ptable th:first-child,.ops .ptable td:first-child{width:50%}
  .ops .ptable td.c,.ops .ptable th.c{width:25%;text-align:center}
  .ops .ptable thead .tier{font-size:20px}.ops .ptable thead .price{font-size:26px}.ops .ptable thead .price small{display:block;font-size:12px;margin:2px 0 0}
  .ops .ptable thead .sub{display:none}.ops .ptable thead .lg{display:none}.ops .ptable thead .sm{display:inline}.ops .ptable thead .cta-btn{padding:8px 6px;font-size:11px;width:100%;justify-content:center;box-shadow:var(--hard-sm)}
  .ops .ptable th,.ops .ptable td{padding:10px 8px;font-size:13px;overflow-wrap:anywhere}}

/* The dark Halloween look for every public page lives in pk-hollow.css (pk-season.js loads it). */

/* Global Ban feed on the home page */
.gbr-feed{background:var(--surface-solid);border:2px solid var(--ink);box-shadow:var(--hard-sm);padding:22px 24px}
.gbr-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 40px;margin-bottom:12px}
.gbr-big b,.gbr-week b{display:block;font-family:var(--head);font-size:clamp(34px,5vw,52px);line-height:1;color:var(--accent-text)}
.gbr-week b{font-size:clamp(24px,3vw,32px);color:var(--text-strong)}
.gbr-big span,.gbr-week span{display:block;margin-top:6px;font-size:13px;color:var(--muted);max-width:340px}
.gbr-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gbr-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.gbr-list time{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}
.gbr-note{margin:12px 0 0;font-size:12.5px;color:var(--muted)}

