@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#151412;--panel:#22201b;--panel2:#29251e;--line:#4c4131;--txt:#f6efdf;--muted:#baaF9d;--gold:#daba78;--red:#aa6e58}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;background:radial-gradient(ellipse at 50% -30%,#403423 0%,#171613 48%,#11100e 100%);color:var(--txt)}
button,select{font:inherit}button{cursor:pointer;transition:transform .15s,background .15s,border .15s}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible{outline:2px solid #edcf91;outline-offset:2px}
.app-shell{max-width:1590px;margin:0 auto;padding:23px clamp(13px,3vw,42px) 12px}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:15px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700}.masthead h1{font:700 clamp(34px,5vw,56px)/1.06 Cinzel,Georgia,serif;margin:6px 0 4px;letter-spacing:.05em}.masthead h1 em{font-style:normal;color:var(--gold)}.masthead p{margin:7px 0 0;color:#bcae93;font:italic 15px Georgia,serif}.seal{text-align:center;line-height:1.45;color:var(--gold);font:600 11px Cinzel,serif;letter-spacing:.15em;border:1px solid #9d7e4b;border-radius:50%;width:100px;height:100px;display:grid;place-content:center;transform:rotate(8deg)}
.disclaimer{padding:10px 13px;border-left:3px solid #b48b4d;background:#29251d;color:#cabb9f;font-size:12px;margin-bottom:18px;line-height:1.55}.disclaimer strong{color:#efd8a3}
.layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,.83fr);gap:20px;align-items:start}.left-pane{min-width:0}.stage-controls{background:var(--panel);border:1px solid var(--line);padding:16px 16px 12px;margin-bottom:13px}.field-label{display:block;color:#d3b57f;letter-spacing:.16em;font-size:10px;font-weight:700;margin-bottom:7px}select{appearance:auto;background:#151412;color:#f4e7cf;border:1px solid #645238;border-radius:4px;padding:10px 12px;max-width:100%;min-width:0}#preset{width:100%;font-family:Georgia,serif;font-size:17px}.small{font-size:12px}.muted{color:#b7a994}#bout-description{margin:8px 0 13px;line-height:1.5}.control-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}button{border:1px solid #6a583d;background:#373027;color:#e9d9bb;border-radius:4px;padding:10px 13px;font-size:12px;font-weight:700}button:hover{background:#4c3f2d}button.primary{background:#bc9858;color:#1d1710;border:1px solid #e0bc77}button.primary:hover{background:#d7b373}.speed-label{margin-left:auto;font-size:12px;color:#d1bea0;white-space:nowrap}.speed-label select{padding:7px;margin-left:5px}.readout{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;margin-top:14px;color:#dec99e;font-size:12px;font-weight:600}.readout #clock{font-variant-numeric:tabular-nums}
.arena-frame{background:#171510;border:7px solid #584935;box-shadow:inset 0 0 0 2px #2f261b,0 15px 35px #0007;position:relative}.arena-frame canvas{display:block;width:100%;height:auto;aspect-ratio:1.68;touch-action:manipulation}.arena-caption{display:flex;justify-content:space-between;font:600 10px Cinzel,Georgia,serif;letter-spacing:.12em;padding:10px 12px;color:#d6ba85;background:#211b15;border-top:2px solid #68533a}.arena-caption #winner-label{color:#ecddbd}.terrain-note{margin:12px 2px 16px;font-size:11px;color:#b4a48d;line-height:1.5}
.fighter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fighter-card{background:#23201b;border:1px solid #564735;padding:15px;min-width:0}.fighter-card h3{font:600 clamp(15px,1.6vw,21px) Cinzel,Georgia,serif;margin:3px 0 4px;overflow-wrap:anywhere}.fighter-card .sub{color:#bbac92;font-size:11px}.fighter-card .line-head{display:flex;justify-content:space-between;margin-bottom:4px;font-size:11px;color:#ded0b8}.fighter-card .bars{display:grid;gap:8px;margin:14px 0}.bar{background:#130f0c;height:9px;border:1px solid #4c3e2f;overflow:hidden}.bar>div{height:100%;background:linear-gradient(90deg,#8d4839,#d66e55);transition:width .1s}.bar.stam>div{background:linear-gradient(90deg,#657a63,#a2b887)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0}.stat-grid>span{padding:5px;text-align:center;background:#30291e;color:#d9c5a0;font-size:10px}.stat-grid b{display:block;color:#f1ddac;font-size:16px;margin-top:3px}.gear{font-size:11px;line-height:1.5;color:#c3b59c}.fighter-card .action{font-size:11px;margin-top:9px;color:#dcbf84}.fighter-card .blurb{font-size:11px;line-height:1.6;color:#a99e8b;margin:10px 0 0}
.log-pane{background:#201d18;border:1px solid var(--line);min-height:735px;display:flex;flex-direction:column}.log-head{padding:19px 17px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.log-head h2{font:600 20px Cinzel,Georgia,serif;margin:5px 0 0}.count{border:1px solid #5d4b31;padding:7px 10px;color:var(--gold);font-size:12px;border-radius:3px}.events{overflow-y:auto;max-height:690px;min-height:390px;list-style:none;margin:0;padding:5px 0 0;flex:1}.events li{padding:11px 16px;border-bottom:1px solid #393125;font-size:12px;color:#ded2bc;line-height:1.5}.events time{font-size:10px;color:#b79661;margin-right:10px;font-variant-numeric:tabular-nums}.events li.hit{border-left:2px solid #bb6251}.events li.tactic{border-left:2px solid #d2a55c}.events li.end{border-left:2px solid #80a481;color:#f1d9a0;background:#2e291f}.events li.miss,.events li.dodge{color:#a9a093}.events li:first-child{background:#30281e}.log-foot{margin-top:auto;padding:15px 17px;border-top:1px solid var(--line);background:#262118}.log-foot strong{color:#dfc89b;text-transform:uppercase;letter-spacing:.10em;font-size:11px}.log-foot p{font-size:11px;line-height:1.65;color:#b1a592;margin:6px 0 0}
footer{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding:16px 0 8px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:#897b67}
@media(max-width:1030px){.layout{grid-template-columns:1fr}.log-pane{min-height:0}.events{max-height:330px;min-height:120px}.seal{width:80px;height:80px;font-size:9px}}@media(max-width:560px){.app-shell{padding:12px}.masthead h1{font-size:34px}.seal{display:none}.fighter-grid{grid-template-columns:1fr}.speed-label{margin-left:0}footer{display:block;line-height:2}}
