/* One shared header, footer and game frame across every public page. */
.site-nav { background:rgba(11,14,20,.97); border-bottom:1px solid #2a303a; padding:16px 0; box-shadow:none; font-family:'Inter',sans-serif; }
.site-nav .container { gap:24px; }
.site-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#f3f5f7; font:800 1rem/1.2 'Exo 2',sans-serif; letter-spacing:.02em; white-space:nowrap; }
.site-brand:hover { color:#fff; }
.site-brand img { width:32px; height:32px; object-fit:contain; margin:0 !important; }
.site-nav .navbar-nav { gap:3px; }
.site-nav .nav-link { color:#b8c0cc; padding:10px 9px; font-size:.85rem; font-weight:600; border-radius:8px; }
.site-nav .nav-link:hover,.site-nav .nav-link:focus-visible { color:#fff; background:#171c24; }
.site-nav .nav-link.active { color:#ff8c42; background:rgba(255,140,66,.08); }
.site-nav .navbar-collapse { gap:20px; }
.site-nav .venus-language-toggle { min-height:44px; padding:8px 10px; border-radius:12px; background:#171c24; border-color:#343d49; box-shadow:none; gap:9px; }
.site-nav .venus-language-toggle-icon { width:28px; height:28px; border-radius:8px; }
.site-nav .venus-language-current-code { display:none; }
.site-nav .venus-language-current-label { font-size:.8rem; }
.site-nav-actions>.btn { min-height:44px; border-radius:12px; padding:10px 16px !important; font-size:.86rem; }
.site-nav .venus-language-menu { border-radius:12px; background:#141920; border-color:#343d49; }
.site-footer { background:#10151c; padding:56px 0 20px; border-top:1px solid #2a303a; font-family:'Inter',sans-serif; }
.site-footer-grid { display:grid; grid-template-columns:1.25fr .8fr 1fr; gap:48px; padding-bottom:36px; }
.footer-brand { white-space:normal; }
.footer-tagline { font-size:1.05rem; color:#d7dde7; line-height:1.8; margin:22px 0 12px; }
.footer-service { color:#9ea9ba; font-size:.85rem; }
.footer-navigation { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:16px 20px; }
.site-footer a:not(.btn) { color:#b8c0cc; font-size:.88rem; text-decoration:none; line-height:1.7; overflow-wrap:anywhere; }
.site-footer a:not(.btn):hover { color:#ff8c42; }
.site-footer .footer-brand { font-size:1rem; color:#f3f5f7; }
.footer-contact-column { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-contact-title { font-size:1.05rem; color:#f3f5f7; margin:0 0 4px; }
.footer-offer { margin-top:8px; background:#ff8c42; border:1px solid #ff8c42; border-radius:12px; color:#0b0e14; min-height:44px; font-size:.85rem; }
.footer-bottom { display:flex; gap:24px; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid #2a303a; color:#9ea9ba; font-size:.75rem; }
.footer-bottom p { margin:0; }
.footer-mark { color:#ff8c42; font:800 2rem 'Exo 2',sans-serif; }
#site-navbar :focus-visible,#site-footer :focus-visible { outline:2px solid #ff8c42; outline-offset:4px; }
body.game-page { overflow-x:hidden; overflow-y:auto; background:#0b0e14; margin:0; padding-top:var(--navbar-offset); font-family:'Inter',sans-serif; }
.game-page main { background:radial-gradient(ellipse at 85% 0,rgba(255,140,66,.07),transparent 45%); }
.game-page #game-container { height:auto; min-height:calc(100svh - var(--navbar-offset)); padding:48px 16px; overflow:visible; background:transparent; gap:12px; }
.game-page .game-wrapper { max-width:100%; border:1px solid #2a303a; border-radius:20px; box-shadow:none; background:#141920; }
.game-page .game-title { font-family:'Exo 2',sans-serif; text-shadow:none; font-size:clamp(1.8rem,4vw,2.8rem); letter-spacing:-.025em; }
.game-page .stats { max-width:680px; width:100%; }
.game-page .score-panel { background:#141920; border:1px solid #2a303a; border-radius:12px; }
.game-page canvas { max-width:100%; height:auto; }
.game-page .overlay-menu { z-index:20; max-width:calc(100vw - 48px); min-width:min(300px,calc(100vw - 48px)); padding:24px; box-shadow:0 16px 40px rgba(0,0,0,.5); border:1px solid #ff8c42; border-radius:16px; }
.game-page .btn { border-radius:12px; min-height:44px; text-transform:none; letter-spacing:normal; }
.game-page .btn-venus { background:#ff8c42; border-color:#ff8c42; color:#0b0e14; }
.game-page #game-section { padding-top:56px !important; padding-bottom:56px !important; }
.game-page .terminal-card { border-color:#3b414b !important; background:#141920 !important; box-shadow:none; }
.game-page .guess-input { background:#0b0e14; border-color:#4c5667; color:#f3f5f7; }
@media(min-width:992px) and (max-width:1199.98px) { .site-nav .container { max-width:100%; gap:16px; } .site-nav .navbar-collapse { gap:8px; } .site-nav .navbar-nav .nav-link { padding:9px 6px; font-size:.78rem; } .site-nav .site-brand { font-size:.85rem; } .site-nav-actions { gap:8px !important; } }
@media(max-width:991.98px) { .site-nav { padding:12px 0; } .site-nav .navbar-collapse { padding-top:20px; padding-bottom:8px; } .site-nav .navbar-nav { gap:4px; } .site-nav .nav-link { padding:12px 14px; font-size:.95rem; } .site-nav-actions { padding:14px 0 4px; } .site-footer-grid { gap:28px; grid-template-columns:1fr 1fr; } .footer-brand-column { grid-column:1/-1; } }
@media(max-width:575.98px) { .site-brand { font-size:.83rem; gap:7px; } .site-brand img { width:28px; height:28px; } .site-nav .container { gap:12px; } .site-footer { padding-top:36px; } .site-footer-grid { grid-template-columns:1fr; gap:28px; } .footer-brand-column { grid-column:auto; } .footer-navigation { max-width:340px; } .footer-bottom { align-items:flex-start; } .game-page #game-container { padding:32px 12px; } }

/* Keep the wordmark as one text run, with normal word spacing. */
.brand-wordmark { word-spacing:normal; letter-spacing:.01em; }
