/* NEON CHECK — pink noir tactical terminal */
:root{--bg:#09070e;--panel:#17101e;--line:#49243e;--muted:#ad819f;--ink:#f6deed;--green:#ff4a9b;--dark:#231a30;--light:#403047}
body{background-color:var(--bg);background-image:linear-gradient(0deg,#0b0711eb,#0b0711a0),repeating-linear-gradient(90deg,transparent 0 119px,#e42a8110 119px 120px),repeating-linear-gradient(0deg,transparent 0 119px,#e42a8110 119px 120px);background-attachment:fixed}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 8% 20%,#bf185421,transparent 50%),radial-gradient(ellipse at 95% 80%,#761c7526,transparent 50%)}
.shell{max-width:1290px}header{border-bottom:1px solid #71304f;position:relative}header:after{content:'NC // 2077';position:absolute;bottom:-5px;right:0;background:var(--bg);padding-left:12px;font:8px monospace;color:#a5547f;letter-spacing:2px}.brand{font-size:24px;letter-spacing:1px}.brand-icon{font-family:monospace;border:1px solid #ff4a9b;padding:0 5px;font-size:23px;box-shadow:3px 3px 0 #7a1d4a}.brand>span:last-child{text-shadow:0 0 22px #ff4a9b55}.header-right{color:#cf92b7;font-size:9px;letter-spacing:1px}.led{background:#ff4a9b;box-shadow:0 0 9px #ff4a9b99}
.intro{position:relative;overflow:hidden;padding:37px 0 31px}.intro:after{content:'戦 術 / 07';position:absolute;right:0;top:20px;font:900 68px monospace;letter-spacing:-6px;color:#ff4a9b0a;transform:skewX(-9deg);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;color:#ee72ad}h1{font-size:36px;letter-spacing:2px;font-weight:850;margin-top:16px}h1 span{text-shadow:3px 3px 0 #68143e}.intro p{font-size:12px;color:#bb8ea9;letter-spacing:1px}.game-layout{gap:34px;grid-template-columns:minmax(340px,680px) minmax(285px,340px)}
.player{height:60px}.avatar{border-color:#a04075;box-shadow:3px 3px 0 #050207}.avatar.dark{background:repeating-linear-gradient(0deg,#2b1936 0 3px,#331e3f 3px 4px);color:#ff70bc}.avatar.light{background:repeating-linear-gradient(0deg,#e1bace 0 3px,#c392b1 3px 4px);color:#671e4d}.player small{font-size:8px;color:#d37faa;letter-spacing:1.6px}.player-state.current{background:#ff4a9b12;border:1px solid #ff4a9b38;color:#ff81b7;font:10px monospace}.battle-strip{display:flex;justify-content:space-between;padding:9px 13px;background:#231120;border:1px solid #71304f;border-bottom:0;font:9px monospace;letter-spacing:1px;color:#d38fb1}.battle-strip span:last-child{color:#ff71ad}
.board-frame{position:relative;padding:14px;background-color:#1d1022;background-image:repeating-linear-gradient(135deg,transparent 0 3px,#e9519610 3px 4px);border:1px solid #9c3a6a;box-shadow:6px 6px 0 #030105,0 0 30px #f52a7c0c,inset 0 0 0 4px #0c0710}.board-frame:after,.board-frame:before{content:'';position:absolute;width:28px;height:5px;background:#ff4a9b;box-shadow:0 0 12px #ff4a9b66;pointer-events:none}.board-frame:before{left:-1px;top:-1px}.board-frame:after{right:-1px;bottom:-1px}#board{border:2px solid #07040b;box-shadow:0 0 0 1px #814266}
.square{isolation:isolate;background-color:#443047;background-image:linear-gradient(135deg,#efb3cf0c,transparent 65%),repeating-linear-gradient(0deg,transparent 0 3px,#00000010 3px 4px);box-shadow:inset 0 0 0 1px #ef8fbb0b}.square.dark{background-color:#21182b;background-image:repeating-linear-gradient(90deg,transparent 0 7px,#af72ac07 7px 8px),repeating-linear-gradient(0deg,transparent 0 7px,#af72ac07 7px 8px)}.square:before{content:'';position:absolute;inset:7%;background:linear-gradient(#f7a1d921 0 0) top left/5px 1px no-repeat,linear-gradient(#f7a1d921 0 0) bottom right/5px 1px no-repeat;pointer-events:none;z-index:-1}.square svg{width:91%;height:91%;filter:drop-shadow(2px 3px 0 #07020caa);transition:transform .14s}.square:hover{filter:brightness(1.22);box-shadow:inset 0 0 0 1px #ff70b5}.square:hover svg{transform:translateY(-2px)}.square .coord,.square.dark .coord{font-size:9px;color:#cd9bbd;z-index:2;opacity:.7}.square.selected,.square.dark.selected{background-color:#873655;box-shadow:inset 0 0 0 2px #ffacd3,inset 0 0 20px #ff4a9b66}.square.last{background-color:#603047}.square.dark.last{background-color:#47233e}.square.checked{background-color:#9c204f;box-shadow:inset 0 0 0 2px #ff6190}.square.possible:after{width:16%;height:16%;background:#ff7fbc;box-shadow:0 0 0 4px #ff4a9b16,0 0 15px #ff4a9b80;transform:rotate(45deg)}.square.capture:after{width:87%;height:87%;border:2px dashed #ff87bd;box-shadow:inset 0 0 16px #ff4a9b40;background:transparent;transform:none}
.panel{position:relative;border-color:#4e2944;box-shadow:4px 4px 0 #040206;background:linear-gradient(120deg,#23132280,transparent 70%),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),#130e19}.panel:before{content:'';position:absolute;top:-1px;left:-1px;width:14px;height:2px;background:#d54c8a}.panel-label{font-size:9px;color:#d286b0;letter-spacing:1px}.status-panel{margin-top:0}.status-panel h2{color:#ff8ac1;text-shadow:2px 2px 0 #641c46;font-size:25px}.status-panel p{color:#bc92ad}.turn-track span{background:#0f0b16;color:#8f6589;border-bottom-color:#4b2c48;font-size:9px}.turn-track .active{background:#ff4a9b15;color:#ff9bcb;border-bottom-color:#ff4a9b}.controls label:not(.toggle){color:#dab2cc;font-size:11px}select{color:#f5d4e7;background:#0d0913;border-color:#5b3050;padding:12px 9px}button{background:#27162b;border-color:#61304f;box-shadow:inset 0 1px 0 #ffffff06}button:hover{background:#49203c;border-color:#d6639e}button.primary{background:#fa398d;color:#170812;border-color:#ff82b9;box-shadow:3px 3px 0 #6b1842;font-size:13px;letter-spacing:2px}button.primary:hover{background:#ff7cb5;box-shadow:3px 3px 0 #6b1842,0 0 20px #ff4a9b20}.toggle{color:#c194b2}.toggle span{color:#9e6b91}.history-panel{border-top-color:#713656}.move-row{background:#ff4a9b06;color:#d4a5c3}.move-row:last-child{color:#ffa1d0}.tip{color:#b17d9e}.tip>span{color:#ff63ac}.tip p{font-size:10px}.unit-codex{border:1px solid #47213d;margin-top:22px;padding:18px;background:#130c18}.unit-codex>.panel-label{padding-bottom:15px;border-bottom:1px solid #392032}#unit-list{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding-top:14px}.unit-card{display:flex;align-items:center;gap:7px;border-right:1px solid #3b2035}.unit-card:last-child{border:0}.unit-card svg{width:42px;height:48px;flex-shrink:0;filter:drop-shadow(0 0 7px #e9367616)}.unit-card span{font-size:11px;color:#e7bad4}.unit-card small{display:block;color:#9b6588;font:8px monospace;margin-top:6px;letter-spacing:1px}footer{border-top-color:#402039;color:#995a80;font-size:8px;margin-top:22px}footer b{color:#ff4a9b}dialog{border-color:#ff4a9b;background:#1e1023;box-shadow:8px 8px 0 #060208,0 0 60px #ff4a9b22}dialog::backdrop{background:#08040ee0}#promotion-options button{padding:5px;background:#39203c}
@media(max-width:1000px){#unit-list{grid-template-columns:repeat(3,1fr)}.unit-card:nth-child(3){border:0}.header-right{font-size:8px}.intro:after{font-size:50px;top:42px}}@media(max-width:820px){.game-layout{grid-template-columns:1fr}.status-panel{margin:0}.intro:after{right:-10px}h1{font-size:30px}.unit-card{padding:4px}.header-right{font-size:0}.header-right button{font-size:10px}}@media(max-width:480px){h1{font-size:26px;letter-spacing:0}.intro p{font-size:10px;letter-spacing:0}.eyebrow{font-size:8px;letter-spacing:1px}.intro:after{display:none}.brand{font-size:19px}.board-frame{padding:8px}.unit-codex{padding:12px}#unit-list{gap:3px}.unit-card{gap:2px}.unit-card svg{width:32px;height:40px}.unit-card span{font-size:9px}.unit-card small{font-size:7px;letter-spacing:0}.battle-strip{font-size:8px}.player small{font-size:7px}.square .coord{font-size:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
