/* GRAN BATTLE Story Mode v1.11.19 */
.mode-card.story{border-color:#ffd65b;background:linear-gradient(145deg,#412b62,#18152a 58%,#0c0b13)!important}.mode-card.story::after{background:linear-gradient(#fff7a3,#ffbd37,#ff5e40)!important;box-shadow:0 0 18px rgba(255,190,55,.5)!important}
.story-shell{max-width:1180px;margin:auto}.story-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.story-head h2{margin:0}.story-progress{min-width:min(360px,100%);padding:10px 13px;border:2px solid #657d94;background:#0b1420;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.story-progress-line{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.story-progress-track{height:8px;background:#02060a;margin-top:7px;border:1px solid #4f6375}.story-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#42caff,#ffe45b,#ff6a43)}
.story-chapter-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.story-chapter-tab{min-height:68px;padding:8px;border:2px solid #53687c;background:#111d2a;color:#dcecff;cursor:pointer}.story-chapter-tab strong,.story-chapter-tab span{display:block}.story-chapter-tab span{font-size:10px;color:#91a8ba;margin-top:3px}.story-chapter-tab.active{border-color:#ffd65b;box-shadow:0 0 18px rgba(255,214,91,.18)}.story-chapter-tab.locked{opacity:.35}
.story-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.story-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-content:start}.story-stage-card{position:relative;min-height:174px;padding:9px 7px;border:2px solid #4b6177;background:linear-gradient(#17283a,#0b131d);color:#fff;cursor:pointer;overflow:hidden;text-align:center}.story-stage-card.selected{border-color:#ffd65b;box-shadow:0 0 20px rgba(255,214,91,.2)}.story-stage-card.cleared::after{content:'✓';position:absolute;right:7px;bottom:5px;color:#70ffc0;font-weight:900}.story-stage-card.locked{opacity:.3;filter:grayscale(1)}.story-stage-card img{display:block;width:100%;height:92px;object-fit:contain;margin:8px auto 4px;filter:drop-shadow(0 5px 5px #000)}.story-stage-card strong{display:block;font-size:12px;line-height:1.2}.story-stage-card small{display:block;color:#9db4c7;margin-top:4px;font-size:9px}.story-stage-no{position:absolute;left:5px;top:5px;font-size:8px;font-weight:900;color:#bed9ec}.story-stage-status{position:absolute;right:5px;top:5px;font-size:8px;font-weight:900;color:#ffd65b}
.story-detail{position:sticky;top:10px;align-self:start;border:2px solid #7e91a2;background:linear-gradient(145deg,#24374a,#0b121a 62%);padding:14px;min-height:360px}.story-detail-img-wrap{height:150px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#265784 0,transparent 68%)}.story-detail img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #000)}.story-detail-no{font-size:11px;color:#a9bfd0;font-weight:900;margin-top:10px}.story-detail h3{font-size:24px;margin:5px 0}.story-detail-opponent{font-weight:900;color:#fff}.story-detail-rank{font-size:12px;color:#ffd65b;margin-top:4px}.story-detail .btn{width:100%;margin-top:12px}.story-admin-tools{margin-top:13px;border:2px solid #ffb52e;background:rgba(74,42,7,.55);padding:10px}.story-admin-tools strong{color:#ffd76b}.story-admin-tools .btn{margin-top:7px}.story-admin-note{font-size:10px;line-height:1.5;color:#ffdca0}
.story-dialogue-overlay{position:fixed;inset:0;z-index:9998;background:rgba(2,5,10,.93);display:flex;align-items:center;justify-content:center;padding:12px}.story-dialogue-overlay.hide{display:none}.story-dialogue-scene{position:relative;width:min(1180px,100%);height:min(700px,calc(100dvh - 24px));overflow:hidden;border:3px solid #7795aa;background-color:#050a11;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 18px 80px #000}.story-dialogue-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,12,.22),rgba(2,7,12,.48) 68%,rgba(2,7,12,.62));pointer-events:none}.story-dialogue-stage{position:absolute;left:14px;top:12px;font-weight:900;letter-spacing:.08em;color:#d7efff;text-shadow:0 2px #000}.story-portrait{position:absolute;bottom:145px;width:44%;height:72%;object-fit:contain;filter:drop-shadow(0 10px 12px #000);transition:.18s}.story-portrait.left{left:-1%}.story-portrait.right{right:-1%}.story-portrait.inactive{opacity:.35;filter:brightness(.55) drop-shadow(0 10px 12px #000);transform:scale(.94)}.story-dialogue-scene.system-line .story-portrait{opacity:.2;filter:brightness(.3)}
.story-dialogue-box{position:absolute;left:2.5%;right:2.5%;bottom:2.5%;min-height:150px;border:4px solid #e9f4ff;border-radius:22px;background:linear-gradient(180deg,rgba(249,252,255,.98),rgba(217,229,245,.98));box-shadow:inset 0 0 0 3px #4c6994,0 8px 30px #000;color:#101827;padding:39px 24px 18px;cursor:pointer}.story-dialogue-speaker{position:absolute;left:25px;top:-23px;min-width:160px;padding:8px 18px;border:3px solid #e9f4ff;background:linear-gradient(#365aa3,#182f69);color:#fff;font-weight:900;font-size:20px;transform:skew(-8deg);text-align:center}.story-dialogue-text{font-size:clamp(18px,2.3vw,29px);font-weight:800;line-height:1.55;white-space:pre-wrap}.story-dialogue-counter{position:absolute;right:18px;bottom:8px;font-size:10px;color:#53677d}.story-dialogue-controls{position:absolute;right:18px;top:12px;display:flex;gap:7px;z-index:3}.story-dialogue-controls .btn{padding:7px 11px;font-size:11px}.story-next-mark{position:absolute;right:18px;bottom:20px;color:#21467b;font-size:20px;animation:storyBlink .7s infinite alternate}@keyframes storyBlink{to{transform:translateY(5px);opacity:.45}}
@media(max-width:850px){.story-layout{grid-template-columns:1fr}.story-detail{position:static;order:-1}.story-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-chapter-tabs{grid-template-columns:repeat(2,1fr)}.story-portrait{width:52%;height:66%;bottom:165px}.story-portrait.left{left:-8%}.story-portrait.right{right:-8%}.story-dialogue-box{min-height:155px;padding:34px 15px 15px}.story-dialogue-speaker{font-size:16px;min-width:130px}.story-dialogue-text{font-size:17px}}
@media(orientation:landscape) and (max-height:620px){.story-dialogue-scene{height:96dvh}.story-portrait{bottom:115px;height:73%}.story-dialogue-box{min-height:105px;padding:30px 16px 10px}.story-dialogue-text{font-size:16px;line-height:1.35}.story-dialogue-speaker{font-size:14px;padding:6px 13px;top:-19px}.story-dialogue-controls .btn{padding:5px 8px}}
