:root{--font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none;touch-action:pan-y pinch-zoom}body{background:#171717;color:#ededed;margin:0;font-family:var(--font);-webkit-user-select:none;user-select:none;overscroll-behavior:none}#gameScreen{position:fixed;width:100%;height:100vh;height:100dvh;overflow:hidden}#setupScreen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}#setupScreen .logo{display:block;margin-bottom:8px}#setupScreen .subtitle{font-size:24px;font-weight:700;letter-spacing:.1em;color:#ededed;text-align:center;margin-bottom:32px}#setupScreen .stats{display:flex;gap:16px;margin-bottom:24px;font-size:13px;color:#bbb}#setupScreen .stat{display:flex;flex-direction:column;align-items:center;gap:4px}#setupScreen .stat-value{font-size:20px;font-weight:700;color:#fafafa}#setupScreen .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#cfcfcf}.color-selector-label{font-size:14px;font-weight:600;color:#cfcfcf;text-align:center;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}#colorSelector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}#colorSelector button{width:80px;height:80px;border:3px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}#colorSelector button:hover{transform:scale(1.05)}#colorSelector button.selected{border-color:#fff;box-shadow:0 4px 12px #fff3}#startRunBtn{padding:14px 32px;border:2px solid #555;border-radius:10px;background:#2a2a2a;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(240,235,234,.12) 3px,rgba(240,235,234,.12) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(240,235,234,.12) 3px,rgba(240,235,234,.12) 4px);color:#ededed;cursor:pointer;font-size:16px;font-weight:600;font-family:var(--font);transition:all .2s ease;position:relative;box-shadow:0 2px 4px #00000040}#startRunBtn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f;border-color:#c9bebd}#startRunBtn:disabled{opacity:.5;cursor:not-allowed}.wip-notice{margin-top:16px;padding:12px 16px;border-radius:8px;background:#fff9e6;border:1px solid #FFE4A3;text-align:center;max-width:280px}.wip-date{font-size:11px;font-weight:700;color:#b8860b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.wip-text{font-size:12px;color:#8b7500;line-height:1.4}.feedback-section{margin-top:24px;max-width:320px;text-align:center}.feedback-text{font-size:13px;color:#bbb;line-height:1.5;margin-bottom:12px}.feedback-link{display:inline-block;padding:10px 20px;border:2px solid #333;border-radius:8px;background:#96a7d5;color:#111;text-decoration:none;font-size:14px;font-weight:600;transition:all .2s ease}.feedback-link:hover{background:#8496cc;border-color:#333;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.subscribe-section{margin-top:24px;max-width:520px;text-align:center}.subscribe-text{font-size:13px;color:#bbb;line-height:1.5;margin-bottom:12px}.subscribe-form{display:flex;gap:8px;justify-content:center}.subscribe-form input[type=email]{flex:1;max-width:320px;padding:10px 12px;border:2px solid #D4C9C5;border-radius:8px;font-family:var(--font);font-size:14px;outline:none;background:#fff;color:#333}.subscribe-form input[type=email]::placeholder{color:#999}.subscribe-form button{padding:10px 16px;border:2px solid #333;border-radius:8px;background:#f79a67;cursor:pointer;font-weight:600;transition:all .2s ease;font-family:var(--font);color:#111}.subscribe-form button:hover{transform:translateY(-1px)}#gameScreen{display:none;flex-direction:column}#gameScreen.active{display:flex}#topUI{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px 8px;background:#171717f2;border-bottom:1px solid #333;position:relative}#gameControls{position:absolute;top:12px;left:0;right:0;display:flex;justify-content:space-between;padding:0 16px;pointer-events:none}#gameControls button{pointer-events:auto}#menuBtn,#restartBtn{padding:6px 12px;border:2px solid #555;border-radius:6px;background:#2a2a2a;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(240,235,234,.12) 2px,rgba(240,235,234,.12) 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(240,235,234,.12) 2px,rgba(240,235,234,.12) 3px);color:#ededed;font-family:var(--font);font-size:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000040}#menuBtn:hover,#restartBtn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}#restartBtn{color:#ff8a80;border-color:#5b2a2a;background:#3a1f1f}#roundBadge{display:flex;align-items:center;gap:8px;font-size:14px;color:#cfcfcf}#roundBadge .label{text-transform:uppercase;letter-spacing:.05em;font-size:11px}#roundBadge .value{font-size:20px;font-weight:700;color:#fafafa}#playerIndicator{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.player-dot{width:32px;height:32px;border-radius:50%;border:2px solid transparent;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.player-dot:not(.human) .score{color:#111}.player-dot.active{border-color:#fff;transform:scale(1.15);box-shadow:0 2px 8px #00000059}.player-dot.human{background:transparent!important;border:3px solid;color:#ededed}.player-dot.human .score{position:relative;z-index:2}.turn-subtitle{font-size:12px;color:#cfcfcf;min-height:16px}#gameLayout{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:hidden}#gameStage{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;padding:8px;box-sizing:border-box}#game{position:relative;width:min(100%,600px,100vw - 32px,100vh - 180px);max-width:600px;aspect-ratio:1/1}#game canvas{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain;image-rendering:auto}#bottomUI{display:flex;justify-content:center;padding:12px 16px;background:#171717f2;border-top:1px solid #333}#movesClock{display:flex;flex-direction:column;align-items:center;gap:8px}.clock-dots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.clock-dot{width:12px;height:12px;border-radius:50%;background:#555;transition:all .4s ease}.clock-dot.active{background:#fff}.clock-dot.warning{background:#ffb74d;animation:pulse 1s ease-in-out infinite}.clock-dot.critical{background:#ef5350;animation:pulse .6s ease-in-out infinite}.clock-label{font-size:12px;color:#cfcfcf;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease}.clock-label.warning{color:#ffb74d;font-weight:600}.clock-label.critical{color:#ef5350;font-weight:700}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}#roundStartModal{position:fixed;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:300;backdrop-filter:blur(4px);animation:fadeIn .2s ease}#roundStartModal.active{display:flex}#roundStartPanel{background:#1e1e1e;border:2px solid #555;border-radius:12px;padding:28px;width:min(90vw,380px);text-align:center;animation:slideUp .3s ease;color:#ededed}#roundStartPanel.loading{opacity:.6;pointer-events:none}.loading-indicator{display:none;margin-top:20px;text-align:center}.loading-indicator.active{display:block}.loading-bar{width:100%;height:8px;background:#333;border-radius:4px;overflow:hidden;margin-top:8px}.loading-bar-fill{height:100%;background:linear-gradient(90deg,#b7e33b,#5eead4,#8ba8ff);animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{width:0%}50%{width:70%}to{width:100%}}.round-start-title{font-size:28px;font-weight:700;margin-bottom:20px;color:#fafafa}.round-start-players{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.round-start-player{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:6px;background:#2a2a2a;font-size:14px;color:#ededed}.round-start-player-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0}.round-start-player.you{background:#223a2c;font-weight:600}.round-start-btn{padding:12px 28px;border:2px solid #555;border-radius:8px;background:#2a2a2a;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(240,235,234,.12) 3px,rgba(240,235,234,.12) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(240,235,234,.12) 3px,rgba(240,235,234,.12) 4px);color:#ededed;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font);transition:all .2s ease;box-shadow:0 2px 4px #00000040}.round-start-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}#gameOverModal{position:fixed;inset:0;background:#0000004d;display:none;align-items:center;justify-content:center;z-index:200}#gameOverModal.active{display:flex}#gameOverPanel{background:#1e1e1e;border:2px solid #555;border-radius:12px;padding:24px;width:min(90vw,400px);text-align:center;box-shadow:0 10px 30px #0006;color:#ededed}#gameOverTitle{font-size:28px;font-weight:700;margin-bottom:16px;color:#fafafa}#gameOverMessage{font-size:16px;color:#cfcfcf;margin-bottom:24px}#gameOverStats{display:flex;justify-content:center;gap:24px;margin-bottom:24px}#gameOverStats .stat{display:flex;flex-direction:column;gap:4px}#gameOverStats .stat-value{font-size:32px;font-weight:700;color:#fafafa}#gameOverStats .stat-label{font-size:11px;text-transform:uppercase;color:#bbb}#gameOverActions{display:flex;gap:12px;justify-content:center}#gameOverActions button{padding:10px 20px;border:2px solid #555;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;background:#2a2a2a;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(240,235,234,.35) 3px,rgba(240,235,234,.35) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(240,235,234,.35) 3px,rgba(240,235,234,.35) 4px);box-shadow:0 2px 4px #0006}#gameOverActions button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000059}#gameOverActions .primary{background:#333;color:#fff;background-image:none}#gameOverActions .secondary{color:#ededed}@media (max-width: 640px){html,body{min-height:100vh;min-height:100dvh}#setupScreen{padding:12px 16px 60px;min-height:100vh;min-height:100dvh;justify-content:flex-start;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}#setupScreen .logo{width:140px;height:auto;margin-bottom:2px}#setupScreen .subtitle{font-size:16px;margin-bottom:8px;letter-spacing:.08em;color:#ededed}#setupScreen .stats{gap:10px;margin-bottom:6px}#setupScreen .stat-value{font-size:15px}#setupScreen .stat-label{font-size:9px}.color-selector-label{font-size:11px;margin-bottom:6px}#colorSelector{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}#colorSelector button{width:56px;height:56px;border-width:2px}#startRunBtn{padding:9px 18px;font-size:13px;margin-bottom:6px}.wip-notice{margin-top:6px;padding:6px 10px;max-width:240px}.wip-date{font-size:9px;margin-bottom:2px}.wip-text{font-size:9px;line-height:1.3}.feedback-section{margin-top:6px;max-width:260px}.feedback-text{font-size:10px;margin-bottom:6px;line-height:1.4;color:#bbb}.feedback-link{padding:7px 14px;font-size:11px}.subscribe-section{margin-top:10px;max-width:260px}.subscribe-text{font-size:10px;margin-bottom:6px;color:#bbb}.subscribe-form{flex-direction:column;gap:6px;align-items:stretch}.subscribe-form input[type=email]{max-width:100%}#gameScreen{height:100vh;height:100dvh}#topUI{padding:8px 12px 6px;gap:6px}#roundBadge .value{font-size:16px}.player-dot{width:20px;height:20px}#gameStage{padding:4px}#game{width:min(100vw - 16px,100vh - 160px,600px)}#bottomUI{padding:8px 12px}.clock-dots{gap:4px}.clock-dot{width:10px;height:10px}.clock-label{font-size:11px}#roundStartPanel{padding:20px}.round-start-title{font-size:24px;margin-bottom:16px}.round-start-players{gap:6px;margin-bottom:20px}.round-start-player{padding:6px;font-size:13px}.round-start-player-dot{width:16px;height:16px}.round-start-btn{padding:10px 24px;font-size:14px}#gameOverPanel{padding:20px}#gameOverTitle{font-size:24px;margin-bottom:12px}#gameOverMessage{font-size:14px;margin-bottom:16px}#gameOverStats{gap:16px;margin-bottom:16px}#gameOverStats .stat-value{font-size:28px}#gameOverActions button{padding:8px 16px;font-size:13px}}@media (min-width: 641px) and (max-width: 1024px){#game{width:min(100%,600px,100vw - 48px,100vh - 200px)}#gameStage{padding:12px}}@media (max-width: 380px){#setupScreen .logo{width:160px;height:auto}#setupScreen .subtitle{font-size:18px}#colorSelector button{width:50px;height:50px}.stat-badge{padding:4px 8px}.stat-badge-value{font-size:14px}}
