/* ── Mobil zoom engelle ── */
        * { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
        .main-content {
            min-height: 100vh;
            padding: clamp(20px, 4vw, 40px) 12px 48px;
            background: #ffffff;
        }
        [data-theme="dark"] .main-content {
            background: linear-gradient(180deg, rgba(9, 15, 22, 0.96), rgba(5, 10, 16, 0.92));
        }

        .game-container {
            max-width: 1240px;
            margin: 0 auto;
        }

        .game-card {
            background: #ffffff;
            border-radius: 36px;
            padding: clamp(18px, 2.5vw, 28px);
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
            border: 1px solid rgba(148, 163, 184, 0.22);
            text-align: center;
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            grid-template-areas:
                "hero side"
                "board side"
                "controls side";
            gap: 16px;
            position: relative;
            overflow: hidden;
        }
        [data-theme="dark"] .game-card {
            background:
                linear-gradient(155deg, rgba(10, 31, 47, 0.97), rgba(5, 16, 25, 0.98) 58%, rgba(8, 27, 40, 0.97)),
                #0b1d2b;
            box-shadow: 0 20px 48px rgba(0, 0, 0, 0.32);
            border-color: rgba(94, 188, 245, 0.24);
        }
        .game-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at top right, rgba(255, 194, 92, 0.12), transparent 24%),
                radial-gradient(circle at top left, rgba(74, 219, 255, 0.12), transparent 24%);
            pointer-events: none;
        }
        .game-card::after {
            content: "";
            position: absolute;
            inset: 14px;
            border-radius: 28px;
            border: 1px solid rgba(15, 23, 42, 0.04);
            pointer-events: none;
            opacity: .9;
        }

        .hero-top {
            grid-area: hero;
            display: flex;
            flex-direction: column;
            gap: 12px;
            position: relative;
            z-index: 1;
        }
        .board-column {
            grid-area: board;
            position: relative;
            z-index: 1;
        }
        .control-column {
            grid-area: controls;
            display: flex;
            flex-direction: column;
            gap: 14px;
            position: relative;
            z-index: 1;
        }
        .side-column {
            grid-area: side;
            display: flex;
            flex-direction: column;
            gap: 14px;
            position: relative;
            z-index: 1;
        }
        .info-card {
            background:
                linear-gradient(180deg, rgba(10, 33, 48, 0.94), rgba(8, 26, 38, 0.84));
            border: 1px solid rgba(95, 179, 228, 0.18);
            border-radius: 22px;
            padding: 16px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
        }
        .info-card h3 {
            margin: 0 0 12px;
            font-size: .76rem;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: #7bd7ff;
        }
        .meta-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 10px;
        }
        .meta-chip {
            background: rgba(255,255,255,.04);
            border: 1px solid rgba(255,255,255,.05);
            border-radius: 16px;
            padding: 12px;
            text-align: left;
        }
        .meta-chip span {
            display: block;
            font-size: .64rem;
            letter-spacing: .14em;
            text-transform: uppercase;
            color: #78bada;
            margin-bottom: 5px;
        }
        .meta-chip strong {
            display: block;
            font-size: 1rem;
            color: #eef8ff;
        }
        .hint-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
            text-align: left;
            font-size: .86rem;
            color: #cbeeff;
        }
        .hint-item {
            padding: 10px 12px;
            border-radius: 14px;
            background: rgba(255,255,255,.035);
            border: 1px solid rgba(255,255,255,.04);
        }

        .game-title {
            font-weight: 800;
            font-size: clamp(1.45rem, 4.2vw, 2.7rem);
            letter-spacing: .4px;
            background: linear-gradient(145deg, #0f5fd0, #00a7d8 48%, #f97316);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            line-height: 1.1;
            text-shadow: 0 1px 0 rgba(255,255,255,.14);
        }
        [data-theme="dark"] .game-title {
            background: linear-gradient(145deg, #f8fdff, #7bd7ff 48%, #ffd27a);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            text-shadow: none;
        }

        .hero-sub {
            margin: 0;
            color: #87bfdb;
            font-size: .92rem;
            text-transform: uppercase;
            letter-spacing: .18em;
        }

        .stats-panel {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: linear-gradient(180deg, rgba(14, 42, 60, 0.96), rgba(8, 28, 42, 0.96));
            padding: 14px 18px;
            border-radius: 100px;
            border: 1px solid rgba(98, 177, 223, 0.38);
            font-weight: 500;
            color: #ceecff;
            font-size: clamp(0.9rem, 3vw, 1.1rem);
            flex-wrap: wrap;
            gap: 8px;
            box-shadow: 0 14px 24px rgba(0,0,0,.18);
        }
        .stats-panel span.val {
            font-weight: 800;
            font-size: clamp(1.2rem, 4vw, 1.7rem);
            color: #fff7b5;
            text-shadow: 0 0 15px #ffbf00, 0 0 30px #f0a500;
            margin-left: 6px;
        }

        .battery-indicator { display: flex; align-items: center; gap: 10px; }
        .battery-icon {
            width: 44px; height: 22px;
            background: #153e55; border: 2px solid #b0e2ff;
            border-radius: 6px; position: relative; box-shadow: inset 0 0 6px black;
        }
        .battery-icon::after {
            content:""; position:absolute; right:-7px; top:4px;
            width:6px; height:10px; background:#b0e2ff; border-radius:3px;
        }
        .battery-level {
            height:100%; width:100%;
            background: linear-gradient(90deg,#aaf26b,#2ecc71);
            border-radius:4px; transition:width 0.12s ease;
        }

        /* ── Canvas: kare, viewport'a göre boyutlanır ── */
        #gameCanvas {
            display: block;
            margin: 0 auto;
            width: 100%;
            max-width: min(560px, 92vw, calc(100vh - 260px));
            aspect-ratio: 1 / 1;
            border-radius: 28px;
            box-shadow:
                0 0 0 2px rgba(68, 171, 225, 0.65),
                0 20px 34px -8px black;
            cursor: none;
            touch-action: none;
            background: radial-gradient(circle at top, #18344a, #09131d 68%);
        }

        /* Combo banner */
        #comboBanner {
            font-size: clamp(1rem, 4vw, 1.4rem);
            font-weight: 800;
            color: #ffe74c;
            text-shadow: 0 0 20px #ffbf00;
            min-height: 1.6em;
            transition: opacity 0.4s;
        }

        /* Kontrol satırı */
        .control-row {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: center;
        }
        .slider-panel {
            background: linear-gradient(180deg, rgba(16,52,75,.96), rgba(10,34,50,.94));
            padding: 12px 16px;
            border-radius: 100px;
            border: 1px solid rgba(82, 170, 220, 0.42);
            flex: 1;
            min-width: 0;
            box-shadow: 0 12px 22px rgba(0,0,0,.18);
        }
        .speed-label {
            display: flex; align-items: center;
            justify-content: space-between; color:#c6ecff;
            font-weight:600; font-size: clamp(0.8rem, 3vw, 1rem); gap:8px;
        }
        .speed-label span:last-child {
            background:#0d3147; padding:3px 14px; border-radius:60px;
            border:1px solid #3ea0da; color:#f0fcff; font-weight:700;
            box-shadow: inset 0 2px 4px black; white-space:nowrap;
        }
        input[type=range] {
            width:100%; height:10px;
            background: linear-gradient(90deg,#1f77a0,#56c5ff);
            border-radius:40px; -webkit-appearance:none; appearance:none;
            touch-action: none;
        }
        input[type=range]::-webkit-slider-thumb {
            -webkit-appearance:none; width:26px; height:26px;
            background:white; border-radius:50%;
            box-shadow: 0 4px 12px black, 0 0 0 3px #1793d1;
            cursor:pointer;
        }

        .button-primary {
            background: linear-gradient(160deg,#ffae5a,#f57c2e);
            border: 1px solid #ffe2a8;
            font-size: clamp(0.9rem, 3vw, 1.3rem);
            font-weight: 700;
            padding: 12px 18px;
            border-radius: 60px;
            color: #0e2b37;
            letter-spacing: 1px;
            box-shadow: 0 8px 0 #a1440b, 0 8px 28px #ffb45b;
            cursor: pointer;
            transition: 0.08s linear;
            white-space: nowrap;
            user-select: none;
        }
        .button-primary:active {
            transform: translateY(6px);
            box-shadow: 0 2px 0 #a1440b, 0 6px 20px #ffb45b;
        }
        .button-primary:disabled {
            opacity: 0.4; transform: translateY(3px);
            box-shadow: 0 3px 0 #a1440b; pointer-events:none;
        }

        /* Yön tuşları */
        .arrow-panel { display:flex; flex-direction:column; align-items:center; gap:4px; }
        .arrow-row { display:flex; gap: clamp(12px, 4vw, 28px); justify-content:center; }
        .arrow-btn {
            background: linear-gradient(180deg, #214b67, #14374c);
            border: 3px solid #68b9ed;
            color: #ebf9ff;
            width: clamp(56px, 14vw, 74px);
            height: clamp(56px, 14vw, 74px);
            font-size: clamp(1.4rem, 5vw, 2.4rem);
            border-radius: 22px;
            box-shadow: 0 6px 0 #0b2e3d, 0 12px 24px black;
            cursor: pointer;
            display: flex; align-items:center; justify-content:center;
            transition: 0.06s linear;
            font-weight: 800;
            user-select: none;
            -webkit-user-select: none;
        }
        .arrow-btn:active, .arrow-btn.pressed {
            transform: translateY(5px);
            box-shadow: 0 1px 0 #0b2e3d, 0 8px 20px black;
            background: #2a5a7a;
        }
        .arrow-btn:disabled { opacity:0.3; transform:translateY(3px); pointer-events:none; }

        /* Overlay menüler */
        #gameOver, #pauseMenu {
            position:absolute; top:0; left:0; width:100%; height:100%;
            background: rgba(0,0,0,0.82);
            display:none; flex-direction:column;
            justify-content:center; align-items:center;
            z-index:100; color:white; border-radius:20px;
            gap: 10px;
        }
        #gameOver h2, #pauseMenu h2 { font-size: clamp(1.4rem, 5vw, 2rem); margin:0; }
        #gameOver p { font-size: clamp(1rem, 4vw, 1.3rem); margin:4px; }
        #gameOver button, #pauseMenu button {
            font-size: clamp(0.9rem, 3vw, 1.1rem);
            padding: 10px 24px; border-radius:30px; border:none;
            background: linear-gradient(135deg,#00aaff,#0066cc);
            color:white; cursor:pointer;
            box-shadow: 0 0 15px #00aaff80;
            transition: all 0.2s ease;
            user-select: none;
        }
        #gameOver button:active, #pauseMenu button:active {
            transform: scale(0.96);
        }

        /* Canvas wrapper relative konumda olmalı */
        .canvas-wrap { position:relative; }

        .canvas-shell {
            background:
                linear-gradient(180deg, rgba(7, 24, 36, 0.9), rgba(7, 24, 36, 0.7));
            border: 1px solid rgba(95, 179, 228, 0.22);
            border-radius: 30px;
            padding: 18px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
        }
        .mobile-note {
            font-size: .72rem;
            color: #83b7d3;
            text-align: center;
            letter-spacing: .1em;
            text-transform: uppercase;
            margin-top: 10px;
        }

        @media (max-height: 700px) {
            .game-card { padding: 10px; gap: 6px; }
            .stats-panel { padding: 6px 14px; }
        }
        @media (max-width: 880px) {
            .game-card {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "hero"
                    "board"
                    "controls"
                    "side";
            }
            .side-column {
                order: 4;
            }
            .meta-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 560px) {
            .meta-grid { grid-template-columns: 1fr; }
            .main-content { padding: 16px 8px 28px; }
            .game-card { padding: 14px; border-radius: 24px; }
            .canvas-shell { padding: 12px; border-radius: 22px; }
            #gameCanvas { max-width: 94vw; }
            .stats-panel {
                border-radius: 24px;
                justify-content: center;
            }
            .control-row {
                align-items: stretch;
            }
            .button-primary {
                width: 100%;
            }
        }
