:root{--endo-yellow: #fbb03b;--endo-yellow-dark: #e09920;--endo-yellow-glow: rgba(251, 176, 59, .4);--endo-gray: #2b2b2b;--endo-gray-card: rgba(38, 38, 38, .94);--endo-navy: #203354;--primary: var(--endo-yellow);--secondary: var(--endo-yellow-dark);--accent: var(--endo-yellow);--accent-dim: var(--endo-yellow-dark);--accent-glow: var(--endo-yellow-glow);--bg-dark: var(--endo-gray);--bg: var(--endo-gray);--card-bg: var(--endo-gray-card);--surface: #333333;--surface-2: #3d3d3d;--border: rgba(255, 255, 255, .12);--text-main: #ffffff;--text: #ffffff;--text-muted: rgba(255, 255, 255, .72);--muted: rgba(255, 255, 255, .72);--success: var(--endo-yellow);--danger: #e85d5d;--warning: var(--endo-yellow);--radius: 14px;--radius-lg: 20px;--font-display: "Bungee", system-ui, sans-serif;--font-body: "Poppins", system-ui, sans-serif;--font: var(--font-display);--mono: "JetBrains Mono", ui-monospace, monospace;--chip-success-bg: rgba(251, 176, 59, .18);--chip-success-border: rgba(251, 176, 59, .55);--chip-success-text: #fff4dc;--top-banner-height: 2.5rem;--banner-header-gap: 2rem;--content-gap: 1.25rem;--safe-top-with-banner: calc(var(--top-banner-height) + var(--banner-header-gap));--page-edge-y: 2.5rem}@media(max-width:640px){:root{--top-banner-height: 5.5rem;--banner-header-gap: 3rem;--safe-top-with-banner: calc(var(--top-banner-height) + var(--banner-header-gap))}.top-banner{padding:.75rem .85rem;line-height:1.45}}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark}html,body{min-height:100%}body{font-family:var(--font-body);background-color:var(--endo-gray);color:var(--text-main);line-height:1.55;letter-spacing:.01em;font-weight:400}.bg-pattern{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background-color:var(--endo-gray)}.bg-pattern:before{content:"";position:absolute;top:-24%;right:-24%;bottom:-24%;left:-24%;background-image:url(/endocraft-pattern.png);background-size:cover;background-position:center;background-repeat:no-repeat;transform:translateZ(0) scale(1.12);backface-visibility:hidden;will-change:transform;animation:bg-pattern-drift 62s linear infinite}@keyframes bg-pattern-drift{0%{transform:translate3d(6.5%,0,0) scale(1.12)}8.333%{transform:translate3d(5.5%,2.8%,0) scale(1.12)}16.666%{transform:translate3d(3.2%,4.8%,0) scale(1.12)}25%{transform:translate3d(0,5.5%,0) scale(1.12)}33.333%{transform:translate3d(-3.2%,4.8%,0) scale(1.12)}41.666%{transform:translate3d(-5.5%,2.8%,0) scale(1.12)}50%{transform:translate3d(-6.5%,0,0) scale(1.12)}58.333%{transform:translate3d(-5.5%,-2.8%,0) scale(1.12)}66.666%{transform:translate3d(-3.2%,-4.8%,0) scale(1.12)}75%{transform:translate3d(0,-5.5%,0) scale(1.12)}83.333%{transform:translate3d(3.2%,-4.8%,0) scale(1.12)}91.666%{transform:translate3d(5.5%,-2.8%,0) scale(1.12)}to{transform:translate3d(6.5%,0,0) scale(1.12)}}@media(prefers-reduced-motion:reduce){.bg-pattern:before{animation:none;top:0;right:0;bottom:0;left:0;transform:none}}.bg-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#14141440,#14141473)}.bg-grid,.grain,.crt-overlay{display:none!important}.credit-name{color:var(--accent);font-family:var(--font-display);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.home-footer,.site-footer,.tool-footer,footer:has(.footer-heart){margin-top:2.5rem;padding-top:1.25rem;border-top:3px solid var(--accent);font-family:var(--font-body);font-size:1rem;color:var(--muted);text-align:center}.home-footer p,.site-footer p,.tool-footer p,footer:has(.footer-heart)>p{margin:0;font-family:var(--font-display);font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}.footer-sub{margin-top:.5rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.75}.footer-heart{--heart-neon: var(--accent-glow);--heart-neon-outer: rgba(251, 176, 59, .45);display:inline-block;color:var(--accent);font-family:var(--font-body);font-size:1.3em;font-weight:700;line-height:1;vertical-align:-.06em;transform-origin:center;animation:kendix-heartbeat 1.15s ease-in-out infinite;text-shadow:0 0 8px var(--heart-neon),0 0 20px var(--heart-neon-outer)}.footer-heart--danger{--heart-neon: rgba(232, 93, 93, .8);--heart-neon-outer: rgba(232, 93, 93, .42);color:var(--danger)}@keyframes kendix-heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.top-banner{position:fixed;top:0;left:0;z-index:10000;width:100%;box-sizing:border-box;min-height:var(--top-banner-height);padding:.65rem 1rem;text-align:center;font-family:var(--mono);font-size:.65rem;font-weight:700;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;color:var(--warning);background:#fbb03b1a;border-bottom:1px solid rgba(251,176,59,.35)}body.has-top-banner{padding-top:var(--safe-top-with-banner)}.home{position:relative;z-index:2;max-width:1040px;margin:0 auto;padding:var(--page-edge-y) 1.25rem 3rem}.portfolio{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;margin-bottom:2.5rem;background:var(--card-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);box-shadow:0 20px 50px #00000080;border-bottom:4px solid var(--accent)}.portfolio-avatar{flex-shrink:0;width:112px;height:112px;border-radius:16px;object-fit:cover;object-position:center top;background:#fff;border:3px solid var(--accent);box-shadow:0 0 24px var(--accent-glow)}.portfolio-body{min-width:0}.portfolio-eyebrow{margin:0 0 .35rem;font-family:var(--font-display);font-size:.7rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.portfolio h1{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.35rem);font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;color:#fff;text-shadow:3px 3px 0 #1a1a1a}.portfolio-lead{margin:0;max-width:36rem;font-family:var(--font-body);font-size:.95rem;font-weight:400;line-height:1.6;color:var(--muted)}.portfolio-lead strong{color:var(--text-main)}.tools-section{margin-bottom:.5rem}.tools-group+.tools-group{margin-top:2.5rem;padding-top:2rem;border-top:2px dashed rgba(255,255,255,.12)}.tools-group-heading{margin:0 0 .45rem;font-family:var(--font-display);font-size:.95rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;color:var(--accent);text-shadow:2px 2px 0 #1a1a1a}.tools-group-lead{margin:0 0 1.15rem;max-width:36rem;font-family:var(--font-body);font-size:.88rem;color:var(--muted);line-height:1.55}.section-heading{margin:0 0 1.1rem;padding-bottom:.5rem;font-family:var(--font-display);font-size:.8rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:3px solid var(--accent);width:fit-content}.tools{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.tool-card{display:flex;flex-direction:column;gap:0;padding:1.5rem;background:var(--card-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);box-shadow:0 20px 50px #00000073;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.tool-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 24px 56px #00000080,0 0 24px var(--accent-glow)}.tool-card>*+*{margin-top:.65rem}.tool-card h3{margin-inline:0;margin-bottom:0;font-family:var(--font-display);font-size:1rem;font-weight:400;color:#fff;text-transform:uppercase;letter-spacing:.05em;text-shadow:2px 2px 0 #1a1a1a}.tool-card h3+p{margin-top:.4rem!important}.tool-card p{flex:1;margin:0;font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--muted);line-height:1.55}.tool-card a{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;align-self:flex-start;padding:.65rem 1.15rem;font-family:var(--font-display);font-size:.72rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--endo-gray);background:var(--accent);border-radius:12px;text-decoration:none;box-shadow:0 4px 0 var(--endo-yellow-dark),0 0 18px var(--accent-glow);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.tool-card a:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 4px 0 var(--endo-yellow-dark),0 0 28px var(--accent-glow)}.tool-card.is-soon{opacity:.55}.tool-card.is-soon a{pointer-events:none;background:#ffffff14;color:var(--muted);box-shadow:none}.tool-card p strong{color:var(--text-main)}@media(max-width:560px){.portfolio{flex-direction:column;text-align:center}.portfolio-lead{margin-inline:auto}}
