:root{font:14px Arial,sans-serif;color:#243044;background:#f6f7f9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex:none;background:#fff;border-right:1px solid #dfe3e8;padding:20px 12px}.brand{padding:4px 10px 20px}.brand strong,.brand small{display:block}.brand small{color:#768394;margin-top:5px}.nav-caption{color:#8793a2;font-size:10px;font-weight:bold;letter-spacing:.1em;margin:18px 10px 6px}#nav{display:flex;flex-direction:column;gap:2px}#nav button{background:none;border:0;text-align:left;border-radius:5px;padding:10px;color:#39465a;display:flex;gap:10px}#nav button.active,#nav button:hover{background:#eaf1fa;color:#2364ad}#nav button span{width:18px}.side-note{padding:20px 10px;color:#8a95a2;font-size:11px}.side-note strong,.side-note small{display:block}.main{min-width:0;flex:1}.topbar{background:#fff;border-bottom:1px solid #dfe3e8;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar .overline,.topbar .slash{display:none}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#status{font-size:12px;color:#44714d;margin-right:10px}#content{padding:28px;max-width:1500px;margin:auto}.pagehead{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.pagehead h1{font-size:25px;margin:0 0 7px}.pagehead p{color:#667486;margin:0;line-height:1.5}.pagehead .overline{display:none}
.button{border:1px solid #cdd6e0;border-radius:5px;padding:9px 13px;background:#fff;color:#253449}.button.primary{background:#2868b5;color:#fff;border-color:#2868b5}.button:hover{filter:brightness(.96)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #dfe3e8;border-radius:7px;min-width:0;overflow:hidden}.card-header{padding:14px 17px;border-bottom:1px solid #e8ecf1;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-header small,.row small{display:block;color:#788696;margin-top:4px}.card-body{padding:17px}.metric{padding:17px}.metric strong{display:block;font-size:28px;margin:4px 0}.metric small,.metric span{color:#758395}.badge{border:1px solid #d4e3f3;background:#eff5fc;padding:4px 7px;border-radius:5px;font-size:11px;color:#3f6490}.badge.gold{background:#fff8e7;border-color:#ecdaae;color:#7b6130}.badge.red{background:#fff0ed;border-color:#ebcfcb;color:#a3443a}.list,.summary-list{display:flex;flex-direction:column}.row{background:#fff;border:0;border-bottom:1px solid #edf0f3;display:flex;align-items:center;gap:11px;padding:10px 8px;text-align:left;color:#253449;width:100%}.row:hover,.row.active{background:#f0f6fd}.row .right{margin-left:auto;color:#788696}.glyph{font-size:18px;width:22px;color:#70849e}.search,input,select,textarea{width:100%;min-width:0;border:1px solid #cdd6e0;border-radius:5px;padding:9px;background:#fff;color:#253449}.search{margin-bottom:10px}textarea{min-height:85px}.field{display:block;margin:0 0 13px}.field label,.field>span{display:block;font-weight:bold;margin-bottom:5px}.field input,.field select{margin-top:5px}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-actions{display:flex;justify-content:flex-end;margin-top:16px}.hint,.notice,.warning{color:#667486;line-height:1.5}.notice,.warning{padding:11px;background:#f2f7fc;border-radius:5px}.warning{background:#fff8e7;color:#79602d}.separator{height:1px;background:#e8edf2;margin:17px 0}.empty{padding:30px;text-align:center;color:#8b97a6}.file-list{max-height:70vh;overflow:auto}.file-list button{display:flex;gap:10px;width:100%;padding:8px;border:0;background:#fff;text-align:left}.file-list button:hover{background:#f0f6fd}.file-list button small{margin-left:auto}.file-image{max-width:100%;max-height:65vh;object-fit:contain}.file-preview{max-height:65vh;overflow:auto;white-space:pre-wrap}.future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.future-card{padding:17px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-grid label{display:flex;gap:7px;align-items:center}.permission-grid input{width:auto}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.stage{border:1px solid #dce3ec;background:#fff;border-radius:5px;padding:7px}.stage.active{background:#eaf3ff;border-color:#75aae2}.stage small{display:block}.events{max-height:210px;overflow:auto;border:1px solid #e7ebf0;padding:9px;color:#637388;font-size:12px}.events div{padding:3px}.battle-stats{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.battle-stats>div{border:1px solid #e3e8ef;border-radius:5px;padding:9px}.battle-stats small,.battle-stats strong{display:block}.battle-stats small{color:#798695}details{margin-top:13px}summary{cursor:pointer}
.character-list{max-height:65vh;overflow:auto}.character-group>strong{display:block;color:#667486;padding:11px 7px 5px}.appearance-preview{height:260px;border:1px solid #e1e6ed;background:#f1f3f6;display:grid;place-items:center;margin-bottom:16px}.appearance-preview img{max-height:240px;max-width:95%;object-fit:contain}.replay-board{display:grid;grid-template-columns:1fr 30px 1fr;gap:5px;background:#f1f4f7;border:1px solid #e1e6ed;border-radius:6px;min-height:285px;padding:14px}.replay-side{display:flex;align-items:end;justify-content:center;gap:6px;flex-wrap:wrap}.replay-center{align-self:center;text-align:center;color:#8796a6;font-size:22px}.replay-character{width:73px;text-align:center;animation:appear .18s ease}.replay-character img{width:70px;height:100px;object-fit:contain}.replay-character.enemy img{transform:scaleX(-1)}.replay-character.defeated{opacity:.3;filter:grayscale(1)}.replay-character strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.replay-character small{font-size:9px;color:#7a8795}.replay-health{height:5px;background:#dfe5eb;border-radius:5px;margin:3px 0}.replay-health span{display:block;height:100%;background:#64a676;border-radius:5px;transition:width .18s}.enemy .replay-health span{background:#c77566}.replay-caption{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0;color:#68788b}.replay-caption small{margin-left:auto}.replay-controls{display:flex;align-items:center;gap:7px}.replay-controls input{flex:1}.replay-controls select{width:65px}@keyframes appear{from{transform:translateY(5px);opacity:.6}to{transform:none;opacity:1}}
dialog{border:1px solid #d5dce5;border-radius:7px;padding:22px;max-width:480px;width:calc(100% - 30px)}dialog::backdrop{background:#17213488}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.chapter-list{display:flex;overflow:auto;gap:5px;padding:10px;border-bottom:1px solid #e8ecf1}.chapter-list button{flex:none;border:1px solid #dce3ec;background:#fff;border-radius:5px;padding:7px 9px}.chapter-list button.active{background:#eaf3ff;border-color:#75aae2}.stage.boss{background:#fff8e7}.file-list button small{color:#8190a1}.future-card textarea,.future-card select{margin-top:8px}.future-card h3{margin:0}.future-card p{color:#758395;font-size:12px}.replay-character:hover img{transform:translateY(-3px)}.replay-character.striking.ally img{animation:allyStrike .18s ease}.replay-character.striking.enemy img{animation:enemyStrike .18s ease}.replay-character.hit img{animation:hit .18s ease}@keyframes allyStrike{50%{transform:translateX(13px)}}@keyframes enemyStrike{50%{transform:scaleX(-1) translateX(13px)}}@keyframes hit{50%{filter:brightness(1.8) sepia(.5)}}
.asset-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.asset-comparison>div{min-width:0;background:#f2f4f7;border:1px solid #e0e5eb;padding:9px;text-align:center}.asset-comparison small{display:block;color:#6e7e90;margin-bottom:5px}.asset-comparison img{max-width:100%;height:190px;object-fit:contain}.character-list .row{overflow-wrap:anywhere}.sidebar{max-height:100vh;overflow:auto;position:sticky;top:0}
.icon-preview{min-height:110px;display:grid;place-items:center;color:#758eaa}.icon-preview img{width:64px;height:64px;object-fit:contain}
@media(max-width:900px){.shell{display:block}.sidebar{width:auto;border-right:0;border-bottom:1px solid #dfe3e8;padding:10px}.brand{padding:5px}.nav-caption,.side-note{display:none}#nav{flex-direction:row;overflow:auto}#nav button{white-space:nowrap}.topbar{padding:10px}.topbar>div:first-child{display:none}#content{padding:15px}.grid.two,.grid.three,.future-grid{grid-template-columns:1fr}}
