/*!
 * @techystuff/feature-cards — CMS-agnostic <feature-cards> Web Component
 * Copyright © 2026 Humza Butt. All rights reserved.
 * SPDX-License-Identifier: AGPL-3.0-only
 *
 * Demo page theme token layer — every `[data-page-theme]` block MUST define
 * the full `--page-*` set listed in `.cursor/rules/47-page-themes.mdc`.
 *
 * Do not style elements directly here; only assign custom properties.
 */[data-page-theme=corporate-daydream],:root:not([data-page-theme]){color-scheme:light;--page-bg: #f6f8fb;--page-bg-accent: #e8eef8;--page-fg: #16202b;--page-muted: #51606f;--page-accent: #2563eb;--page-on-accent: #ffffff;--page-card: #ffffff;--page-border: #e3e8ee;--page-shadow: rgb(15 23 42 / .06);--page-success: #047857;--page-success-border: #a7f3d0;--page-warning: #b45309;--page-warning-border: #fde68a;--page-error: #b91c1c;--page-error-border: #fecaca;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=pager-duty-noir]{color-scheme:dark;--page-bg: #0d141d;--page-bg-accent: #121c28;--page-fg: #e8edf2;--page-muted: #9aa7b4;--page-accent: #7aa2ff;--page-on-accent: #0d141d;--page-card: #1a2330;--page-border: #2c3a4b;--page-shadow: rgb(0 0 0 / .35);--page-success: #5fd4ab;--page-success-border: #1d5c47;--page-warning: #ffc266;--page-warning-border: #6b5320;--page-error: #fca5a5;--page-error-border: #7f1d1d;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=sepia-substack]{color-scheme:light;--page-bg: #f4ecd8;--page-bg-accent: #e8dcc4;--page-fg: #3d2c1e;--page-muted: #7a6554;--page-accent: #8b4513;--page-on-accent: #fff8ef;--page-card: #faf3e6;--page-border: #d4c4a8;--page-shadow: rgb(61 44 30 / .08);--page-success: #5c6b2f;--page-success-border: #c5d4a0;--page-warning: #a16207;--page-warning-border: #f0d080;--page-error: #991b1b;--page-error-border: #f0b8b8;--page-font: Georgia, "Times New Roman", serif}[data-page-theme=vaporwave-investor-deck]{color-scheme:dark;--page-bg: #1a0a2e;--page-bg-accent: #2d1b69;--page-fg: #f0e6ff;--page-muted: #c4a8e8;--page-accent: #ff71ce;--page-on-accent: #1a0a2e;--page-card: #241447;--page-border: #5b3a9e;--page-shadow: rgb(255 113 206 / .15);--page-success: #01cdfe;--page-success-border: #017a96;--page-warning: #fcee09;--page-warning-border: #8a8200;--page-error: #ff6b6b;--page-error-border: #8b2020;--page-font: "Segoe UI", system-ui, sans-serif}[data-page-theme=forest-gump-enterprise]{color-scheme:dark;--page-bg: #0a1a12;--page-bg-accent: #0f2918;--page-fg: #dcfce7;--page-muted: #86b896;--page-accent: #22c55e;--page-on-accent: #052e16;--page-card: #12281c;--page-border: #1e4d32;--page-shadow: rgb(34 197 94 / .12);--page-success: #4ade80;--page-success-border: #166534;--page-warning: #fbbf24;--page-warning-border: #78350f;--page-error: #f87171;--page-error-border: #7f1d1d;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=bubblegum-saas-pitch]{color-scheme:light;--page-bg: #fff0f8;--page-bg-accent: #ffe0f0;--page-fg: #4a1942;--page-muted: #9d5c8f;--page-accent: #ff1493;--page-on-accent: #ffffff;--page-card: #ffffff;--page-border: #ffb8e0;--page-shadow: rgb(255 20 147 / .1);--page-success: #db2777;--page-success-border: #fbcfe8;--page-warning: #ea580c;--page-warning-border: #fed7aa;--page-error: #dc2626;--page-error-border: #fecaca;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=terminal-green-envy]{color-scheme:dark;--page-bg: #0a0f0a;--page-bg-accent: #0f180f;--page-fg: #33ff33;--page-muted: #1faa1f;--page-accent: #00ff00;--page-on-accent: #0a0f0a;--page-card: #0d140d;--page-border: #1a661a;--page-shadow: rgb(0 255 0 / .08);--page-success: #66ff66;--page-success-border: #1a661a;--page-warning: #ccff00;--page-warning-border: #666600;--page-error: #ff3333;--page-error-border: #661111;--page-font: ui-monospace, "Cascadia Code", "Consolas", monospace}[data-page-theme=sunset-linkedin-post]{color-scheme:light;--page-bg: #fff7ed;--page-bg-accent: #ffedd5;--page-fg: #431407;--page-muted: #9a3412;--page-accent: #ea580c;--page-on-accent: #ffffff;--page-card: #ffffff;--page-border: #fdba74;--page-shadow: rgb(234 88 12 / .1);--page-success: #15803d;--page-success-border: #bbf7d0;--page-warning: #ca8a04;--page-warning-border: #fef08a;--page-error: #b91c1c;--page-error-border: #fecaca;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=coffee-shop-minimalist]{color-scheme:light;--page-bg: #f5f0e8;--page-bg-accent: #ebe4d8;--page-fg: #3d3429;--page-muted: #8b7355;--page-accent: #6b5344;--page-on-accent: #faf8f5;--page-card: #faf8f5;--page-border: #d4c8b8;--page-shadow: rgb(61 52 41 / .06);--page-success: #5c6b4a;--page-success-border: #c8d4b8;--page-warning: #a67c52;--page-warning-border: #e8d4bc;--page-error: #8b4513;--page-error-border: #e8c4a8;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-page-theme=discord-mod-at-3am]{color-scheme:dark;--page-bg: #36393f;--page-bg-accent: #2f3136;--page-fg: #dcddde;--page-muted: #b9bbbe;--page-accent: #5865f2;--page-on-accent: #ffffff;--page-card: #40444b;--page-border: #4f545c;--page-shadow: rgb(0 0 0 / .25);--page-success: #3ba55d;--page-success-border: #2d7d46;--page-warning: #faa81a;--page-warning-border: #8a5a00;--page-error: #ed4245;--page-error-border: #8b2020;--page-font: "gg sans", "Segoe UI", system-ui, sans-serif}[data-page-theme=government-portal-chic]{color-scheme:light;--page-bg: #dee2e6;--page-bg-accent: #d0d4d8;--page-fg: #0b0c0c;--page-muted: #505a5f;--page-accent: #003078;--page-on-accent: #ffffff;--page-card: #ffffff;--page-border: #b1b4b6;--page-shadow: rgb(11 12 12 / .08);--page-success: #00703c;--page-success-border: #b8e0c8;--page-warning: #ffdd00;--page-warning-border: #8a8200;--page-error: #d4351c;--page-error-border: #f0b8b0;--page-font: Arial, Helvetica, sans-serif}[data-page-theme=high-contrast-parental-controls]{color-scheme:dark;--page-bg: #000000;--page-bg-accent: #111111;--page-fg: #ffffff;--page-muted: #ffff00;--page-accent: #ffff00;--page-on-accent: #000000;--page-card: #000000;--page-border: #ffffff;--page-shadow: rgb(255 255 0 / .2);--page-success: #00ff00;--page-success-border: #ffffff;--page-warning: #ff9900;--page-warning-border: #ffffff;--page-error: #ff0000;--page-error-border: #ffffff;--page-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}/*!
 * @techystuff/feature-cards — CMS-agnostic <feature-cards> Web Component
 * Copyright © 2026 Humza Butt. All rights reserved.
 * SPDX-License-Identifier: AGPL-3.0-only
 *
 * Interpolates `--page-*` colour tokens when `data-page-theme` changes.
 * Requires `html.theme-animate` (added after first paint in page-theme-controller).
 */@property --page-bg{syntax: "<color>"; inherits: true; initial-value: #f6f8fb;}@property --page-bg-accent{syntax: "<color>"; inherits: true; initial-value: #e8eef8;}@property --page-fg{syntax: "<color>"; inherits: true; initial-value: #16202b;}@property --page-muted{syntax: "<color>"; inherits: true; initial-value: #51606f;}@property --page-accent{syntax: "<color>"; inherits: true; initial-value: #2563eb;}@property --page-on-accent{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --page-card{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --page-border{syntax: "<color>"; inherits: true; initial-value: #e3e8ee;}@property --page-shadow{syntax: "<color>"; inherits: true; initial-value: #0f172a;}@property --page-success{syntax: "<color>"; inherits: true; initial-value: #047857;}@property --page-success-border{syntax: "<color>"; inherits: true; initial-value: #a7f3d0;}@property --page-warning{syntax: "<color>"; inherits: true; initial-value: #b45309;}@property --page-warning-border{syntax: "<color>"; inherits: true; initial-value: #fde68a;}@property --page-error{syntax: "<color>"; inherits: true; initial-value: #b91c1c;}@property --page-error-border{syntax: "<color>"; inherits: true; initial-value: #fecaca;}:root{--page-theme-duration: .72s;--page-theme-ease: cubic-bezier(.45, 0, .55, 1)}@media(prefers-reduced-motion:no-preference){html.theme-animate{transition:--page-bg var(--page-theme-duration) var(--page-theme-ease),--page-bg-accent var(--page-theme-duration) var(--page-theme-ease),--page-fg var(--page-theme-duration) var(--page-theme-ease),--page-muted var(--page-theme-duration) var(--page-theme-ease),--page-accent var(--page-theme-duration) var(--page-theme-ease),--page-on-accent var(--page-theme-duration) var(--page-theme-ease),--page-card var(--page-theme-duration) var(--page-theme-ease),--page-border var(--page-theme-duration) var(--page-theme-ease),--page-shadow var(--page-theme-duration) var(--page-theme-ease),--page-success var(--page-theme-duration) var(--page-theme-ease),--page-success-border var(--page-theme-duration) var(--page-theme-ease),--page-warning var(--page-theme-duration) var(--page-theme-ease),--page-warning-border var(--page-theme-duration) var(--page-theme-ease),--page-error var(--page-theme-duration) var(--page-theme-ease),--page-error-border var(--page-theme-duration) var(--page-theme-ease)}html.theme-animate.theme-transitioning{transition-duration:var(--page-theme-duration)}}@media(prefers-reduced-motion:reduce){html.theme-animate,body{transition:none}}/*!
 * @techystuff/feature-cards demo styles
 * Copyright © 2026 Humza Butt. All rights reserved.
 * SPDX-License-Identifier: AGPL-3.0-only
 */:root{color-scheme:light dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}::selection{background:color-mix(in srgb,var(--page-accent) 28%,transparent)}body{margin:0;font-family:var(--page-font, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);background:radial-gradient(1200px 480px at 50% -10%,var(--page-bg-accent),transparent 70%),var(--page-bg);color:var(--page-fg);line-height:1.6;transition:color var(--page-theme-duration, .72s) var(--page-theme-ease, ease),background-color var(--page-theme-duration, .72s) var(--page-theme-ease, ease)}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;padding:.55rem 1rem;border-radius:.5rem;background:var(--page-accent);color:var(--page-on-accent);font-weight:700;text-decoration:none}.skip-link:focus{top:1rem;outline:3px solid var(--page-fg);outline-offset:2px}.site-nav{position:fixed;top:.75rem;left:1rem;z-index:90}.site-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.55rem;border:1px solid var(--page-border);background:color-mix(in srgb,var(--page-card) 92%,var(--page-bg) 8%);box-shadow:0 2px 8px var(--page-shadow, rgb(0 0 0 / .08));transition:transform .16s ease,border-color .16s ease}.site-mark:hover{transform:translateY(-1px);border-color:var(--page-accent)}.site-mark:focus-visible{outline:3px solid var(--page-accent);outline-offset:2px}.site-mark img{display:block;width:1.75rem;height:1.75rem}.theme-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem 1rem;max-width:56rem;margin:0 auto;padding:.85rem 1.5rem 0;padding-left:max(1.5rem,4.25rem)}.theme-bar label{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--page-muted)}.theme-bar select:focus-visible{outline:3px solid var(--page-accent);outline-offset:2px}#page-theme-hint{margin:0;flex:1 1 100%;text-align:center;font-size:.85rem;color:var(--page-muted);font-style:italic}.hero{max-width:56rem;margin:0 auto;padding:clamp(3rem,8vw,6rem) 1.5rem 2rem;text-align:center}.hero-logo{display:block;width:min(100%,10rem);height:auto;margin:0 auto 1rem}.hero-eyebrow{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--page-accent)}.hero h1{margin:.5rem 0;font-size:clamp(2.25rem,6vw,3.75rem);line-height:1.05;letter-spacing:-.03em}.hero-sub{margin:0 auto;max-width:38rem;color:var(--page-muted);font-size:clamp(1rem,2.2vw,1.12rem)}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.hero-badges span{padding:.35rem .85rem;border:1px solid var(--page-border);border-radius:999px;background:color-mix(in srgb,var(--page-card) 88%,var(--page-bg));box-shadow:0 1px 2px var(--page-shadow);font-size:.82rem;font-weight:600}@media(prefers-reduced-motion:no-preference){.hero-badges span:hover{border-color:color-mix(in srgb,var(--page-accent) 45%,var(--page-border))}}main{max-width:64rem;margin:0 auto;padding:0 1.5rem 4rem}.block{margin-top:clamp(2.5rem,6vw,4rem)}.block>h2{font-size:clamp(1.3rem,3vw,1.7rem);margin:0 0 .35rem;letter-spacing:-.015em}.block-note{margin:0 0 1.25rem;max-width:44rem;color:var(--page-muted)}.block-note code{background:var(--page-card);border:1px solid var(--page-border);border-radius:.3rem;padding:.05rem .35rem;font-size:.88em}.cms-status{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.45rem .85rem;border:1px solid var(--page-border);border-radius:999px;background:var(--page-card);color:var(--page-muted);font-size:.85rem;font-weight:600}.cms-status:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--page-muted)}.cms-status[data-state=loading]:before{background:var(--page-accent);animation:cms-pulse 1.2s ease-in-out infinite}.cms-status[data-state=ready]{color:var(--page-success);border-color:var(--page-success-border)}.cms-status[data-state=ready]:before{background:var(--page-success);animation:none}.cms-status[data-state=fallback]{color:var(--page-warning);border-color:var(--page-warning-border)}.cms-status[data-state=fallback]:before{background:var(--page-warning);animation:none}.cms-status[data-state=error]{color:var(--page-error);border-color:var(--page-error-border)}.cms-status[data-state=error]:before{background:var(--page-error);animation:none}@keyframes cms-pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.cms-status[data-state=loading]:before{animation:none;opacity:.75}}.before-after{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}.before-after>div{background:var(--page-card);border:1px solid var(--page-border);border-radius:.875rem;padding:1.25rem 1.5rem;box-shadow:0 1px 3px var(--page-shadow)}.before-after h3{margin:0 0 .5rem;font-size:1.05rem}.before-after p{margin:0;color:var(--page-muted)}.playground{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:end;background:var(--page-card);border:1px solid var(--page-border);border-radius:.875rem;padding:1.25rem 1.5rem;box-shadow:0 1px 3px var(--page-shadow);margin-bottom:1.25rem}.playground label{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;font-weight:600}.playground output{font-size:.8rem;font-weight:700;color:var(--page-muted);font-variant-numeric:tabular-nums}.playground input[type=color]{width:3rem;height:2.25rem;padding:.15rem;border:1px solid var(--page-border);border-radius:.45rem;background:var(--page-bg);cursor:pointer}.playground input[type=range]{width:min(100%,12rem);accent-color:var(--page-accent)}.playground button{padding:.55rem 1.15rem;border:1px solid var(--page-border);border-radius:.5rem;background:var(--page-bg);color:var(--page-fg);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}@media(prefers-reduced-motion:no-preference){.playground button:hover{border-color:color-mix(in srgb,var(--page-accent) 40%,var(--page-border));background:color-mix(in srgb,var(--page-accent) 8%,var(--page-bg))}}.playground button:focus-visible,.playground input:focus-visible{outline:3px solid var(--page-accent);outline-offset:2px}.schema-playground{display:grid;gap:1rem}.schema-editor{font-size:.85rem;font-weight:700}.schema-playground textarea{width:100%;min-height:14rem;padding:1rem 1.1rem;border:1px solid var(--page-border);border-radius:.875rem;background:var(--page-card);color:var(--page-fg);font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.85rem;line-height:1.5;resize:vertical}.schema-playground textarea:focus-visible{outline:3px solid var(--page-accent);outline-offset:2px}#schema-validation{margin:0;padding:.75rem 1rem;border-radius:.65rem;background:var(--page-card);border:1px solid var(--page-border);font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.82rem;white-space:pre-wrap}#schema-validation[data-state=ok]{color:var(--page-success);border-color:var(--page-success-border)}#schema-validation[data-state=error]{color:var(--page-error);border-color:var(--page-error-border)}.resize-readout{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--page-muted);font-variant-numeric:tabular-nums}.resizable{position:relative;min-width:18rem;max-width:100%;padding:1rem 1rem 1.75rem;border:2px dashed var(--page-border);border-radius:.875rem;background:color-mix(in srgb,var(--page-card) 70%,transparent);resize:horizontal;overflow:auto}.resizable:after{content:"↘";position:absolute;right:.45rem;bottom:.2rem;color:var(--page-muted);font-size:.95rem;line-height:1;pointer-events:none}.footer{border-top:1px solid var(--page-border);padding:2rem 1.5rem 3rem;text-align:center;color:var(--page-muted);font-size:.9rem}.footer-brand{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-weight:700;color:var(--page-fg)}.footer-brand img{display:block}.footer a{color:var(--page-accent);text-decoration-thickness:.08em;text-underline-offset:.18em}.footer a:hover{color:color-mix(in srgb,var(--page-accent) 80%,var(--page-fg))}.footer a:focus-visible{outline:3px solid var(--page-accent);outline-offset:3px;border-radius:.2rem}feature-cards:not(:defined){display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}feature-cards:not(:defined) a{display:block;padding:1.25rem 1.5rem;background:var(--page-card);border:1px solid var(--page-border);border-radius:.875rem;color:inherit;font-weight:600;text-decoration:none;box-shadow:0 1px 3px var(--page-shadow)}feature-cards:not(:defined) a:focus-visible{outline:3px solid var(--page-accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){feature-cards:not(:defined) a:hover{border-color:color-mix(in srgb,var(--page-accent) 45%,var(--page-border))}}html[data-page-theme=high-contrast-parental-controls] .playground,html[data-page-theme=high-contrast-parental-controls] .before-after>div,html[data-page-theme=high-contrast-parental-controls] .schema-playground textarea,html[data-page-theme=high-contrast-parental-controls] #schema-validation,html[data-page-theme=high-contrast-parental-controls] .cms-status,html[data-page-theme=high-contrast-parental-controls] .hero-badges span{border-width:2px}/*!
 * @techystuff/feature-cards — CMS-agnostic <feature-cards> Web Component
 * Copyright © 2026 Humza Butt. All rights reserved.
 * SPDX-License-Identifier: AGPL-3.0-only
 *
 * Demo page motion layer — durations, easings, keyframes, and animated chrome.
 * All values are tokens; respect prefers-reduced-motion (see rule 48).
 */:root{--page-motion-ease-out: cubic-bezier(.22, 1, .36, 1);--page-motion-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--page-motion-ease-smooth: cubic-bezier(.45, 0, .55, 1);--page-motion-duration-instant: .12s;--page-motion-duration-fast: .2s;--page-motion-duration-base: .32s;--page-motion-duration-slow: .52s;--page-motion-duration-reveal: .68s;--page-motion-stagger: 70ms}@keyframes page-fade-rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes page-slide-down{0%{opacity:0;transform:translateY(-.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-shimmer{0%{background-position:200% center}to{background-position:-200% center}}@keyframes page-underline-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes page-glow-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--page-accent) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--page-accent) 22%,transparent)}}@keyframes page-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes page-success-pop{0%{transform:scale(.98)}45%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes page-ambient-drift{0%,to{background-position:50% -10%,0 0}50%{background-position:52% -8%,0 0}}@keyframes page-resize-tick{0%{transform:scale(1);color:var(--page-muted)}35%{transform:scale(1.04);color:var(--page-accent)}to{transform:scale(1);color:var(--page-muted)}}@keyframes page-handle-bob{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(2px);opacity:1}}@keyframes page-theme-flash{0%{opacity:0}12%{opacity:.18}to{opacity:0}}@media(prefers-reduced-motion:no-preference){body{animation:page-ambient-drift 24s var(--page-motion-ease-smooth) infinite;background-size:120% 480px,auto}html.theme-transitioning:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;background:var(--page-accent);animation:page-theme-flash var(--page-theme-duration, .72s) var(--page-motion-ease-smooth) forwards}}@media(prefers-reduced-motion:no-preference){.theme-bar{animation:page-slide-down var(--page-motion-duration-reveal) var(--page-motion-ease-out) backwards;animation-delay:80ms}.hero-eyebrow{animation:page-fade-rise var(--page-motion-duration-reveal) var(--page-motion-ease-out) backwards;animation-delay:.14s}.hero h1{animation:page-fade-rise var(--page-motion-duration-reveal) var(--page-motion-ease-out) backwards;animation-delay:.22s}.hero-sub{animation:page-fade-rise var(--page-motion-duration-reveal) var(--page-motion-ease-out) backwards;animation-delay:.3s}.hero-badges span{animation:page-scale-in var(--page-motion-duration-slow) var(--page-motion-ease-spring) backwards}.hero-badges span:nth-child(1){animation-delay:.38s}.hero-badges span:nth-child(2){animation-delay:.45s}.hero-badges span:nth-child(3){animation-delay:.52s}.hero-badges span:nth-child(4){animation-delay:.59s}}.motion-reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.motion-reveal:not(.is-revealed){opacity:0;transform:translateY(1.5rem)}.motion-reveal.is-revealed{animation:page-fade-rise var(--page-motion-duration-reveal) var(--page-motion-ease-out) forwards}.motion-reveal.is-revealed .block>h2:after{animation:page-underline-grow var(--page-motion-duration-slow) var(--page-motion-ease-out) forwards;animation-delay:calc(var(--page-motion-stagger) * 2)}.motion-reveal.is-revealed .block-note{animation:page-fade-in var(--page-motion-duration-base) var(--page-motion-ease-out) forwards;animation-delay:var(--page-motion-stagger)}}.block>h2{position:relative;display:inline-block}.block>h2:after{content:"";position:absolute;left:0;bottom:-.2rem;width:100%;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--page-accent),color-mix(in srgb,var(--page-accent) 20%,transparent));transform:scaleX(0);transform-origin:left center}.skip-link{transition:top var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring),box-shadow var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.skip-link:focus{transform:scale(1.02);box-shadow:0 8px 24px var(--page-shadow)}}.theme-picker{position:relative;display:inline-flex;align-items:center}.theme-picker:after{content:"▾";position:absolute;right:.85rem;pointer-events:none;color:var(--page-muted);font-size:.85rem;line-height:1;transition:transform var(--page-motion-duration-base) var(--page-motion-ease-spring),color var(--page-theme-duration, .72s) var(--page-theme-ease, ease)}.theme-bar select{min-width:min(100%,18rem);padding:.5rem 2rem .5rem .75rem;border:1px solid var(--page-border);border-radius:.5rem;background:var(--page-card);color:var(--page-fg);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--page-theme-duration, .72s) var(--page-theme-ease, ease),background-color var(--page-theme-duration, .72s) var(--page-theme-ease, ease),color var(--page-theme-duration, .72s) var(--page-theme-ease, ease),box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out),transform var(--page-motion-duration-slow) var(--page-motion-ease-spring)}@media(prefers-reduced-motion:no-preference){.theme-picker:has(select:focus-visible):after,.theme-picker:has(select.theme-select-switching):after{transform:rotate(180deg);color:var(--page-accent)}.theme-bar select:hover{transform:translateY(-1px);box-shadow:0 6px 18px var(--page-shadow)}.theme-bar select.theme-select-switching{transform:scale(.985);border-color:color-mix(in srgb,var(--page-accent) 50%,var(--page-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--page-accent) 22%,transparent),0 12px 28px var(--page-shadow)}#page-theme-hint{transition:opacity var(--page-motion-duration-base) var(--page-motion-ease-out),transform var(--page-motion-duration-base) var(--page-motion-ease-out),color var(--page-theme-duration, .72s) var(--page-theme-ease, ease)}#page-theme-hint.theme-hint-swapping{opacity:0;transform:translateY(.35rem)}html.theme-transitioning #page-theme-hint:not(.theme-hint-swapping){opacity:.72}}.hero-badges span{transition:border-color var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring),box-shadow var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.hero-badges span:hover{box-shadow:0 10px 28px var(--page-shadow)}}.cms-status{transition:color var(--page-motion-duration-base) var(--page-motion-ease-out),border-color var(--page-motion-duration-base) var(--page-motion-ease-out),background-color var(--page-motion-duration-base) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring)}.cms-status:before{transition:background-color var(--page-motion-duration-base) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring)}@media(prefers-reduced-motion:no-preference){.cms-status[data-state=ready],.cms-status[data-state=fallback]{animation:page-success-pop var(--page-motion-duration-slow) var(--page-motion-ease-spring)}}.before-after>div{transition:transform var(--page-motion-duration-base) var(--page-motion-ease-out),box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out),border-color var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.before-after>div:hover{transform:translateY(-4px);box-shadow:0 14px 32px var(--page-shadow)}}.playground{transition:box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out),border-color var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.playground:focus-within{box-shadow:0 12px 36px var(--page-shadow);border-color:color-mix(in srgb,var(--page-accent) 35%,var(--page-border))}}.playground label{transition:color var(--page-motion-duration-fast) var(--page-motion-ease-out)}.playground label:focus-within{color:var(--page-accent)}.playground output{transition:color var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring)}@media(prefers-reduced-motion:no-preference){.playground input[type=range]:active+output,.playground input[type=range]:focus+output{transform:scale(1.06);color:var(--page-accent)}}.playground input[type=color]{transition:transform var(--page-motion-duration-fast) var(--page-motion-ease-spring),box-shadow var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.playground input[type=color]:hover{transform:scale(1.08) rotate(-3deg);box-shadow:0 8px 20px var(--page-shadow)}}.playground button{transition:background var(--page-motion-duration-fast) var(--page-motion-ease-out),border-color var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring),box-shadow var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.playground button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--page-shadow)}.playground button:active{transform:translateY(0)}}.schema-playground textarea{transition:border-color var(--page-motion-duration-fast) var(--page-motion-ease-out),box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.schema-playground textarea:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--page-accent) 18%,transparent)}}#schema-validation{transition:color var(--page-motion-duration-base) var(--page-motion-ease-out),border-color var(--page-motion-duration-base) var(--page-motion-ease-out),transform var(--page-motion-duration-base) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){#schema-validation[data-state=error].motion-flash-error{animation:page-shake var(--page-motion-duration-slow) var(--page-motion-ease-out)}#schema-validation[data-state=ok].motion-flash-ok{animation:page-success-pop var(--page-motion-duration-slow) var(--page-motion-ease-spring)}}.resize-readout{transition:color var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.resize-readout.motion-tick{animation:page-resize-tick var(--page-motion-duration-base) var(--page-motion-ease-out)}}.resizable{transition:border-color var(--page-motion-duration-base) var(--page-motion-ease-out),box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.resizable:hover{border-color:color-mix(in srgb,var(--page-accent) 40%,var(--page-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--page-accent) 12%,transparent)}.resizable:after{animation:page-handle-bob 2.4s var(--page-motion-ease-smooth) infinite}}.footer{color:var(--page-muted)}@media(prefers-reduced-motion:no-preference){.footer{animation:page-fade-in var(--page-motion-duration-reveal) var(--page-motion-ease-out) backwards;animation-delay:.2s}}.footer a{transition:color var(--page-motion-duration-fast) var(--page-motion-ease-out),text-underline-offset var(--page-motion-duration-fast) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){.footer a:hover{text-underline-offset:.28em}}.block-note code{transition:background-color var(--page-motion-duration-fast) var(--page-motion-ease-out),border-color var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring)}@media(prefers-reduced-motion:no-preference){.block-note code:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--page-accent) 30%,var(--page-border))}}feature-cards:not(:defined) a{transition:border-color var(--page-motion-duration-fast) var(--page-motion-ease-out),transform var(--page-motion-duration-fast) var(--page-motion-ease-spring),box-shadow var(--page-motion-duration-base) var(--page-motion-ease-out)}@media(prefers-reduced-motion:no-preference){feature-cards:not(:defined) a:hover{box-shadow:0 12px 28px var(--page-shadow)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body{animation:none}.motion-reveal:not(.is-revealed){opacity:1;transform:none}html.theme-transitioning:before{display:none}}/*!
 * @techystuff/feature-cards — CMS-agnostic <feature-cards> Web Component
 * Copyright © 2026 Humza Butt. All rights reserved.
 * SPDX-License-Identifier: AGPL-3.0-only
 */.card-editor{display:grid;gap:1.25rem;padding:clamp(1rem,3vw,1.75rem);border-radius:var(--page-radius, .75rem);border:1px solid var(--page-border);background:color-mix(in srgb,var(--page-card) 92%,var(--page-accent) 8%)}.card-editor-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.card-editor-header h2{margin:0;font-size:clamp(1.25rem,3vw,1.65rem)}.card-editor-header p{margin:.35rem 0 0;color:var(--page-muted);max-width:42rem;font-size:.95rem}.card-editor-toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.card-editor-toolbar button,.card-editor-toolbar select{font:inherit;cursor:pointer}.card-editor-toolbar button{padding:.45rem .85rem;border-radius:.45rem;border:1px solid var(--page-border);background:var(--page-card);color:var(--page-fg)}.card-editor-toolbar button:hover{border-color:var(--page-accent)}.card-editor-layout{display:grid;gap:1.25rem}@media(min-width:960px){.card-editor-layout{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:start}}.card-editor-preview{padding:1rem;border-radius:.65rem;border:1px dashed var(--page-border);background:var(--page-bg);min-height:14rem}.card-editor-preview feature-cards{display:block}.card-editor-panel{display:grid;gap:1rem}.card-editor-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.card-editor-tab{padding:.4rem .75rem;border-radius:999px;border:1px solid var(--page-border);background:transparent;color:var(--page-fg);font:inherit;cursor:pointer}.card-editor-tab[aria-selected=true]{background:var(--page-accent);color:var(--page-on-accent);border-color:transparent}.card-editor-core,.card-editor-advanced{display:grid;gap:.75rem;padding:.85rem;border-radius:.55rem;border:1px solid var(--page-border);background:var(--page-card)}.card-editor-core h3,.card-editor-advanced summary{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--page-muted)}.card-editor-advanced summary{cursor:pointer;list-style:none}.card-editor-advanced summary::-webkit-details-marker{display:none}.card-editor-field{display:grid;gap:.3rem}.card-editor-field label,.card-editor-field-label{font-size:.82rem;font-weight:600;color:var(--page-fg)}.card-editor-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:.45rem}.card-editor-icon-option{display:grid;gap:.25rem;justify-items:center;padding:.45rem .35rem .5rem;border-radius:.45rem;border:1px solid var(--page-border);background:var(--page-bg);cursor:pointer;text-align:center;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.card-editor-icon-option:has(input:checked){border-color:var(--page-accent);background:color-mix(in srgb,var(--page-accent) 12%,var(--page-bg));box-shadow:0 0 0 1px var(--page-accent)}.card-editor-icon-option:has(input:focus-visible){outline:2px solid var(--page-accent);outline-offset:2px}.card-editor-icon-option input{position:absolute;opacity:0;pointer-events:none}.card-editor-icon-preview{display:grid;place-items:center;width:2.25rem;height:2.25rem;color:var(--page-fg)}.card-editor-icon-preview img{display:block;width:1.75rem;height:1.75rem;object-fit:contain}.card-editor-icon-label{font-size:.68rem;line-height:1.2;color:var(--page-muted)}.card-editor-icon-credit{margin:.15rem 0 0;font-size:.72rem;color:var(--page-muted)}.card-editor-icon-credit a{color:var(--page-accent)}.card-editor-field input[type=text],.card-editor-field input[type=url],.card-editor-field select{width:100%;padding:.45rem .55rem;border-radius:.4rem;border:1px solid var(--page-border);background:var(--page-bg);color:var(--page-fg);font:inherit}.card-editor-field input[type=color]{width:100%;height:2.25rem;padding:.15rem;border-radius:.4rem;border:1px solid var(--page-border);background:var(--page-bg);cursor:pointer}.card-editor-range{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.35rem .75rem;align-items:center}.card-editor-range label{grid-column:1;grid-row:1}.card-editor-range output{grid-column:2;grid-row:1;justify-self:end;min-width:3.25rem;padding:.12rem .55rem;border-radius:999px;border:1px solid var(--page-border);background:color-mix(in srgb,var(--page-bg) 88%,var(--page-accent) 12%);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600;color:var(--page-fg);text-align:center}.card-editor-range input[type=range]{--range-track: .5rem;--range-thumb: 1.125rem;--range-progress: 50%;grid-column:1 / -1;grid-row:2;width:100%;height:var(--range-thumb);margin:0;padding:0;border:0;background:transparent;cursor:pointer;touch-action:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.card-editor-range input[type=range]:focus{outline:none}.card-editor-range input[type=range]::-webkit-slider-runnable-track{height:var(--range-track);border-radius:999px;border:1px solid color-mix(in srgb,var(--page-border) 85%,transparent);background:linear-gradient(to right,var(--page-accent) 0%,var(--page-accent) var(--range-progress),color-mix(in srgb,var(--page-border) 55%,var(--page-bg)) var(--range-progress),color-mix(in srgb,var(--page-border) 55%,var(--page-bg)) 100%);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--page-fg) 8%,transparent)}.card-editor-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--range-thumb);height:var(--range-thumb);margin-top:calc((var(--range-track) - var(--range-thumb)) / 2 - 1px);border:2px solid var(--page-accent);border-radius:50%;background:var(--page-card);box-shadow:0 1px 2px color-mix(in srgb,var(--page-fg) 18%,transparent),0 0 color-mix(in srgb,var(--page-accent) 0%,transparent);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}.card-editor-range input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.06);box-shadow:0 2px 5px color-mix(in srgb,var(--page-fg) 16%,transparent),0 0 0 4px color-mix(in srgb,var(--page-accent) 14%,transparent)}.card-editor-range input[type=range]:active::-webkit-slider-thumb{transform:scale(1.1);background:var(--page-accent);border-color:color-mix(in srgb,var(--page-accent) 85%,var(--page-fg))}.card-editor-range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 1px 2px color-mix(in srgb,var(--page-fg) 18%,transparent),0 0 0 4px color-mix(in srgb,var(--page-accent) 28%,transparent)}.card-editor-range input[type=range]::-moz-range-track{height:var(--range-track);border-radius:999px;border:1px solid color-mix(in srgb,var(--page-border) 85%,transparent);background:color-mix(in srgb,var(--page-border) 55%,var(--page-bg));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--page-fg) 8%,transparent)}.card-editor-range input[type=range]::-moz-range-progress{height:var(--range-track);border-radius:999px 0 0 999px;background:var(--page-accent)}.card-editor-range input[type=range]::-moz-range-thumb{width:var(--range-thumb);height:var(--range-thumb);border:2px solid var(--page-accent);border-radius:50%;background:var(--page-card);box-shadow:0 1px 2px color-mix(in srgb,var(--page-fg) 18%,transparent);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.card-editor-range input[type=range]:hover::-moz-range-thumb{transform:scale(1.06)}.card-editor-range input[type=range]:active::-moz-range-thumb{transform:scale(1.1);background:var(--page-accent)}.card-editor-range input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--page-accent) 28%,transparent)}@media(prefers-reduced-motion:reduce){.card-editor-range input[type=range]::-webkit-slider-thumb,.card-editor-range input[type=range]::-moz-range-thumb{transition:none}}.card-editor-json{margin:0;padding:.75rem;border-radius:.45rem;background:var(--page-bg);border:1px solid var(--page-border);font-size:.72rem;line-height:1.45;max-height:10rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.card-editor-hint{margin:0;font-size:.8rem;color:var(--page-muted)}.card-editor-core-grid{display:grid;gap:.75rem}@media(min-width:520px){.card-editor-core-grid{grid-template-columns:1fr 1fr}.card-editor-core-grid .card-editor-field-span{grid-column:1 / -1}}
