.site-nav-bar{background:var(--page-surface);border-bottom:1px solid var(--page-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;position:sticky;top:0;z-index:200;width:100%;}
    .site-logo{font-family:'Orbitron',sans-serif;font-size:1rem;font-weight:700;color:var(--page-accent);letter-spacing:.06em;text-decoration:none;text-shadow:0 0 14px var(--page-accent-glow);}
    .site-nav{display:flex;align-items:center;gap:6px;}
    .nav-link{display:none;align-items:center;justify-content:center;min-width:100px;font-size:.875rem;font-weight:600;padding:8px 12px;border:1.5px solid var(--page-border);border-radius:9px;color:var(--page-ink);background:transparent;font-family:'Space Grotesk',sans-serif;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .1s;}
    .nav-link:hover{background:var(--accent);border-color:var(--accent);color:#080b14;transform:translateY(-1px);}
    .nav-link.active{background:var(--accent);border-color:var(--accent);color:#080b14;}
    .nav-hamburger{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--page-border);cursor:pointer;padding:6px 12px;border-radius:9px;font-size:.85rem;font-weight:600;color:var(--page-ink);font-family:'Space Grotesk',sans-serif;transition:background .2s;}
    @media(min-width:600px){.site-nav .nav-link{display:inline-flex;}.nav-hamburger{display:none;}.nav-mobile-menu{display:none !important;}}
    .nav-hamburger:hover{background:var(--page-surface2);}
    .nav-mobile-menu{display:none;flex-direction:column;background:var(--page-surface);border-bottom:1px solid var(--page-border);padding:10px 16px 14px;gap:8px;position:sticky;top:56px;z-index:199;}
    .nav-mobile-menu.open{display:flex;}
    .nav-mobile-link{display:block;text-align:center;text-decoration:none;font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:600;color:var(--page-ink);background:var(--page-surface2);border:1.5px solid var(--page-border);border-radius:9px;padding:13px 16px;transition:background .18s,border-color .18s,color .18s;}
    .nav-mobile-link:hover{background:var(--accent);border-color:var(--accent);color:#080b14;}
    .nav-mobile-link.active{background:var(--accent);border-color:var(--accent);color:#080b14;}
    .theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border:1.5px solid var(--page-border);border-radius:9px;background:transparent;color:var(--page-accent);cursor:pointer;transition:background .18s,border-color .18s,transform .1s;margin-right:6px;}
    .theme-toggle:hover{border-color:var(--accent);background:var(--accent-dim);transform:translateY(-1px);}
    .theme-toggle svg{width:18px;height:18px;}
    .theme-toggle .ti-moon{display:none;}
    :root[data-theme="light"] .theme-toggle .ti-sun{display:none;}
    :root[data-theme="light"] .theme-toggle .ti-moon{display:inline-block;}
    :root{--bg:#0a0e1a;--surface:#121a2e;--surface2:#1b2540;--border:#2c3a59;
  --border-control: #7a7fb5; /* 3:1+ on all surfaces - WCAG 1.4.11 for controls */--text:#e9f0fb;--muted:#9db0cf;--accent:#22d3ee;--accent-dim:rgba(34,211,238,0.14);--accent-glow:rgba(34,211,238,0.45);--player-clr:#22d3ee;--ai-clr:#ff7a45;--win-clr:#34d399;--danger:#f87171;--shadow:0 10px 30px rgba(0,0,0,0.45);--page:#dde3f1;--page-ink:#1c2436;--page-muted:#4a5570;--page-surface:#eaeef7;--page-surface2:#d6ddee;--page-border:#bfc7db;--page-accent:#0077a8;--page-accent-glow:rgba(0,119,168,0.30);background:var(--page);color-scheme:dark;}
    :root[data-theme="light"]{--bg:#eaf2fb;--surface:#ffffff;--surface2:#dbe9f6;--border:#9fc1da;
  --border-control: #7a7fb5; /* 3:1+ on all surfaces - WCAG 1.4.11 for controls */--text:#0d2137;--muted:#3a5670;--accent:#0077a8;--accent-dim:rgba(0,119,168,0.12);--accent-glow:rgba(0,119,168,0.30);--player-clr:#0077a8;--ai-clr:#cf531a;--win-clr:#0a8f57;--danger:#cf2f3e;--shadow:0 8px 24px rgba(13,33,55,0.12);--page:#eaf2fb;--page-ink:#0d2137;--page-muted:#3a5670;--page-surface:#ffffff;--page-surface2:#dbe9f6;--page-border:#9fc1da;--page-accent:#0077a8;--page-accent-glow:rgba(0,119,168,0.30);color-scheme:light;}
    body{background:var(--page);}
    #ttt-wrap{background:var(--page);color:var(--page-ink);font-family:'Space Grotesk',sans-serif;padding:24px 16px 48px;min-height:70vh;}
    #ttt-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:620px;margin:0 auto;}
    .ttt-logo{font-family:'Orbitron',sans-serif;font-size:clamp(1.4rem,4vw,2.1rem);font-weight:900;letter-spacing:.1em;color:var(--page-accent);text-shadow:0 0 22px var(--page-accent-glow);}
    .ttt-logo span{color:var(--page-ink);opacity:.5;}
    .ttt-tagline{font-size:.72rem;color:var(--page-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:5px;}
    #score-bar{display:none;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 20px;align-items:center;justify-content:space-between;gap:12px;}
    #score-bar.visible{display:flex;}
    .score-group{display:flex;gap:20px;align-items:center;}.score-item{text-align:center;}
    .score-label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
    .score-value{font-family:'Orbitron',sans-serif;font-size:1.5rem;font-weight:700;line-height:1.1;}
    .score-value.player{color:var(--player-clr);}.score-value.draws{color:var(--muted);}.score-value.ai{color:var(--ai-clr);}
    .score-sep{color:var(--border);font-size:1.3rem;}
    .btn-reset-score{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:6px 12px;font-family:'Space Grotesk',sans-serif;font-size:.73rem;cursor:pointer;transition:all .2s;white-space:nowrap;}
    .btn-reset-score:hover{border-color:var(--danger);color:var(--danger);}
    #setup-screen{width:100%;max-width:460px;}
    .setup-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow);}
    .setup-section{margin-bottom:24px;}
    .section-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
    .section-label::after{content:'';flex:1;height:1px;background:var(--border);}
    .size-display{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
    .size-value{font-family:'Orbitron',sans-serif;font-size:1.7rem;font-weight:700;color:var(--accent);}
    .win-badge{font-size:.74rem;background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);padding:4px 10px;border-radius:20px;}
    input[type="range"]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:none;cursor:pointer;}
    input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent-glow);cursor:pointer;}
    .option-group{display:flex;gap:10px;}
    .option-btn{flex:1;background:var(--surface2);border:2px solid var(--border);border-radius:10px;padding:12px 10px;color:var(--muted);font-family:'Space Grotesk',sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;}
    .option-btn svg{width:22px;height:22px;}
    .option-btn:hover{border-color:var(--muted);color:var(--text);}
    .option-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
    .option-btn.diff-btn{flex-direction:row;gap:6px;padding:11px 10px;justify-content:center;}
    .size-chips{display:flex;gap:6px;margin-top:12px;}
    .size-chip{flex:1;padding:7px 4px;background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;color:var(--muted);font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,color .18s;}
    .size-chip:hover{border-color:var(--accent);color:var(--accent);}
    .size-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
    .btn-start{width:100%;margin-top:28px;padding:16px;background:var(--accent);color:var(--bg);border:none;border-radius:10px;font-family:'Orbitron',sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .2s;box-shadow:0 0 26px var(--accent-glow);}
    .btn-start:hover{filter:brightness(1.12);box-shadow:0 0 44px var(--accent-glow);transform:translateY(-1px);}
    #game-screen{width:100%;max-width:620px;display:none;flex-direction:column;align-items:center;gap:14px;}
    #game-screen.visible{display:flex;}
    #turn-bar{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .turn-text{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px;}
    .turn-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 8px currentColor;}
    .turn-dot.player{background:var(--player-clr);color:var(--player-clr);}.turn-dot.ai{background:var(--ai-clr);color:var(--ai-clr);}
    .game-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
    .meta-badge{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:.72rem;color:var(--muted);}
    #thinking-bar{width:100%;height:3px;background:var(--border);border-radius:2px;overflow:hidden;opacity:0;transition:opacity .2s;}
    #thinking-bar.active{opacity:1;}
    #thinking-bar::after{content:'';display:block;height:100%;width:38%;background:var(--ai-clr);border-radius:2px;animation:scanline .85s ease-in-out infinite alternate;}
    #board-wrap{width:100%;display:flex;justify-content:center;}
    #board{display:grid;gap:5px;}
    .cell{background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;aspect-ratio:1;}
    .cell:hover:not(.taken):not(.ai-turn){background:var(--surface2);border-color:var(--accent);}
    .cell.taken{cursor:default;}
    .cell.winning{border-color:var(--win-clr);background:rgba(0,255,136,.06);animation:winPulse 1.3s ease-in-out infinite;}
    .cell svg{width:62%;height:62%;animation:pieceIn .22s cubic-bezier(0.34,1.56,0.64,1) both;}
    #game-controls{width:100%;display:flex;justify-content:center;}
    .btn-abort{padding:10px 22px;background:transparent;border:1px solid var(--danger);color:var(--danger);border-radius:8px;font-family:'Space Grotesk',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;}
    #modal-overlay{display:none;position:fixed;inset:0;background:rgba(13,33,55,0.72);backdrop-filter:blur(6px);z-index:100;align-items:center;justify-content:center;padding:20px;}
    #modal-overlay.visible{display:flex;}
    .modal-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px 32px;text-align:center;max-width:350px;width:100%;box-shadow:var(--shadow);}
    .modal-icon{font-size:3rem;margin-bottom:14px;display:block;}
    .modal-title{font-family:'Orbitron',sans-serif;font-size:1.45rem;font-weight:700;margin-bottom:8px;}
    .modal-title.win{color:var(--win-clr);}.modal-title.lose{color:var(--ai-clr);}.modal-title.draw{color:var(--muted);}
    .modal-sub{color:var(--muted);font-size:.88rem;margin-bottom:28px;}
    .modal-btns{display:flex;flex-direction:column;gap:10px;}
    .btn-new-game{padding:14px;background:var(--accent);color:var(--bg);border:none;border-radius:10px;font-family:'Orbitron',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:all .2s;}
    .btn-new-game:hover{filter:brightness(1.12);}
    .btn-setup{padding:12px;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:10px;font-family:'Space Grotesk',sans-serif;font-size:.85rem;cursor:pointer;transition:all .2s;}
    .btn-setup:hover{border-color:var(--muted);color:var(--text);}
    @keyframes winPulse{0%,100%{box-shadow:inset 0 0 18px rgba(0,255,136,.12),0 0 12px rgba(0,255,136,.18);}50%{box-shadow:inset 0 0 28px rgba(0,255,136,.28),0 0 22px rgba(0,255,136,.38);}}
    @keyframes scanline{from{margin-left:0;}to{margin-left:62%;}}
    @keyframes pieceIn{from{opacity:0;transform:scale(0.3);}to{opacity:1;transform:scale(1);}}
    .ttt-info{background:var(--page);max-width:700px;margin:0 auto;padding:48px 20px 64px;font-family:'Space Grotesk',sans-serif;}
    .ttt-info h2{font-family:'Orbitron',sans-serif;font-size:.9rem;font-weight:700;color:var(--page-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;}
    .ttt-info p,.ttt-info li{font-size:.9rem;line-height:1.8;color:var(--page-ink);opacity:.8;margin:0 0 10px;}
    .ttt-info ul{padding-left:18px;margin:0 0 10px;}
    .ttt-info li{margin:0 0 6px;}
    .ttt-info a{color:var(--page-accent);text-decoration:none;}
    .ttt-info a:hover{text-decoration:underline;}
    .ttt-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
    .ttt-info-divider{width:100%;height:1px;background:var(--page-border);margin:36px 0;}
    @media(max-width:600px){.ttt-info-grid{grid-template-columns:1fr;}}

.sharebar[data-astro-cid-7pfhh5de]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;margin:2.5rem 0}.sharebar-label[data-astro-cid-7pfhh5de]{color:var(--color-muted);font-size:.875rem;font-weight:600}.sharebar-btn[data-astro-cid-7pfhh5de]{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.45rem 1.05rem;border-radius:100px;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--color-text);background:var(--color-surface2);border:1px solid var(--color-border);text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s}.sharebar-btn[data-astro-cid-7pfhh5de]:hover{border-color:var(--color-accent);color:var(--color-accent)}.sharebar-btn[data-astro-cid-7pfhh5de] svg[data-astro-cid-7pfhh5de]{width:16px;height:16px}.sharebar-toast[data-astro-cid-7pfhh5de]{color:var(--color-accent);font-size:.85rem;font-weight:600}.sharebar-toast[data-astro-cid-7pfhh5de][hidden]{display:none}
/* lk-compact-menu: compact floating mobile menu — width fits longest item, height capped ~60vh with scroll */
.nav-mobile-menu.open{position:fixed;top:60px;right:12px;left:auto;width:max-content;min-width:0;max-width:calc(100vw - 24px);max-height:min(62vh,560px);overflow-y:auto;gap:2px;padding:6px;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.24);z-index:210;}
.nav-mobile-menu.open .nav-mobile-link{padding:8px 14px;font-size:.9rem;white-space:nowrap;text-align:left;justify-content:flex-start;}
