:root{color:#213b33;font-synthesis:none;--green:#164f40;--deep:#173e34;--line:#dce1d6;--muted:#6f8076;--blue:#426eab;--red:#b65149;--cream:#fcfbf7;background:#f3f1e9;font-family:Inter,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:360px;margin:0}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.36}button:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #d4a849}button,a{color:inherit}p{line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}.app{max-width:1600px;margin:auto}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:32px;height:88px;padding:0 42px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:13px;font-family:Georgia,serif;font-size:29px;font-weight:700;text-decoration:none;display:flex}.brand small{letter-spacing:2.4px;color:var(--muted);margin-top:4px;font-family:Segoe UI,sans-serif;font-size:9px;font-weight:600;display:block}.brand-mark{background:var(--green);color:#fff8dc;text-align:center;border-radius:13px 13px 21px 21px;width:44px;height:47px;font-size:35px;line-height:44px;position:relative}.brand-mark>span{color:#dbc583;font-family:serif;font-size:13px;position:absolute;top:-6px;right:6px}.header-note{color:var(--muted);letter-spacing:.2px;font-size:12px}.app-header nav{align-items:center;gap:22px;margin-left:auto;display:flex}.header-button,.sound-button{background:0 0;border:0;font-size:12px;font-weight:600}.header-button span{margin-left:10px}.sound-button{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:23px}.game-layout{grid-template-columns:minmax(360px,1fr) 316px;align-items:start;gap:38px;padding:26px 42px 14px;display:grid}.board-area{width:100%;max-width:760px;margin:auto}.turn-bar{justify-content:space-between;align-items:center;min-height:26px;margin:0 3px 16px;display:flex}.turn-bar>div{align-items:center;gap:10px;display:flex}.turn-title{text-transform:capitalize;font-size:17px;font-weight:600}.turn-detail{color:var(--muted);font-size:11px}.status-light{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 4px #fff}.status-light.blue,.side-dot.blue{background:var(--blue)}.status-light.red,.side-dot.red{background:var(--red)}.thinking{animation:1.3s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 6px #dce7df}}.board-frame{background:#466251;border-radius:15px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:auto;padding:16px;box-shadow:0 10px 30px #233d3218,inset 0 0 0 1px #2f51483d}.board{width:min(100%,540px);aspect-ratio:7/9;isolation:isolate;background:#dae4bc;border:1px solid #284739;border-radius:4px;width:clamp(350px,77.7778dvh - 206.111px,660px);max-width:calc(100vw - 442px);position:relative;overflow:hidden}.square{background:#e3e9ce;border:1px solid #8a9b7340;border-top:0;border-left:0;width:14.2857%;height:11.1111%;padding:0;position:absolute}.square:nth-child(2n).land{background:#dce5c6}.square.water{background-color:#8cc4b8;background-image:radial-gradient(at 50% 155%,#0000 49%,#d2e6cd88 51%,#0000 57%),radial-gradient(at 50% 158%,#0000 48%,#6eb3a755 51%,#0000 56%);background-position:0 2px,14px -7px;background-size:31px 19px,33px 23px;border-color:#5d9f9844}.square.trap{background:#e9d99f}.square.trap.red{background:#e4c7a9}.terrain-symbol{color:#987b37;opacity:.7;font-family:Georgia,serif;font-size:35px}.square.trap.red .terrain-symbol{color:#a06448}.square.den.blue{background:#abbfca}.square.den.red{background:#d6aaa0}.den-symbol{color:#38556a;flex-direction:column;align-items:center;gap:2px;font-size:34px;line-height:26px;display:inline-flex}.red .den-symbol{color:#8e4c44}.den-symbol small{letter-spacing:1.2px;font-size:9px;font-weight:700}.square.last-move{box-shadow:inset 0 0 0 3px #73965990}.square.selected-square{box-shadow:inset 0 0 0 3px #bb9143;background-color:#f1dfa0!important}.square.capture-target{z-index:2;box-shadow:inset 0 0 0 4px #b65043}.square:hover{filter:brightness(1.03)}.move-dot{aspect-ratio:1;background:#1f654c75;border-radius:50%;width:20%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #fff4}.row-label,.column-label{color:#4a635197;pointer-events:none;font-size:9px;font-weight:600;position:absolute}.row-label{top:3px;left:3px}.column-label{bottom:2px;right:3px}.piece{pointer-events:none;z-index:3;justify-content:center;align-items:center;width:14.2857%;height:11.1111%;padding:3px 3px 11px;transition:transform .18s;display:flex;position:absolute;top:0;left:0}.piece img{object-fit:contain;filter:drop-shadow(0 2px 1px #15302530);width:100%;height:100%}.piece-label{white-space:nowrap;color:#315a89;letter-spacing:-.2px;background:#f9fcf0f2;border-radius:4px;padding:0 4px;font-family:Segoe UI,sans-serif;font-size:11px;font-weight:700;line-height:16px;position:absolute;bottom:3px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #0001}.piece.red .piece-label{color:#98483f}.selected-piece img{filter:drop-shadow(0 0 3px #ffefb1)drop-shadow(0 2px 2px #393c2944)}.board-caption{color:#455e52;text-transform:capitalize;align-items:center;gap:6px;margin:16px 1px 13px;font-size:11px;display:flex}.board-caption>span:last-child{color:var(--muted);text-transform:none;margin-left:auto;font-size:10px}.side-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.board-controls{justify-content:space-between;gap:12px;display:flex}.undo-controls{gap:8px;display:flex}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:8px 15px;font-size:12px;font-weight:600;transition:background .12s,box-shadow .12s;display:inline-flex}.primary{background:var(--green);color:#faf7e9;box-shadow:0 2px 4px #133d2417}.primary:hover{background:#22644e}.secondary{color:#486052;background:#f9faf4;border-color:#d5decf}.secondary:hover:not(:disabled){background:#e6eddf}.card{background:var(--cream);border:1px solid #e0e4da;border-radius:11px;box-shadow:0 3px 14px #24483603}.sidebar{flex-direction:column;gap:15px;padding-top:0;display:flex}.eyebrow{letter-spacing:1.7px;color:#86997f;font-size:9px;font-weight:700}.play-card h1{letter-spacing:-.8px;margin:10px 0;font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.12}.muted{color:var(--muted);font-size:12px}.play-card p{margin:0 0 20px}.field-label{letter-spacing:.4px;color:#6d7d70;flex-direction:column;gap:7px;font-size:10px;font-weight:600;display:flex}.field-label select{color:#314b3a;outline-offset:2px;background:#f7f8f1;border:1px solid #d9dfd3;border-radius:6px;width:100%;height:39px;padding:6px 10px;font-size:12px}.new-game{justify-content:space-between;width:100%;height:41px;margin-top:12px;padding:8px 13px}.new-game span{font-size:18px}.file-controls{color:#778878;justify-content:center;gap:16px;margin-top:15px;display:flex}.file-controls button{background:0 0;border:0;padding:3px;font-size:10px}.file-controls button:hover{text-decoration:underline}.watch-control{width:100%;margin-top:9px}.card-title{justify-content:space-between;align-items:center;padding:16px 19px 12px;display:flex}.card-title h2{margin:0;font-size:12px;font-weight:600}.card-title>span{color:var(--muted);font-size:10px}.move-history{scrollbar-width:thin;scrollbar-color:#bfccb9 transparent;height:136px;margin:0 9px 5px;padding:0 8px;overflow:auto}.empty-history{justify-content:center;align-items:center;gap:15px;height:100%;display:flex}.empty-history>span{color:#a4b296;font-family:Georgia,serif;font-size:28px}.empty-history p{color:#87917f;font-size:11px;line-height:1.65}.history-row{border-bottom:1px solid #edf0e8;align-items:center;gap:8px;min-height:29px;font-size:10px;display:flex}.history-row.future{opacity:.35}.move-number{color:#8e9b88;width:19px;font-size:9px}.draw-progress{color:#85907f;border-top:1px solid #e8ebe3;justify-content:space-between;padding:12px 19px;font-size:9px;display:flex}.draw-progress strong{color:#48634c;font-weight:500}.draw-progress small{color:#8c9686;font-size:9px}.captures-card .muted{margin:0;padding:0 19px 16px;font-size:10px}.captured-list{flex-wrap:wrap;gap:1px;padding:0 15px 13px;display:flex}.captured-list img{object-fit:contain;width:32px;height:32px}.engine-details{color:#82927f;padding:0 7px;font-size:10px}.engine-details summary{cursor:pointer}.engine-details p{overflow-wrap:anywhere;margin:6px 0;font-size:9px}.app-footer{color:#899580;justify-content:space-between;gap:20px;padding:10px 42px 20px;font-size:9px;display:flex}.app-footer span span{color:#bcc4b2;margin:0 6px}.result-card{text-align:center;background:#e8efdb;padding:18px 22px}.result-card>span{color:#a18c43;font-size:28px}.result-card h2{text-transform:capitalize;margin:7px 0;font-family:Georgia,serif;font-size:25px}.result-card p{font-size:12px}.error-card{color:#944637;overflow-wrap:anywhere;background:#f8e5df;border:1px solid #e3bdb2;border-radius:8px;justify-content:space-between;gap:10px;padding:13px;font-size:12px;display:flex}.error-card button{background:0 0;border:0;font-size:20px}.dialog{color:#28483a;background:#fbfcf5;border:1px solid #d9dfd0;border-radius:15px;width:min(520px,100vw - 32px);max-height:calc(100dvh - 48px);padding:25px;box-shadow:0 24px 100px #122e3650}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15302a75}.dialog-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.dialog-header h2{margin:0;font-family:Georgia,serif;font-size:28px;font-weight:400}.icon-button{color:#657863;background:0 0;border:0;width:30px;height:30px;font-size:25px}.dialog fieldset{border:0;margin:23px 0;padding:0}.dialog legend{margin-bottom:10px;font-size:12px;font-weight:600}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{text-align:left;background:#f6f8ef;border:1px solid #dce3d3;border-radius:8px;padding:14px 12px;font-size:12px;font-weight:600}.choice small{color:#829078;margin-top:6px;font-size:10px;font-weight:400;display:block}.choice.selected{background:#e7eedc;border:1px solid #517954;box-shadow:inset 0 0 0 1px #517954}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.help-content{font-size:13px}.help-content h3{margin-top:25px;font-size:14px}.help-content p{line-height:1.65}.rank-list{grid-template-columns:1fr 1fr;gap:7px;display:grid}.rank-list>div{background:#edf1e5;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-size:11px;display:flex}.rank-list span{text-align:center;background:#d8e2c9;border-radius:50%;width:21px;height:21px;font-weight:700;line-height:21px}.loading-screen{text-align:center;background:#f3f1e9;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.loading-mark{color:#f2e6b7;background:#1a5141;border-radius:23px 23px 38px 38px;width:76px;height:88px;font-family:Georgia,serif;font-size:57px;line-height:83px;box-shadow:0 12px 35px #12352513}.loading-screen h1{margin:21px 0 5px;font-family:Georgia,serif;font-size:40px;font-weight:400}.loading-screen p{color:#70816c;max-width:500px;font-size:13px}.loading-screen progress{accent-color:#527957;width:200px;height:5px;margin-top:12px}.loading-screen small{color:#8d9a85;margin-top:35px;font-size:10px}@media (min-width:1300px){.game-layout{grid-template-columns:minmax(500px,1fr) 340px;gap:58px;padding-left:65px;padding-right:65px}.board{max-width:700px}.play-card{padding:28px}.move-history{height:170px}}@media (max-width:1000px){.app-header{height:72px;padding:0 24px}.header-note{display:none}.game-layout{grid-template-columns:minmax(350px,1fr) 270px;gap:22px;padding:20px 24px 12px}.board-frame{padding:11px}.board{width:clamp(350px,77.7778dvh - 180.444px,540px);max-width:calc(100vw - 365px)}.play-card{padding:19px}.play-card h1{font-size:25px}.board-caption>span:last-child{display:none}.app-footer{padding:9px 24px 17px}.move-history{height:120px}.turn-title{font-size:15px}}@media (max-width:760px){.app-header{height:68px;padding:0 18px}.app-header nav{gap:13px}.header-button{font-size:11px}.game-layout{flex-direction:column;align-items:center;gap:24px;padding:17px 18px;display:flex}.board-area{max-width:520px}.board{width:clamp(350px,77.7778dvh - 175px,480px);max-width:calc(100vw - 64px)}.sidebar{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:620px;display:grid}.play-card{grid-row:span 2}.captures-card{min-height:95px}.engine-details,.error-card,.result-card{grid-column:1/-1}.app-footer{flex-wrap:wrap;gap:8px;padding:0 18px 20px;font-size:8px}.board-caption{margin-top:12px}.turn-bar{margin-bottom:12px}.board-controls .button{padding:7px 12px}.brand{font-size:26px}}@media (max-width:420px){.game-layout{padding:14px 8px}.board-frame{padding:7px}.board{width:calc(100vw - 35px);min-width:0;max-width:none}.piece-label{padding:0 3px;font-size:10px;line-height:14px}.sidebar{grid-template-columns:1fr}.play-card{grid-row:auto}.app-footer>span:last-child{max-width:250px}.dialog{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.play-card{padding:20px}.play-card p{margin-bottom:12px}.move-history{height:110px}.board-caption{margin-top:12px;margin-bottom:10px}@media (min-width:761px){.game-layout{padding-top:20px;padding-bottom:10px}.board{width:clamp(350px,77.7778dvh - 233.333px,660px)}}@media (max-height:700px){.app-header{height:52px}.brand{font-size:24px}.brand-mark{width:35px;height:36px;font-size:29px;line-height:34px}.brand small{margin-top:1px;font-size:8px}.game-layout{padding-top:10px;padding-bottom:6px}.turn-bar{min-height:20px;margin-bottom:6px}.board-frame{padding:6px}.board{width:clamp(315px,77.7778dvh - 108.889px,560px)}.board-caption,.app-footer{display:none}.board-controls{margin-top:8px}.board-controls .button{min-height:30px;padding:5px 10px;font-size:11px}.play-card{padding:14px}.play-card p{display:none}.play-card h1{margin:8px 0 12px;font-size:23px}.move-history{height:75px}.card-title{padding:12px 15px 8px}.draw-progress{padding:9px 15px}.sidebar{gap:10px}.file-controls{margin-top:10px}}@media (max-height:700px) and (min-width:761px){.sidebar{max-height:calc(100dvh - 80px);padding-right:3px;overflow:auto}}
