.original-hero-entry{display:block;text-align:center;padding:14px;color:#f9d38a}.original-heroes .combo-badge{visibility:hidden;pointer-events:none}.original-skill{position:absolute;left:50%;top:95.9%;transform:translate(-50%,-50%);z-index:40;display:flex;gap:3px;width:132px;height:43px}.original-skill button{padding:0;border:1px solid #e6c68c;border-radius:6px;background:#473459;color:#fff2ca;font:inherit;cursor:pointer}.original-skill #original-cast{position:relative;display:flex;align-items:center;gap:4px;flex:1;min-width:0;padding:3px}.original-skill img{width:30px;height:30px;border-radius:50%}.original-skill span{display:flex;flex-direction:column;gap:3px;min-width:0}.original-skill b{font-size:11px;white-space:nowrap}.original-skill small{font-size:9px;white-space:nowrap}.original-skill progress{position:absolute;bottom:0;left:4px;width:calc(100% - 8px);height:3px;accent-color:#edcb7e}.original-skill #original-switch{width:25px;flex:0 0 25px;font-size:12px}.original-skill button:disabled{cursor:default;filter:saturate(.5)}.original-party{max-width:calc(100% - 24px);width:450px;padding:20px}.original-party h2{margin:0;font-size:24px}.original-party p{font-size:12px;line-height:1.8}.original-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.original-choices button,.original-partners button{color:inherit;background:#ffffff0b;border:1px solid #b7a6ba;border-radius:5px;padding:8px;cursor:pointer}.original-choices button{display:flex;flex-direction:column;align-items:center;gap:8px}.original-choices img{width:56px;height:56px;border-radius:50%}.original-choices strong{font-size:13px}.original-choices small{font-size:11px;line-height:1.5}.original-party [aria-pressed=true]{border:2px solid #e6be73;background:#f2ce8220}.original-partners{display:flex;gap:8px}.original-partners button{display:flex;align-items:center;gap:5px;font-size:11px;flex:1;min-width:0}.original-partners img{width:28px;height:28px;border-radius:50%}.original-party label{display:block;font-size:12px;margin:12px 0}.original-party>a{display:block;text-align:center;font-size:12px;color:inherit;margin-top:14px}.original-heroes #teammate-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.original-combo{position:absolute;left:25%;top:40%;width:50%;text-align:center;z-index:55;pointer-events:none;color:#fff0bf;text-shadow:0 2px 4px #41254c;font:24px KaiTi,serif}.original-combo.shown{animation:original-combo-pop 1.5s both}.original-cutin{position:absolute;inset:24% 3% auto;height:70%;max-height:120px;z-index:54;pointer-events:none;overflow:hidden;background:#24162ced;border-block:1px solid var(--hero-color);isolation:isolate}.original-cutin[hidden],.original-combo[hidden]{display:none}.original-cutin img{position:absolute;mix-blend-mode:screen;object-fit:contain}.original-cutin .original-body{left:0;top:0;width:50%;height:160%;object-position:50% 0}.original-cutin .original-weapon{left:30%;top:0;width:22%;height:100%}.original-cutin>div{position:absolute;right:8px;top:0;width:46%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;color:#fff1cf}.original-cutin strong{font:24px KaiTi,serif;white-space:nowrap}.original-cutin small,.original-cutin span{font-size:10px}.original-cutin.shown .original-body{animation:original-body .88s both}.original-cutin.shown .original-weapon{animation:original-sword .88s both}.original-cutin.shown[data-hero=character_b] .original-weapon{animation:original-ribbon .88s both}.original-cutin.shown[data-hero=character_c] .original-weapon{animation:original-fan .88s both}.original-result{font-size:12px;line-height:1.7}.original-result p{margin:5px 0}.bubble-reduced-motion .original-cutin img,.bubble-reduced-motion .original-combo{animation:none!important}@keyframes original-combo-pop{0%{opacity:0;transform:scale(.7) rotate(-6deg)}15%,75%{opacity:1;transform:scale(1) rotate(-6deg)}100%{opacity:0;transform:translateY(-8px) rotate(-6deg)}}@keyframes original-body{from{transform:translateX(-18px);opacity:0}30%,to{transform:none;opacity:1}}@keyframes original-sword{from{transform:rotate(-65deg);opacity:0}40%{transform:rotate(25deg);opacity:1}to{transform:rotate(5deg);opacity:1}}@keyframes original-ribbon{from{transform:scale(.3) rotate(-90deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes original-fan{from{transform:scaleX(.05);opacity:0}to{transform:scaleX(1);opacity:1}}@media(max-width:360px){.original-skill{width:116px;height:39px}.original-skill img{width:26px;height:26px}.original-skill b{font-size:10px}.original-skill #original-switch{width:22px;flex-basis:22px}.original-cutin strong{font-size:20px}.original-cutin small,.original-cutin span{font-size:9px}}
.original-cutin{inset:53% auto auto 2%;width:65%;height:29%;max-height:none}.original-cutin strong{font-size:19px}.original-cutin small,.original-cutin span{font-size:8px}.original-cutin>div{gap:2px;width:49%;right:5px}.original-combo{left:3%;top:57%;width:60%;font-size:23px}.original-heroes .assist-feed{pointer-events:none}.original-heroes #result-combo-art{object-fit:contain;object-position:50% 15%}@media(max-width:360px){.original-cutin strong{font-size:16px}.original-cutin small,.original-cutin span{font-size:7px}}
.sheet-dialog.original-party {
  width: 450px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 22px;
  overflow-y: auto;
  color: #fff4dd;
  background: #30263f;
  border: 2px solid #d8bc81;
  border-radius: 8px;
  box-shadow: 0 12px 48px #120d2c80;
  color-scheme: dark;
}
.original-party::backdrop { background: #17122b99; backdrop-filter: blur(3px); }
.original-party h2 { color: #ffe5aa; line-height: 1.4; padding-right: 38px; }
.original-party p, .original-party label { color: #eee2ce; }
.original-party .original-choices button,
.original-party .original-partners button { background: #44354f; border: 2px solid #837189; color: #fff4dd; font: inherit; }
.original-party .original-choices strong { color: #fff4dd; font-size: 13px; }
.original-party .original-choices small { color: #e7dce9; font-size: 11px; }
.original-party [aria-pressed=true] { background: #63503e; border-color: #f4d28c; }
.original-party .original-choices button { min-height: 150px; }
.original-party .original-partners button { min-height: 48px; font-size: 11px; }
.original-party #original-confirm { width: 100%; min-height: 46px; justify-content: center; margin-top: 12px; background: #edce8e; color: #32253c; border: 1px solid #ffe7b9; border-radius: 5px; font-weight: 700; }
.original-party #original-confirm:hover { background: #ffe0a1; }
.original-party > a { color: #f0d6ab; line-height: 1.7; padding: 5px; }
.original-party button:focus-visible, .original-party a:focus-visible { outline: 2px solid #fff1c2; outline-offset: 3px; }
.original-party input { accent-color: #e7c587; width: 17px; height: 17px; vertical-align: middle; margin-right: 6px; }
.original-party #original-close { position: absolute; right: 14px; top: 14px; width: 36px; height: 36px; border: 1px solid #a291ae; border-radius: 5px; color: #fff4dd; background: #44354f; font-size: 23px; cursor: pointer; }
.original-party #original-close[hidden] { display: none; }
@media(max-width:360px) {
  .sheet-dialog.original-party { padding: 16px; }
  .original-party .original-choices { gap: 5px; }
  .original-party .original-choices button { padding: 7px 4px; }
  .original-party .original-partners { gap: 5px; }
  .original-party .original-partners button { padding: 5px 3px; gap: 3px; }
  .original-party .original-partners img { width: 23px; height: 23px; }
}
.original-heroes .game-frame { container-type: inline-size; }
.original-heroes .original-skill { width: min(30%, 132px); }
@container (max-width: 360px) {
  .original-skill #original-cast { justify-content: center; }
  .original-skill #original-cast span { display: none; }
  .original-skill #original-cast::after { content: attr(data-count); position: absolute; right: 3px; bottom: 4px; min-width: 13px; padding: 1px; border-radius: 3px; background: #30263f; color: #ffe5aa; font-size: 9px; line-height: 12px; }
}
@container (max-width: 260px) {
  .original-skill { height: 32px; gap: 2px; }
  .original-skill #original-cast { padding: 1px; }
  .original-skill img { width: 20px; height: 20px; }
  .original-skill #original-switch { width: 20px; flex-basis: 20px; font-size: 11px; }
}
@media (max-height: 560px) {
  .sheet-dialog.original-party { padding: 14px 20px; }
  .original-party h2 { font-size: 22px; }
  .original-party p { margin: 8px 0; font-size: 11px; }
  .original-party .original-choices button { min-height: 118px; padding: 6px; gap: 5px; }
  .original-party .original-choices img { width: 42px; height: 42px; }
  .original-party .original-partners button { min-height: 40px; padding: 5px; }
  .original-party label { margin: 8px 0; }
  .original-party #original-confirm { min-height: 40px; margin-top: 6px; }
  .original-party > a { margin-top: 6px; padding: 2px; }
}
.original-party .original-choices button,
.original-party .original-partners button { position: relative; }
.original-party .original-choices button[aria-pressed="true"],
.original-party .original-partners button[aria-pressed="true"] {
  background: #ffe4a2;
  border-color: #fff4ce;
  color: #34253f;
  box-shadow: 0 0 0 2px #cb954f, 0 0 14px #f1c47645;
}
.original-party .original-choices button[aria-pressed="true"] strong { color: #34253f; }
.original-party .original-choices button[aria-pressed="true"] small { color: #564239; }
.original-party .original-choices button[aria-pressed="true"]::after,
.original-party .original-partners button[aria-pressed="true"]::after {
  content: "✓";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #4a3354;
  color: #fff2c5;
  font-size: 11px;
  line-height: 15px;
  text-align: center;
}
.original-combo {
  top: 55%;
  font: 900 29px "Microsoft YaHei", sans-serif;
  line-height: 1.45;
  color: #fff1a9;
  -webkit-text-stroke: .25px #4a214b;
  text-shadow: 0 2px 0 #482244, 2px 0 0 #482244, -2px 0 0 #482244, 0 0 10px #301739;
  background: radial-gradient(ellipse, #30203bdb 0%, #30203b80 50%, transparent 75%);
}
.original-combo.shown { animation: original-combo-emphasis 4s both; }
.preparation-loading { display: grid; gap: 5px; margin: 10px 0 6px; font-size: 12px; line-height: 1.4; }
.preparation-loading progress { width: 100%; height: 6px; accent-color: #a7d6bf; }
.preparation-loading[data-ready="true"] progress { accent-color: #e1c477; }
.original-skill #original-cast.is-charged { border-color: #ffe5a3; box-shadow: inset 0 0 5px #f7d48955; }
.original-combo small { display: block; font-size: 13px; line-height: 1.5; color: #fff3c9; white-space: normal; }
.original-cutin > div > span { font-size: 14px; font-weight: 700; color: #ffe995; }
@keyframes original-combo-emphasis {
  0% { opacity: 0; transform: scale(.75) rotate(-5deg); }
  12% { opacity: 1; transform: scale(1.12) rotate(-5deg); }
  22%, 80% { opacity: 1; transform: scale(1) rotate(-5deg); }
  100% { opacity: 0; transform: translateY(-8px) rotate(-5deg); }
}
@media (max-width:360px) {
  .original-combo { font-size: 25px; }
  .original-cutin > div > span { font-size: 11px; }
}
.preparation-modes { border: 0; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.preparation-modes legend { margin-bottom: 6px; font-weight: 700; }
.preparation-modes label { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid #756276; border-radius: 6px; color: #fff0d0; }
.preparation-modes label:has(input:checked) { background: #63502e; border-color: #ffe29a; }
.preparation-modes input { accent-color: #f8da80; width: 18px; height: 18px; }
.preparation-modes[hidden] { display: none; }
.original-party .preparation-modes label { margin: 0; }
.original-party .preparation-modes { gap: 6px; margin-bottom: 8px; }
@media (max-height:600px) {
  .original-party .preparation-modes { grid-template-columns: 1fr 1fr; }
  .original-party .preparation-modes label { padding: 6px; font-size: 11px; }
  .original-party .original-choices button { min-height: 96px; }
  .original-party .original-choices img { width: 36px; height: 36px; }
  .original-party p { margin: 7px 0; }
}

/* Portrait-safe two-level battle preparation. */
.sheet-dialog.original-party {
  width:min(420px,calc(100vw - 16px));
  max-width:none;
  max-height:min(600px,calc(100dvh - 20px));
  padding:14px;
  overflow:hidden;
}
.sheet-dialog.original-party[open] { display:flex; flex-direction:column; }
.original-party [hidden] { display:none!important; }
.original-party h2 { flex:0 0 auto; margin-bottom:6px; font-size:21px; }
.preparation-page { min-width:0; min-height:0; }
.preparation-page-main { overflow-y:auto; padding-right:2px; scrollbar-width:thin; scrollbar-color:#927a61 transparent; }
.preparation-page-secondary { display:flex; flex-direction:column; overflow:hidden; }
.preparation-page-secondary>header { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; gap:7px; flex:0 0 auto; margin-bottom:8px; }
.preparation-page-secondary>header strong { text-align:center; color:#ffe5aa; font-size:14px; }
.preparation-page-secondary>header button { width:34px; height:34px; padding:0; border:1px solid #756276; border-radius:6px; background:#44354f; color:#fff4dd; font-size:18px; cursor:pointer; }
.preparation-stage-column { flex:1 1 auto; min-height:0; overflow:auto; }
.original-party .preparation-modes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-bottom:8px; }
.original-party .preparation-modes legend { margin-bottom:4px; font-size:11px; }
.original-party .preparation-modes label { justify-content:center; min-height:34px; padding:5px 6px; font-size:11px; line-height:1.25; }
.preparation-summary { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:8px; width:100%; min-height:62px; margin:0 0 7px; padding:8px 10px; border:1px solid #756276; border-radius:6px; background:#44354f; color:#fff4dd; text-align:left; cursor:pointer; }
.preparation-summary>span { display:flex; flex-direction:column; min-width:0; gap:2px; }
.preparation-summary small { color:#d5c6d7; font-size:10px; }
.preparation-summary strong { overflow:hidden; color:#ffe5aa; font-size:14px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.preparation-summary em { overflow:hidden; color:#eee2ce; font-size:10px; font-style:normal; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.preparation-summary>b { color:#ffe5aa; font-size:24px; font-weight:400; text-align:center; }
.preparation-summary:hover { border-color:#c3a66e; background:#4e3d5a; }
.preparation-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:9px 0 6px; color:#ffe5aa; }
.preparation-section-heading strong { font-size:13px; }
.preparation-section-heading small { color:#cdbfd0; font-size:10px; }
.original-party .original-choices { gap:6px; overflow-y:auto; padding:2px; scrollbar-width:thin; scrollbar-color:#927a61 transparent; }
.original-party .original-choices button { min-height:82px; padding:6px 5px; gap:4px; }
.original-party .original-choices img { width:32px; height:32px; }
.original-party .original-choices strong { font-size:12px; line-height:1.25; }
.original-party .original-choices small { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:10px; line-height:1.3; }
.preparation-page-message { min-height:18px; margin:6px 0 0; color:#f5c79f; font-size:11px; line-height:1.5; }
.original-party .original-partners { gap:6px; }
.original-party .original-partners button { min-height:38px; padding:5px; }
.original-party .original-partners img { width:24px; height:24px; }
.original-party #original-buff { margin:6px 0 0; line-height:1.45; }
.original-party #original-buff:empty { display:none; }
.original-party label.preparation-auto { display:flex; align-items:center; min-height:34px; margin:8px 0 0; padding:6px 8px; border:1px solid #66546b; border-radius:6px; background:#3a2d47; }
.preparation-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,40%); align-items:end; gap:8px; flex:0 0 auto; margin-top:9px; padding-top:8px; border-top:1px solid #594962; background:#30263f; }
.preparation-footer .preparation-loading { min-width:0; margin:0; }
.original-party .preparation-footer #original-confirm { width:100%; min-height:40px; margin:0; }
.original-party[data-phase="switch"] [data-open-page="stages"] { display:none; }

@media(max-height:560px) {
  .sheet-dialog.original-party { max-height:calc(100dvh - 12px); padding:10px 12px; }
  .original-party h2 { font-size:19px; }
  .preparation-summary { min-height:54px; padding:6px 9px; }
  .original-party .preparation-modes label { min-height:30px; padding:4px; font-size:10px; }
  .original-party .original-choices button { min-height:74px; }
}
@media(max-width:360px) {
  .sheet-dialog.original-party { width:calc(100vw - 12px); padding:11px; }
  .original-party .preparation-modes label { padding:4px 2px; font-size:10px; }
  .preparation-summary { min-height:58px; padding:7px 8px; }
  .preparation-page-secondary .original-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .preparation-footer { grid-template-columns:minmax(0,1fr) minmax(136px,42%); gap:6px; }
}

/* Official character art is already alpha-clean; render it with normal blending. */
.original-cutin .original-body {
  width:56%;
  height:150%;
  top:-12%;
  mix-blend-mode:normal;
  filter:drop-shadow(0 5px 8px rgb(12 8 28 / 48%));
}
.original-cutin[data-hero="character_a"] .original-body { left:-2%; object-position:50% 5%; }
.original-cutin[data-hero="character_b"] .original-body { left:-1%; object-position:50% 2%; }
.original-cutin[data-hero="character_c"] .original-body { left:0; object-position:50% 3%; }
