:root{--bg-primary: #080d13;--bg-secondary: rgba(8, 16, 24, .9);--bg-board: #0d1a14;--border-color: rgba(0, 229, 204, .1);--text-primary: #c8d8e8;--text-secondary: rgba(160, 190, 210, .6);--accent-green: #00e5cc;--accent-gold: #f0c040;--accent-teal: #00e5cc;--piece-human-bg: #0a1a1a;--piece-human-text: #e0f0f0;--piece-ai-bg: #1a0a0a;--piece-ai-border: #661a1a;--highlight-move: rgba(0, 229, 204, .4);--highlight-attack: rgba(255, 68, 68, .5);--highlight-selected: rgba(240, 192, 64, .5);--glow-green: #00e5cc;--glow-red: #ff4444;--glow-yellow: #f0c040;--glow-blue: #00ccff;--camp-bg: rgba(0, 229, 204, .1);--hq-bg: rgba(240, 192, 64, .08);--glass-bg: rgba(0, 229, 204, .03);--glass-border: rgba(0, 229, 204, .08);--shadow-soft: 0 2px 12px rgba(0, 0, 0, .3);--shadow-deep: 0 8px 32px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}#app{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.hidden{display:none!important}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}.menu-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#0a1a18,#080d13 65%);z-index:100}.menu-title{font-size:52px;font-weight:900;letter-spacing:8px;background:linear-gradient(135deg,#ffd54f,#f0c040,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 3px 6px rgba(240,192,64,.4));margin-bottom:6px}.menu-subtitle{font-size:22px;color:var(--text-secondary);margin-bottom:52px;letter-spacing:6px}.difficulty-section{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px}.difficulty-label{font-size:16px;color:var(--text-secondary);letter-spacing:3px}.difficulty-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.difficulty-btn{padding:12px 22px;font-size:17px;font-weight:700;border-radius:var(--radius-md);background:#00e5cc08;color:var(--text-primary);border:1.5px solid rgba(0,229,204,.08);transition:all .2s;min-width:70px;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.difficulty-btn:active{transform:scale(.96)}.diff-very-easy{border-color:#64eedc4d}.diff-easy{border-color:#00e5cc4d}.diff-medium{border-color:#f1c40f66}.diff-hard{border-color:#ff8c324d}.diff-very-hard{border-color:#ff44444d}.difficulty-btn.diff-very-easy.active{background:linear-gradient(135deg,#6ed,#4cb);color:#080d13;border-color:#4cb;box-shadow:0 4px 16px #00e5cc66}.difficulty-btn.diff-easy.active{background:linear-gradient(135deg,#00e5cc,#00b8a3);color:#080d13;border-color:#00e5cc;box-shadow:0 4px 16px #00e5cc80}.difficulty-btn.diff-medium.active{background:linear-gradient(135deg,#f1c40f,#d4ac0d);color:#1a1a0a;border-color:#f1c40f;box-shadow:0 4px 16px #f1c40f80}.difficulty-btn.diff-hard.active{background:linear-gradient(135deg,#ff8c30,#e06500);color:#fff;border-color:#ff8c30;box-shadow:0 4px 16px #ff8c3080}.difficulty-btn.diff-very-hard.active{background:linear-gradient(135deg,#f44,#c22);color:#fff;border-color:#f44;box-shadow:0 4px 16px #ff444480}.start-btn{position:relative;padding:20px 72px;font-size:24px;font-weight:800;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffd54f,#f0c040,#e6a800);color:#1a1a0a;letter-spacing:4px;box-shadow:0 6px 24px #f0c04066,0 0 0 1px #ffffff1a,inset 0 1px #ffffff4d;transition:all .15s;overflow:hidden}.start-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmer 2.5s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.start-btn:active{transform:scale(.96) translateY(2px);box-shadow:0 2px 12px #f0c04066}.tutorial-link-btn{margin-top:16px;padding:11px 40px;font-size:15px;font-weight:700;letter-spacing:3px;border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border);transition:all .2s}.tutorial-link-btn:active{background:#ffffff0f;transform:scale(.97)}.menu-version{margin-top:28px;font-size:11px;font-weight:600;letter-spacing:2px;color:#ffffff2e}.gameover-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.gameover-screen.victory{background:radial-gradient(ellipse at center,#f0c04026,#080d13eb 70%)}.gameover-screen.defeat{background:radial-gradient(ellipse at center,#ff44441f,#080d13eb 70%)}.gameover-text{font-size:64px;font-weight:900;letter-spacing:14px;margin-bottom:24px}.gameover-screen.victory .gameover-text{background:linear-gradient(135deg,#ffd54f,#f0c040);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(241,196,15,.6)) drop-shadow(0 4px 0 rgba(0,0,0,.5))}.gameover-screen.defeat .gameover-text{color:#f44;text-shadow:0 0 30px rgba(255,68,68,.5),0 4px 0 rgba(0,0,0,.4)}.gameover-subtitle{font-size:20px;color:var(--text-secondary);margin-bottom:44px}.replay-btn{position:relative;padding:18px 56px;font-size:22px;font-weight:800;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffd54f,#f0c040,#e6a800);color:#1a1a0a;letter-spacing:3px;box-shadow:0 6px 20px #f0c04066,inset 0 1px #ffffff4d;overflow:hidden}.replay-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmer 2.5s ease-in-out infinite}.replay-btn:active{transform:scale(.96) translateY(2px)}@media (max-width: 899px) and (min-width: 600px){.menu-title{font-size:42px;letter-spacing:6px}.menu-subtitle{font-size:18px;margin-bottom:40px}.gameover-text{font-size:52px;letter-spacing:10px}}@media (max-width: 599px){.menu-title{font-size:32px;letter-spacing:4px;margin-bottom:4px}.menu-subtitle{font-size:16px;margin-bottom:32px;letter-spacing:3px}.difficulty-section{gap:10px;margin-bottom:28px}.difficulty-label{font-size:13px;letter-spacing:2px}.difficulty-buttons{gap:8px}.difficulty-btn{padding:9px 14px;font-size:14px;min-width:54px}.start-btn{padding:14px 44px;font-size:18px;letter-spacing:3px}.tutorial-link-btn{padding:9px 28px;font-size:13px;letter-spacing:2px}.gameover-text{font-size:40px;letter-spacing:8px;margin-bottom:16px}.gameover-subtitle{font-size:16px;margin-bottom:32px}.replay-btn{padding:14px 40px;font-size:18px;letter-spacing:2px}}.game-container{width:100%;height:100%;display:flex;flex-direction:row;align-items:stretch;position:relative;overflow:hidden}.side-panel{width:clamp(140px,14vw,280px);min-width:140px;padding:clamp(14px,1.5vw,24px) clamp(10px,1.1vw,18px);display:flex;flex-direction:column;gap:clamp(10px,1.2vw,20px);background:var(--bg-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0;overflow-y:auto}.left-panel{border-right:1px solid var(--glass-border)}.right-panel{border-left:1px solid var(--glass-border)}.panel-spacer{flex:1}.panel-title{font-size:clamp(10px,.85vw,14px);font-weight:800;letter-spacing:4px;background:linear-gradient(135deg,#f0c040,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.turn-indicator{font-size:clamp(13px,1.2vw,20px);font-weight:700;padding:clamp(8px,.8vw,14px) 10px;border-radius:var(--radius-md);background:linear-gradient(135deg,#00e5cc,#009e8e);color:#080d13;text-align:center;letter-spacing:2px;box-shadow:0 4px 16px #00e5cc59,inset 0 1px #ffffff1a}.turn-indicator.ai-turn{background:linear-gradient(135deg,#f44,#c22);box-shadow:0 4px 16px #ff444459,inset 0 1px #ffffff1a}.difficulty-display{font-size:clamp(11px,1vw,16px);color:var(--text-secondary);text-align:center}.captured-block{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--radius-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.captured-block-human{background:#ff444414;border:1px solid rgba(255,68,68,.2)}.captured-block-ai{background:#00e5cc14;border:1px solid rgba(0,229,204,.2)}.captured-label{font-size:12px;font-weight:700;letter-spacing:1px;padding-bottom:5px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:6px}.captured-label-human{color:#f66}.captured-label-ai{color:#6ed}.captured-count{font-size:11px;font-weight:800;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff26}.captured-pieces-list{display:flex;flex-wrap:wrap;gap:5px}.captured-piece-mini{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:clamp(32px,3vw,52px);height:clamp(24px,2.2vw,38px);padding:0 clamp(4px,.5vw,9px);border-radius:5px;font-size:clamp(11px,.95vw,16px);font-weight:800;letter-spacing:0;text-shadow:0 1px 3px rgba(0,0,0,.6);box-shadow:0 2px 5px #00000059}.captured-block-human .captured-piece-mini{background:linear-gradient(160deg,#a01e1eb3,#500a0ae6);color:#f99;border:1px solid rgba(255,68,68,.3)}.captured-block-ai .captured-piece-mini{background:linear-gradient(160deg,#00645a99,#003c32cc);color:#8ed;border:1px solid rgba(0,229,204,.3)}.cap-count-badge{position:absolute;top:-6px;right:-6px;min-width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#f44;color:#fff;font-size:9px;font-weight:900;border:1px solid rgba(0,0,0,.3);box-shadow:0 1px 3px #0006}.control-btn{padding:clamp(8px,.8vw,14px) clamp(10px,1vw,18px);font-size:clamp(13px,1.1vw,18px);border-radius:var(--radius-sm);background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border);text-align:center;width:100%;transition:all .2s}.control-btn:active{background:#ffffff14}.board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0}.board{position:relative;background:var(--bg-board);border:1px solid rgba(0,229,204,.08);border-radius:var(--radius-lg);box-shadow:0 0 80px #000000b3,0 0 0 1px #00e5cc0d,inset 0 0 40px #0000004d}.board-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.board-lines line.road{stroke:#00e5cc1f;stroke-width:1.5}.board-lines line.railway-rail{stroke:#dcb95fb3;stroke-width:3;stroke-linecap:round}.board-lines line.railway-tie{stroke:#8c5f23b3;stroke-width:5;stroke-linecap:butt}.position-slot.railway-pos{background:#b9913c26;border:1px solid rgba(215,175,80,.4)}.position-slot.camp.railway-pos{background:#00e5cc1a;border:2px solid rgba(0,229,204,.4);box-shadow:inset 0 0 12px #00e5cc26,0 0 6px #00e5cc1a}.board-center-divider{position:absolute;left:3%;right:3%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-teal),var(--accent-gold),var(--accent-teal),transparent);opacity:.4;z-index:2}.arena-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:800;background:linear-gradient(135deg,var(--accent-gold),var(--accent-teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.5;letter-spacing:10px;z-index:2;pointer-events:none}.position-slot{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#00000040;border:1px solid rgba(0,229,204,.04);z-index:3;transition:background .2s}.position-slot.camp{border-radius:50%;background:#00e5cc1a;border:2px solid rgba(0,229,204,.4);box-shadow:inset 0 0 12px #00e5cc26,0 0 6px #00e5cc1a}.position-slot.hq{background:#f0c04014;border:2px solid rgba(240,192,64,.5);border-radius:9px;box-shadow:inset 0 0 15px #f0c04026,0 0 8px #f0c0401a}.slot-label{font-size:11px;font-weight:700;color:#00e5ccb3;pointer-events:none;z-index:4}.slot-label.hq-label{color:#f0c040b3;font-size:10px}.position-slot.highlight-move{background:#00e5cc59;border:2.5px solid #00e5cc;box-shadow:0 0 14px #00e5cc99;cursor:pointer;z-index:15}.position-slot.highlight-attack{background:#ff444473;border:2.5px solid #ff4444;cursor:pointer;z-index:15;animation:pulse-attack .7s ease-in-out infinite}@keyframes pulse-attack{0%,to{box-shadow:0 0 8px #f446}50%{box-shadow:0 0 22px #ff4444e6}}.position-slot.highlight-selected{background:#f1c40f66;border:2.5px solid var(--accent-gold);box-shadow:0 0 22px #f1c40fa6;z-index:15}.position-slot.highlight-ai-from{background:#ff8c008c;border:3px solid #ff8c00;box-shadow:0 0 18px #ff8c00b3;z-index:15;animation:pulse-ai-from .7s ease-in-out infinite}@keyframes pulse-ai-from{0%,to{box-shadow:0 0 12px #ff8c0080}50%{box-shadow:0 0 28px #ff8c00e6}}.flag-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);padding:16px 32px;border-radius:14px;font-size:22px;font-weight:800;letter-spacing:2px;text-align:center;z-index:150;animation:flag-banner-in .4s ease-out;pointer-events:none}.flag-banner-human{background:linear-gradient(135deg,#0a1a18,#0d3328);border:2px solid var(--accent-gold);color:var(--accent-gold);box-shadow:0 0 40px #ffd70080,0 8px 30px #0009}.flag-banner-ai{background:linear-gradient(135deg,#2a0a0a,#4a1515);border:2px solid #ff4444;color:#f99;box-shadow:0 0 40px #f446,0 8px 30px #0009}@keyframes flag-banner-in{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}60%{transform:translate(-50%,-50%) scale(1.05);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.flag-banner-recovered{background:linear-gradient(135deg,#0a2030,#153848);border:2px solid #00e5cc;color:#aaf0e8;box-shadow:0 0 40px #00e5cc66,0 8px 30px #0009}.flag-banner-hide{opacity:0;transition:opacity .5s}.position-slot.highlight-ai-to{background:#ffc8004d;border:3px dashed #ffcc00;box-shadow:0 0 14px #ffc80080;z-index:15;animation:pulse-ai-to .7s ease-in-out infinite}@keyframes pulse-ai-to{0%,to{box-shadow:0 0 8px #ffc8004d}50%{box-shadow:0 0 22px #ffc800b3}}.exit-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center}.exit-confirm-box{background:#080d13f7;border:1px solid rgba(0,229,204,.1);border-radius:var(--radius-lg);padding:28px 32px;min-width:280px;text-align:center;box-shadow:var(--shadow-deep);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.exit-confirm-title{font-size:20px;font-weight:800;letter-spacing:3px;background:linear-gradient(135deg,#ffd54f,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.exit-confirm-hint{font-size:13px;color:var(--text-secondary);letter-spacing:1px;margin-bottom:24px}.exit-confirm-actions{display:flex;gap:12px;justify-content:center}.exit-confirm-btn{padding:10px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;letter-spacing:1px;transition:all .15s}.exit-confirm-btn.cancel{background:linear-gradient(135deg,#00e5cc,#009e8e);color:#080d13;box-shadow:0 3px 12px #00e5cc4d,inset 0 1px #ffffff1a}.exit-confirm-btn.cancel:active{transform:scale(.96)}.exit-confirm-btn.quit{background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border)}.exit-confirm-btn.quit:active{background:#ffffff14}@media (max-width: 899px) and (min-width: 600px){.side-panel{width:clamp(130px,16vw,170px);min-width:130px;padding:10px 8px;gap:8px}.panel-title{font-size:9px;letter-spacing:2px}.turn-indicator{font-size:12px;padding:6px}.captured-block{padding:6px;gap:4px}.captured-label{font-size:11px;letter-spacing:1px;padding-bottom:4px}.captured-piece-mini{min-width:28px;height:22px;font-size:10px}.control-btn{padding:6px 8px;font-size:12px}}@media (max-width: 599px){.game-container{flex-direction:column}.side-panel{width:100%;min-width:unset;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;flex-shrink:0;overflow-y:visible;overflow-x:auto}.left-panel{border-right:none;border-bottom:1px solid var(--glass-border);order:-1}.right-panel{border-left:none;border-top:1px solid var(--glass-border);order:1;flex-wrap:nowrap;overflow:hidden}.panel-title{font-size:10px;letter-spacing:2px}.turn-indicator{font-size:11px;padding:4px 10px;letter-spacing:1px}.difficulty-display{font-size:10px}.captured-block{flex:1;min-width:0;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:2px;padding:4px 5px;overflow:visible}.captured-label{font-size:10px;padding-bottom:0;border-bottom:none;white-space:nowrap;flex-shrink:0}.captured-pieces-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;width:100%;scrollbar-width:none;padding-top:5px}.captured-pieces-list::-webkit-scrollbar{display:none}.captured-piece-mini{flex-shrink:0;min-width:22px;height:16px;font-size:8px;padding:0 2px}.cap-count-badge{min-width:12px;height:12px;font-size:8px;top:-4px;right:-4px}.panel-spacer{display:none}.control-btn{padding:5px 10px;font-size:11px;width:auto;flex-shrink:0;align-self:center}.board-wrapper{flex:1;min-height:0}.flag-banner{font-size:16px;padding:10px 18px;border-radius:10px}.exit-confirm-box{min-width:unset;width:calc(100vw - 32px);max-width:340px;padding:20px 18px}.exit-confirm-title{font-size:17px;letter-spacing:2px}.exit-confirm-hint{font-size:12px;margin-bottom:18px}.exit-confirm-btn{font-size:13px;padding:8px 18px}}@media (max-height: 420px) and (orientation: landscape){.side-panel{width:clamp(80px,10vw,120px);min-width:80px;padding:4px;gap:3px}.panel-title{display:none}.turn-indicator{font-size:10px;padding:3px 4px;letter-spacing:1px}.difficulty-info{font-size:9px}.captured-block{padding:3px;gap:2px}.captured-label{font-size:8px;white-space:nowrap;letter-spacing:0;padding-bottom:2px}.captured-piece-mini{min-width:20px;height:16px;font-size:7px;padding:0 2px}.cap-count-badge{min-width:10px;height:10px;font-size:7px;top:-3px;right:-3px}.panel-spacer{display:none}.control-btn{padding:3px 6px;font-size:9px}}.piece{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-md);font-weight:800;z-index:10;transition:left .5s ease,top .5s ease,transform .2s;cursor:pointer;perspective:200px}.piece:active{transform:scale(.93)}.piece.human{background:linear-gradient(160deg,#0a1818,#0d2020,#081515);border:2px solid rgba(0,229,204,.6);color:#e0f0f0;box-shadow:0 3px 12px #00000080,0 0 8px #00e5cc33,inset 0 1px #00e5cc1a}.piece-rank{font-size:var(--piece-font-rank, 10px);line-height:1;opacity:.65}.piece-name{font-size:var(--piece-font-name, 17px);line-height:1.1}.piece.ai{background:linear-gradient(160deg,#1a0808,#120505,#0d0303);border:2px solid rgba(255,68,68,.35);color:#a55;box-shadow:0 3px 12px #0009,inset 0 1px #ff44440d}.piece.ai .piece-name{font-size:var(--piece-font-ai-name, 20px);color:#c44;text-shadow:0 0 8px rgba(255,68,68,.4)}.piece.ai:after{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,68,68,.12);border-radius:5px;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,68,68,.03) 2px,rgba(255,68,68,.03) 3px)}.piece.ai.revealed{background:linear-gradient(160deg,#f44,#c22);border-color:#f55;color:#fff}.piece.ai.revealed .piece-name{color:#fff;text-shadow:none}.piece.ai.revealed:after{display:none}.piece.flag-revealed{animation:flag-blink .4s ease-in-out 4}@keyframes flag-blink{0%,to{box-shadow:0 0 5px #ffd7004d}50%{box-shadow:0 0 30px gold,0 0 50px #ffd70080}}.piece.selected{border-color:#f1c40f!important;z-index:20;animation:piece-bounce .55s ease-in-out infinite}@keyframes piece-bounce{0%,to{transform:scale(1.06) translateY(0);box-shadow:0 0 16px #f1c40fb3,0 4px 12px #0000004d}50%{transform:scale(1.06) translateY(-5px);box-shadow:0 0 28px #f1c40fe6,0 8px 16px #0003}}.piece.attackable{border-color:#f44!important;animation:pulse-attackable .7s ease-in-out infinite}@keyframes pulse-attackable{0%,to{box-shadow:0 0 10px #ff444480}50%{box-shadow:0 0 28px #ff4444e6,0 0 8px red}}.piece.flag-carrier{border-color:var(--accent-gold)!important;z-index:25;animation:carrier-pulse 1.5s ease-in-out infinite}@keyframes carrier-pulse{0%,to{box-shadow:0 0 10px 2px #ffd700b3}50%{box-shadow:0 0 24px 6px #ffd700f2,0 0 40px #ffd70059}}.carrier-badge{position:absolute;top:-7px;right:-7px;font-size:15px;z-index:30;filter:drop-shadow(0 0 4px rgba(0,0,0,.9));pointer-events:none}.piece.piece-captured{opacity:0;transform:scale(.4) rotate(15deg);transition:opacity .4s,transform .4s!important;pointer-events:none}.pk-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}.pk-overlay.active{opacity:1;pointer-events:auto}.pk-arena{position:relative;display:flex;align-items:center;justify-content:center;gap:32px;padding-bottom:60px}.pk-slot{display:flex;flex-direction:column;align-items:center;gap:10px}.pk-side-label{font-size:15px;font-weight:700;letter-spacing:3px;color:#c55;text-shadow:0 0 8px rgba(255,68,68,.4)}.pk-side-label-human{color:#6ed;text-shadow:0 0 8px rgba(0,229,204,.5)}.pk-piece{display:flex;flex-direction:column;align-items:center;justify-content:center;width:140px;height:170px;border-radius:14px;font-weight:800;transition:transform .3s,box-shadow .3s;position:relative;border:3px solid transparent}.pk-piece.pk-ai{background:linear-gradient(160deg,#1a0808,#120505,#0d0303);border-color:#ff444459;color:#c44;box-shadow:0 8px 28px #0009}.pk-piece.pk-human{background:linear-gradient(160deg,#0a1818,#0d2020,#081515);border-color:#00e5cc99;color:#e0f0f0;box-shadow:0 8px 28px #00000080,0 0 12px #00e5cc33}.pk-piece-rank{font-size:14px;opacity:.7;margin-bottom:4px}.pk-piece-name{font-size:32px;font-weight:900}.pk-vs{font-size:40px;font-weight:900;background:linear-gradient(135deg,#ffd54f,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 15px rgba(255,215,0,.5));opacity:0;z-index:5;flex-shrink:0}.pk-vs.show{opacity:1;animation:vs-impact .3s ease-out}@keyframes vs-impact{0%{transform:scale(2.2);opacity:0}60%{transform:scale(.9);opacity:1}to{transform:scale(1);opacity:1}}.pk-status{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:24px;font-weight:800;letter-spacing:4px;white-space:nowrap;opacity:0;transition:opacity .3s;text-shadow:0 2px 8px rgba(0,0,0,.7)}.pk-status.show{opacity:1}@keyframes scan-pulse{0%,to{box-shadow:0 0 10px var(--glow-blue)}25%{box-shadow:0 0 28px #0ff}50%{box-shadow:0 0 18px #fff}75%{box-shadow:0 0 28px var(--glow-blue)}}.pk-piece.scanning{animation:scan-pulse .35s ease-in-out infinite}@keyframes flip-reveal{0%{transform:rotateY(90deg) scale(.9);opacity:.5}to{transform:rotateY(0) scale(1);opacity:1}}.pk-piece.capture-revealed{animation:flip-reveal .45s ease-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.pk-piece.clash{animation:shake .4s ease-in-out}@keyframes glow-green{0%{box-shadow:0 0 10px var(--glow-green)}50%{box-shadow:0 0 50px var(--glow-green),0 0 80px #0f06}to{box-shadow:0 0 25px var(--glow-green)}}.pk-piece.winner{animation:glow-green 1.2s ease-in-out;border-color:var(--glow-green)!important;transform:scale(1.07)}@keyframes glow-red{0%{box-shadow:0 0 10px var(--glow-red)}40%{box-shadow:0 0 40px var(--glow-red),0 0 60px #ff00004d}to{box-shadow:0 0 5px transparent}}.pk-piece.loser{animation:glow-red .8s ease-out forwards;border-color:var(--glow-red)!important;opacity:.45;transform:scale(.88)}.pk-piece.mutual{animation:glow-red .8s ease-out forwards;border-color:#f60!important;opacity:.5}@keyframes explode{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}to{transform:scale(0);opacity:0}}.pk-explosion{position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,100,0,.9) 0%,rgba(255,0,0,.5) 50%,transparent 70%);animation:explode .5s ease-out forwards;pointer-events:none;z-index:10}.pk-carrier-badge{font-size:11px;font-weight:700;letter-spacing:1px;color:#f0c040;text-align:center;margin-top:6px;padding:2px 8px;background:#f0c0401f;border:1px solid rgba(240,192,64,.35);border-radius:4px;pointer-events:none}@keyframes flag-victory-glow{0%,to{background:#ffd70000}50%{background:#ffd7002e}}.pk-overlay.flag-capture{animation:flag-victory-glow 1.2s ease-in-out infinite}@keyframes bomb-flash{0%{background:#000000bf}15%{background:#ff50008c}35%{background:#c8280066}60%{background:#50000099}to{background:#000000bf}}.pk-overlay.bomb-blast{animation:bomb-flash .8s ease-out forwards}@keyframes mine-flash{0%{background:#000000bf}15%{background:#dc8c0080}40%{background:#a0500059}to{background:#000000bf}}.pk-overlay.mine-blast{animation:mine-flash .7s ease-out forwards}@keyframes big-explode{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}50%{transform:translate(-50%,-50%) scale(1.8);opacity:.85}to{transform:translate(-50%,-50%) scale(2.8);opacity:0}}.pk-big-explosion{position:absolute;left:50%;top:50%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,180,1) 0%,rgba(255,140,0,.9) 30%,rgba(255,40,0,.7) 55%,rgba(100,0,0,.3) 75%,transparent 90%);animation:big-explode .8s ease-out forwards;pointer-events:none;z-index:20}@media (max-width: 599px){.pk-arena{gap:16px;padding-bottom:44px}.pk-piece{width:100px;height:130px;border-radius:10px;border-width:2px}.pk-piece-rank{font-size:11px}.pk-piece-name{font-size:22px}.pk-vs{font-size:28px}.pk-side-label{font-size:12px;letter-spacing:2px}.pk-status{font-size:16px;letter-spacing:2px}.pk-big-explosion{width:150px;height:150px}.pk-explosion{width:100px;height:100px}}@media (max-width: 369px){.pk-piece{width:85px;height:110px}.pk-piece-name{font-size:18px}.pk-arena{gap:10px}}.deployment-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;z-index:50}.deployment-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:var(--bg-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);flex-shrink:0;min-height:48px}.deploy-header-left{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1;overflow:hidden}.deployment-title{font-size:17px;font-weight:800;background:linear-gradient(135deg,#ffd54f,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;white-space:nowrap;flex-shrink:0}.deploy-status{font-size:12px;color:var(--text-secondary);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.deployment-actions{display:flex;gap:8px;flex-shrink:0}.deploy-btn{padding:8px 16px;font-size:14px;font-weight:600;border-radius:8px;transition:all .2s;white-space:nowrap}.deploy-btn.random{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.deploy-btn.random:active{background:var(--border-color)}.deploy-btn.start{background:linear-gradient(135deg,#00e5cc,#009e8e);color:#080d13;box-shadow:0 3px 14px #00e5cc4d,inset 0 1px #ffffff1a;padding:8px 20px}.deploy-btn.start:disabled{background:#444;color:#888;box-shadow:none}.deploy-btn.start:active:not(:disabled){transform:scale(.96)}.deploy-btn.save{background:#f1c40f1f;border:1px solid rgba(241,196,15,.45);color:var(--accent-gold)}.deploy-btn.save:disabled{opacity:.35;cursor:not-allowed}.deploy-btn.save:active:not(:disabled){background:#f1c40f40}.deploy-btn.loadbtn{background:#00e5cc1a;border:1px solid rgba(0,229,204,.4);color:#00e5cc}.deploy-btn.loadbtn:active{background:#00e5cc38}.deploy-enemy-zone{flex:1;display:flex;align-items:center;justify-content:center;min-height:20px;background:linear-gradient(to bottom,#2d05052e,#1403030f);border-bottom:1px solid rgba(220,50,50,.1);position:relative;z-index:0}.deploy-enemy-zone-label{font-size:11px;font-weight:700;letter-spacing:4px;color:#ff505047;pointer-events:none}.deploy-board-viewport{flex:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative;z-index:1;min-height:0}.deploy-board-viewport .board{flex-shrink:0;transform-origin:bottom center}.deploy-territory-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;justify-content:center;padding-top:18px;pointer-events:none;z-index:15;opacity:0;background:linear-gradient(to bottom,rgba(8,16,28,.72) 0%,rgba(8,16,28,.5) 35%,transparent 70%)}.deploy-territory-label{font-size:12px;font-weight:700;letter-spacing:4px;color:#ff6e6ecc;background:#b428281f;border:1px solid rgba(255,100,100,.22);border-radius:4px;padding:3px 14px;white-space:nowrap}.deploy-tray-strip{background:#0a121ef2;border-top:1px solid var(--glass-border);padding:6px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.deploy-tray-strip::-webkit-scrollbar{display:none}.deploy-tray-pieces{display:flex;gap:5px;width:max-content;align-items:center;padding:2px 0}.tray-piece{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;min-width:56px;height:72px;border-radius:8px;background:#00e5cc0f;border:1px solid rgba(0,229,204,.15);cursor:pointer;transition:all .18s;flex-shrink:0;position:relative}.tray-piece:active{transform:scale(.94)}.tray-piece.selected{background:#ffd7002e;border-color:var(--accent-gold);box-shadow:0 0 12px #ffd7004d}.tray-piece.placed{opacity:.28;pointer-events:none}.tray-piece-rank{font-size:9px;letter-spacing:1px;color:var(--accent-gold);opacity:.7;line-height:1}.tray-piece-name{font-size:14px;font-weight:700;color:#00e5cc;line-height:1.2}.tray-piece-count{font-size:10px;font-weight:600;color:#ffffff73;line-height:1}.layout-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center}.layout-modal-box{background:#081018f5;border:1px solid rgba(0,229,204,.1);border-radius:var(--radius-lg);padding:24px 28px;min-width:360px;max-width:500px;box-shadow:var(--shadow-deep);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.layout-modal-title{font-size:17px;font-weight:800;background:linear-gradient(135deg,#ffd54f,#e6a800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;margin-bottom:6px;text-align:center}.layout-modal-hint{font-size:12px;color:var(--text-secondary);text-align:center;margin-bottom:14px}.layout-name-input{width:100%;padding:10px 14px;background:#0000004d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:16px;font-family:inherit;margin-bottom:16px;box-sizing:border-box}.layout-name-input:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 2px #f1c40f33}.layout-overwrite-section{margin-bottom:16px}.layout-overwrite-hint{font-size:12px;color:#fa6;margin-bottom:8px}.layout-overwrite-list{display:flex;flex-direction:column;gap:5px}.layout-overwrite-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#00000040;border-radius:7px;border:2px solid transparent;cursor:pointer;transition:border-color .15s}.layout-overwrite-item:active,.layout-overwrite-item.selected{border-color:var(--accent-gold);background:#f1c40f14}.layout-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:260px;overflow-y:auto}.layout-list-empty{text-align:center;color:var(--text-secondary);padding:28px 0;font-size:15px}.layout-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#00000040;border-radius:8px;border:1px solid var(--border-color)}.layout-item-info{flex:1}.layout-item-name{font-size:15px;font-weight:600;color:var(--text-primary)}.layout-item-date{font-size:11px;color:var(--text-secondary);margin-top:3px}.layout-item-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:700;flex-shrink:0}.layout-item-btn.load{background:linear-gradient(135deg,#0a7a6e,#065550);color:#b0f0e8;border:1px solid rgba(0,229,204,.4)}.layout-item-btn.load:active{opacity:.85}.layout-item-btn.delete{background:#ff44441f;border:1px solid rgba(255,68,68,.3);color:#f66}.layout-item-btn.delete:active{background:#ff444447}.layout-modal-actions{display:flex;gap:12px;justify-content:flex-end}.layout-modal-btn{padding:10px 26px;border-radius:8px;font-size:15px;font-weight:600}.layout-modal-btn.cancel{background:#ffffff0f;color:var(--text-secondary);border:1px solid var(--border-color)}.layout-modal-btn.cancel:active{background:#ffffff1f}.layout-modal-btn.confirm{background:linear-gradient(135deg,#d4a017,#a87810);color:#fff;box-shadow:0 2px 12px #c8960066}.layout-modal-btn.confirm:active{opacity:.88}@media (max-width: 599px){.deployment-header{padding:6px 10px;gap:8px;min-height:44px}.deployment-title{font-size:14px;letter-spacing:2px}.deploy-status{display:none}.deployment-actions{gap:4px}.deploy-btn{padding:6px 10px;font-size:12px}.deploy-btn.start{padding:6px 14px}.tray-piece{width:50px;min-width:50px;height:64px}.tray-piece-name{font-size:13px}.layout-modal-box{min-width:unset;width:calc(100vw - 32px);max-width:400px;padding:16px 18px}.layout-modal-title{font-size:15px;letter-spacing:2px}.layout-name-input{font-size:14px;padding:8px 10px}.layout-list{max-height:200px}.layout-modal-btn{padding:8px 18px;font-size:13px}}@media (max-height: 420px) and (orientation: landscape){.deployment-header{padding:4px 10px;min-height:38px}.deployment-title{font-size:13px}.deploy-btn{padding:5px 8px;font-size:11px}.deploy-tray-strip{padding:4px 10px}.tray-piece{width:46px;min-width:46px;height:58px}.tray-piece-name{font-size:12px}.tray-piece-rank{display:none}}.tutorial-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#080d13;z-index:100;display:flex;flex-direction:column;overflow:hidden}.tutorial-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:60px;border-bottom:1px solid rgba(0,229,204,.1);background:#080d13eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.tutorial-header-title{font-size:18px;font-weight:900;letter-spacing:8px;background:linear-gradient(90deg,#f0c040,#ffe88a 40%,#00e5cc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tutorial-back-btn{padding:8px 22px;font-size:13px;font-weight:700;letter-spacing:2px;border-radius:20px;background:#ffffff0d;color:#b4c8dc99;border:1px solid rgba(255,255,255,.1);transition:all .15s}.tutorial-back-btn:active{background:#ffffff1a;transform:scale(.96)}.tutorial-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(0,229,204,.012) 28px,rgba(0,229,204,.012) 29px),linear-gradient(180deg,#080d13,#0a1018)}.tutorial-content>*{max-width:720px;margin-left:auto;margin-right:auto}.tutorial-content{padding:0}.tutorial-section{max-width:720px;margin:0 auto;padding:44px 36px 0}.tutorial-section:first-child{padding-top:36px}.tutorial-section:last-child{padding-bottom:60px}.tutorial-section-title{display:flex;align-items:center;gap:14px;font-size:20px;font-weight:900;letter-spacing:3px;color:#f0c040f2;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid rgba(240,192,64,.1);position:relative}.tutorial-section-title:before{content:"";position:absolute;left:-36px;top:0;bottom:16px;width:3px;background:linear-gradient(180deg,#f0c040,transparent);border-radius:0 2px 2px 0}.section-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f0c0401a;border:1px solid rgba(240,192,64,.28);font-size:15px;font-weight:900;letter-spacing:0;flex-shrink:0;color:#f0c040;-webkit-text-fill-color:#f0c040}.tutorial-text{font-size:15px;line-height:1.95;color:#bed2e6d1;margin-bottom:16px}.tutorial-text strong{color:#f5d060;font-weight:700}.tutorial-text em{color:#00e5cc;font-style:normal}.goal-box{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;border-radius:14px;background:linear-gradient(135deg,#f0c04012,#00e5cc0a);border:1px solid rgba(240,192,64,.22);margin-top:14px;position:relative;overflow:hidden}.goal-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:radial-gradient(ellipse at 80% 50%,rgba(240,192,64,.06),transparent 60%);pointer-events:none}.goal-box-icon{font-size:28px;flex-shrink:0;line-height:1;margin-top:1px}.goal-box-text{font-size:15px;line-height:1.85;color:#d2e1f0e6}.goal-box-text strong{color:#f0c040;font-weight:700}.tutorial-callout{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden}.callout-key{background:#9b59b614;border:1px solid rgba(155,89,182,.25);border-left:3px solid #9b59b6}.callout-info{background:#00e5cc0f;border:1px solid rgba(0,229,204,.2);border-left:3px solid #00e5cc}.callout-gold{background:#f0c0400f;border:1px solid rgba(240,192,64,.22);border-left:3px solid #f0c040}.tutorial-callout-icon{font-size:22px;flex-shrink:0;line-height:1;margin-top:3px}.tutorial-callout-title{font-size:14px;font-weight:800;letter-spacing:1.5px;margin-bottom:8px}.callout-key .tutorial-callout-title{color:#b07fd0}.callout-info .tutorial-callout-title{color:#00e5cc}.callout-gold .tutorial-callout-title{color:#f0c040}.tutorial-callout-body{font-size:14px;line-height:1.85;color:#c3d7ebd1}.tutorial-callout-body strong{color:#fff;font-weight:700}.visibility-demo{display:flex;align-items:center;gap:20px;background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:22px 24px;margin:16px 0 6px}.vd-side{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.vd-label{font-size:12px;font-weight:700;letter-spacing:2.5px;color:#b4c8dc73;text-transform:uppercase}.vd-pieces{display:flex;gap:7px}.vd-piece{width:50px;height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.vd-piece-own{background:linear-gradient(160deg,#091616,#06120f);color:#c0e8e0;border:1px solid rgba(0,229,204,.55)}.vd-piece-unknown{background:linear-gradient(160deg,#180606,#0d0303);color:#d04444;border:1px solid rgba(200,60,60,.3);font-size:20px;letter-spacing:0}.vd-caption{font-size:12px;color:#b4c8dc73;text-align:center;line-height:1.4}.vd-vs{font-size:22px;font-weight:900;color:#f0c040a6;flex-shrink:0}.game-steps{display:flex;flex-direction:column;gap:8px}.game-step{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.055)}.game-step-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#00e5cc1f;border:1px solid rgba(0,229,204,.35);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#00e5cc;margin-top:1px}.game-step-title{font-size:16px;font-weight:800;color:#f0c040;margin-bottom:6px;letter-spacing:.5px}.game-step-text{font-size:14px;line-height:1.8;color:#b9cde1c7}.piece-table{width:100%;border-collapse:collapse;font-size:13px;background:#0003;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.piece-table th{font-size:11px;font-weight:700;letter-spacing:2.5px;color:#b4c8dc73;text-align:left;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05;text-transform:uppercase}.piece-table td{padding:11px 14px;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.piece-table tr:last-child td{border-bottom:none}.piece-table tr:hover td{background:#ffffff06}.piece-table .row-high td{background:#f0c04008}.piece-table .row-special td{background:#9b59b60a}.piece-table-name{font-weight:800;font-size:16px}.piece-table-rank{display:inline-block;padding:3px 11px;border-radius:10px;font-size:12px;font-weight:800;letter-spacing:.5px}.rank-high{background:#f0c04026;color:#f0c040;border:1px solid rgba(240,192,64,.3)}.rank-mid{background:#00e5cc1f;color:#00e5cc;border:1px solid rgba(0,229,204,.25)}.rank-low{background:#3498db1f;color:#74b9ff;border:1px solid rgba(52,152,219,.25)}.rank-special{background:#9b59b61f;color:#c39bd3;border:1px solid rgba(155,89,182,.25)}.piece-table-note{font-size:13px;color:#b4c8dc8c}.piece-table-note.special-note{color:#e8956a}.piece-table-note em{color:#00e5cc;font-style:normal}.pos-legend{display:flex;flex-direction:column;gap:10px}.pos-legend-item{display:flex;align-items:flex-start;gap:14px;padding:13px 16px;border-radius:10px;background:#ffffff06;border:1px solid rgba(255,255,255,.055)}.pos-legend-dot{flex-shrink:0;width:36px;height:36px;border-radius:8px;margin-top:1px}.pos-legend-dot.dot-hq{background:#f1c40f1f;border:2px solid rgba(241,196,15,.55);box-shadow:0 0 10px #f1c40f1f;border-radius:10px}.pos-legend-dot.dot-camp{border-radius:50%;background:#00e5cc1f;border:2px solid rgba(0,229,204,.45);box-shadow:0 0 10px #00e5cc1a}.pos-legend-dot.dot-railway{background:#b9913c38;border:2px solid rgba(215,175,80,.6)}.pos-legend-dot.dot-normal{background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}.pos-legend-text{flex:1}.pos-legend-name{font-size:16px;font-weight:800;color:var(--text-primary);margin-bottom:6px;display:flex;align-items:center;gap:8px}.pos-tag{font-size:10px;font-weight:600;padding:1px 8px;border-radius:8px;background:#ffffff0f;color:#b4c8dc85;letter-spacing:1px}.pos-legend-desc{font-size:13px;color:#b4c8dc99;line-height:1.8}.pos-legend-desc strong{color:#f0c040e0}.rule-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rule-card{padding:18px 16px;border-radius:12px;background:#ffffff06;border:1px solid rgba(255,255,255,.07);transition:background .15s}.rule-card:hover{background:#ffffff0b}.rule-card-icon{font-size:24px;margin-bottom:10px}.rule-card-title{font-size:15px;font-weight:800;color:#f0c040;margin-bottom:8px;letter-spacing:.5px}.rule-card-text{font-size:13px;line-height:1.8;color:#b4c8dcad}.rule-card-text strong{color:#ffffffe6}.pk-flow-label-top{font-size:13px;font-weight:700;color:#b4c8dc80;letter-spacing:1.5px;margin-bottom:12px}.pk-flow{display:flex;align-items:center;gap:8px;background:#00000047;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:18px 22px;overflow-x:auto;margin-bottom:20px;scrollbar-width:none}.pk-flow::-webkit-scrollbar{display:none}.pk-flow-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.pk-flow-icon{width:56px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}.pk-icon-own{background:linear-gradient(160deg,#091616,#06120f);color:#c0e8e0;border:1px solid rgba(0,229,204,.55)}.pk-icon-enemy{background:linear-gradient(160deg,#180606,#0d0303);color:#c44;border:1px solid rgba(200,60,60,.3);font-size:22px}.pk-icon-result{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:22px}.pk-icon-reveal{background:linear-gradient(135deg,#f0c04024,#9b59b61a);border:1px solid rgba(240,192,64,.28);font-size:22px}.pk-flow-caption{font-size:11px;color:#b4c8dc94;text-align:center;line-height:1.4}.pk-sub{font-size:10px;color:#b4c8dc61}.pk-flow-arrow{font-size:16px;color:#f0c0408c;flex-shrink:0}.combat-rules{display:flex;flex-direction:column;gap:7px}.combat-rule-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:9px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.combat-rule-icon{font-size:16px;flex-shrink:0;width:26px;text-align:center}.cr-win{color:#00e5cc}.cr-draw{color:#f0c040;font-weight:900}.combat-rule-text{font-size:14px;line-height:1.7;color:#b9cde1cc}.combat-rule-text strong{color:#f0c040}.combat-rule-text em{color:#00e5cc;font-style:normal}.flag-steps{display:flex;flex-direction:column;gap:0}.flag-step{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:10px;background:#ffffff06;border:1px solid rgba(255,255,255,.06);width:100%;box-sizing:border-box}.flag-step-win{background:#00e5cc12;border-color:#00e5cc47}.flag-step-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.flag-step-text{font-size:14px;color:#cddcf0d9;line-height:1.6}.flag-step-text strong{color:#00e5cc}.flag-step-arrow{font-size:14px;color:#f0c04073;padding:2px 0 2px 20px;line-height:1}.win-box{padding:17px 22px;border-radius:12px;margin-top:14px;display:flex;align-items:flex-start;gap:14px}.win-box-victory{background:#00e5cc12;border:1px solid rgba(0,229,204,.25)}.win-box-defeat{background:#ff444412;border:1px solid rgba(255,68,68,.22)}.win-box-icon{font-size:26px;flex-shrink:0;line-height:1;margin-top:1px}.win-box-text{font-size:15px;line-height:1.85;color:#b9cde1d9}.win-box-text strong{color:#f0c040}.tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.tips-list li{padding:14px 18px;border-radius:10px;background:#ffffff06;border:1px solid rgba(255,255,255,.055);border-left:3px solid rgba(0,229,204,.4);font-size:14px;color:#b9cde1cc;line-height:1.8;display:flex;align-items:flex-start;gap:12px;transition:background .15s}.tips-list li:hover{background:#ffffff0a}.tip-tag{flex-shrink:0;display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:1px;background:#00e5cc1f;border:1px solid rgba(0,229,204,.3);color:#00e5cc;margin-top:3px}.tutorial-tribute .tutorial-section-title:before{background:linear-gradient(180deg,#f0c040,#f0c04000)}.tutorial-tribute .menu-version{font-size:11px;letter-spacing:2px;color:#ffffff24}@media (max-width: 899px) and (min-width: 600px){.tutorial-section{padding:28px 24px 0}.tutorial-section-title:before{left:-24px}}@media (max-width: 599px){.tutorial-header{height:50px;padding:0 16px}.tutorial-header-title{font-size:15px;letter-spacing:5px}.tutorial-back-btn{padding:6px 14px;font-size:12px}.tutorial-section{padding:28px 16px 0}.tutorial-section:last-child{padding-bottom:48px}.tutorial-section-title{font-size:17px;letter-spacing:2px;margin-bottom:18px}.tutorial-section-title:before{left:-16px}.section-num{width:28px;height:28px;font-size:13px}.tutorial-text{font-size:14px}.goal-box{padding:14px 16px;gap:12px}.goal-box-icon{font-size:22px}.goal-box-text{font-size:14px}.tutorial-callout{padding:13px 14px}.tutorial-callout-icon{font-size:18px}.tutorial-callout-title,.tutorial-callout-body{font-size:13px}.visibility-demo{flex-direction:column;gap:12px;padding:16px}.vd-piece{width:46px;height:30px}.game-step{padding:12px 14px}.game-step-num{width:26px;height:26px;font-size:12px}.game-step-title{font-size:14px}.game-step-text{font-size:13px}.rule-cards{grid-template-columns:1fr}.rule-card{padding:14px}.rule-card-icon{font-size:20px;margin-bottom:7px}.rule-card-title{font-size:14px}.pk-flow{padding:12px 14px;gap:6px}.pk-flow-icon{width:44px;height:30px;font-size:11px}.pk-icon-enemy,.pk-icon-result,.pk-icon-reveal{font-size:18px}.pk-flow-caption{font-size:10px}.pos-legend-dot{width:30px;height:30px}.pos-legend-name{font-size:14px}.pos-legend-desc{font-size:12px}.combat-rule-item{padding:9px 13px}.combat-rule-text{font-size:13px}.flag-step{padding:10px 14px}.flag-step-text{font-size:13px}.win-box{padding:14px 16px}.win-box-text{font-size:14px}.tips-list li{padding:12px 14px;font-size:13px}}
