/* Territory mode only: no order controls or old arrow/flash effects. */
.territory-game {background:radial-gradient(ellipse at 90% 8%,#61273544,transparent 60%),#101725;}
.territory-game .game-intro h1,.territory-game .game-result h2,.territory-game .battle-event,
.territory-game .battle-verdict,.territory-game .luck-type-panel h3 {font-family:"Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;}
.territory-game .game-panel {background:repeating-linear-gradient(125deg,#d6b47103 0 1px,transparent 1px 8px),linear-gradient(140deg,#2c2229,#131d2c);border-color:#aa8858;}
.battle-record {list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.battle-record li {padding:8px 4px;text-align:center;border:1px solid #9f835355;border-radius:4px;font-size:13px;color:#cfbfaa;}
.battle-record li[data-outcome="win"] {color:#efcd86;border-color:#c5a361;}
.battle-record li[data-outcome="loss"] {color:#edabb1;border-color:#996170;}
.battle-record li[data-outcome="draw"],.battle-record li[data-outcome="skip"] {color:#b4cfdb;}
.territory-prices {display:flex;align-items:center;gap:24px;padding:14px 0;flex-wrap:wrap;}
.territory-prices>div {display:flex;flex-direction:column;font-size:12px;}
.territory-prices strong {font-size:23px;font-variant-numeric:tabular-nums;color:#f0d39b;}
.territory-prices>div:nth-child(2) strong {color:#eef2fa;}
.territory-prices .tag {margin-left:auto;}
.territory-game .game-chart {position:relative;isolation:isolate;}
.battle-event {position:absolute;right:8px;top:8px;z-index:2;pointer-events:none;max-width:80%;font-size:16px;padding:6px 12px;border:1px solid #c5a361;border-radius:4px;background:#142034ed;color:#f0d39b;animation:battle-ink .7s ease-out both;}
.battle-event[data-kind="loss"] {color:#f0bdc3;border-color:#b87582;}
.battle-event[data-kind="skip"],.battle-event[data-kind="draw"] {color:#bad2df;}
.battle-event:not([data-kind="event"]) {animation-duration:1.5s;}
.territory-gauge {margin:12px 0;font-size:11px;color:#b5bdc9;}
.territory-gauge-labels {display:flex;justify-content:space-between;margin-bottom:6px;}
.territory-track {position:relative;height:9px;border-radius:8px;background:linear-gradient(90deg,#9d783a,#222737 48%,#88334b);}
.territory-track::after {content:"";position:absolute;left:50%;top:-4px;height:17px;width:1px;background:#eac689;}
.territory-track>span {position:absolute;top:-3px;width:9px;height:15px;transform:translateX(-50%);background:#f0f2f5;border:1px solid #151d2b;border-radius:3px;}
.territory-gauge p {margin-top:8px;}
.battle-choice {font-size:13px;color:#e0c9a2;padding:8px 0;}
.territory-game .trade-button {font-size:16px;min-height:62px;line-height:1.5;}
.territory-game .trade-button.sell {background:linear-gradient(140deg,#733449,#321d2c);border-color:#bc7a86;}
.territory-game .trade-button[aria-pressed="true"] {outline:2px solid #e5bf78;outline-offset:2px;opacity:1;}
.battle-verdict {font-size:30px;color:#eac781;margin:14px 0 8px;}
.battle-details {list-style:none;padding:0;display:grid;gap:10px;margin:18px 0;}
.battle-details li {border-left:2px solid #a78353;background:#ffffff04;padding:10px 12px;}
.battle-details strong,.battle-details span {display:block;font-size:13px;overflow-wrap:anywhere;}
.battle-details span {color:#b8b6c3;}
.battle-behavior {font-size:13px;margin:16px 0;color:#cbbfae;}
@keyframes battle-ink {0%{opacity:0;transform:translateY(3px)}20%,80%{opacity:1;transform:none}100%{opacity:0}}
@media(max-width:600px){.territory-game .game-chart svg{height:260px}.territory-prices{gap:14px}.territory-prices strong{font-size:20px}.territory-game .trade-button{font-size:14px;min-height:62px;padding:5px}.territory-game .trade-button.wait{font-size:13px}.battle-record li{font-size:11px}.battle-event{font-size:14px}.battle-verdict{font-size:25px}}
@media(prefers-reduced-motion:reduce){.battle-event{animation:none!important}}

.battle-deadline {padding:8px 12px;margin:8px 0;border:1px solid #bd956077;border-radius:4px;background:#080d19;color:#e9c689;font-size:13px;text-align:center;}
.territory-game .trade-button:disabled {cursor:not-allowed;filter:saturate(.5);opacity:.45;}
.territory-game .trade-button[aria-pressed="true"]:disabled {opacity:.65;}
.battle-opening {position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#050913cc;animation:battle-opening-fade 1.5s ease-in-out both;}
.battle-opening[hidden] {display:none;}
.battle-opening-card {width:min(540px,100%);padding:32px 20px;border:1px solid #c7a16d;border-radius:8px;text-align:center;background:radial-gradient(ellipse,#612e3844,transparent 75%),linear-gradient(135deg,#181521,#101b2c);box-shadow:0 12px 60px #0007;}
.battle-opening-card>span {display:block;font-size:32px;color:#d9b879;}
.battle-opening-card strong {display:block;color:#f0d29a;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(28px,6vw,48px);letter-spacing:.08em;}
.battle-opening-card small {display:block;margin-top:16px;color:#c6bbac;font-size:12px;}
@keyframes battle-opening-fade {0%{opacity:0}20%,75%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.battle-opening{animation:none;}}

/* Only a three-win final report receives the unification flourish. */
.battle-unification {position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:20px;pointer-events:none;background:#080c16bb;animation:battle-unification-fade 1.6s ease-out both;}
.battle-unification[hidden] {display:none;}
.battle-unification::before {content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#f2cc75,transparent);box-shadow:0 0 20px 4px #e8bc5b44;animation:unification-flash .7s ease-out both;}
.battle-unification-card {position:relative;width:min(560px,100%);padding:34px 28px;text-align:center;border:1px solid #e1b864;border-radius:8px;background:radial-gradient(ellipse,#b986292c,transparent 75%),#111826;box-shadow:0 0 28px #c09b3426;}
.battle-unification-card strong {display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,8vw,64px);line-height:1.5;letter-spacing:.1em;color:#ffe0a0;text-shadow:0 2px 8px #b4773533;}
.battle-unification-card small,.battle-unification-card>span {display:block;font-size:12px;color:#dac397;}
.unification-banner {position:absolute;top:24px;width:20px;height:62px;border-left:2px solid #d3b277;background:linear-gradient(140deg,#d6b36c,#765020);clip-path:polygon(0 0,100% 0,100% 76%,55% 66%,10% 76%,10% 100%,0 100%);animation:unification-banner 1.6s ease-out both;}
.unification-banner.left {left:10px;}.unification-banner.right {right:10px;}
.battle-unified {border-color:#d9b666;box-shadow:0 0 20px #d5ae4e22;}
.battle-unified .battle-verdict {color:#ffe0a0;}
@keyframes battle-unification-fade {0%{opacity:0}15%,80%{opacity:1}100%{opacity:0}}
@keyframes unification-flash {0%,100%{opacity:0;transform:scaleX(.4)}35%{opacity:.8;transform:scaleX(1)}}
@keyframes unification-banner {0%{opacity:0;transform:translateY(6px)}25%,85%{opacity:1;transform:none}100%{opacity:0}}
@media(max-width:600px){.battle-unification-card{padding:28px 20px}.unification-banner{width:14px;height:48px}}
@media(prefers-reduced-motion:reduce){.battle-unification,.unification-banner{animation:none}.battle-unification::before{display:none;animation:none}}
