/* ============================================================ story.css — Story Mode visual novel overlay ============================================================ */ #story-overlay{display:none;position:fixed;inset:0;z-index:500;flex-direction:column;align-items:stretch;background:rgba(0, 0, 0, 0);opacity:0;transition:opacity 0.5s ease, background 0.7s ease;cursor:pointer;user-select:none;}#story-overlay.visible{opacity:1;background:rgba(0, 0, 0, 0.60);}#story-overlay.blackout{background:rgba(0, 0, 0, 1) !important;transition:opacity 0.5s ease, background 0.3s ease;}#story-overlay.blackout #story-portrait-stage, #story-overlay.blackout #story-dialog-box{opacity:0;}#story-overlay.story-ending #story-portrait-stage, #story-overlay.story-ending #story-dialog-box{opacity:0;}#story-portrait-stage, #story-dialog-box{transition:opacity 0.6s ease;}#story-portrait-stage{position:relative;flex:1;min-height:0;pointer-events:none;overflow:visible;}.story-portrait-wrap{position:absolute;bottom:0;width:min(44%, 520px);height:min(88vh, 860px);z-index:1;transition:filter 0.35s ease;}#story-wrap-left{left:0;}#story-wrap-right{right:0;}#story-wrap-left:not(.inactive) .story-portrait.slot-visible{filter:drop-shadow(0 0 38px rgba(60, 140, 255, 0.65)) !important;}#story-wrap-left.inactive .story-portrait.slot-visible{filter:drop-shadow(0 0 10px rgba(60, 100, 200, 0.12)) !important;}#story-wrap-right:not(.inactive) .story-portrait.slot-visible{filter:drop-shadow(0 0 38px rgba(255, 80, 50, 0.65)) !important;}#story-wrap-right.inactive .story-portrait.slot-visible{filter:drop-shadow(0 0 10px rgba(200, 60, 40, 0.12)) !important;}.story-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom center;image-rendering:auto;transition:opacity 0.35s ease, filter 0.35s ease;}.story-portrait.slot-visible{opacity:1;z-index:2;}.story-portrait.slot-hidden{opacity:0;z-index:1;}#story-wrap-left .story-portrait{transform:scaleX(-1);}#story-dialog-box{position:relative;z-index:10;width:100%;min-height:168px;background:rgba(4, 10, 20, 0.97);border-top:1px solid #1a3a5a;padding:16px 44px 28px;box-shadow:0 -24px 64px rgba(0, 0, 0, 0.90), inset 0 1px 0 rgba(255, 255, 255, 0.04);backdrop-filter:blur(8px);box-sizing:border-box;}#story-dialog-box::before{content:'';position:absolute;top:0;bottom:0;width:3px;border-radius:3px;transition:background 0.25s ease, left 0.25s ease, right 0.25s ease;}#story-dialog-box[data-side="left"]::before{left:0;right:auto;background:#4488ff;}#story-dialog-box[data-side="right"]::before{right:0;left:auto;background:#ff6633;}#story-speaker-name{font-family:monospace;font-size:0.82rem;font-weight:bold;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:10px;transition:color 0.25s ease;}#story-dialog-text{font-family:monospace;font-size:0.88rem;line-height:1.7;color:#d8e8f0;min-height:3.5em;}#story-continue-hint{position:absolute;bottom:12px;right:20px;font-family:monospace;font-size:0.70rem;color:#446688;opacity:0;transition:opacity 0.3s ease;animation:story-blink 1.1s ease-in-out infinite;}@keyframes story-blink{0%, 100%{opacity:1;}50%{opacity:0.3;}}#story-skip-btn{position:absolute;top:14px;right:20px;z-index:20;font-family:monospace;font-size:0.90rem;letter-spacing:0.10em;color:#6699bb;background:rgba(0,10,24,0.65);border:1px solid #2a4a6a;border-radius:4px;padding:6px 18px;cursor:pointer;transition:color 0.15s, border-color 0.15s, background 0.15s;}#story-skip-btn:hover{color:#aaccee;border-color:#5588aa;background:rgba(0,20,44,0.85);}#story-faction-title{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-family:monospace;font-size:1.15rem;letter-spacing:0.22em;text-transform:uppercase;color:#7aaac8;text-shadow:0 0 12px rgba(80,160,220,0.5);white-space:nowrap;z-index:5;}@media (max-width:800px){.story-portrait-wrap{width:min(42%, 340px);height:min(72vh, 560px);}#story-dialog-box{padding:14px 24px 24px;}}@media (max-width:500px){.story-portrait-wrap{width:min(40%, 200px);height:min(60vh, 380px);}#story-dialog-box{padding:12px 16px 20px;min-height:140px;}}