/* Shared controls and branded public navigation. Fonts and SVG artwork have local fallbacks. */
@font-face{
  font-family:'Site Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('fonts/Inter-latin.woff2') format('woff2');
}
:root{
  --font:'Inter','Site Inter',-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  --r-sm:10px;--r-md:14px;--r-lg:20px;
  --sd1:0 1px 2px rgba(22,24,28,.035),0 5px 16px -10px rgba(22,24,28,.13);
  --sd2:0 2px 5px rgba(22,24,28,.045),0 14px 28px -16px rgba(22,24,28,.18);
  --public-nav-height:68px;
}
.btn{min-height:42px;line-height:1.4;}
.btn-sm{min-height:36px;}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
.btn:disabled{cursor:not-allowed;opacity:.5;transform:none;filter:none;box-shadow:none;}
.input{font-family:var(--font);}
.input:disabled{cursor:not-allowed;background:var(--sfc);color:var(--onv);}
.public-nav{--nav-accent:var(--brand);--nav-ink:var(--brand);--nav-tint:rgba(var(--glow),.045);--nav-edge:rgba(var(--glow),.18);--nav-active:rgba(var(--glow),.06);position:-webkit-sticky;position:sticky;top:0;z-index:100;max-width:1152px;margin:22px auto 0;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 8px 32px -24px #496e5924;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#617184;}
.public-nav.nav-soft-red{--nav-accent:#d45257;--nav-ink:#a83f46;--nav-tint:#fff1f1;--nav-edge:#e9c9cb;--nav-active:#fdf1f2;}
.public-nav-inner{max-width:none;margin:0 auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 26px;}
.public-nav .home-wordmark{display:flex;align-items:center;gap:14px;min-width:0;font-size:23px;font-weight:750;letter-spacing:-.8px;line-height:1.3;color:var(--nav-accent);}
.public-nav .home-brand-name{font:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.public-nav .home-wordmark>span{padding-left:14px;border-left:1px solid #e1e6eb;font-size:14px;letter-spacing:.04em;font-weight:500;color:#61766c;white-space:nowrap;}
.public-nav .home-nav-links{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.public-nav-link{font-size:16px;font-weight:500;padding:10px 14px;border-radius:9px;}
.public-nav-link.is-active{color:var(--nav-ink);background:var(--nav-active);}
.public-nav-link:hover{color:var(--nav-ink);}
.public-nav .home-account-link{color:var(--nav-ink);border:1px solid var(--nav-edge);background:var(--nav-tint);}
.public-nav .home-account-arrow{margin-left:3px;font-size:13px;}
.public-footer{padding:0 20px 26px;background:transparent;}
.public-footer-inner{max-width:1100px;margin:0 auto;padding-top:24px;border-top:1px solid var(--line);}
.public-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;font-size:13px;font-weight:500;color:var(--onv);}
.public-footer-links a:hover{color:var(--brand);}
.public-footer p{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--onv);}
.wv-emoji svg{display:block;margin:0 auto;width:38px;height:38px;color:var(--brand);}
@media(max-width:1200px){.public-nav{margin-left:24px;margin-right:24px;}}
@media(max-width:720px){
  :root{--public-nav-height:65px;}
  .public-nav{margin:0;border:0;border-radius:0;background:#ffffffed;}
  .public-nav-inner{min-height:65px;padding:10px 20px;gap:12px;}
  .public-nav .home-wordmark{font-size:22px;}
  .public-nav .home-wordmark>span{display:none;}
  .public-nav .home-nav-links{gap:0;}
  .public-nav-link{font-size:14px;padding:9px 10px;}
}
@media(max-width:350px){
  .public-nav-inner{padding-left:16px;padding-right:16px;gap:8px;}
  .public-nav .home-wordmark{font-size:20px;}
  .public-nav-link{padding:9px 6px;font-size:13px;}
  .public-nav .home-account-arrow{display:none;}
}
@media(max-width:600px){
  .public-footer{padding-left:16px;padding-right:16px;}
  .input{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){
  .btn,.bento-card,.plat-guide-card,.public-nav-link{transition:none;}
}
