.contract-choice{border:1px solid #c7cbb0;border-radius:6px;margin:12px 0;background:#edeedb;text-align:left}.contract-choice>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-height:40px;padding:10px 12px;font-size:10px;color:#6c785d}.contract-choice>summary strong{font-size:11px;color:#5d694c}.contract-choice>div{padding:0 12px 12px}.contract-choice label{font-size:9px;font-weight:650;display:block;margin-bottom:6px}.contract-choice select{font:650 12px system-ui;min-height:40px;width:100%;border:1px solid #b7c1a5;border-radius:5px;padding:8px;background:#faf8e9;color:#3e614e}.contract-choice p{font-size:10px!important;line-height:1.6!important;margin:8px 0!important}.contract-choice small{font-size:9px!important;color:#8a7954;line-height:1.6;display:block}.contract-badge{font-size:8px;letter-spacing:.2px;border-left:1px solid #b5bd84;padding-left:7px;color:#f2dc9b;white-space:nowrap}.contract-rule{font-size:9px;line-height:1.65;color:#866d45;padding:7px 8px;background:#f2e6cb;border:1px solid #d4bd91;border-radius:4px;margin:0 0 8px}.snare-button{position:absolute;left:180px;bottom:15px;z-index:3;display:flex;align-items:center;gap:8px;padding:9px 11px;min-height:57px;background:#163f49ed;color:#e8f4cc;border:1px solid #aac9a7;border-radius:8px;text-align:left;box-shadow:0 4px 15px #143c4655;touch-action:manipulation}.snare-button>span:first-child{font-size:27px;color:#c6e9b4}.snare-button strong{display:block;font-size:11px;margin-bottom:4px}.snare-button small{display:block;font-size:8px;color:#b9d1bb}.snare-button kbd{font:10px system-ui;padding:2px 5px;border:1px solid #718f79;border-radius:3px}.snare-button.is-armed{background:#d5edc7;color:#285849;border-color:#f8df9b}.snare-button.is-armed small{color:#597852}.snare-button.is-armed>span:first-child{color:#4d8b68}.snare-button:disabled{opacity:.65}.target-status{font-size:9px;color:#9d7846;display:block;margin-top:7px}.game-toast[data-tone=critical]{border-color:#f2b078;background:#653b31f5;color:#ffebc3}.game-toast[data-tone=success]{border-color:#b8dda0;background:#265d47ed;color:#edffd6}.kit-review-line{font-size:11px!important;line-height:1.7!important;border:1px solid #ccd7bb;border-radius:5px;padding:10px 12px;background:#eef0df}
@media(max-width:520px){.contract-choice{margin:9px 0}.contract-choice>summary{min-height:36px;padding:8px 10px;font-size:9px}.contract-choice>summary strong{font-size:10px}.contract-choice>div{padding:0 10px 10px}.contract-choice select{font-size:11px;min-height:38px}.contract-choice p{font-size:9px!important}.contract-choice small{font-size:8px!important}.snare-button{left:112px;bottom:9px;min-height:43px;padding:6px 8px;gap:5px;border-radius:6px}.snare-button>span:first-child{font-size:21px}.snare-button strong{font-size:9px;margin-bottom:3px}.snare-button small{font-size:6px}.snare-button kbd{display:none}.board:has(.snare-button:not([hidden])) .game-toast{bottom:62px}.contract-badge{font-size:7px;padding-left:5px}.contract-rule{font-size:8px}.kit-review-line{font-size:10px!important}}
@media(max-height:550px) and (orientation:landscape){.snare-button{left:163px;min-height:42px;padding:6px 9px}.snare-button strong{font-size:10px}.snare-button>span:first-child{font-size:23px}.contract-choice>summary{min-height:34px}}

#play .dock-actions #flare{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;padding:5px 8px;border-radius:6px;border:1px solid #c59262;background:#674333;color:#fff2d4;text-align:left;touch-action:manipulation;position:relative;overflow:hidden}
#flare .flare-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:#a66340;color:#fff2b5;font-size:17px}
#flare strong,#flare small{display:block;line-height:1.2}
#flare strong{font-size:11px}
#play .dock-actions #flare-state{display:block!important;color:#ffe3aa;font-size:10px;font-variant-numeric:tabular-nums;margin-top:2px}
#flare kbd{margin-inline-start:auto;font-size:10px}
#play .dock-actions #flare.is-armed{background:#a66241;border-color:#ffda9d;box-shadow:inset 0 0 0 1px #ffda9d}
#play .dock-actions #flare:disabled{opacity:.72}
#play .dock-actions #flare[data-availability=cooldown]{background:#263e51;border-color:#81a9bd;opacity:1}
#play .dock-actions #flare[data-availability=cooldown] #flare-state{color:#cdeaff}
#play .dock-actions #flare[data-availability=cooldown] .flare-icon{background:#365b70;color:#d5eeff}
#play .dock-actions #flare[data-availability=cooldown]::after{
 content:"";position:absolute;inset:auto auto 0 0;width:var(--paid-skill-remaining,0%);height:3px;
 background:#a7d9ed;pointer-events:none;transition:width 140ms linear;
}
#play .dock-actions #flare[data-availability=unaffordable]{background:#50382f;border-color:#c89571;opacity:1}
#play .dock-actions #flare[data-availability=unaffordable] #flare-state{color:#ffcbab}
#play .dock-actions #flare[data-availability=casting]{background:#74502c;border-color:#ebc57d;opacity:1}
#play[data-combat-effects=calm] .dock-actions #flare[data-availability=cooldown]::after{transition:none}
@media(prefers-reduced-motion:reduce){
 #play .dock-actions #flare[data-availability=cooldown]::after{transition:none}
}
#play.mobile-compact #flare kbd{display:none}
@media(max-width:700px) and (orientation:portrait){
 #play.mobile-compact[data-scene=battle] .dock-actions:has(#flare:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr)) minmax(44px,.65fr)}
 #play.mobile-compact[data-scene=battle] .dock-actions #flare{grid-row:1;grid-column:3;padding:4px;gap:3px}
 #play.mobile-compact[data-scene=battle] .dock-actions:has(#flare:not([hidden])) :is(#cycle-target,#skill-cancel){grid-column:4}
 #play.mobile-compact .dock-actions #flare strong{font-size:9px}
 #play.mobile-compact .dock-actions #flare-state{font-size:9px}
 #play.mobile-compact #flare .flare-icon{width:15px;height:17px;font-size:13px}
}
