.container,body,html{height:100%;width:100%}.mode-btn,body{color:var(--text-color)}.mode-btn,.scoreboard{background-color:var(--white)}.container,.game-board,.game-info,body,html,main{width:100%}.container,.game-board,.mode-toggle,.score,.scoreboard,main{display:flex}.board,.cell{aspect-ratio:1/1}.game-controls,.game-info,.game-mode-selector{max-width:var(--board-size)}.btn,.mode-btn,.score span{font-weight:var(--font-weight-bold)}.board,.btn,body,html{overflow:hidden}.btn,.cell,.mode-btn{cursor:pointer}:root{--primary-color:#3498db;--primary-color-dark:#2980b9;--secondary-color:#2ecc71;--accent-color:#e74c3c;--background-color:#f8f9fa;--text-color:#2d3748;--border-color:#cbd5e0;--border-color-dark:#bdc3c7;--cell-hover-color:#edf2f7;--x-color:var(--primary-color);--o-color:var(--accent-color);--draw-color:var(--secondary-color);--white:#ffffff;--shadow-color:rgba(0, 0, 0, 0.1);--highlight-color:rgba(46, 204, 113, 0.2);--container-max-width:100%;--board-size:min(65vh, 65vw, 450px);--cell-size:calc(var(--board-size) / 3);--border-radius:8px;--button-spacing:10px;--standard-padding:clamp(10px, 3vw, 15px);--small-padding:clamp(6px, 2vw, 10px);--button-padding:clamp(8px, 2vw, 10px) clamp(10px, 3vw, 15px);--standard-gap:clamp(12px, 3vh, 20px);--small-gap:clamp(6px, 2vw, 10px);--tiny-gap:clamp(3px, 1vw, 5px);--grid-gap:clamp(4px, 1vw, 6px);--box-shadow-standard:0 4px 6px var(--shadow-color);--box-shadow-large:0 6px 12px var(--shadow-color);--outline-width:3px;--outline-offset:2px;--button-y-offset:-2px;--font-family:'Inter',Arial,sans-serif;--heading-size:clamp(1.5rem, 5vw, 2.5rem);--subheading-size:clamp(1rem, 3vw, 1.5rem);--button-font-size:clamp(0.875rem, 2vw, 1rem);--score-font-size:clamp(0.9rem, 2vw, 1.1rem);--score-value-size:clamp(1.2rem, 3vw, 1.4rem);--font-weight-bold:600;--line-height:1.6;--icon-size:clamp(1.8rem, 5vw, 2.5rem);--game-icon-size:clamp(2.5rem, 10vw, 4.5rem);--transition-speed:0.3s;--animation-duration-short:0.3s;--animation-duration-medium:0.5s;--animation-duration-long:1.5s}*{box-sizing:border-box;margin:0;padding:0}body,html{position:fixed;top:0;left:0;right:0;bottom:0}body{font-family:var(--font-family);background-color:var(--background-color);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.container{padding:max(1vh,8px);flex-direction:column;justify-content:center;align-items:center}main{max-width:100%;flex-direction:column;align-items:center;gap:var(--standard-gap);padding:max(1vh,5px)}.game-mode-selector{width:100%;margin-bottom:max(.5vh,var(--small-padding))}.mode-toggle{justify-content:space-between;gap:var(--button-spacing)}.mode-btn{flex:1;padding:var(--button-padding);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--button-font-size);transition:all var(--transition-speed) ease}.board,.scoreboard{border-radius:var(--border-radius)}.mode-btn.active,.swal-difficulty-btn.active{background-color:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.cell:hover,.mode-btn:hover:not(.active),.swal-difficulty-btn:hover:not(.active){background-color:var(--cell-hover-color)}.scoreboard{justify-content:space-between;padding:var(--standard-padding);box-shadow:var(--box-shadow-standard)}.score{flex-direction:column;align-items:center;gap:var(--tiny-gap)}.score i{transition:transform var(--transition-speed) ease,filter var(--transition-speed) ease}.fa-handshake,.fa-o,.fa-x{font-size:var(--icon-size)!important}.fa-x,.fa-x.game-icon{color:var(--x-color)!important}.fa-o,.fa-o.game-icon{color:var(--o-color)!important}.fa-handshake{color:var(--draw-color)!important}.score span{font-size:var(--score-value-size);margin-top:var(--tiny-gap)}.x-score span{color:var(--x-color)}.o-score span{color:var(--o-color)}.draws span{color:var(--draw-color)}.active-turn{animation:pulse var(--animation-duration-long) infinite ease-in-out;filter:drop-shadow(0 0 5px currentColor)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.game-board{justify-content:center}.board{width:var(--board-size);height:var(--board-size);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:var(--grid-gap);background-color:var(--border-color);box-shadow:var(--box-shadow-large)}.btn,.cell,.game-controls{display:flex}.cell{background-color:var(--white);justify-content:center;align-items:center;font-size:calc(var(--cell-size) * .6);transition:background-color var(--transition-speed) ease;position:relative}.game-icon{font-size:var(--game-icon-size)!important;transition:all var(--transition-speed) ease;animation:place-mark var(--animation-duration-short) ease-out}@keyframes place-mark{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.cell.highlight{background-color:var(--highlight-color)}.game-controls{width:100%;justify-content:space-between;gap:var(--button-spacing);margin-top:max(.5vh,var(--small-padding))}.btn{padding:var(--button-padding);background-color:var(--primary-color);color:var(--white);border:none;border-radius:var(--border-radius);font-size:var(--button-font-size);transition:background-color var(--transition-speed) ease,transform var(--transition-speed) ease;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-overflow:ellipsis}.swal2-cancel,.swal2-title{color:var(--text-color)!important}.swal2-cancel,.swal2-confirm,.swal2-popup{border-radius:var(--border-radius)!important}.btn:hover{background-color:var(--primary-color-dark);transform:translateY(var(--button-y-offset))}.btn:active{transform:translateY(0)}.swal2-cancel:hover,.swal2-confirm:hover{transform:translateY(var(--button-y-offset))!important}#new-game-btn,#restart-btn{flex:1}#sound-toggle{width:50px;flex:0 0 auto}.swal2-popup{font-family:var(--font-family)!important;width:min(90vw,32em)!important;padding:clamp(1em,3vw,1.25em)!important;margin:0!important}.swal2-title{font-size:clamp(1.2em, 4vw, 1.875em)!important}.swal2-html-container{font-size:clamp(.9em, 3vw, 1.125em)!important}.swal2-cancel,.swal2-confirm{font-weight:var(--font-weight-bold)!important;font-size:var(--button-font-size)!important;padding:var(--button-padding)!important;transition:background-color var(--transition-speed) ease,transform var(--transition-speed) ease!important}.swal2-confirm{background-color:var(--primary-color)!important}.swal2-confirm:hover{background-color:var(--primary-color-dark)!important}.swal2-cancel{background-color:var(--border-color)!important}.swal2-cancel:hover{background-color:var(--border-color-dark)!important}.swal2-cancel:active,.swal2-confirm:active{transform:translateY(0)!important}.swal2-cancel:focus-visible,.swal2-confirm:focus-visible,.swal2-deny:focus-visible{outline:var(--outline-width) solid var(--primary-color)!important;outline-offset:var(--outline-offset)!important;box-shadow:none!important}.swal2-cancel:focus:not(:focus-visible),.swal2-confirm:focus:not(:focus-visible),.swal2-deny:focus:not(:focus-visible){outline:0!important;box-shadow:none!important}.ai-difficulty-selection{display:flex;justify-content:space-between;gap:var(--small-gap);margin-top:var(--standard-padding)}.swal-difficulty-btn{flex:1;padding:var(--small-padding);border:2px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--white);color:var(--text-color);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed) ease;font-size:clamp(.75rem, 2vw, .9rem)}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.shake{animation:shake var(--animation-duration-medium) ease-in-out}.cell:focus-visible,button:focus-visible{outline:var(--outline-width) solid var(--primary-color);outline-offset:var(--outline-offset);z-index:1;position:relative}.cell:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:0}@media (min-width:1440px){:root{--board-size:min(50vh, 50vw, 550px);--standard-gap:min(4vh, 25px);--icon-size:min(3vh, 3rem);--game-icon-size:min(6vh, 5rem)}@media (min-aspect-ratio:16/9){:root{--board-size:min(60vh, 40vw, 500px);--standard-gap:min(3vh, 20px)}}@media (min-height:1000px){.container{justify-content:center}main{gap:min(3vh,20px)}}}@media (min-width:1200px) and (max-width:1439px){:root{--board-size:min(50vh, 45vw, 500px);--standard-gap:min(3vh, 20px);--icon-size:min(2.5vh, 2.5rem);--game-icon-size:min(5vh, 4.5rem)}}@media (min-width:992px) and (max-width:1199px){:root{--board-size:min(55vh, 45vw, 450px);--standard-gap:min(2.5vh, 18px);--icon-size:min(2.2vh, 2.2rem);--game-icon-size:min(4.5vh, 4rem)}}@media (min-width:768px) and (max-width:991px){:root{--board-size:min(60vh, 80vw, 400px);--standard-gap:min(2vh, 15px);--icon-size:min(2vh, 2rem);--game-icon-size:min(4vh, 3.5rem)}@media (orientation:landscape){:root{--board-size:min(65vh, 50vw, 400px)}}}@media (min-width:576px) and (max-width:767px){:root{--board-size:min(60vh, 85vw, 380px);--standard-gap:min(1.8vh, 12px);--grid-gap:min(1vh, 5px);--icon-size:min(1.8vh, 1.8rem);--game-icon-size:min(3.5vh, 3.2rem)}@media (orientation:portrait){.game-controls{flex-wrap:wrap}#new-game-btn,#restart-btn{flex:0 0 calc(50% - var(--button-spacing)/ 2)}#sound-toggle{margin-top:8px;width:100%}}}@media (min-width:480px) and (max-width:575px){:root{--board-size:min(65vh, 90vw);--standard-gap:min(1.5vh, 10px);--icon-size:min(1.6vh, 1.6rem);--game-icon-size:min(3vh, 3rem);--button-padding:min(1vh, 8px) min(2vw, 12px)}.game-controls{flex-direction:column}#sound-toggle{width:100%;margin-top:max(.5vh,5px)}}@media (max-width:479px){:root{--board-size:min(60vh, 92vw);--standard-gap:min(1.2vh, 10px);--small-gap:min(0.8vh, 6px);--grid-gap:min(0.5vh, 4px);--icon-size:min(1.5vh, 1.5rem);--game-icon-size:min(2.8vh, 2.8rem);--button-font-size:min(1.5vh, 0.875rem)}.game-controls{flex-direction:column}#sound-toggle{width:100%;margin-top:max(.5vh,5px)}.mode-toggle{margin-bottom:max(.5vh,3px)}.scoreboard{padding:max(1vh,8px)}}@media (max-width:359px){:root{--board-size:min(55vh, 95vw);--standard-gap:min(1vh, 8px);--small-gap:min(0.6vh, 5px);--grid-gap:min(0.3vh, 3px);--icon-size:min(1.3vh, 1.3rem);--game-icon-size:min(2.5vh, 2.5rem);--button-font-size:min(1.2vh, 0.75rem)}.scoreboard{padding:max(.8vh,6px)}.score span{font-size:min(1.6vh, 1rem)}.btn,.mode-btn{padding:min(1vh,6px) min(1.5vw,10px)}.swal2-popup{padding:min(1.5vh,.8em)!important}}@media (orientation:landscape){.container{padding:min(2vh,10px)}:root{--standard-gap:min(2vh, 15px)}@media (max-height:500px){main{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;max-width:100%;padding:min(1vh,5px)}.game-info,.game-mode-selector{width:40%;max-width:none;margin:0}.game-board{width:45vh;margin:0 auto}.game-controls{width:40%;max-width:none}}}@media (max-height:375px) and (orientation:landscape){:root{--board-size:min(80vh, 40vw);--standard-gap:min(1vh, 6px);--icon-size:min(1.2vh, 1.2rem);--game-icon-size:min(2vh, 2rem);--button-padding:min(0.8vh, 5px) min(1vw, 8px)}main{gap:min(.8vh,5px)}.game-controls,.game-info,.game-mode-selector{width:35%}.game-board{width:min(90vh,35vw)}.scoreboard{padding:min(.8vh,5px)}.btn{font-size:min(1.2vh, .75rem)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.board,.btn,.cell,.container,.scoreboard{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media (hover:hover){.btn:hover,.cell:hover,.mode-btn:hover:not(.active),.swal-difficulty-btn:hover:not(.active){opacity:.9;transform:translateY(var(--button-y-offset))}}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.active-turn{filter:drop-shadow(0 0 3px currentColor);transform:scale(1.05)}}@media print{body{background-color:#fff}#sound-toggle,.game-controls{display:none!important}.container{padding:0}.board{box-shadow:none;border:1px solid #000}}