/* Douexa shared header and footer shell — loaded after assets/styles.css */
:root{--shell-bg:rgba(5,7,16,.78);--shell-panel:#0b1020;--shell-card:#10172a;--shell-text:#f7f9ff;--shell-muted:#9ca8c3;--shell-line:rgba(148,163,184,.18);--shell-cyan:#22d3ee;--shell-blue:#3d5afe;--shell-violet:#8b5cf6}
html[data-theme="light"]{--shell-bg:rgba(248,250,255,.86);--shell-panel:#f8faff;--shell-card:#fff;--shell-text:#0b1220;--shell-muted:#53627b;--shell-line:rgba(15,23,42,.13)}
body{padding-top:76px}
.site-header{position:fixed!important;inset:0 0 auto!important;z-index:1000!important;height:76px!important;margin:0!important;padding:0!important;border:0!important;background:var(--shell-bg)!important;backdrop-filter:blur(20px) saturate(140%)!important;-webkit-backdrop-filter:blur(20px) saturate(140%)!important;border-bottom:1px solid var(--shell-line)!important;transition:transform .35s ease,background .25s ease!important}
.site-header.is-hidden{transform:translateY(-105%)}
.site-header__progress{position:absolute;left:0;bottom:-1px;width:0;height:2px;background:linear-gradient(90deg,var(--shell-cyan),var(--shell-blue),var(--shell-violet));box-shadow:0 0 14px rgba(34,211,238,.7)}
.site-header__inner{width:min(100% - 40px,1640px);height:100%;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}
.site-brand{display:inline-flex!important;align-items:center!important;gap:12px!important;color:var(--shell-text)!important;text-decoration:none!important;font:700 20px/1 'Space Grotesk',sans-serif!important;letter-spacing:.02em!important;white-space:nowrap}
.site-logo{height:32px;width:auto;display:block}
.site-logo--for-light-bg{display:none}
html[data-theme="light"] .site-logo--for-dark-bg{display:none}
html[data-theme="light"] .site-logo--for-light-bg{display:block}
.site-brand{transition:opacity .25s ease}
.site-brand:hover{opacity:.85}
.site-brand--footer{margin-bottom:16px}
.site-brand--footer .site-logo{height:36px}
.site-nav{position:static!important;display:flex!important;justify-content:center!important;background:none!important;border:0!important;padding:0!important;backdrop-filter:none!important}
.site-nav__toggle,.site-nav__panel-head,.site-nav__mobile-cta,.site-nav__backdrop{display:none}
.site-nav__panel{display:flex;align-items:center;gap:24px}
.site-nav__links{display:flex;align-items:center;gap:22px}
.site-nav__links a{position:relative;padding:28px 0 26px;color:var(--shell-muted)!important;text-decoration:none;font-size:13.5px;font-weight:500;white-space:nowrap;transition:color .2s ease}
.site-nav__links a::after{content:"";position:absolute;left:50%;bottom:17px;width:0;height:2px;border-radius:2px;background:var(--shell-cyan);transform:translateX(-50%);transition:width .25s ease}
.site-nav__links a:hover,.site-nav__links a.is-active{color:var(--shell-text)!important}.site-nav__links a:hover::after,.site-nav__links a.is-active::after{width:18px}
.site-nav__tools{display:flex;align-items:center;gap:12px}
.site-nav .lang-switch{display:flex!important;gap:4px!important;margin:0!important}.site-nav .lang-btn{cursor:pointer!important}
.site-theme-toggle{margin:0!important;cursor:pointer!important;background:transparent!important;color:var(--shell-text)!important;border-color:var(--shell-line)!important}
.site-header__cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:10px;color:#06101a!important;text-decoration:none!important;font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--shell-blue),var(--shell-cyan));box-shadow:0 10px 28px rgba(61,90,254,.22);transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.site-header__cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(34,211,238,.28)}
.site-footer{position:relative!important;z-index:2!important;margin:0!important;padding:90px 0 30px!important;border-top:1px solid var(--shell-line)!important;background:linear-gradient(180deg,rgba(7,10,21,.2),rgba(7,10,21,.92))!important;color:var(--shell-text)!important}
html[data-theme="light"] .site-footer{background:linear-gradient(180deg,rgba(244,247,253,.35),#eef3fb)!important}
.site-footer__inner{width:min(100% - 48px,1500px);margin:auto}.site-footer__cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding:44px;border:1px solid var(--shell-line);border-radius:26px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(139,92,246,.10));margin-bottom:70px;overflow:hidden;position:relative}.site-footer__cta::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(139,92,246,.14);filter:blur(70px);right:-60px;bottom:-120px}.site-footer__eyebrow{display:block;color:var(--shell-cyan);font-size:11px;letter-spacing:.16em;margin-bottom:14px}.site-footer__cta h2{font-size:clamp(28px,3.6vw,56px);line-height:1.03;letter-spacing:-.045em;max-width:850px;color:var(--shell-text);margin:0 0 16px}.site-footer__cta p{color:var(--shell-muted);font-size:16px;line-height:1.7;max-width:760px;margin:0}.site-footer__cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.site-footer__cta-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:10px;text-decoration:none;font-weight:700;font-size:13px}.site-footer__primary{background:linear-gradient(135deg,var(--shell-blue),var(--shell-cyan));color:#06101a!important}.site-footer__secondary{border:1px solid var(--shell-line);color:var(--shell-text)!important;background:rgba(255,255,255,.025)}
.site-footer__social-icons{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.site-footer__social-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--shell-line);background:rgba(255,255,255,.025);color:var(--shell-cyan)!important;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.site-footer__social-icon svg{width:20px;height:20px}.site-footer__social-icon:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.5);background:rgba(34,211,238,.08)}
@media(max-width:760px){.site-footer__social-icons{width:100%}.site-footer__social-icon{flex:0 0 auto}}
.site-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:54px;padding-bottom:54px}.site-footer__brand p{margin:20px 0;color:var(--shell-muted);line-height:1.75;max-width:360px;font-size:14px}.site-footer__status{display:flex;align-items:center;gap:9px;color:var(--shell-muted);font-size:10px;letter-spacing:.12em;margin-bottom:14px}.site-footer__status span{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;animation:shellPulse 1.8s ease-in-out infinite}.site-footer__email{color:var(--shell-text)!important;text-decoration:none;font-size:14px}.site-footer__col h3{margin:0 0 20px;color:var(--shell-muted);font-size:11px;letter-spacing:.14em}.site-footer__col a{display:block!important;margin:0 0 12px!important;color:var(--shell-muted)!important;text-decoration:none!important;font-size:14px!important;transition:color .2s ease,transform .2s ease}.site-footer__col a:hover{color:var(--shell-text)!important;transform:translateX(4px)}.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;border-top:1px solid var(--shell-line);color:var(--shell-muted);font-size:12px}.site-footer__bottom>div{display:flex;align-items:center;gap:18px}.site-footer__bottom a{color:var(--shell-muted)!important;text-decoration:none}.site-footer__top{border:0;background:none;color:var(--shell-text);font:inherit;cursor:pointer;padding:0}
@keyframes shellPulse{50%{opacity:.35;transform:scale(.8)}}
@media(max-width:1180px){.site-header__inner{grid-template-columns:auto auto auto;justify-content:space-between}.site-header__cta{display:none}.site-nav{justify-self:end}.site-nav__toggle{display:grid!important;width:44px;height:44px;border:1px solid var(--shell-line);border-radius:11px;background:rgba(255,255,255,.025);place-content:center;gap:7px;cursor:pointer}.site-nav__toggle span{display:block;width:19px;height:2px;background:var(--shell-text);transition:transform .25s ease}.site-nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.site-nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.site-nav__panel{position:fixed;top:0;right:0;width:min(440px,92vw);height:100dvh;display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:24px 26px 28px;background:var(--shell-panel);border-left:1px solid var(--shell-line);box-shadow:-28px 0 80px rgba(0,0,0,.25);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow:auto;z-index:1002}.site-nav__panel.open{transform:translateX(0)}.site-nav__panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--shell-line);color:var(--shell-muted);font-size:11px;letter-spacing:.14em}.site-nav__close{width:38px;height:38px;border:1px solid var(--shell-line);border-radius:10px;background:transparent;color:var(--shell-text);font-size:24px;cursor:pointer}.site-nav__links{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:20px 0}.site-nav__links a{font-size:clamp(24px,5vw,34px);font-weight:650;padding:12px 0;color:var(--shell-text)!important;letter-spacing:-.025em}.site-nav__links a::after{left:0;bottom:5px;transform:none}.site-nav__links a.is-active::after{width:34px}.site-nav__tools{padding:20px 0;border-top:1px solid var(--shell-line);border-bottom:1px solid var(--shell-line);justify-content:space-between}.site-nav__mobile-cta{display:block;padding-top:24px}.site-nav__mobile-cta p{color:var(--shell-muted);line-height:1.6;margin:0 0 14px}.site-nav__mobile-cta a{color:var(--shell-text)!important;font-weight:700;text-decoration:none}.site-nav__backdrop{display:block;position:fixed;inset:0;background:rgba(3,5,12,.68);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.3s;z-index:1001}.site-nav__backdrop.is-visible{opacity:1;visibility:visible}.site-footer__grid{grid-template-columns:1.3fr 1fr 1fr}.site-footer__brand{grid-column:1/-1}}
@media(max-width:760px){body{padding-top:68px}.site-header{height:68px!important}.site-header__inner{width:min(100% - 28px,1640px)}.site-logo{height:28px}.site-footer{padding-top:60px!important}.site-footer__inner{width:min(100% - 28px,1500px)}.site-footer__cta{grid-template-columns:1fr;padding:28px 22px;gap:26px;border-radius:20px;margin-bottom:52px}.site-footer__cta-actions{width:100%}.site-footer__cta-actions a{flex:1}.site-footer__grid{grid-template-columns:1fr 1fr;gap:36px 24px}.site-footer__brand{grid-column:1/-1}.site-footer__bottom{align-items:flex-start;flex-direction:column}.site-footer__bottom>div{flex-wrap:wrap}}
@media(max-width:480px){.site-footer__grid{grid-template-columns:1fr}.site-footer__brand{grid-column:auto}.site-footer__cta-actions{flex-direction:column}.site-footer__cta-actions a{width:100%}.site-nav__panel{width:100%;padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-nav__panel,.site-nav__backdrop,.site-brand,.site-footer__status span{transition:none!important;animation:none!important}}


/* Mobile navigation and creator credit refinements */
.site-nav__mobile-brand,.site-nav__mobile-intro,.site-nav__tool-label{display:none}
.site-nav__links a>span{display:none}
.site-footer__creator{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 0 26px;margin-top:-14px;border-top:1px solid var(--shell-line);color:var(--shell-muted)}
.site-footer__creator-photo {
    width: 42px;
    height: 42px;
    display: block;
    flex: 0 0 42px;
    object-fit: cover;
    object-position: center;
    border: 2px solid rgba(34, 211, 238, 0.55);
    border-radius: 50%;
    box-shadow:
        0 8px 24px rgba(34, 211, 238, 0.16),
        0 0 0 4px rgba(59, 130, 246, 0.06);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.site-footer__creator:hover .site-footer__creator-photo {
    transform: scale(1.06);
    border-color: rgba(59, 130, 246, 0.9);
    box-shadow:
        0 10px 30px rgba(34, 211, 238, 0.24),
        0 0 0 5px rgba(59, 130, 246, 0.08);
}
.site-footer__creator div:nth-child(2){display:grid;gap:3px}.site-footer__creator .mono{font-size:9px;letter-spacing:.16em;color:var(--shell-muted)}.site-footer__creator strong{font-size:13px;color:var(--shell-text)}
.site-footer__creator>a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--shell-line);border-radius:10px;color:var(--shell-text)!important;text-decoration:none;font-size:12px;font-weight:700;transition:.2s ease}.site-footer__creator>a:hover{border-color:rgba(34,211,238,.5);transform:translateY(-2px)}

@media(max-width:1180px){
  .site-nav__panel{padding:0 24px 24px;background:linear-gradient(180deg,var(--shell-panel),color-mix(in srgb,var(--shell-panel) 88%,#171335));overscroll-behavior:contain}
  .site-nav__panel-head{position:sticky;top:0;z-index:2;margin:0 -24px;padding:16px 24px;background:color-mix(in srgb,var(--shell-panel) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .site-nav__mobile-brand{display:inline-flex;align-items:center;gap:10px;color:var(--shell-text)!important;text-decoration:none;font:700 17px/1 'Space Grotesk',sans-serif;letter-spacing:.03em}
  .site-nav__mobile-brand .site-logo{height:26px}
  .site-nav__mobile-intro{display:block;padding:24px 0 14px}.site-nav__mobile-intro span{font-size:10px;letter-spacing:.16em;color:var(--shell-cyan)}.site-nav__mobile-intro p{margin:9px 0 0;color:var(--shell-muted);font-size:13px;line-height:1.55;max-width:340px}
  .site-nav__links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0 18px}
  .site-nav__links a{display:flex;align-items:center;gap:11px;min-height:58px;padding:0 14px!important;border:1px solid var(--shell-line);border-radius:14px;background:rgba(255,255,255,.025);font-size:15px!important;font-weight:650;letter-spacing:-.01em;overflow:hidden}
  .site-nav__links a>span{display:inline-flex;flex:0 0 auto;color:var(--shell-cyan);font:500 9px/1 'JetBrains Mono',monospace;letter-spacing:.08em}
  .site-nav__links a::after{left:auto!important;right:10px!important;bottom:auto!important;top:50%!important;width:6px!important;height:6px!important;border-radius:50%!important;transform:translateY(-50%) scale(0)!important;transition:transform .2s ease!important}
  .site-nav__links a.is-active,.site-nav__links a:hover{background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(139,92,246,.08));border-color:rgba(34,211,238,.34)}
  .site-nav__links a.is-active::after,.site-nav__links a:hover::after{transform:translateY(-50%) scale(1)!important}
  .site-nav__tools{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;padding:18px 0}.site-nav__tools>div{display:grid;gap:9px}.site-nav__tool-label{display:block;font-size:8px;letter-spacing:.14em;color:var(--shell-muted)}
  .site-nav .lang-switch{flex-wrap:wrap}.site-nav .lang-btn{min-width:34px;min-height:34px}
  .site-theme-toggle{width:42px;height:42px}
  .site-nav__mobile-cta{margin-top:auto;padding:20px;border:1px solid rgba(34,211,238,.22);border-radius:17px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(139,92,246,.09))}.site-nav__mobile-cta>div span{font-size:9px;letter-spacing:.14em;color:var(--shell-cyan)}.site-nav__mobile-cta p{font-size:13px;margin:7px 0 16px}.site-nav__mobile-cta>a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 14px;border-radius:11px;background:linear-gradient(135deg,var(--shell-blue),var(--shell-cyan));color:#06101a!important}
}

@media(max-width:760px){
  .site-header__inner{grid-template-columns:auto auto;justify-content:space-between}.site-nav{justify-self:end}.site-nav__panel{width:100%;max-width:none;border-left:0;padding:0 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#07101f 0%,#0b1020 56%,#17102c 100%)}
  html[data-theme="light"] .site-nav__panel{background:linear-gradient(180deg,#fbfdff,#f4f7fd 58%,#eef0fb)}
  .site-nav__panel-head{margin:0 -18px;padding:14px 18px}.site-nav__close{width:42px;height:42px}
  .site-nav__mobile-intro{padding-top:20px}.site-nav__links{grid-template-columns:1fr 1fr;gap:8px}.site-nav__links a{min-height:54px;padding:0 12px!important;font-size:14px!important;border-radius:13px}
  .site-nav__tools{grid-template-columns:1fr auto;padding:15px 0}.site-nav__mobile-cta{padding:17px;margin-top:4px}
  .site-footer__cta{padding:25px 20px}.site-footer__cta h2{font-size:clamp(27px,9vw,40px)}.site-footer__cta p{font-size:14px}.site-footer__grid{grid-template-columns:1fr;gap:0}.site-footer__brand{padding-bottom:28px}.site-footer__col{padding:20px 0;border-top:1px solid var(--shell-line)}.site-footer__col h3{margin-bottom:14px}.site-footer__col a{display:inline-flex!important;margin:0 14px 10px 0!important;font-size:13px!important}.site-footer__creator{grid-template-columns:auto 1fr;padding:22px 0}.site-footer__creator>a{grid-column:1/-1;width:100%;justify-content:space-between}.site-footer__bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
}

@media(max-width:390px){
  .site-nav__links{grid-template-columns:1fr}.site-nav__links a{min-height:50px}.site-nav__mobile-intro p{font-size:12px}.site-nav__mobile-cta{margin-top:8px}.site-footer__cta-actions a{min-height:48px}.site-footer__bottom>div{gap:12px}
}
/* Extra inline close control next to "// MENU" — always in normal document
   flow (no sticky/fixed positioning), so it renders regardless of any
   stacking-context issue affecting the sticky panel head. */
.site-nav__mobile-intro-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-nav__close-inline{display:none}
@media(max-width:1180px){
  .site-nav__close-inline{
    display:inline-flex!important;align-items:center;justify-content:center;
    width:40px;height:40px;flex:0 0 auto;
    border:1px solid var(--shell-line);border-radius:10px;
    background:rgba(255,255,255,.06);color:var(--shell-text);
    font-size:18px;line-height:1;cursor:pointer;
  }
  .site-nav__close-inline:hover{border-color:rgba(34,211,238,.5);color:var(--shell-cyan)}
}