*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}.forge-page{--page-bg:#0b1020;--surface:#111b35;--accent:#85f5df;--ink:#e8f5ff;--accent-soft:#85f5df25;--content-width:1160px;--columns:3;--card-gap:18px;--card-radius:22px;--reveal-duration:700ms;position:relative;min-height:100vh;isolation:isolate;overflow:hidden;background:var(--page-bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.forge-page.font-serif{font-family:Georgia,'Times New Roman',serif}.forge-page.font-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.forge-page.font-display{font-family:Impact,'Arial Narrow',system-ui,sans-serif}.forge-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--background-strength);background:radial-gradient(ellipse 60% 35% at 12% 15%,var(--accent-soft),transparent),radial-gradient(ellipse 50% 40% at 92% 60%,var(--accent-soft),transparent)}.bg-grid .forge-backdrop{background:linear-gradient(var(--accent-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px),radial-gradient(ellipse at top,var(--accent-soft),transparent);background-size:48px 48px,48px 48px,auto}.bg-orbs .forge-backdrop{background:radial-gradient(circle at 15% 18%,var(--accent) 0,transparent 26%),radial-gradient(circle at 82% 55%,var(--accent) 0,transparent 29%);filter:blur(95px);opacity:calc(var(--background-strength)*.22)}.bg-rays .forge-backdrop{background:repeating-conic-gradient(from 0deg at 50% 10%,var(--accent-soft) 0deg 10deg,transparent 10deg 30deg)}.bg-dots .forge-backdrop{background:radial-gradient(var(--accent-soft) 1.5px,transparent 1.5px);background-size:22px 22px}.bg-noise .forge-backdrop{background:repeating-linear-gradient(32deg,transparent 0 4px,var(--accent-soft) 5px 6px,transparent 7px 12px)}.bg-stripes .forge-backdrop{background:repeating-linear-gradient(115deg,transparent 0 40px,var(--accent-soft) 40px 42px)}.bg-none .forge-backdrop{display:none}.forge-shell{max-width:var(--content-width);margin:auto;padding:clamp(32px,6vw,90px) clamp(20px,4vw,40px) 35px}.forge-hero{text-align:center;margin-bottom:clamp(35px,6vw,70px)}.forge-eyebrow,.forge-tag,.forge-card-action{font:700 11px/1.4 ui-sans-serif,system-ui;letter-spacing:.21em}.forge-eyebrow{color:var(--accent)}.forge-hero h1{font-size:clamp(42px,8vw,112px);line-height:.98;letter-spacing:-.065em;margin:19px 0 22px;font-weight:900;overflow-wrap:anywhere}.forge-hero p{font-size:clamp(15px,2vw,19px);opacity:.72;max-width:650px;margin:auto;line-height:1.6}.forge-hero-rule{width:90px;height:3px;background:var(--accent);margin:30px auto 0;border-radius:5px}.forge-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--card-gap)}.forge-reveal{min-width:0;transition:opacity var(--reveal-duration) ease,transform var(--reveal-duration) cubic-bezier(.2,.8,.2,1),filter var(--reveal-duration) ease,clip-path var(--reveal-duration) ease;transition-delay:var(--delay,0ms);opacity:0;transform:translateY(32px)}.forge-reveal.is-visible{opacity:1;transform:none;filter:none;clip-path:inset(0)}.forge-reveal[data-reveal=fade]{transform:none}.forge-reveal[data-reveal=slide-left]{transform:translateX(-65px)}.forge-reveal[data-reveal=slide-right]{transform:translateX(65px)}.forge-reveal[data-reveal=pop]{transform:scale(.68)}.forge-reveal[data-reveal=spin]{transform:rotate(-11deg) scale(.8)}.forge-reveal[data-reveal=flip]{transform:perspective(800px) rotateY(70deg)}.forge-reveal[data-reveal=blur]{filter:blur(3px);transform:none}.forge-reveal[data-reveal=drop]{transform:translateY(-90px)}.forge-reveal[data-reveal=zoom]{transform:scale(1.2)}.forge-reveal[data-reveal=tilt]{transform:translateY(35px) rotate(7deg)}.forge-reveal[data-reveal=wipe]{clip-path:inset(0 100% 0 0);transform:none}.forge-card{display:flex;position:relative;flex-direction:column;min-height:300px;overflow:hidden;isolation:isolate;padding:27px;border:1px solid color-mix(in srgb,var(--item-accent) 28%,transparent);border-radius:var(--card-radius);background:linear-gradient(135deg,var(--item-soft),transparent 80%),color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink);text-decoration:none;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease,background .32s ease;box-shadow:0 18px 45px #0002}.forge-card:focus-visible{outline:3px solid var(--item-accent);outline-offset:4px}.forge-card.shape-sharp{border-radius:2px}.forge-card.shape-pill{border-radius:85px 20px 85px 20px}.forge-card.shape-cut{clip-path:polygon(0 0,calc(100% - 27px) 0,100% 27px,100% 100%,27px 100%,0 calc(100% - 27px));border-radius:0}.forge-card.shape-organic{border-radius:36% 8% 28% 9% / 13% 31% 8% 23%}.forge-card.shape-ticket{clip-path:polygon(0 0,100% 0,100% 44%,95% 50%,100% 56%,100% 100%,0 100%,0 56%,5% 50%,0 44%);border-radius:0}.forge-card-art{position:absolute;inset:0;overflow:hidden;z-index:-1}.forge-art-ring{position:absolute;width:180px;height:180px;border:22px solid var(--item-soft);border-radius:50%;top:-45px;right:-40px;box-shadow:0 0 70px var(--item-soft)}.forge-art-star{position:absolute;right:18px;bottom:5px;font-size:130px;line-height:1;color:var(--item-accent);opacity:.12;transform:rotate(-15deg)}.forge-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1}.forge-tag{display:inline-flex;padding:7px 10px;background:var(--item-soft);color:var(--item-accent);border-radius:6px;margin-bottom:auto}.forge-card-title{font-size:clamp(24px,2.5vw,35px);line-height:1.08;letter-spacing:-.045em;margin-top:40px;overflow-wrap:anywhere}.forge-description{opacity:.72;font-size:14px;line-height:1.5;margin:12px 0 28px}.forge-card-action{margin-top:auto;display:flex;gap:12px;align-items:center;color:var(--item-accent)}.forge-card-action span{font-size:23px}.forge-card.hover-lift:hover{transform:translateY(-9px);box-shadow:0 27px 60px #0005}.forge-card.hover-glow:hover{box-shadow:0 0 38px var(--item-soft),inset 0 0 45px var(--item-soft);border-color:var(--item-accent)}.forge-card.hover-tilt:hover{transform:perspective(700px) rotateX(4deg) rotateY(-5deg) scale(1.025)}.forge-card.hover-pulse:hover{animation:forge-pulse .9s ease-in-out infinite alternate}.forge-card.hover-invert:hover{background:var(--item-accent);color:var(--page-bg)}.forge-card.hover-invert:hover .forge-card-action,.forge-card.hover-invert:hover .forge-tag{color:var(--page-bg)}.forge-card.hover-slide:hover .forge-art-ring{transform:translate(-70px,80px);transition:transform .4s}.style-solid .forge-card{background:var(--surface)}.style-outline .forge-card{background:transparent;border-width:2px}.style-brutal .forge-card{background:var(--surface);border:3px solid var(--item-accent);box-shadow:8px 8px 0 var(--item-accent)}.style-minimal .forge-card{background:transparent;border-color:color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:none}.style-gradient .forge-card{background:linear-gradient(135deg,var(--item-soft),var(--surface) 70%)}.forge-footer{text-align:center;margin-top:60px;font-size:12px;opacity:.45;letter-spacing:.1em}@keyframes forge-pulse{to{box-shadow:0 0 38px var(--item-accent)}}@media(max-width:980px){.forge-grid{grid-template-columns:repeat(min(2,var(--columns)),minmax(0,1fr))}}@media(max-width:620px){.forge-grid{grid-template-columns:1fr}.forge-shell{padding:38px 18px}.forge-card{min-height:240px}.forge-hero h1{font-size:clamp(39px,12vw,70px)}.forge-card.hover-pulse:hover{animation:none}}@media(hover:none){.forge-card.hover-lift:hover,.forge-card.hover-tilt:hover{transform:none}.forge-card.hover-pulse:hover{animation:none}.forge-card.hover-glow:hover{box-shadow:0 18px 45px #0002}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.forge-reveal{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}
/* FORGE 2.0 Design Universe: shared public, editor and standalone export. */
.forge-page.font-rounded{font-family:'Trebuchet MS',Verdana,system-ui,sans-serif}.forge-page.font-editorial{font-family:Didot,'Bodoni MT',Georgia,serif}.forge-page.font-condensed{font-family:'Arial Narrow',Impact,system-ui,sans-serif;font-stretch:condensed}.forge-page.font-typewriter{font-family:'Courier New',monospace}
.bg-checker .forge-backdrop{background:conic-gradient(var(--accent-soft) 25%,transparent 0 50%,var(--accent-soft) 0 75%,transparent 0);background-size:56px 56px}.bg-mesh .forge-backdrop{background:radial-gradient(at 10% 10%,var(--accent-soft),transparent 55%),radial-gradient(at 90% 15%,var(--accent-soft),transparent 45%),radial-gradient(at 40% 95%,var(--accent-soft),transparent 50%)}.bg-halftone .forge-backdrop{background:radial-gradient(circle,var(--accent) 1.5px,transparent 2px);background-size:16px 16px;mask-image:linear-gradient(135deg,#000,transparent 95%)}.bg-crosshatch .forge-backdrop{background:repeating-linear-gradient(45deg,var(--accent-soft) 0 1px,transparent 1px 17px),repeating-linear-gradient(-45deg,var(--accent-soft) 0 1px,transparent 1px 17px)}.bg-sunburst .forge-backdrop{background:repeating-conic-gradient(from 0deg at 50% 30%,var(--accent-soft) 0 6deg,transparent 6deg 18deg)}.bg-diagonal .forge-backdrop{background:repeating-linear-gradient(130deg,var(--accent-soft) 0 4px,transparent 4px 42px)}.bg-circuit .forge-backdrop{background:linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px),linear-gradient(var(--accent-soft) 1px,transparent 1px);background-size:70px 70px;transform:skewY(-8deg) scale(1.2)}.bg-paper .forge-backdrop{background:repeating-linear-gradient(0deg,transparent 0 30px,var(--accent-soft) 30px 31px)}.bg-spotlight .forge-backdrop{background:radial-gradient(ellipse 38% 65% at 50% 15%,var(--accent),transparent 100%);opacity:calc(var(--background-strength)*.17)}.bg-zigzag .forge-backdrop{background:linear-gradient(135deg,var(--accent-soft) 25%,transparent 25%) -20px 0,linear-gradient(225deg,var(--accent-soft) 25%,transparent 25%) -20px 0,linear-gradient(315deg,var(--accent-soft) 25%,transparent 25%),linear-gradient(45deg,var(--accent-soft) 25%,transparent 25%);background-size:40px 40px}.bg-diamonds .forge-backdrop{background:repeating-linear-gradient(45deg,transparent 0 40px,var(--accent-soft) 40px 41px,transparent 41px 80px),repeating-linear-gradient(-45deg,transparent 0 40px,var(--accent-soft) 40px 41px,transparent 41px 80px)}.bg-blueprint .forge-backdrop{background:linear-gradient(var(--accent-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px),linear-gradient(var(--accent-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}
.forge-card.shape-hex{clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%);border-radius:0}.forge-card.shape-octagon{clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%);border-radius:0}.forge-card.shape-diamond{clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%);border-radius:0}.forge-card.shape-arch{border-radius:48% 48% 12px 12px}.forge-card.shape-notch{clip-path:polygon(0 0,40% 0,50% 9%,60% 0,100% 0,100% 100%,0 100%);border-radius:0}.forge-card.shape-wave{border-radius:15% 35% 12% 30% / 15% 12% 35% 18%}.forge-card.shape-blob{border-radius:42% 58% 32% 68% / 55% 35% 65% 45%}.forge-card.shape-slope{clip-path:polygon(0 12%,100% 0,100% 88%,0 100%);border-radius:0}.forge-card.shape-bevel{clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px);border-radius:0}.forge-card.shape-shield{clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);border-radius:0}.forge-card.shape-stamp{border:5px dashed var(--item-accent);border-radius:8px}.forge-card.shape-squircle{border-radius:35% / 28%}.forge-card.shape-leaf{border-radius:0 60% 0 60%}.forge-card.shape-burst{clip-path:polygon(0 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%);border-radius:0}
.style-neon .forge-card{background:linear-gradient(145deg,var(--surface),var(--page-bg));border:2px solid var(--item-accent);box-shadow:0 0 calc(24px * var(--design-intensity)) var(--item-soft),inset 0 0 25px var(--item-soft)}.style-comic .forge-card{border:4px solid var(--item-accent);background:linear-gradient(130deg,var(--item-soft),var(--surface));box-shadow:9px 9px 0 var(--item-accent);transform-origin:center}.style-comic .forge-card-title{font-family:Impact,'Arial Black',sans-serif;letter-spacing:.02em;text-shadow:3px 3px 0 var(--page-bg)}.style-deco .forge-card{border:4px double var(--item-accent);background:linear-gradient(160deg,var(--surface),var(--page-bg));outline:1px solid var(--item-accent);outline-offset:-12px}.style-deco .forge-card-title{font-family:Georgia,serif;letter-spacing:.06em}.style-industrial .forge-card{background:repeating-linear-gradient(135deg,transparent 0 14px,var(--item-soft) 14px 15px),var(--surface);border:3px solid var(--item-accent);border-radius:3px}.style-industrial .forge-tag{border:1px solid var(--item-accent)}.style-holographic .forge-card{background:linear-gradient(125deg,var(--item-soft),var(--surface) 40%,var(--item-soft) 75%,var(--surface));border:1px solid var(--item-accent);box-shadow:inset 0 0 45px var(--item-soft),0 15px 40px #0003}.style-gothic .forge-card{border:3px double var(--item-accent);border-radius:48% 48% 6px 6px;background:linear-gradient(0deg,var(--page-bg),var(--surface))}.style-gothic .forge-card-title{font-family:Georgia,serif;font-variant:small-caps}.style-retro .forge-card{background:linear-gradient(180deg,var(--item-soft),var(--surface));border:3px solid var(--item-accent);box-shadow:6px 6px 0 var(--page-bg),9px 9px 0 var(--item-accent)}.style-retro .forge-card-title{font-family:'Courier New',monospace}.style-organic .forge-card{border-radius:28% 8% 24% 10% / 9% 25% 12% 20%;background:radial-gradient(ellipse at top right,var(--item-soft),transparent 75%),var(--surface)}.style-paper .forge-card{background:var(--surface);border:1px solid var(--item-accent);box-shadow:4px 5px 0 var(--item-soft);border-radius:3px}.style-cyber .forge-card{background:linear-gradient(145deg,var(--page-bg),var(--surface));border:2px solid var(--item-accent);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));border-radius:0}.style-cyber .forge-card-title{font-family:monospace;text-transform:uppercase}.style-luxury .forge-card{background:linear-gradient(130deg,var(--surface),var(--page-bg));border:1px solid var(--item-accent);box-shadow:inset 0 0 0 7px var(--surface),inset 0 0 0 8px var(--item-accent)}.style-luxury .forge-card-title{font-family:Georgia,serif;font-weight:400;letter-spacing:.06em}.style-terminal .forge-card{background:var(--page-bg);border:1px solid var(--item-accent);box-shadow:inset 0 0 35px var(--item-soft)}.style-terminal .forge-card-title,.style-terminal .forge-tag{font-family:monospace;letter-spacing:0}
.forge-card.texture-grain::after,.forge-card.texture-lines::after,.forge-card.texture-dots::after,.forge-card.texture-checker::after,.forge-card.texture-hatch::after,.forge-card.texture-scanlines::after,.forge-card.texture-speckles::after,.forge-card.texture-woven::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;opacity:calc(.35 * var(--design-intensity))}.forge-card.texture-grain::after{background:repeating-linear-gradient(67deg,transparent 0 3px,var(--item-soft) 3px 4px)}.forge-card.texture-lines::after{background:repeating-linear-gradient(0deg,transparent 0 14px,var(--item-accent) 14px 15px)}.forge-card.texture-dots::after{background:radial-gradient(var(--item-accent) 1px,transparent 1px);background-size:13px 13px}.forge-card.texture-checker::after{background:conic-gradient(var(--item-accent) 25%,transparent 0 50%,var(--item-accent) 0 75%,transparent 0);background-size:34px 34px}.forge-card.texture-hatch::after{background:repeating-linear-gradient(45deg,var(--item-accent) 0 1px,transparent 1px 16px)}.forge-card.texture-scanlines::after{background:repeating-linear-gradient(0deg,var(--item-accent) 0 1px,transparent 1px 5px)}.forge-card.texture-speckles::after{background:radial-gradient(var(--item-accent) 1px,transparent 2px);background-size:9px 17px}.forge-card.texture-woven::after{background:repeating-linear-gradient(0deg,var(--item-accent) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,var(--item-accent) 0 1px,transparent 1px 18px)}
.forge-card.decor-none .forge-card-art{display:none}.forge-card.decor-star .forge-art-ring,.forge-card.decor-cross .forge-art-ring,.forge-card.decor-sun .forge-art-ring,.forge-card.decor-bars .forge-art-ring{display:none}.forge-card.decor-cross .forge-art-star{font-size:150px}.forge-card.decor-cross .forge-art-star::first-letter{color:var(--item-accent)}.forge-card.decor-orbit .forge-art-ring{width:240px;height:110px;border-width:5px;transform:rotate(-35deg);top:15px;right:-40px}.forge-card.decor-sun .forge-art-star{font-size:160px;opacity:.22}.forge-card.decor-bars .forge-art-star{font-family:monospace;font-size:100px;opacity:.25}
@media(hover:none){.style-comic .forge-card:hover{transform:none}}@media(prefers-reduced-motion:reduce){.forge-card{animation:none!important}}

/* Readability and card text alignment: scoped to the shared renderer (preview, public, export). */
.forge-card.align-center .forge-card-body{align-items:center;text-align:center}
.forge-card.align-center .forge-tag{align-self:center}
.forge-card.align-center .forge-card-action{justify-content:center}
.forge-card.align-right .forge-card-body{align-items:flex-end;text-align:right}
.forge-card.align-right .forge-tag{align-self:flex-end}
.forge-card.align-right .forge-card-action{justify-content:flex-end}
/* Avoid blur on the readable card itself: the reveal wrapper is allowed only a subtle initial blur. */
.forge-reveal[data-reveal="blur"]{filter:blur(3px)}
.forge-reveal[data-reveal="blur"].is-visible{filter:none}

/* FORGE 2.0 visibility safety: no animation must ever be required to see content.
   Higher specificity also makes every reveal preset finish at its neutral transform. */
.forge-page:not(.forge-motion-ready) .forge-reveal,
.forge-page .forge-reveal.is-visible[data-reveal]{
  opacity:1; transform:none; filter:none; clip-path:inset(0);
}

/* Maximum Diversity: per-card styles override global family */
.forge-card.card-style-solid{background:var(--surface)}
.forge-card.card-style-outline{background:transparent;border-width:2px}
.forge-card.card-style-brutal{background:var(--surface);border:3px solid var(--item-accent);box-shadow:8px 8px 0 var(--item-accent)}
.forge-card.card-style-minimal{background:transparent;border-color:color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:none}
.forge-card.card-style-gradient{background:linear-gradient(135deg,var(--item-soft),var(--surface) 70%)}
.forge-card.card-style-neon{background:linear-gradient(145deg,var(--surface),var(--page-bg));border:2px solid var(--item-accent);box-shadow:0 0 calc(24px * var(--design-intensity)) var(--item-soft),inset 0 0 25px var(--item-soft)}
.forge-card.card-style-comic{border:4px solid var(--item-accent);background:linear-gradient(130deg,var(--item-soft),var(--surface));box-shadow:9px 9px 0 var(--item-accent);transform-origin:center}
.forge-card.card-style-comic .forge-card-title{font-family:Impact,'Arial Black',sans-serif;letter-spacing:.02em;text-shadow:3px 3px 0 var(--page-bg)}
.forge-card.card-style-deco{border:4px double var(--item-accent);background:linear-gradient(160deg,var(--surface),var(--page-bg));outline:1px solid var(--item-accent);outline-offset:-12px}
.forge-card.card-style-deco .forge-card-title{font-family:Georgia,serif;letter-spacing:.06em}
.forge-card.card-style-industrial{background:repeating-linear-gradient(135deg,transparent 0 14px,var(--item-soft) 14px 15px),var(--surface);border:3px solid var(--item-accent);border-radius:3px}
.forge-card.card-style-industrial .forge-tag{border:1px solid var(--item-accent)}
.forge-card.card-style-holographic{background:linear-gradient(125deg,var(--item-soft),var(--surface) 40%,var(--item-soft) 75%,var(--surface));border:1px solid var(--item-accent);box-shadow:inset 0 0 45px var(--item-soft),0 15px 40px #0003}
.forge-card.card-style-gothic{border:3px double var(--item-accent);border-radius:48% 48% 6px 6px;background:linear-gradient(0deg,var(--page-bg),var(--surface))}
.forge-card.card-style-gothic .forge-card-title{font-family:Georgia,serif;font-variant:small-caps}
.forge-card.card-style-retro{background:linear-gradient(180deg,var(--item-soft),var(--surface));border:3px solid var(--item-accent);box-shadow:6px 6px 0 var(--page-bg),9px 9px 0 var(--item-accent)}
.forge-card.card-style-retro .forge-card-title{font-family:'Courier New',monospace}
.forge-card.card-style-organic{border-radius:28% 8% 24% 10% / 9% 25% 12% 20%;background:radial-gradient(ellipse at top right,var(--item-soft),transparent 75%),var(--surface)}
.forge-card.card-style-paper{background:var(--surface);border:1px solid var(--item-accent);box-shadow:4px 5px 0 var(--item-soft);border-radius:3px}
.forge-card.card-style-cyber{background:linear-gradient(145deg,var(--page-bg),var(--surface));border:2px solid var(--item-accent);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));border-radius:0}
.forge-card.card-style-cyber .forge-card-title{font-family:monospace;text-transform:uppercase}
.forge-card.card-style-luxury{background:linear-gradient(130deg,var(--surface),var(--page-bg));border:1px solid var(--item-accent);box-shadow:inset 0 0 0 7px var(--surface),inset 0 0 0 8px var(--item-accent)}
.forge-card.card-style-luxury .forge-card-title{font-family:Georgia,serif;font-weight:400;letter-spacing:.06em}
.forge-card.card-style-terminal{background:var(--page-bg);border:1px solid var(--item-accent);box-shadow:inset 0 0 35px var(--item-soft)}
.forge-card.card-style-terminal .forge-card-title,.forge-card.card-style-terminal .forge-tag{font-family:monospace;letter-spacing:0}
.forge-card.card-style-comic:hover{transform:none}

/* MOTION UNIVERSE: reveal on wrapper, hover on card, ambient on decorative art only */
.forge-card{transition-duration:var(--hover-duration,320ms)}
.forge-reveal[data-reveal="swing"]{transform:translateY(35px) rotate(-9deg)}
.forge-reveal[data-reveal="skew"]{transform:translateX(-38px) skewX(-13deg)}
.forge-reveal[data-reveal="fold"]{transform:perspective(900px) rotateX(-65deg);transform-origin:top center}
.forge-reveal[data-reveal="float-in"]{transform:translateY(85px) scale(.94)}
.forge-reveal[data-reveal="stretch"]{transform:scaleX(.65) scaleY(.9)}
.forge-reveal[data-reveal="bounce-in"]{transform:translateY(55px) scale(.85)}
.forge-reveal[data-reveal="rotate-in"]{transform:rotate(-22deg) scale(.72)}
.forge-reveal[data-reveal="swoop"]{transform:translate(-70px,70px) rotate(-8deg)}
.forge-reveal[data-reveal="flash"]{transform:none;opacity:0}
.forge-reveal[data-reveal="soft-blur"]{filter:blur(2px);transform:translateY(12px)}
.forge-page .forge-reveal.is-visible[data-reveal]{opacity:1;transform:none;filter:none;clip-path:inset(0)}
.forge-card.hover-bounce:hover{transform:translateY(-10px) scale(1.035)}
.forge-card.hover-grow:hover{transform:scale(1.055)}
.forge-card.hover-outline:hover{outline:3px solid var(--item-accent);outline-offset:-7px}
.forge-card.hover-shine:hover{box-shadow:0 0 28px var(--item-soft),inset 0 0 35px var(--item-soft);border-color:var(--item-accent)}
.forge-card.hover-float:hover{transform:translateY(-6px) rotate(1.5deg)}
.forge-card.hover-magnet:hover{transform:translate(4px,-5px) rotate(-1deg)}
.forge-card.ambient-drift .forge-art-ring{animation:forge-ambient-drift calc(8s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.ambient-orbit .forge-art-ring{animation:forge-ambient-orbit calc(13s * var(--ambient-speed,1)) linear infinite}
.forge-card.ambient-breathe .forge-art-ring{animation:forge-ambient-breathe calc(5s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.ambient-twinkle .forge-art-star{animation:forge-ambient-twinkle calc(3.5s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.ambient-shimmer .forge-art-ring{animation:forge-ambient-shimmer calc(5s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.ambient-bob .forge-art-star{animation:forge-ambient-bob calc(4s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.ambient-spin-slow .forge-art-ring{animation:forge-ambient-orbit calc(22s * var(--ambient-speed,1)) linear infinite}
.forge-card.ambient-wave .forge-art-star{animation:forge-ambient-wave calc(5s * var(--ambient-speed,1)) ease-in-out infinite alternate}
.forge-card.forge-clicked::after{content:"";position:absolute;inset:0;border:3px solid var(--item-accent);border-radius:inherit;pointer-events:none;animation:forge-click-feedback .45s ease-out both}
@keyframes forge-ambient-drift{to{transform:translate(-32px,26px)}}
@keyframes forge-ambient-orbit{to{transform:rotate(360deg)}}
@keyframes forge-ambient-breathe{to{transform:scale(1.3);opacity:.5}}
@keyframes forge-ambient-twinkle{to{opacity:.38;transform:rotate(9deg) scale(1.15)}}
@keyframes forge-ambient-shimmer{to{filter:brightness(1.6);opacity:.55}}
@keyframes forge-ambient-bob{to{transform:translateY(-18px) rotate(7deg)}}
@keyframes forge-ambient-wave{to{transform:rotate(18deg) translateX(-12px)}}
@keyframes forge-click-feedback{from{opacity:.9;transform:scale(.95)}to{opacity:0;transform:scale(1.08)}}
@media(hover:none){.forge-card.hover-bounce:hover,.forge-card.hover-grow:hover,.forge-card.hover-float:hover,.forge-card.hover-magnet:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.forge-card .forge-art-ring,.forge-card .forge-art-star{animation:none!important}.forge-card.forge-clicked::after{animation:none!important;display:none}}


/* Layout Universe: layout affects placement only; card and motion renderers stay shared. */
.forge-page.layout-classic .forge-grid{grid-auto-flow:row}
.forge-page.layout-editorial .forge-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.forge-page.layout-editorial .forge-reveal{grid-column:span 4}
.forge-page.layout-editorial .forge-reveal:nth-child(7n+1),.forge-page.layout-editorial .forge-reveal:nth-child(7n+5){grid-column:span 8}
.forge-page.layout-mosaic .forge-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense}
.forge-page.layout-mosaic .forge-reveal{grid-column:span 2}
.forge-page.layout-mosaic .forge-reveal:nth-child(8n+1),.forge-page.layout-mosaic .forge-reveal:nth-child(8n+6){grid-column:span 4}
.forge-page.layout-feature .forge-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.forge-page.layout-feature .forge-reveal{grid-column:span 2}
.forge-page.layout-feature .forge-reveal:first-child{grid-column:1/-1}
.forge-page.layout-feature .forge-reveal:first-child .forge-card{min-height:310px}
.forge-page.layout-feature .forge-reveal:first-child .forge-card-title{font-size:clamp(2rem,5vw,4rem)}
.forge-page.layout-compact .forge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,var(--card-gap),18px)}
.forge-page.layout-compact .forge-card{min-height:170px;padding:16px}
.forge-page.layout-compact .forge-card-title{font-size:clamp(1rem,1.6vw,1.35rem)}
.forge-page.layout-compact .forge-card-art{opacity:.4}
.forge-page.layout-staggered .forge-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start}
.forge-page.layout-staggered .forge-reveal{grid-column:span 2}
.forge-page.layout-staggered .forge-reveal:nth-child(3n+2){margin-top:55px}
.forge-page.layout-showcase .forge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.forge-page.layout-showcase .forge-card{min-height:330px}
.forge-page.layout-showcase .forge-card-title{font-size:clamp(1.5rem,2.6vw,2.8rem)}
.forge-page.layout-list .forge-grid{grid-template-columns:minmax(0,1fr);max-width:900px;margin-inline:auto}
.forge-page.layout-list .forge-card{min-height:110px;padding:18px 28px}
.forge-page.layout-list .forge-card-body{gap:6px}
.forge-page.layout-list .forge-card-title{font-size:clamp(1.2rem,2vw,1.8rem)}
.forge-page.layout-list .forge-card-art{opacity:.28}
.forge-page.layout-gallery .forge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,var(--card-gap),28px)}
.forge-page.layout-gallery .forge-reveal:nth-child(5n+1){grid-column:span 2}
.forge-page.layout-gallery .forge-card{min-height:290px}
/* Breakpoints for real mobile pages and tablet. */
@media(max-width:900px){
 .forge-page.layout-editorial .forge-reveal,.forge-page.layout-mosaic .forge-reveal,.forge-page.layout-feature .forge-reveal,.forge-page.layout-staggered .forge-reveal{grid-column:span 3}
 .forge-page.layout-editorial .forge-reveal:nth-child(7n+1),.forge-page.layout-editorial .forge-reveal:nth-child(7n+5),.forge-page.layout-mosaic .forge-reveal:nth-child(8n+1),.forge-page.layout-mosaic .forge-reveal:nth-child(8n+6){grid-column:span 6}
 .forge-page.layout-compact .forge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .forge-page.layout-gallery .forge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .forge-page.layout-staggered .forge-reveal:nth-child(3n+2){margin-top:0}
}
@media(max-width:640px){
 .forge-page[class*="layout-"] .forge-grid{grid-template-columns:minmax(0,1fr)}
 .forge-page[class*="layout-"] .forge-reveal,.forge-page.layout-feature .forge-reveal:first-child,.forge-page.layout-gallery .forge-reveal:nth-child(5n+1){grid-column:1/-1;margin-top:0}
 .forge-page.layout-feature .forge-reveal:first-child .forge-card,.forge-page.layout-showcase .forge-card,.forge-page.layout-gallery .forge-card{min-height:unset}
 .forge-page.layout-feature .forge-reveal:first-child .forge-card-title{font-size:clamp(1.4rem,7vw,2.3rem)}
}
/* Admin's simulated phone is a narrow container in a wide desktop viewport. */
.preview-frame.phone .forge-page[class*="layout-"] .forge-grid{grid-template-columns:minmax(0,1fr)!important}
.preview-frame.phone .forge-page[class*="layout-"] .forge-reveal{grid-column:1/-1!important;margin-top:0!important}
.preview-frame.phone .forge-page.layout-feature .forge-reveal:first-child .forge-card,.preview-frame.phone .forge-page.layout-showcase .forge-card,.preview-frame.phone .forge-page.layout-gallery .forge-card{min-height:unset}

/* Card-specific image backgrounds: override theme and hover backgrounds, keep text legible. */
.forge-page .forge-card.has-card-image{color:#fff;text-shadow:0 1px 5px #000b}
.forge-page .forge-card.has-card-image .forge-description{opacity:.95}
.forge-page .forge-card.has-card-image .forge-tag{background:rgba(0,0,0,.55);color:#fff}
.forge-page .forge-card.has-card-image .forge-card-action{color:#fff}
.forge-page .forge-card.has-card-image .forge-card-art{opacity:.25}

/* Flat Pop: true flat-color cards, no gradient, no thick outlines.
   This shared stylesheet is used by the editor, public site and standalone exports. */
.forge-page.style-flat-pop .forge-card,
.forge-page .forge-card.style-flat-pop{background:var(--item-accent);color:var(--page-bg);border:1px solid transparent;box-shadow:none;text-shadow:none}
.forge-page.style-flat-pop .forge-card .forge-card-title,
.forge-page .forge-card.style-flat-pop .forge-card-title{color:inherit;text-shadow:none}
.forge-page.style-flat-pop .forge-card .forge-description,
.forge-page .forge-card.style-flat-pop .forge-description{opacity:.88}
.forge-page.style-flat-pop .forge-card .forge-tag,
.forge-page .forge-card.style-flat-pop .forge-tag{background:var(--page-bg);color:var(--item-accent)}
.forge-page.style-flat-pop .forge-card .forge-card-action,
.forge-page .forge-card.style-flat-pop .forge-card-action{color:var(--page-bg)}
.forge-page.style-flat-pop .forge-card:hover,
.forge-page .forge-card.style-flat-pop:hover{box-shadow:0 13px 24px #0003}
/* Image cards always retain their original image contrast handling. */
.forge-page.style-flat-pop .forge-card.has-card-image,
.forge-page .forge-card.style-flat-pop.has-card-image{color:#fff;text-shadow:0 1px 5px #000b}
.forge-page.style-flat-pop .forge-card.has-card-image .forge-tag,
.forge-page .forge-card.style-flat-pop.has-card-image .forge-tag{background:rgba(0,0,0,.55);color:#fff}
.forge-page.style-flat-pop .forge-card.has-card-image .forge-card-action,
.forge-page .forge-card.style-flat-pop.has-card-image .forge-card-action{color:#fff}

/* Category Universe: same DOM and styles in admin, public site and static export. */
.forge-category-section+.forge-category-section{margin-top:clamp(36px,5vw,70px)}
.forge-category-heading{font-size:clamp(22px,3vw,38px);line-height:1.15;letter-spacing:-.035em;margin:0 0 22px;color:var(--ink);overflow-wrap:anywhere}
.forge-category-heading:before{content:'';display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--accent);margin-right:12px;vertical-align:middle}
.forge-category-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px}
.forge-category-tab{font:700 13px/1.3 inherit;font-family:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--accent);border-radius:999px;padding:12px 19px;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.forge-category-tab:hover{transform:translateY(-3px);box-shadow:0 7px 22px var(--accent-soft)}
.forge-category-tab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.forge-category-tab.is-active{background:var(--accent);color:var(--page-bg)}
.forge-category-panel[hidden]{display:none!important}
.category-style-underline .forge-category-tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}
.category-style-underline .forge-category-tab.is-active{border-bottom-color:var(--accent);color:var(--accent);background:transparent}
.category-style-underline .forge-category-heading:before{border-radius:0;width:28px;height:4px}
.category-style-block .forge-category-tab{border-radius:4px;box-shadow:4px 4px 0 var(--accent)}
.category-style-block .forge-category-heading{border-left:7px solid var(--accent);padding:10px 18px;background:var(--accent-soft)}
.category-style-block .forge-category-heading:before{display:none}
@media(max-width:620px){.forge-category-tabs{justify-content:flex-start}.forge-category-tab{padding:10px 13px}}

/* FORGE Text Motion Universe: per-element entrance effects */
.forge-text-enter{opacity:0;transition:opacity .75s ease,transform .75s cubic-bezier(.18,.8,.2,1),filter .75s ease}
.forge-text-enter.forge-text-rise{transform:translateY(22px)}
.forge-text-enter.forge-text-slide{transform:translateX(-32px)}
.forge-text-enter.forge-text-zoom{transform:scale(.88)}
.forge-text-enter.forge-text-shown{opacity:1;transform:none;filter:none}
.forge-hero [data-forge-text]{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.forge-text-enter{opacity:1!important;transform:none!important;transition:none!important}}

/* FORGE Effect Layers Universe: independent composable paint layers. */
.forge-fx{--fx-power:.65;--fx-x:50%;--fx-y:50%;isolation:isolate;position:relative;transition:box-shadow .3s ease,filter .3s ease,transform var(--hover-duration,250ms) ease}
.forge-fx::before,.forge-fx::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0}
.forge-fx.fx-glow:hover{box-shadow:0 0 calc(12px + 30px * var(--fx-power)) color-mix(in srgb,var(--item-accent) 65%,transparent),0 0 calc(24px + 55px * var(--fx-power)) color-mix(in srgb,var(--item-accent) 28%,transparent)}
.forge-fx.fx-cursor::before{background:radial-gradient(circle at var(--fx-x) var(--fx-y),color-mix(in srgb,var(--item-accent) 65%,transparent),transparent 43%);mix-blend-mode:screen;transition:opacity .2s}
.forge-fx.fx-cursor:hover::before{opacity:calc(.12 + var(--fx-power)*.45)}
.forge-fx.fx-shine::after{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.06) 43%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.06) 57%,transparent 70%);background-size:250% 100%;background-position:130% 0}
.forge-fx.fx-shine:hover::after{opacity:calc(.25 + var(--fx-power)*.7);animation:forge-fx-shine 1.15s ease both}
.forge-fx.fx-spin:hover .forge-art-ring{animation:forge-fx-spin 2.2s linear infinite}
.forge-fx.fx-float .forge-card-art{animation:forge-fx-float 3.5s ease-in-out infinite alternate}
.forge-fx.fx-pulse:hover .forge-card-action{animation:forge-fx-pulse 1s ease-in-out infinite alternate;text-shadow:0 0 12px var(--item-accent)}
.forge-fx.fx-spark:hover .forge-art-star{animation:forge-fx-spark .75s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px var(--item-accent))}
@keyframes forge-fx-shine{from{background-position:130% 0}to{background-position:-120% 0}}
@keyframes forge-fx-spin{to{rotate:360deg}}
@keyframes forge-fx-float{to{translate:0 -9px}}
@keyframes forge-fx-pulse{to{scale:1.08;opacity:.65}}
@keyframes forge-fx-spark{to{scale:1.35;rotate:18deg}}
@media(hover:none),(pointer:coarse){.forge-fx.fx-float .forge-card-art{animation:none}.forge-fx.fx-cursor::before{display:none}}
@media(prefers-reduced-motion:reduce){.forge-fx,.forge-fx::before,.forge-fx::after,.forge-fx .forge-card-art,.forge-fx .forge-art-ring,.forge-fx .forge-art-star,.forge-fx .forge-card-action{animation:none!important;transition:none!important}}
