﻿:root{--bg:#080808;--card:rgba(255,255,255,.055);--text:#f8f4ee;--muted:#a69f94;--gold:#e4b644;--blue:#67a9ff;--line:rgba(228,182,68,.24);--shadow:0 25px 70px rgba(0,0,0,.45)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;min-height:100vh;overflow-x:hidden}.shell{width:min(1120px,92vw);margin:auto;padding:32px 0 70px}.back{color:var(--gold);text-decoration:none;font-weight:700}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:2px;font-weight:800}header{text-align:center;padding:40px 0 28px}h1{font-family:Georgia,serif;font-size:clamp(48px,8vw,88px);margin:10px 0;background:linear-gradient(120deg,#fff,#e4b644);color:transparent;background-clip:text}header p{color:var(--muted);font-size:18px}.game-app{display:grid;grid-template-columns:1fr minmax(290px,360px);gap:22px}.controls,.scoreboard,.play-area,.stats,.history{background:var(--card);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(16px);box-shadow:var(--shadow)}.controls{grid-column:1/-1;display:flex;gap:12px;align-items:end;padding:16px;flex-wrap:wrap}.controls label{display:grid;gap:6px;color:var(--muted);font-size:12px}select,button{font:inherit;border-radius:10px;padding:10px 13px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--text);cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border .3s}button:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 26px rgba(228,182,68,.16)}.scoreboard{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:14px}.scoreboard div{text-align:center;border-right:1px solid var(--line)}.scoreboard div:last-child{border:0}.scoreboard b{display:block;font-size:27px;color:var(--gold)}.scoreboard span,.stats span{color:var(--muted);font-size:12px}.play-area{padding:26px;text-align:center}.status{font-weight:800;margin-bottom:18px;color:var(--gold)}.board{width:min(100%,500px);aspect-ratio:1;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cell{border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);font-size:clamp(42px,9vw,92px);font-family:Georgia,serif;font-weight:900;display:grid;place-items:center;transition:.3s;animation:enter .35s both}.cell:hover:not(:disabled){background:rgba(228,182,68,.09);box-shadow:inset 0 0 28px rgba(228,182,68,.12)}.cell.x{color:var(--gold)}.cell.o{color:var(--blue)}.cell.win{animation:pulse .8s infinite;background:rgba(228,182,68,.16)}.actions{margin-top:20px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.primary{background:linear-gradient(135deg,#e4b644,#a87511);color:#160e00;font-weight:900}.stats{padding:24px}.stats h2,.stats h3{font-family:Georgia,serif}.stats p{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 0}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:7px;border:1px solid var(--line);border-radius:9px;font-size:12px}.badge.lock{opacity:.35}.history{margin-top:22px;padding:20px}.history ol{display:flex;gap:8px;flex-wrap:wrap;padding-left:20px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,120px);background:#1c1710;border:1px solid var(--gold);padding:12px 18px;border-radius:11px;transition:.35s;z-index:5}.toast.show{transform:translate(-50%,0)}.ambient{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(90px);opacity:.14;pointer-events:none}.ambient.a{background:var(--gold);top:-190px;left:-150px}.ambient.b{background:var(--blue);bottom:-180px;right:-120px}@keyframes enter{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:none}}@keyframes pulse{50%{transform:scale(1.03);box-shadow:0 0 30px var(--gold)}}body.light{--bg:#f4efe5;--card:rgba(255,255,255,.7);--text:#15120c;--muted:#655f56;--shadow:0 25px 70px rgba(74,50,11,.14)}@media(max-width:760px){.game-app{grid-template-columns:1fr}.stats{order:4}.scoreboard{grid-template-columns:repeat(2,1fr);gap:12px}.scoreboard div:nth-child(2){border-right:0}.controls{align-items:stretch}.controls label{flex:1}.shell{width:min(94vw,600px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.cell.hint{border-color:var(--blue);box-shadow:0 0 0 5px rgba(103,169,255,.16),0 0 30px rgba(103,169,255,.45);animation:pulse .55s 2}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}#confetti i{position:absolute;top:-18px;width:10px;height:16px;border-radius:3px;animation:fall 1.7s cubic-bezier(.2,.7,.3,1) forwards}@keyframes fall{to{transform:translate3d(0,110vh,0) rotate(720deg);opacity:0}}
