/* Shared WallBreaker tokens, header, brand and footer. Load after base styles. */
:root {
  --purple:#895AFF; --deep:#6833d8; --pale:#f2edff;
  --ink:#211a35; --muted:#494152; --border:#e7e1ef;
  --surface:#faf8fd; --shadow:0 16px 40px #2815450d;
  --wb-radius:24px; --wb-nav-shadow:0 8px 32px #34204f09;
}
.header {top:16px;width:min(1248px,calc(100% - 48px));margin:16px auto 0;border:1px solid #ffffff;border-radius:22px;background:#ffffffef;box-shadow:var(--wb-nav-shadow);backdrop-filter:blur(10px)}
.header .nav {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:auto;margin:0 24px;min-height:76px;gap:24px;position:relative}
.brand {display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:-1.1px;color:var(--ink);white-space:nowrap}
.mark {width:36px;height:36px;border-radius:12px;padding:0;background:var(--purple);box-shadow:inset 0 1px 1px #ffffff70,0 4px 10px #895aff26;letter-spacing:0;transform:rotate(-5deg)}
.mark svg {width:25px;height:25px;fill:none;stroke:white;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.links {display:flex;gap:12px}.links a {position:relative;padding:10px 17px;border-radius:12px;font-size:14px;font-weight:600;color:var(--muted)}
.links a:hover,.links a:focus-visible {color:var(--deep);background:var(--pale);text-decoration:none;transform:none}
.links a::after {content:"";position:absolute;bottom:5px;left:50%;width:16px;height:2px;border-radius:4px;background:var(--purple);transform:translateX(-50%) scaleX(0);transition:transform .18s}
.links a:hover::after,.links a[aria-current]::after {transform:translateX(-50%) scaleX(1)}
.links a[aria-current] {background:var(--pale);color:var(--deep)}
.links a:active {background:#e5dbfc;color:var(--deep)}
.header {position:sticky;transition:box-shadow .22s,background .22s}
.header.is-scrolled {background:#fffffff5;box-shadow:0 8px 28px #30204616,0 1px 4px #30204608}
.header .sign {background:var(--purple);border-color:var(--purple);color:#211039;border-radius:14px;box-shadow:0 7px 18px #895aff25}
.header .sign:hover {background:var(--deep);border-color:var(--deep);color:white;box-shadow:0 10px 24px #895aff35}
.copyright {color:#5c5269}.links a {color:#41364f}
.header .sign {background:#7540df;border-color:#7540df;color:white}.header .sign:hover {background:#6331c7;border-color:#6331c7;color:white}
.sign {background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;font-weight:700;border-radius:14px;padding:10px 24px;box-shadow:0 4px 12px #211a3510}
.sign:hover {background:var(--deep);border-color:var(--deep);box-shadow:0 6px 18px #895aff33}
.sign:active,.menu:active {transform:translateY(0)}
.menu {border-radius:12px;background:white;border-color:var(--border)}
footer {position:relative;isolation:isolate;overflow:hidden;background:#faf9fc;padding:72px 0 0;border-top:1px solid #eee9f3}
footer::before {content:"";position:absolute;z-index:-1;width:420px;height:320px;left:-190px;top:-180px;background:radial-gradient(ellipse,#895aff19,transparent 70%);pointer-events:none}
footer .wrap {position:relative}.footer-grid {display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px}
.footer-brand .brand {font-size:28px}.footer-brand .mark {width:42px;height:42px;border-radius:14px}
.footer-group strong {display:block;font-size:15px;font-weight:800;letter-spacing:.01em;color:var(--ink);margin:5px 0 20px}
.footer-group a {display:block;color:var(--muted);font-size:14px;margin:12px 0;line-height:1.6;width:fit-content}
.footer-group a:hover {color:var(--deep);text-decoration:underline;text-underline-offset:5px;transform:translateX(3px)}
.socials {display:flex;gap:10px;margin-top:28px}.socials a {display:grid;place-items:center;width:42px;height:42px;border:1px solid #e6dfef;border-radius:13px;background:white;color:#635475;box-shadow:0 3px 8px #25173704}
.socials svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.socials a:hover {background:var(--purple);border-color:var(--purple);color:white;transform:translateY(-3px);box-shadow:0 6px 14px #895aff30}
.copyright {margin-top:60px;padding:24px 0 28px;font-size:12px;letter-spacing:.02em;border-top:1px solid #e5dfeb;color:#756c84}
@media(max-width:1023px){.header .nav{gap:16px;margin:0 20px}.brand{font-size:22px}.links{gap:2px}.links a{padding:10px 12px}.footer-grid{gap:28px}}
@media(max-width:767px){.header{top:8px;margin-top:8px;width:calc(100% - 24px);border-radius:17px}.header .nav{min-height:66px;margin:0 12px;gap:8px}.brand{font-size:17px;letter-spacing:-.6px;gap:7px}.mark{width:29px;height:29px;border-radius:9px}.mark svg{width:22px;height:22px}.sign{padding:8px 12px;border-radius:11px;font-size:12px;min-height:44px}.menu{min-width:40px;min-height:44px}.links{top:76px;left:-12px;right:-12px;padding:16px;border:1px solid var(--border);border-radius:16px;gap:8px;background:#fff}.links a{font-size:15px;padding:12px 16px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}footer{padding-top:48px}.footer-brand{grid-column:1/-1}.footer-brand .brand{font-size:25px}.copyright{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.links a::after{transition:none}.footer-group a:hover,.socials a:hover{transform:none}}
.header .sign {background:var(--purple);border-color:var(--purple);color:#211039;box-shadow:0 7px 18px #895aff25}
.header .sign:hover {background:var(--deep);border-color:var(--deep);color:white;box-shadow:0 10px 24px #895aff35}
.copyright {color:#5c5269}.links a {color:#41364f}
.header .sign{background:#7540df;border-color:#7540df;color:white}.header .sign:hover{background:#6331c7;border-color:#6331c7;color:white}
/* Capsule navigation: reference geometry, existing brand button palette. */
.header {border-radius:999px;background:linear-gradient(110deg,#fff4fbea,#f3efffea 58%,#eef3ffea);border:1px solid #ffffff9c;box-shadow:0 10px 32px #3523440d;backdrop-filter:blur(12px)}
.header .nav {min-height:78px;margin:0 30px;gap:32px}
.header .links {gap:24px}.header .links a {font-size:16px;padding:10px 18px;border-radius:999px}
.header .sign {border-radius:999px;padding:10px 28px}
.header.is-scrolled {background:linear-gradient(110deg,#fff7fcf5,#f5f1fff5 58%,#f1f5fff5);box-shadow:0 8px 28px #30204616,0 1px 4px #30204608}
@media(max-width:1023px){.header .nav{margin:0 24px;gap:20px}.header .links{gap:10px}.header .links a{font-size:15px;padding:10px 14px}}
@media(max-width:767px){.header{border-radius:999px}.header .nav{min-height:66px;margin:0 14px;gap:8px}.header .links{gap:8px;border-radius:20px}.header .links a{padding:12px 16px}.header .sign{padding:8px 12px}.header .menu{border-radius:50%}}
