@keyframes inkDialogFade{0%{opacity:0}to{opacity:1}}@keyframes inkDialogRise{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px))}to{opacity:1;transform:translate(-50%,-50%)}}.battle-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-12)}.battle-canvas{background:var(--paper-cream);border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;padding:var(--space-9);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--line);position:relative;min-height:560px}.battle-controls{display:flex;align-items:center;gap:var(--space-6);font-size:.85rem}.ink-slider{position:relative;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;touch-action:none;height:22px;vertical-align:middle}.ink-slider[data-disabled]{opacity:.4;cursor:not-allowed}.ink-slider-track{position:relative;flex-grow:1;height:4px;background:#1a1a1a29;border-radius:var(--radius-sm);overflow:hidden}.ink-slider-range{position:absolute;height:100%;background:var(--bamboo)}.ink-slider[data-disabled] .ink-slider-range{background:#2d5e3e73}.ink-slider-thumb{display:block;width:14px;height:14px;background:var(--paper-cream);border:1.5px solid var(--bamboo);border-radius:var(--radius-round);box-shadow:0 1px 2px #1a1a1a38;outline:none;cursor:grab;transition:transform var(--dur-fast) var(--ease-std),box-shadow var(--dur-fast) var(--ease-std)}.ink-slider-thumb:hover{transform:scale(1.12)}.ink-slider-thumb:active{cursor:grabbing;transform:scale(1.18)}.ink-slider-thumb:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus),0 1px 2px #1a1a1a38}.ink-slider[data-disabled] .ink-slider-thumb{cursor:not-allowed;border-color:#2d5e3e8c}.ink-slider.battle-scrubber{width:240px}.ink-slider.battle-volume{width:110px}.ink-dialog-overlay{position:fixed;inset:0;background:#1a1a1a6b;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:var(--z-overlay);animation:inkDialogFade var(--dur-fast) var(--ease-std)}.ink-dialog-content{position:fixed;z-index:var(--z-modal);top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,30rem);max-height:82vh;overflow-y:auto;background:linear-gradient(180deg,var(--paper-cream),var(--paper-soft, var(--paper-cream)));border:1px solid var(--ink);box-shadow:0 12px 40px var(--shadow),inset 0 0 0 3px var(--paper-cream),inset 0 0 0 4px var(--line);padding:1.1rem 1.2rem 1.25rem;animation:inkDialogRise var(--dur-base) cubic-bezier(.2,.7,.2,1)}.ink-dialog-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--line);padding-bottom:.55rem;margin-bottom:var(--space-7)}.ink-dialog-title{margin:0;font-family:var(--font-display);font-size:1.3rem;letter-spacing:.1em;color:var(--ink)}.ink-dialog-title:before{content:"";display:inline-block;width:.5rem;height:1.1rem;margin-right:var(--space-5);vertical-align:-.12em;background:var(--cinnabar)}.ink-dialog-close{flex:0 0 auto;width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--ink-soft);background:none;border:1px solid var(--line);cursor:pointer;transition:color var(--dur-fast) var(--ease-std),border-color var(--dur-fast) var(--ease-std)}.ink-dialog-close:hover{color:var(--cinnabar);border-color:var(--cinnabar)}.ink-dialog-close:focus-visible{outline:none;color:var(--cinnabar);border-color:var(--cinnabar);box-shadow:0 0 0 2px color-mix(in srgb,var(--cinnabar) 28%,transparent)}.ink-dialog-desc{margin:0 0 .85rem;font-size:.82rem;line-height:1.6;color:var(--ink-soft)}.ink-dialog-body{font-size:.9rem}.ink-confirm{width:min(90vw,23rem);padding:1.15rem 1.2rem 1.1rem}.ink-confirm-prompt{margin:0 0 1.15rem;font-family:var(--font-serif);font-size:1.02rem;line-height:1.6;letter-spacing:.01em;color:var(--ink)}.ink-confirm-prompt:before{content:"";display:inline-block;width:.42rem;height:1rem;margin-right:var(--space-5);vertical-align:-.1em;background:var(--cinnabar)}.ink-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-6)}.ink-confirm-btn{font-family:var(--font-display);font-size:.9rem;letter-spacing:.08em;padding:.4rem 1.05rem;border:1px solid var(--line);background:none;color:var(--ink-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-std),border-color var(--dur-fast) var(--ease-std),background var(--dur-fast) var(--ease-std)}.ink-confirm-cancel:hover{color:var(--ink);border-color:var(--ink)}.ink-confirm-ok{color:var(--paper-cream);background:var(--ink);border-color:var(--ink)}.ink-confirm-ok:hover,.ink-confirm-ok.is-danger{background:var(--cinnabar);border-color:var(--cinnabar)}.ink-confirm-ok.is-danger:hover{background:var(--cinnabar-dark);border-color:var(--cinnabar-dark)}.ink-dialog-content.is-wide{width:min(95vw,58rem);max-height:90vh;padding:1rem 1.1rem 1.15rem}.ink-drawer-overlay{position:fixed;inset:0;background:#1a1a1a6b;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:var(--z-overlay)}.ink-drawer-content{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;flex-direction:column;max-height:92vh;background:linear-gradient(180deg,var(--paper-cream),var(--paper-soft, var(--paper-cream)));border-top:2px solid var(--ink);border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -10px 40px var(--shadow);padding:.4rem 1rem;padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));outline:none}.ink-drawer-handle{flex:none;width:2.6rem;height:4px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 26%,transparent);margin:.35rem auto .6rem}.ink-drawer-content .ink-dialog-head{flex:none}.ink-drawer-content .ink-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.ink-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-7);font-family:inherit;font-size:.92rem;line-height:1.2;color:var(--ink);background:var(--paper-cream);border:1px solid var(--line);padding:.4rem .7rem;cursor:pointer;outline:none;min-width:4.5rem;text-align:left;transition:border-color var(--dur-fast) var(--ease-std),background var(--dur-fast) var(--ease-std)}.ink-select-trigger:hover{background:var(--paper);border-color:var(--ink)}.ink-select-trigger:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 2px var(--focus)}.ink-select-trigger[data-state=open]{border-color:var(--ink);background:var(--paper)}.ink-select-trigger[data-disabled]{opacity:.55;cursor:not-allowed}.ink-select-trigger[data-placeholder]{color:var(--ink-soft)}.ink-select-icon{display:inline-flex;align-items:center;font-size:.62rem;color:var(--ink-soft);line-height:1;transition:transform var(--dur-fast) var(--ease-std)}.ink-select-trigger[data-state=open] .ink-select-icon{transform:rotate(180deg);color:var(--bamboo)}.ink-select-content{background:var(--paper-cream);border:1px solid var(--ink);box-shadow:0 4px 16px #1a1a1a2e,0 1px 3px #1a1a1a1f;z-index:var(--z-dropdown);min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);overflow:hidden}.ink-select-viewport{padding:.25rem}.ink-select-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:.35rem .7rem;font-size:.88rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.ink-select-item[data-highlighted]{background:#2d5e3e21;color:var(--bamboo-dark)}.ink-select-item[data-state=checked]{font-weight:600;color:var(--bamboo-dark)}.ink-select-item[data-disabled]{opacity:.4;cursor:not-allowed}.ink-select-indicator{display:inline-flex;align-items:center;color:var(--bamboo);font-size:.95rem;line-height:1}.ink-select-scroll{display:flex;align-items:center;justify-content:center;height:22px;background:var(--paper-cream);color:var(--ink-soft);font-size:.7rem;cursor:default}
