
:root{color-scheme:dark;--bg:#101b20;--panel:#17272d;--line:#30444a;--gold:#e5bc72;--muted:#92a7ab}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 25%,#243b40,transparent 60%),var(--bg);color:#e9efec;font:15px/1.6 'Segoe UI','Malgun Gothic',sans-serif}header{padding:22px 4vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}small{font-size:10px;letter-spacing:1.3px;color:var(--muted)}h1{font-size:24px;margin:2px 0}h1 span{font-size:13px;color:var(--gold);margin-left:12px}button,select{font:inherit;color:inherit;background:#203239;border:1px solid #4a6065;border-radius:7px;padding:9px 16px;cursor:pointer}button:hover:not(:disabled){border-color:var(--gold);background:#2c4145}button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;opacity:.5}nav{display:flex;gap:10px}main{max-width:1400px;margin:auto;padding:28px 4vw 45px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h2{font-size:30px;margin:5px 0}.top p{color:var(--muted);margin:0}.top label{color:var(--muted);font-size:12px}.top select{margin-left:10px}.arena{border:1px solid var(--line);border-radius:14px;background:#122329bb;overflow:hidden}.status{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;padding:22px 28px;background:#1a2d32}.status>div:last-child{text-align:right}.status h3{margin:3px 0 8px;font-size:17px}.status h3 span{font-size:11px;color:var(--gold)}.turn{text-align:center;display:grid;gap:4px}.turn b{color:var(--gold)}.health{display:flex;gap:5px;margin-bottom:7px}.status>div:last-child .health{justify-content:flex-end}.health i{display:block;width:19px;height:5px;border-radius:3px;background:#80beb0}.health .spent{background:#465a60}.sides{display:flex;justify-content:space-between;padding:12px 28px 0;color:var(--muted);font-size:11px}.lane{min-height:155px;display:grid;grid-template-columns:1fr 90px 1fr;margin:12px 20px;border:1px solid #354a4e;border-radius:10px;background:repeating-linear-gradient(90deg,#233a351c 0 54px,#2c433a40 54px 55px)}.army{display:flex;align-items:center;gap:8px;padding:12px;overflow-x:auto}.army.player{justify-content:flex-end}.empty{color:#758c8d;font-size:12px;padding:15px}.bridge{border:0;border-left:1px solid #4b5140;border-right:1px solid #4b5140;border-radius:0;display:grid;align-content:center;background:#534d3640;padding:8px}.bridge span{font-size:36px;color:#b9ab7d;line-height:1.3}.bridge.ready{background:#a38a3e50;box-shadow:inset 0 0 0 1px var(--gold)}.bridge:disabled{opacity:1}.unit{flex-shrink:0;width:87px;min-height:113px;display:grid;align-content:center;text-align:center;background:linear-gradient(#31484c,#1b2d32);border:1px solid #638184;border-radius:7px;position:relative}.enemy .unit{background:linear-gradient(#51403f,#302b30);border-color:#88615b}.unit>span{font-size:33px}.unit b{font-size:10px}.unit small{letter-spacing:0;font-size:11px;color:#d2e4dd}.unit em{font-size:8px;color:var(--gold);font-style:normal}.controls{padding:5px 22px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.controls p{color:var(--muted);font-size:12px}.primary{background:var(--gold);border-color:var(--gold);color:#242d2b;font-weight:bold}.section-title{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.section-title h3{margin:0}.section-title span{color:var(--gold)}.muted{color:var(--muted);font-size:12px}.hand{display:flex;gap:10px;overflow-x:auto;padding:8px 2px 16px;min-height:220px}.card{position:relative;flex:0 0 130px;min-height:195px;border-radius:9px;border:1px solid #526769;background:linear-gradient(150deg,#29434a,#19282f);padding:13px 9px;text-align:center;transition:transform .15s}.card:disabled{opacity:.65}.card.locked{opacity:.35}.card.selected{border:2px solid var(--gold);transform:translateY(-7px);background:#3b463c}.card small{font-size:8px;letter-spacing:.3px}.cost{position:absolute;top:7px;left:7px;border-radius:50%;background:#76b9c8;color:#12232e;width:23px;height:23px;font-size:13px;font-weight:bold}.art{font-size:46px;margin-top:10px;text-shadow:0 3px 18px #7bc8bb50}.card h3{font-size:13px;margin:3px 0 10px}.card p{font-size:9px;color:var(--muted);margin:7px 0 0}.stats{display:flex;justify-content:space-around;font-size:13px}.fort{border-color:#b39759;background:linear-gradient(140deg,#655a37,#2b342e)}.fort p{font-size:11px}.bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;margin-top:15px;border-top:1px solid var(--line);padding-top:10px}.bottom h3{font-size:14px}#log{height:180px;overflow:auto;font-size:12px;color:#a6bbbd}#log p{margin:0;padding:6px 0;border-bottom:1px solid #263b40}#log p:first-child{color:var(--gold)}aside p{font-size:13px;color:#b1c2c3}a{color:var(--gold);font-size:12px}dialog{max-width:650px;background:#1a3037;color:#e9efec;border:1px solid #81938a;border-radius:14px;padding:30px;line-height:1.9}dialog::backdrop{background:#050d14cc}dialog h2{font-size:23px}dialog p,dialog li{font-size:14px}dialog button{width:100%}@media(max-width:700px){header{padding:15px}h1{font-size:19px}h1 span{display:none}nav button{font-size:11px;padding:7px}main{padding:20px 12px}.top{display:block}.top h2{font-size:23px}.top p{font-size:12px}.top label{display:block;margin-top:15px}.status{padding:14px;grid-template-columns:1fr 95px 1fr}.status h3{font-size:12px}.status small{font-size:8px}.health{gap:3px}.health i{width:10px}.lane{margin:10px 6px;grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr)}.unit{width:67px}.army{padding:7px;gap:4px}.empty{font-size:10px;padding:0}.bridge{padding:2px}.bridge small{font-size:8px;letter-spacing:0}.controls{padding:6px 12px 15px}.controls p{font-size:10px}.primary{font-size:11px;padding:10px}.card{flex-basis:120px}.bottom{grid-template-columns:1fr;gap:5px}}


.original-art{width:100%;display:block;border-radius:5px}.card{flex-basis:150px;padding:5px}.card h3{margin:6px 0 0}.card p{min-height:30px;padding:0 4px}.unit{width:92px;padding:4px}.unit img{width:72px;height:83px;object-fit:cover;object-position:top}.unit em{font-size:8px;line-height:1.4;max-width:84px}.casting .target{outline:2px solid #e5bc72;cursor:crosshair}.lane{min-height:185px}.top label{max-width:320px}.card:disabled{opacity:.75}.card.locked{opacity:.4}dialog{max-height:90vh;overflow:auto}
.primary:hover:not(:disabled){background:#f1d49b;color:#16272a}.primary:focus{color:#17272a;background:#e5bc72}
