/* /updates/frigost release announcement. Builds on the site.css tokens (the site is dark-only) and adds a cold
   "frost" accent: ice blue next to the logo gold. Built by tools/build-frigost-announcement.cjs. */
.fg-page{--frost:#a9d9ff;--frost-soft:#d7eefc;--frost-deep:#16313f;--frost-line:#2f5667;--frost-surface:#122530;--frost-surface-2:#183240;--ember-glow:#e57a2c}
.fg-page main{padding-top:0}
.fg-page .tbc{padding:1px 7px;border-radius:var(--radius-sm);background:#6b2d17;color:#ffd9c2;border:1px dashed #ec8a70;font-weight:700;font-size:.92em;white-space:nowrap}

/* Hero: full-bleed key visual (breaks out of the centred column) */
.fg-hero{position:relative;isolation:isolate;margin-inline:calc(50% - 50vw);padding:clamp(48px,8vw,104px) max(var(--gutter),calc(50vw - var(--page-width)/2 + var(--gutter))) clamp(40px,6vw,80px);min-height:min(78vh,720px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--frost-line)}
.fg-hero-bg{position:absolute;inset:0;z-index:-2}
.fg-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.fg-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07110fee 0%,#0a1716d9 34%,#0c1b1e80 62%,#0c1b1e30 100%),linear-gradient(180deg,#0000 55%,var(--bg) 100%),radial-gradient(ellipse 60% 70% at 78% 40%,#a9d9ff26,transparent 70%)}
.fg-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-6);align-items:center;width:100%;max-width:calc(var(--page-width) - 2*var(--gutter));margin:0 auto}
.fg-hero .eyebrow{color:var(--frost)}
.fg-hero .eyebrow:before{background:var(--frost);box-shadow:0 0 10px #a9d9ffaa}
.fg-hero h1{margin:var(--space-3) 0 var(--space-4);line-height:.95}
.fg-title-main{display:block;font-size:clamp(64px,11vw,132px);letter-spacing:-.02em;background:linear-gradient(180deg,#ffffff 10%,#cde9ff 55%,#7fb8e6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 24px #0009)}
.fg-title-sub{display:block;margin-top:10px;font-size:clamp(22px,3vw,34px);color:var(--accent-soft);font-style:italic;font-weight:600}
.fg-hero .intro{font-size:19px;color:#e2ecef;max-width:560px;text-shadow:0 1px 8px #000a}
.fg-headlines{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:10px;max-width:560px}
.fg-headlines li{position:relative;padding:10px 14px 10px 44px;border:1px solid #a9d9ff33;border-radius:var(--radius);background:#0b1a1fb3;backdrop-filter:blur(4px);color:var(--text-soft);font-size:14.5px;line-height:1.45}
.fg-headlines li:before{content:'';position:absolute;left:16px;top:16px;width:12px;height:12px;transform:rotate(45deg);background:linear-gradient(135deg,#fff,var(--frost));box-shadow:0 0 12px #a9d9ffaa}
.fg-headlines strong{display:block;color:var(--text);font:700 17px/1.3 var(--font-heading)}
.fg-hero-art{position:relative;height:clamp(320px,38vw,480px)}
.fg-portrait{position:absolute;width:min(330px,62%);height:auto;filter:drop-shadow(0 20px 36px #000c)}
.fg-portrait-a{left:0;top:0;animation:fg-float 7s ease-in-out infinite}
.fg-portrait-b{right:0;bottom:0;animation:fg-float 8s ease-in-out -3s infinite}
@keyframes fg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* Snowfall: two layers of tiny radial dots drifting down. Off with reduced motion (site.css). */
.fg-snow{position:absolute;inset:-100px 0 0;z-index:-1;pointer-events:none;opacity:.55;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 140px 80px,#fff,transparent),radial-gradient(1.5px 1.5px at 60px 150px,#fff,transparent),radial-gradient(2.5px 2.5px at 200px 190px,#fffc,transparent),radial-gradient(1.5px 1.5px at 260px 40px,#fff,transparent);background-size:300px 220px;animation:fg-snow 18s linear infinite}
@keyframes fg-snow{to{transform:translateY(220px)}}
@media(prefers-reduced-motion:reduce){.fg-snow,.fg-portrait{animation:none}}

/* Stats strip + contents */
.fg-stats{list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;margin:calc(-1*var(--space-6)) 0 0;padding:0;position:relative;z-index:2;border:1px solid var(--frost-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--frost-line);box-shadow:var(--shadow-lg)}
.fg-stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;background:linear-gradient(180deg,var(--frost-surface-2),var(--frost-surface));color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.fg-stats b{color:var(--frost-soft);font:700 26px/1.1 var(--font-heading);letter-spacing:0;text-transform:none}
.fg-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-6) 0 0}
.fg-toc a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-size:14px;font-weight:600;transition:border-color .15s,color .15s,background .15s}
.fg-toc a:hover{border-color:var(--frost-line);color:var(--frost-soft);background:var(--frost-surface)}

/* Sections */
.fg-section{padding-top:var(--space-8);scroll-margin-top:calc(var(--header-height) + 8px)}
.fg-head{max-width:800px;margin-bottom:var(--space-6)}
.fg-head h2,.fg-section>h2{font-size:var(--fs-2xl);margin:var(--space-2) 0 var(--space-3)}
.lead{font-size:var(--fs-md);line-height:1.6;color:var(--text-soft)}
.fg-section h3{font-size:24px}
.fg-section h4{margin:0;font:700 17px/1.3 var(--font-heading);color:var(--text)}
.fg-sub{margin:var(--space-7) 0 var(--space-4)}
.fg-frost .eyebrow{color:var(--frost)}
.fg-frost .eyebrow:before{background:var(--frost);box-shadow:0 0 10px #a9d9ff88}
.fg-section p a,.fg-section li a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}
.fg-section code{padding:1px 6px;border-radius:5px;background:var(--surface-3);border:1px solid var(--border-soft);color:var(--accent-soft);font-size:.92em}

/* Screenshots (zoomable) */
.fg-shot{margin:0}
.fg-shot img,.fg-zone img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--frost-line);background:#0a1418;box-shadow:var(--shadow)}
.fg-shot figcaption{margin-top:var(--space-2);color:var(--muted);font-size:13.5px;line-height:1.5}
.fg-shot figcaption strong{color:var(--text-soft)}
.fg-zoom{display:block;border-radius:var(--radius);cursor:zoom-in}
.fg-zoom img{transition:transform .25s,box-shadow .25s,border-color .25s}
.fg-zoom:hover img{transform:translateY(-2px);border-color:#5e8ea5;box-shadow:0 18px 40px #000a}

/* Travel */
.fg-travel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-6);align-items:center;padding:var(--space-6);border:1px solid var(--frost-line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--frost-surface-2),var(--surface) 70%);box-shadow:var(--shadow)}
.fg-travel h3{margin-top:0}
.fg-steps{counter-reset:step;list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-3)}
.fg-steps li{counter-increment:step;position:relative;padding-left:48px;color:var(--text-soft)}
.fg-steps li:before{content:counter(step);position:absolute;left:0;top:-2px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-highlight);background:var(--surface-2);color:var(--accent);font:700 16px var(--font-heading)}
.fg-steps strong{color:var(--text)}

/* Zones gallery */
.fg-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-5)}
.fg-zone{margin:0;display:flex;flex-direction:column}
.fg-zone figcaption{padding:var(--space-3) 2px 0;color:var(--muted);font-size:14px;line-height:1.5}
.fg-zone figcaption strong{display:block;color:var(--frost-soft);font:700 18px/1.3 var(--font-heading);margin-bottom:2px}

.fg-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-6);align-items:start;margin-top:var(--space-8)}
.fg-split.fg-reverse{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
.fg-split h3{margin-top:0}
.fg-split p{color:var(--text-soft)}
.fg-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.fg-duo-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--space-6)}

/* Resources */
.fg-resources{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.fg-resources li{display:flex;flex-direction:column;border:1px solid var(--frost-line);border-radius:var(--radius);background:var(--frost-surface);overflow:hidden}
.fg-resources li>img{display:block;width:100%;height:140px;object-fit:cover;object-position:50% 75%}
.fg-resources li>div{position:relative;padding:var(--space-3) var(--space-4) var(--space-4)}
.fg-resources .fg-icon{position:absolute;right:10px;top:-26px;width:48px;height:48px;padding:4px;border-radius:50%;background:var(--frost-surface-2);border:1px solid var(--frost-line)}
.fg-resources p{margin:4px 0 0;font-size:14px;line-height:1.45}
.fg-job{display:inline-block;margin-right:4px;padding:1px 8px;border-radius:var(--radius-pill);background:#1f3b2c;border:1px solid var(--leaf-deep);color:#bfe3a4;font-size:12px;font-weight:700}

/* Bosses */
.fg-bosses{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}
.fg-bosses li{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:var(--space-4);align-items:start;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-raised),var(--surface));box-shadow:var(--shadow-sm);transition:border-color .2s,transform .2s}
.fg-bosses li:hover{border-color:var(--border-highlight);transform:translateY(-2px)}
.fg-boss-art{grid-row:1/4;position:relative;width:96px;height:96px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,#28475a,#0f1e26 70%);border:2px solid var(--frost-line)}
.fg-boss-art>img:first-child{width:80px;height:80px}
.fg-coin{position:absolute;right:-12px;bottom:-6px;width:44px;height:44px;filter:drop-shadow(0 3px 5px #000b)}
.fg-bosses h4{font-size:15.5px}
.fg-bosses h4{margin-top:4px}.fg-bosses p{margin:2px 0 8px;color:var(--muted);font-size:12.5px;line-height:1.35}
.fg-level{justify-self:start;align-self:end;padding:1px 9px;border-radius:var(--radius-pill);background:#3a2f15;border:1px solid var(--border-highlight);color:var(--accent-soft);font-size:12px;font-weight:700}

/* Monsters, sets */
.fg-lineup{margin:0;padding:var(--space-4);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 30%,#f4fbff,#d8ebf5 70%,#bcd7e6);border:1px solid #88b3c9;box-shadow:var(--shadow)}
.fg-lineup img{display:block;width:100%;height:auto}
.fg-lineup figcaption{margin-top:var(--space-2);color:#2b4553;font-size:13.5px;text-align:center}
.fg-sets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--space-4)}
.fg-sets li{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.fg-set-icons{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3)}
.fg-set-icons img{width:52px;height:52px;padding:3px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-soft)}
.fg-map img{background:#e9ddc0}

/* Classes */
.fg-classes-intro{padding-bottom:0}
.fg-classes-intro .fg-head{margin-bottom:0}
.fg-class{--class-a:#f1b53d;--class-b:#3b2a14;margin-top:var(--space-6);padding:var(--space-7) var(--space-6);border-radius:24px;border:1px solid var(--border);background:radial-gradient(ellipse 70% 60% at 0% 0%,var(--class-glow),transparent 70%),linear-gradient(180deg,var(--surface-raised),var(--surface) 60%);box-shadow:var(--shadow)}
.fg-class-rogue{--class-glow:#3f2a4a88;border-color:#4c3a55}
.fg-class-fogger{--class-glow:#5a431d88;border-color:#5c4a2a}
.fg-class-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-6);align-items:center}
.fg-class-art{position:relative;min-height:420px}
.fg-class-portrait{position:absolute;width:min(300px,72%);height:auto;filter:drop-shadow(0 16px 30px #000b)}
.fg-class-portrait:first-child{left:0;top:0}
.fg-class-portrait.fg-second{right:0;bottom:0;width:min(250px,60%)}
.fg-class-title{display:flex;align-items:center;gap:var(--space-4)}
.fg-class-title h2{margin:2px 0 0;font-size:clamp(34px,4.4vw,48px)}
.fg-emblem{width:72px;height:auto;flex:none;filter:drop-shadow(0 4px 10px #000a)}
.fg-rules{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fg-rules li{position:relative;padding-left:22px;color:var(--text-soft);font-size:15px}
.fg-rules li:before{content:'';position:absolute;left:2px;top:9px;width:8px;height:8px;transform:rotate(45deg);background:var(--accent)}
.fg-rules strong{color:var(--text)}
.fg-sprites{margin:var(--space-6) 0 0;padding:var(--space-4) var(--space-4) var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 100%,#3b5a4a,#1d3029 75%);border:1px solid var(--border-strong)}
.fg-sprite-rows img{display:block;width:100%;height:auto}
.fg-sprites figcaption{margin-top:var(--space-2);color:var(--muted);font-size:13px;text-align:center}
.fg-spells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-3)}
.fg-spell{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius);background:#0e1c18b3}
.fg-spell img{flex:none;width:48px;height:48px;border-radius:8px;border:1px solid var(--border-highlight);background:var(--surface-2)}
.fg-spell h4{font-size:16px}
.fg-spell h4 span{margin-left:4px;color:var(--muted);font:600 12px var(--font-body)}
.fg-spell p{margin:3px 0 0;color:var(--text-soft);font-size:13.5px;line-height:1.45}
.fg-turrets{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-3)}
.fg-turrets li{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border-soft);background:#0e1c18b3}
.fg-turrets img{flex:none;width:86px;height:auto;padding:4px;border-radius:var(--radius);background:radial-gradient(circle,#f7f1e1,#d9ccaa)}
.fg-turrets p{margin:2px 0 0;color:var(--text-soft);font-size:14px;line-height:1.45}
.fg-statue{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-6);align-items:center;margin-top:var(--space-7);padding:var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(90deg,#1a2b24,#0f1b17);border:1px solid var(--border)}
.fg-statue-art{width:220px;height:auto;filter:drop-shadow(0 12px 24px #000c)}
.fg-statue h3{margin-top:0}
.fg-statue p{color:var(--text-soft)}
.fg-statue-shots{display:flex;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-3)}
.fg-statue-shots img{width:auto;height:170px;filter:drop-shadow(0 8px 16px #000a)}
.fg-statue-shots img.fg-tall{height:230px}

/* Masqueraider teaser */
.fg-horizon{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-6);align-items:center;margin-top:var(--space-8);padding:var(--space-7) var(--space-6);border-radius:24px;overflow:hidden;border:1px solid #3a3350;background:radial-gradient(ellipse 60% 80% at 25% 60%,#6d5a2a55,transparent 70%),linear-gradient(135deg,#171427,#0d1916)}
.fg-horizon-art img{display:block;width:100%;max-width:340px;height:auto;margin:0 auto;filter:drop-shadow(0 0 40px #f1b53d33) drop-shadow(0 20px 30px #000c) grayscale(.2)}
.fg-horizon h2{font-size:clamp(34px,4.4vw,48px);margin:var(--space-2) 0 var(--space-3)}
.fg-horizon p{color:var(--text-soft)}

/* Achievements */
.fg-ach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.fg-hover{max-width:742px;margin:var(--space-6) auto 0}

/* Improvements + FAQ */
.fg-improve{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--space-4)}
.fg-improve>div{padding:var(--space-5);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--surface)}
.fg-improve>div:nth-child(4n+2){border-top-color:var(--leaf)}
.fg-improve>div:nth-child(4n+3){border-top-color:var(--sky)}
.fg-improve>div:nth-child(4n){border-top-color:var(--frost)}
.fg-improve h3{margin:0 0 var(--space-3);font-size:19px}
.fg-improve ul{margin:0;padding-left:20px}
.fg-improve li{margin:6px 0;color:var(--text-soft);font-size:14.5px}
.fg-improve li::marker{color:var(--accent)}
#improvements>.note{margin-top:var(--space-4)}
.fg-faq{display:grid;gap:var(--space-3);max-width:860px}
.fg-faq details{padding:4px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.fg-faq details[open]{border-color:var(--border-highlight);padding-bottom:var(--space-2)}
.fg-faq summary{font:700 17px/1.4 var(--font-heading);color:var(--text)}
.fg-faq p{color:var(--text-soft)}
.fg-cta{margin-top:var(--space-8);padding:var(--space-7) var(--space-5);text-align:center;border-radius:24px;border:1px solid var(--frost-line);background:radial-gradient(ellipse at 50% 0%,#a9d9ff22,transparent 70%),linear-gradient(180deg,var(--frost-surface-2),var(--surface))}
.fg-cta h2{margin:0 0 var(--space-2);font-size:var(--fs-2xl)}
.fg-cta p{color:var(--text-soft)}
.fg-cta .hero-actions{justify-content:center;margin-bottom:0}

/* Lightbox */
.fg-lightbox{max-width:min(96vw,1240px);max-height:94vh;padding:0;border:1px solid var(--frost-line);border-radius:var(--radius-lg);background:#08110f;color:var(--text);box-shadow:var(--shadow-lg);overflow:hidden}
.fg-lightbox::backdrop{background:#030807d9}
.fg-lightbox img{display:block;max-width:100%;max-height:calc(94vh - 56px);width:auto;height:auto;margin:0 auto}
.fg-lightbox p{margin:0;padding:12px 56px 14px 16px;color:var(--text-soft);font-size:14px}
.fg-close{position:absolute;right:10px;bottom:8px;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text);font-size:22px;line-height:1;cursor:pointer}

/* Responsive */
@media(max-width:960px){
 .fg-hero{min-height:0}
 .fg-hero-inner{grid-template-columns:1fr}
 .fg-hero-art{order:-1;height:clamp(240px,60vw,380px);max-width:520px;width:100%;margin:0 auto}
 .fg-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-5)}
 .fg-bosses{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fg-travel,.fg-split,.fg-split.fg-reverse,.fg-class-head,.fg-horizon{grid-template-columns:1fr}
 .fg-class-art{min-height:0;height:clamp(300px,70vw,440px);max-width:480px;width:100%;margin:0 auto}
 .fg-horizon-art{order:-1}
}
@media(max-width:700px){
 .fg-duo,.fg-duo-3,.fg-ach{grid-template-columns:1fr}
 .fg-resources{grid-template-columns:1fr}
 .fg-class,.fg-horizon{padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg)}
 .fg-travel{padding:var(--space-4)}
 .fg-statue{grid-template-columns:1fr;justify-items:center;text-align:center}
 .fg-statue-art{width:160px}
 .fg-statue-shots{justify-content:center}
 .fg-statue-shots img{height:130px}.fg-statue-shots img.fg-tall{height:170px}
 .fg-faq details{padding:4px 16px}
}
@media(max-width:560px){
 .fg-hero{padding-inline:var(--gutter)}
 .fg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fg-stats b{font-size:22px}
 .fg-bosses{grid-template-columns:1fr}
 .fg-hero .intro{font-size:var(--fs-md)}
 .fg-class-title{gap:var(--space-3)}.fg-emblem{width:56px}
}
@media print{.fg-hero-bg,.fg-snow,.fg-lightbox{display:none}}
