:root{color-scheme:dark;--bg:#071318;--panel:#10242a;--edge:#294047;--muted:#9ab0b2;--gold:#ebc784;--teal:#6ed8c2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 65% 0,#173b3d 0,transparent 55%),var(--bg);color:#eaf0e8;font:15px/1.6 system-ui,"Microsoft YaHei",sans-serif}main{max-width:1040px;margin:auto;padding:24px}header,.section-title,.playback{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:var(--muted);text-decoration:none;letter-spacing:2px}.brand b{color:var(--gold);margin-left:8px}button,select,input{font:inherit;border:1px solid var(--edge);border-radius:9px;background:#10272d;color:inherit;padding:10px 14px;max-width:100%}button{cursor:pointer}button:hover{border-color:var(--teal)}button:disabled{opacity:.45;cursor:wait}.quiet{background:transparent;color:var(--muted)}.hero{padding:52px 0 28px}.eyebrow{font-size:11px;letter-spacing:4px;color:var(--teal)}h1{font-size:44px;line-height:1.25;font-family:serif;margin:15px 0}h1 span{display:block;font:20px/1.5 system-ui;color:var(--gold);margin-top:12px}.hero p,.caption,small,.startline p,footer{color:var(--muted)}.seals{display:flex;gap:9px;flex-wrap:wrap;font-size:12px}.seals span{padding:4px 10px;border:1px solid var(--edge);border-radius:20px}.notice{border-left:2px solid var(--teal);padding:8px 12px;background:#163137;margin:14px 0;color:#c5dbd6;font-size:13px}.notice.error{border-color:#f4a39c;color:#ffc7c0}nav{display:flex;gap:8px;margin:20px 0}nav button{flex:1;background:transparent}nav button.selected{background:var(--gold);border-color:var(--gold);color:#17252a;font-weight:700}.panel{padding:24px;border:1px solid var(--edge);border-radius:16px;background:linear-gradient(150deg,#132c31,#0c1d23)}h2{margin:0;font-size:22px;font-family:serif}.section-title span{font-size:12px;color:var(--muted)}.matchup{display:grid;grid-template-columns:1fr 55px 1fr;align-items:center;gap:12px;margin-top:24px}.fighter{text-align:center;min-width:0}.fighter label{display:block;font-size:12px;color:var(--teal);margin-bottom:8px}.defending label{color:var(--gold)}.fighter select{width:100%;font-size:14px;padding:10px 6px}.sigil{height:126px;width:126px;display:grid;place-items:center;margin:24px auto;border:1px solid #4f968b;border-radius:50%;box-shadow:0 0 0 8px #23413b44,inset 0 0 45px #68d4b522;color:var(--teal);font:70px/1 serif}.defending .sigil{border-color:#9f8658;color:var(--gold);box-shadow:0 0 0 8px #54442a44,inset 0 0 45px #dcc07122}.versus{text-align:center;color:var(--gold);font:22px serif}.stats{font-size:12px;min-height:42px;color:var(--muted)}.hp{height:7px;background:#061316;border-radius:6px;overflow:hidden;margin-top:12px}.hp i,.progress i{display:block;width:100%;height:100%;background:var(--teal);transition:width .25s}.defending .hp i{background:var(--gold)}.fighter p{font-size:12px;color:var(--muted);margin:5px}.startline{text-align:center;margin:24px 0 0}.primary{background:var(--gold);color:#14262c;font-weight:750;border-color:var(--gold);min-width:240px}.startline p{font-size:12px}.playback{justify-content:center;flex-wrap:wrap;border-top:1px solid var(--edge);padding-top:20px;margin-top:24px}.playback button,.playback select{font-size:12px;padding:7px 10px}#spotlight{min-height:82px;display:grid;place-items:center;text-align:center;color:var(--gold);font-size:17px;padding:12px}.progress{height:3px;background:#061316}.progress i{width:0}#log{max-height:240px;overflow:auto;padding:0;list-style:none;font-size:13px}#log li{border-bottom:1px solid #29404766;padding:9px 4px;word-break:break-word}#log li.critical,#log li.skill{color:var(--gold)}#log li.counter,#log li.artifact{color:var(--teal)}#result{padding:15px;background:#25483d88;border:1px solid #4f968b;border-radius:10px;margin-top:15px}#battleMeta{display:block;overflow-wrap:anywhere;font-size:10px}#search{width:100%;margin:10px 0}.row{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #29404777}.row b{font-size:14px;overflow-wrap:anywhere}.row small{display:block;font-size:11px}.rank{font:20px serif;color:var(--gold)}.value{color:var(--teal);font-weight:700}.boardgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}h3 small{font-size:11px;font-weight:400}footer{font-size:11px;text-align:center;padding:25px 10px}dialog{max-width:600px;width:calc(100% - 28px);max-height:85vh;background:#10242a;color:inherit;border:1px solid var(--edge);border-radius:14px;padding:25px}dialog::backdrop{background:#000b}dialog #closeHelp{float:right}.empty{padding:35px 12px;color:var(--muted);text-align:center} @media(max-width:600px){main{padding:16px}.hero{padding-top:34px}h1{font-size:34px}.panel{padding:15px}.section-title{align-items:flex-start}.section-title span{max-width:120px;text-align:right}.matchup{grid-template-columns:1fr 24px 1fr;gap:5px}.sigil{width:90px;height:90px;font-size:52px;margin:22px auto}.versus{font-size:15px}.fighter label{font-size:10px}.fighter select{font-size:12px}.stats{font-size:10px}.boardgrid{grid-template-columns:1fr;gap:10px}.primary{min-width:210px}.row{gap:8px}.hero p{font-size:13px}}[hidden]{display:none!important}

.sigil img{width:100%;height:100%;object-fit:contain;border-radius:50%}.stats{overflow-wrap:anywhere}
.card-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.tiny-card{font-size:11px;padding:3px 9px;margin-top:6px}#cardDialog{max-width:520px}#cardDialog #closeCard{float:right}#cardPreview{display:block;width:100%;height:auto;border-radius:8px}#shareStatus{color:var(--muted);font-size:12px}#battleCard{margin:12px 0}
