:root{font-family:Space Grotesk,DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#e8ecf7;background-color:#0b1220;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;height:100%;background-color:#0b1220;overflow:hidden}#root{height:100%}.app-shell{height:100vh;width:100%;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}:root{--bg-top: #0b1523;--bg-bottom: #122a3d;--control-bg-1: #1a2738;--control-bg-2: #21364b;--control-bg-3: #2a4964;--control-hover-1: #23364c;--control-hover-2: #2d4a67;--control-hover-3: #356084;--control-border: rgba(142, 184, 230, .55);--control-text: #f0f6ff;--control-hover-glow: rgba(122, 171, 224, .45);--control-gold-glow: rgba(122, 171, 224, .35);--slider-track-start: rgba(122, 176, 255, .5);--slider-track-end: rgba(182, 212, 255, .6);--slider-thumb-highlight: #f4f8ff;--slider-thumb-mid: #b8d6ff;--slider-thumb-shadow: rgba(152, 188, 245, .65);--panel-backdrop: rgba(8, 18, 30, .72)}canvas{display:block}.scene-wrapper{position:relative;height:100%;width:100%;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}.start-overlay{position:absolute;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.start-button{padding:18px 48px;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,#2e86ff,#1e5fcc);border:2px solid rgba(255,255,255,.3);border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 32px #2e86ff66,inset 0 1px #fff3;text-transform:uppercase;letter-spacing:1px;animation:pulseGlow 2s ease-in-out infinite}.start-button:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,#3a92ff,#2468d9);border-color:#ffffff80;box-shadow:0 12px 40px #2e86ff99,inset 0 1px #ffffff4d}.start-button:active{transform:translateY(0) scale(1.02);box-shadow:0 4px 16px #2e86ff80,inset 0 1px #fff3}@keyframes pulseGlow{0%,to{box-shadow:0 8px 32px #2e86ff66,inset 0 1px #fff3}50%{box-shadow:0 8px 32px #2e86ffb3,inset 0 1px #ffffff4d}}.controls-layer{position:absolute;bottom:12px;left:0;width:100%;display:flex;flex-direction:column;gap:10px;align-items:center;z-index:20;pointer-events:none}.control-buttons{display:flex;gap:8px;pointer-events:auto}.control-buttons.left{position:absolute;left:16px;bottom:16px}.control-buttons.right{display:none}.control-button{background:linear-gradient(140deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%);border:1px solid var(--control-border);color:var(--control-text);padding:9px 12px;border-radius:12px;cursor:pointer;font-size:14px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .1s ease,border-color .2s ease;box-shadow:0 4px 12px #00000040,inset 0 0 0 1px #ffffff0d}.control-button:hover{background:linear-gradient(140deg,var(--control-hover-1) 0%,var(--control-hover-2) 70%,var(--control-hover-3) 100%);transform:translateY(-1px);border-color:#fff3;box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff0f}.control-button:active{transform:translateY(0);background:linear-gradient(140deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%)}.icon-button{background:linear-gradient(150deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%);border:1px solid var(--control-border);color:var(--control-text);padding:8px 11px;border-radius:12px;cursor:pointer;font-size:16px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .1s ease,border-color .2s ease;box-shadow:0 4px 12px #00000040,inset 0 0 0 1px #ffffff0d}.icon-button:hover{background:linear-gradient(150deg,var(--control-hover-1) 0%,var(--control-hover-2) 70%,var(--control-hover-3) 100%);transform:translateY(-1px);border-color:#fff3;box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff0f}.icon-button:active{transform:translateY(0);background:linear-gradient(150deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%)}.top-right-controls{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:25}.slider-container{width:40%;pointer-events:auto}.timeline-slider{width:100%;appearance:none;height:14px;border-radius:999px;background:linear-gradient(90deg,#ffffff14,#ffffff0a),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 6px,transparent 6px,transparent 12px),linear-gradient(90deg,var(--slider-track-start),var(--slider-track-end));box-shadow:inset 0 2px 6px #ffffff14,inset 0 -3px 10px #00000080,0 6px 18px #00000059;border:1px solid rgba(255,255,255,.12)}.timeline-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--slider-thumb-highlight),var(--slider-thumb-mid) 60%,#d5922f 100%);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 14px var(--slider-thumb-shadow),0 6px 18px #0006,inset 0 0 0 1px #fff3;cursor:pointer}.timeline-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--slider-thumb-highlight),var(--slider-thumb-mid) 60%,#d5922f 100%);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 14px var(--slider-thumb-shadow),0 6px 18px #0006,inset 0 0 0 1px #fff3;cursor:pointer}.timeline-slider::-moz-range-track{height:14px;border-radius:999px;background:linear-gradient(90deg,#ffffff14,#ffffff0a),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 6px,transparent 6px,transparent 12px),linear-gradient(90deg,var(--slider-track-start),var(--slider-track-end));box-shadow:inset 0 2px 6px #ffffff14,inset 0 -3px 10px #00000080,0 6px 18px #00000059;border:1px solid rgba(255,255,255,.12)}.modal-backdrop{position:absolute;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:30}.arc-modal{background:#06121ef2;color:#f5f8ff;max-width:680px;width:90%;max-height:85vh;border-radius:12px;padding:16px;box-shadow:0 12px 40px #0006;overflow-y:auto}.arc-modal-v2{max-width:720px;padding:20px 24px;background:linear-gradient(180deg,#081423fa,#06101cfa);border:1px solid rgba(108,195,255,.1)}.modal-header-v2{margin-bottom:16px}.modal-title-row{display:flex;justify-content:space-between;align-items:flex-start}.modal-title-block .modal-title{font-size:22px;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,#fff,#b8d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-meta{display:flex;gap:10px;flex-wrap:wrap}.modal-saga-badge{background:linear-gradient(135deg,#6cc3ff26,#6cc3ff0d);color:#6cc3ff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.modal-ep-badge{background:#ffffff0f;color:#9ab8e0;padding:4px 12px;border-radius:20px;font-size:12px}.modal-summary-text{font-size:14px;line-height:1.7;color:#d4e6f7;margin-bottom:20px;padding:16px;background:#6cc3ff0d;border-radius:10px;border-left:3px solid rgba(108,195,255,.4)}.modal-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.hero-stat{background:#ffffff08;border-radius:12px;padding:14px 12px;text-align:center;border:1px solid rgba(255,255,255,.04);transition:border-color .2s ease,opacity .2s ease;opacity:.95}.hero-stat:hover{border-color:#6cc3ff4d;opacity:1}.hero-stat-value{font-size:24px;font-weight:800;line-height:1;margin-bottom:4px}.hero-stat-rating .hero-stat-value{color:#8dd9ff}.hero-stat-emotion .hero-stat-value{color:#7ad4ff}.hero-stat-action .hero-stat-value{color:#6cc3ff}.hero-stat-label{font-size:11px;color:#9ab8e0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.hero-stat-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.hero-stat-fill{height:100%;border-radius:2px;transition:width .4s ease}.hero-stat-rating .hero-stat-fill{background:linear-gradient(90deg,#7ad4ff,#6cc3ff)}.hero-stat-emotion .hero-stat-fill{background:linear-gradient(90deg,#6cc3ff,#5ab8e8)}.hero-stat-action .hero-stat-fill{background:linear-gradient(90deg,#5ab8e8,#4a9fd9)}.modal-stat-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px}.stat-pill{display:flex;align-items:center;gap:8px;background:#6cc3ff14;padding:10px 18px;border-radius:24px;border:1px solid rgba(108,195,255,.2);transition:border-color .2s ease,background .2s ease}.stat-pill:hover{background:#6cc3ff1f;border-color:#6cc3ff59}.stat-pill .pill-icon{font-size:16px;color:#7ad4ff;opacity:.9}.stat-pill .pill-value{font-weight:700;font-size:15px;color:#e8f4ff}.stat-pill .pill-label{font-size:12px;color:#b8d4f0}.modal-meter-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.modal-meter{background:#ffffff05;border-radius:10px;padding:12px}.meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meter-label{font-size:12px;color:#9ab8e0}.meter-value{font-size:12px;font-weight:700}.meter-value[data-quality=good]{color:#4ade80}.meter-value[data-quality=ok]{color:#fbbf24}.meter-value[data-quality=slow]{color:#f87171}.meter-track{height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.meter-fill{height:100%;border-radius:4px;transition:width .4s ease}.meter-fill-pacing{background:linear-gradient(90deg,#f87171,#fbbf24,#4ade80)}.meter-fill-risk{background:linear-gradient(90deg,#4ade80,#fbbf24,#f87171)}.modal-details{margin-top:12px;background:#ffffff05;border-radius:10px;border:1px solid rgba(255,255,255,.04)}.modal-details summary{padding:12px 14px;cursor:pointer;font-size:13px;font-weight:600;color:#9ab8e0;list-style:none;display:flex;align-items:center;gap:8px}.modal-details summary::-webkit-details-marker{display:none}.modal-details summary:after{content:"▸";margin-left:auto;transition:transform .2s ease}.modal-details[open] summary:after{transform:rotate(90deg)}.modal-details p{padding:0 14px 14px;margin:0;font-size:13px;color:#b8d4f0;line-height:1.6}.arc-modal-v2 .arc-dashboard{margin-top:0;padding-top:0;border-top:none}.arc-modal-v2 .arc-dash-tabs{background:#ffffff05;padding:6px;border-radius:10px;margin-bottom:14px}.arc-modal-v2 .arc-dash-tabs button{border-radius:6px}@media(max-width:600px){.modal-hero-stats,.modal-meter-row{grid-template-columns:1fr}.hero-stat-value{font-size:22px}.modal-summary-text{font-size:13px;padding:14px}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.modal-header-right{display:flex;align-items:center;gap:10px}.modal-rating-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf2433,#fbbf241a);padding:6px 12px;border-radius:20px;font-weight:700}.modal-rating-badge .rating-star,.modal-rating-badge .rating-value{color:#fbbf24;font-size:14px}.modal-title{font-size:20px;font-weight:700}.modal-saga{font-size:12px;color:#c8d4ff}.modal-close{border:none;background:#ffffff1a;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}.arc-modal .arc-dashboard{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(180deg,#325a8cf2,#1e3c64f2);border:1px solid rgba(255,255,255,.08);color:#fff;width:56px;height:88px;border-radius:12px;cursor:pointer;font-size:34px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px #00000080,0 0 24px #7aabe00f inset;z-index:60;transition:transform .12s ease,box-shadow .12s ease}.modal-nav:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 18px 40px #0000008c,0 0 30px #7aabe01f inset}.modal-nav-left{left:calc(50% - 520px)}.modal-nav-right{right:calc(50% - 520px)}@media(max-width:1100px){.modal-nav-left{left:6px}.modal-nav-right{right:6px}}.modal-episodes{font-weight:600;color:#dbe5ff}.modal-summary{margin-top:4px}.modal-section-title{font-weight:600;margin-bottom:4px}.modal-section ul{margin:0;padding-left:16px}.modal-section li{margin-bottom:4px}.modal-metrics{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#dbe5ff}.hero-card{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--panel-backdrop);color:#f5f8ff;padding:10px 14px;border-radius:10px;box-shadow:0 12px 30px #00000059;cursor:pointer;z-index:24;min-width:320px;text-align:center;transition:background .2s ease,transform .1s ease}.hero-card:hover{background:#ffffff1a;transform:translate(-50%) translateY(-1px)}.hero-title{font-size:18px;font-weight:700;margin-bottom:4px}.hero-sub{display:flex;gap:10px;justify-content:center;font-size:13px;color:#dbe5ff}.hero-episodes{opacity:.9}.arc-info-panel{position:absolute;bottom:20px;right:20px;z-index:10;max-width:420px;padding:14px 16px;background:var(--panel-backdrop);border-radius:10px;color:#f5f8ff;font-size:14px;line-height:1.4;transition:max-width .3s ease,max-height .3s ease;max-height:90vh;overflow:hidden}.arc-info-panel.expanded{max-width:520px;overflow-y:auto}.arc-panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.arc-rating-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf2433,#fbbf241a);padding:4px 10px;border-radius:20px;font-weight:700}.rating-star,.rating-value{color:#fbbf24;font-size:14px}.arc-info-panel .arc-title{font-weight:700;margin-bottom:4px;font-size:16px}.arc-dashboard-toggle{width:100%;padding:10px;margin-top:10px;border:1px solid rgba(108,195,255,.3);border-radius:8px;background:linear-gradient(135deg,#6cc3ff1a,#6cc3ff0d);color:#6cc3ff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.arc-dashboard-toggle:hover{background:linear-gradient(135deg,#6cc3ff33,#6cc3ff1a);border-color:#6cc3ff80}.arc-dashboard{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.arc-dash-tabs{display:flex;gap:6px;margin-bottom:12px}.arc-dash-tabs button{flex:1;padding:8px 10px;border:none;border-radius:8px;background:#ffffff08;color:#9ab8e0;font-size:12px;cursor:pointer;transition:all .15s ease}.arc-dash-tabs button:hover{background:#ffffff0f;color:#cde6ff}.arc-dash-tabs button.active{background:linear-gradient(135deg,#6cc3ff26,#6cc3ff14);color:#fff}.dash-tab-content{display:flex;flex-direction:column;gap:14px}.dash-section{background:#ffffff05;border-radius:8px;padding:10px}.dash-section h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#cde6ff}.ratings-row{display:flex;justify-content:space-around;gap:12px;margin-bottom:8px}.arc-gauge{display:flex;flex-direction:column;align-items:center;gap:4px}.gauge-circle{position:relative;width:60px;height:60px}.gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge-bg{fill:none;stroke:#ffffff14;stroke-width:3}.gauge-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:800}.gauge-label{font-size:11px;color:#9ab8e0}.quick-stats-row{display:flex;justify-content:space-between;gap:8px;background:#ffffff05;padding:10px;border-radius:8px}.quick-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.qs-icon{font-size:16px}.qs-value{font-size:18px;font-weight:800;color:#fff}.qs-label{font-size:10px;color:#9ab8e0}.pacing-indicator{padding:8px 0}.pacing-bar{position:relative;height:10px;background:linear-gradient(90deg,#f87171,#fbbf24,#4ade80);border-radius:5px;opacity:.3}.pacing-fill{position:absolute;top:0;left:0;height:100%;border-radius:5px;opacity:1}.pacing-marker{position:absolute;top:-20px;transform:translate(-50%)}.pacing-label{font-size:11px;font-weight:700}.pacing-scale{display:flex;justify-content:space-between;font-size:10px;color:#9ab8e0;margin-top:4px}.arc-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;background:#ffffff05;border-radius:8px}.stat-icon{font-size:16px}.stat-val{font-size:14px;font-weight:700;color:#6cc3ff}.stat-lbl{font-size:9px;color:#9ab8e0;text-align:center}.char-pop-chart{margin:4px 0}.empty-chart{color:#9ab8e0;font-size:12px;text-align:center;padding:20px}.char-appearances{display:flex;flex-direction:column;gap:6px}.char-appear-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff05;border-radius:6px}.char-rank{font-size:11px;font-weight:700;color:#6cc3ff;width:24px}.char-appear-row .char-name{flex:1;font-size:12px;color:#eaf3ff}.char-appear-row .char-count{font-size:11px;color:#9ab8e0}.modal-crew-changes-highlight{margin-bottom:20px;padding:14px 16px;background:#6cc3ff0f;border-radius:12px;border:1px solid rgba(108,195,255,.15)}.crew-changes-title{font-size:14px;font-weight:700;color:#d4e6f7;margin:0 0 10px;display:flex;align-items:center;gap:6px}.crew-changes{display:flex;flex-wrap:wrap;gap:8px}.crew-change-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:24px;font-size:13px;font-weight:600}.crew-change-badge.join{background:linear-gradient(135deg,#6cc3ff33,#6cc3ff1a);color:#8dd9ff;border:1px solid rgba(108,195,255,.25)}.crew-change-badge.leave{background:linear-gradient(135deg,#fbbf2426,#fbbf240d);color:#ffd97a;border:1px solid rgba(251,191,36,.2)}.change-icon{font-size:15px}.key-events-timeline{position:relative;padding-left:20px}.timeline-line{position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#6cc3ff4d;border-radius:1px}.timeline-event{position:relative;padding:8px 0 8px 10px}.event-dot{position:absolute;left:-17px;top:12px;width:10px;height:10px;border-radius:50%;border:2px solid rgba(10,20,35,.8)}.event-text{font-size:12px;color:#cde6ff;line-height:1.4}.bounty-updates{display:flex;flex-direction:column;gap:8px}.bounty-update-card{display:flex;align-items:center;gap:10px;padding:10px;background:linear-gradient(135deg,#ffd97a14,#ffd97a05);border-radius:8px;border-left:3px solid #ffd97a}.bounty-char-name{font-weight:700;color:#ffd97a;font-size:13px;min-width:60px}.bounty-values{display:flex;align-items:center;gap:6px;flex:1}.bounty-from{color:#9ab8e0;font-size:12px}.bounty-arrow{color:#6cc3ff;font-size:12px}.bounty-to{color:#4ade80;font-weight:700;font-size:13px}.bounty-increase{font-size:11px;font-weight:700;color:#4ade80;background:#4ade8026;padding:2px 8px;border-radius:10px}.bounty-showcase{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.bounty-showcase-card{background:linear-gradient(135deg,#ffd97a1a,#ff9a7a0d);border-radius:8px;padding:12px;text-align:center;border:1px solid rgba(255,217,122,.2)}.bounty-showcase-card .bs-name{font-size:11px;color:#cde6ff;margin-bottom:4px}.bounty-showcase-card .bs-bounty{font-size:14px;font-weight:700;color:#ffd97a}.no-bounty-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#9ab8e0;text-align:center}.no-bounty-msg .no-bounty-icon{font-size:32px;margin-bottom:8px;opacity:.5}.no-bounty-msg p{margin:0;font-size:13px}.animation-meter{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff08;border-radius:8px}.animation-meter .anim-score{font-size:24px;font-weight:700;color:#6cc3ff;min-width:50px}.animation-meter .anim-bar-wrap{flex:1;height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden}.animation-meter .anim-bar{height:100%;background:linear-gradient(90deg,#6cc3ff,#4ade80);border-radius:5px;transition:width .3s ease}.metric-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.metric-bar-row .metric-label{font-size:11px;color:#9ab8e0;min-width:80px}.metric-bar-track{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.metric-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.metric-bar-row .metric-value{font-size:11px;font-weight:700;color:#fff;min-width:30px;text-align:right}.world-impact-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;margin-top:6px}.world-impact-badge[data-level=local]{background:linear-gradient(135deg,#6cc3ff33,#6cc3ff1a);color:#6cc3ff}.world-impact-badge[data-level=regional]{background:linear-gradient(135deg,#fbbf2433,#fbbf241a);color:#fbbf24}.world-impact-badge[data-level=global]{background:linear-gradient(135deg,#f8717133,#f871711a);color:#f87171}.arc-tooltip{background:#0a1423f2;border:1px solid rgba(108,195,255,.3);border-radius:8px;padding:8px 12px;color:#eaf3ff;font-size:12px}.arc-tooltip .tooltip-name{font-weight:700;color:#6cc3ff;margin-bottom:4px}.impact-metrics{display:flex;flex-direction:column;gap:6px}.theme-switcher{display:none}.arc-info-panel .arc-saga{color:#c8d4ff;font-size:12px;margin-bottom:6px}.arc-info-panel .arc-episodes{font-weight:600;margin-bottom:6px;color:#c8d4ff}.arc-info-panel .arc-summary{margin-bottom:6px}.arc-info-panel .arc-section{margin-bottom:8px}.arc-info-panel .arc-section-title{font-weight:600;margin-bottom:4px}.journey-toast-container{position:absolute;left:16px;top:120px;display:flex;flex-direction:column;gap:16px;z-index:80;pointer-events:none}.journey-toast{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;background:#08121ef2;color:#eaf4ff;padding:15px 18px;border-radius:12px;min-width:330px;box-shadow:0 12px 32px #00000080;border:1px solid rgba(255,255,255,.05);transform-origin:top left}.journey-avatar{width:66px;height:66px;border-radius:10px;background:linear-gradient(135deg,#2e86ff,#7bd0ff);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:#04263a}.journey-name{font-weight:800;font-size:20px}.journey-sub{font-size:18px;color:#bcd9ff}@keyframes toast-pop-in{0%{transform:translateY(-6px) scale(.88);opacity:0}45%{transform:translateY(0) scale(1.03);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.journey-toast{animation:toast-pop-in .32s cubic-bezier(.22,.9,.28,1) both;max-width:min(80vw,420px)}.journey-avatar img{width:100%;height:100%;object-fit:contain;display:block}.journey-avatar{width:clamp(64px,16vw,160px);height:clamp(64px,16vw,160px);margin-left:8px;background:#0000000f;padding:6px;box-sizing:border-box}.journey-toast{flex-direction:column;align-items:center}.journey-body{text-align:center}.journey-avatar{margin-left:0;margin-top:10px}@media(max-width:720px){.journey-toast{min-width:240px;padding:12px 14px}.journey-name{font-size:16px}.journey-sub{font-size:13px}.journey-avatar{width:56px;height:56px}}.arc-info-panel .arc-list{margin:0;padding-left:16px;list-style:disc;color:#dbe5ff}.arc-info-panel .arc-list li{margin-bottom:4px}.arc-info-panel .arc-metrics{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#dbe5ff}.island-list-toggle{background:linear-gradient(150deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%);border:1px solid var(--control-border);color:var(--control-text);padding:10px 16px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px #00000040,inset 0 0 0 1px #ffffff0d}.island-list-toggle:hover{background:linear-gradient(150deg,var(--control-hover-1) 0%,var(--control-hover-2) 70%,var(--control-hover-3) 100%);transform:translateY(-1px);border-color:#fff3;box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff0f}.island-list-panel{position:absolute;top:56px;left:12px;width:300px;background:var(--panel-backdrop);border-radius:12px;padding:10px;box-shadow:0 12px 30px #00000059;z-index:30}.island-search{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);margin-bottom:8px;background:#ffffff08;color:var(--control-text);font-size:14px}.island-items{max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:6px}.island-item{text-align:left;padding:10px;border-radius:8px;background:transparent;color:var(--control-text);border:none;cursor:pointer;font-size:15px}.island-item:hover{background:#ffffff0a}.empty{color:#c8d4ff;padding:6px;font-size:13px}.dashboard-backdrop{position:absolute;inset:0;background:#02081099;display:flex;align-items:center;justify-content:center;z-index:60}.dashboard-panel{width:1000px;max-width:calc(100% - 48px);height:640px;max-height:calc(100vh - 48px);background:#06121efa;border-radius:12px;color:#eaf3ff;box-shadow:0 18px 60px #0009;display:flex;flex-direction:column;box-sizing:border-box}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.03)}.dashboard-title{font-size:18px;font-weight:700}.dashboard-sub{font-size:13px;color:#bcd7ff;margin-top:4px}.dashboard-main{display:flex;flex:1;gap:12px;padding:16px;min-height:0;overflow:hidden}.dashboard-left{width:48%;display:flex;flex-direction:column;gap:12px;min-height:0}.dashboard-right{width:52%;display:flex;flex-direction:column;min-height:0}.dashboard-tabs{display:flex;gap:8px}.dashboard-tabs button{padding:8px 12px;border-radius:8px;border:none;background:#ffffff05;color:#dff0ff;cursor:pointer}.dashboard-tabs button.active{background:linear-gradient(90deg,#7aabe029,#b6d4ff0f);box-shadow:0 8px 18px #14284659}.dashboard-instructions{background:#ffffff05;padding:12px;border-radius:8px;color:#cde6ff}.dashboard-placeholder{display:flex;flex-direction:column;gap:8px;min-height:0}.dashboard-placeholder .card{background:#ffffff05;padding:12px;border-radius:8px;margin-bottom:8px}.dashboard-placeholder{flex:1;overflow:auto}.overview-charts{display:flex;flex-direction:column;gap:12px}.overview-header{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.overview-title{font-weight:700;font-size:16px}.overview-sub{color:#cde6ff;font-size:13px}.metrics-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.donut-label{font-size:13px;color:#dff0ff}.risk-wrap{flex:1}.metric-label{font-weight:600;margin-bottom:6px}.risk-bar{width:100%;height:14px;background:#ffffff0a;border-radius:8px;overflow:hidden}.risk-fill{height:100%;background:linear-gradient(90deg,#ff9a7a,#ff5a5a);border-radius:8px 0 0 8px}.metric-small{margin-top:6px;color:#cde6ff;font-size:13px}.char-chart{margin-top:8px}.char-title{font-weight:700;margin-bottom:8px}.character-bars{display:flex;flex-direction:column;gap:8px}.char-row{display:flex;align-items:center;gap:10px}.char-name{width:30%;font-size:13px;color:#eaf3ff}.char-bar-wrap{flex:1;background:#ffffff08;height:12px;border-radius:8px;overflow:hidden}.char-bar{height:100%;background:linear-gradient(90deg,#6cc3ff,#3aa0ff)}.char-count{width:40px;text-align:right;color:#cde6ff;font-size:13px}.island-search-row{padding-bottom:8px}.island-list-scroll{overflow:auto;border-radius:8px;padding:8px;background:#ffffff05;flex:1}.island-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid rgba(255,255,255,.02)}.island-list-item .island-label{font-weight:600}.island-list-item .island-actions button{padding:6px 10px;border-radius:8px;border:none;background:linear-gradient(150deg,#2a4964,#356084);color:#fff;cursor:pointer}.dashboard-button{background:linear-gradient(150deg,var(--control-bg-1) 0%,var(--control-bg-2) 60%,var(--control-bg-3) 100%);border:1px solid var(--control-border);color:var(--control-text);padding:10px 16px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px #00000040,inset 0 0 0 1px #ffffff0d}.dashboard-button:hover{background:linear-gradient(150deg,var(--control-hover-1) 0%,var(--control-hover-2) 70%,var(--control-hover-3) 100%);transform:translateY(-1px);border-color:#fff3;box-shadow:0 6px 14px #0000004d,inset 0 0 0 1px #ffffff0f}.top-nav-buttons{position:absolute;top:12px;left:12px;z-index:28;display:flex;gap:8px}.dashboard-panel-v2{width:1000px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);background:linear-gradient(135deg,#0a1628,#0d1f3c);border-radius:20px;border:1px solid rgba(108,195,255,.15);box-shadow:0 24px 80px #0009;display:flex;flex-direction:column;overflow:hidden}.dashboard-header-v2{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.06);background:#0003}.header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid rgba(108,195,255,.3);border-radius:8px;background:#6cc3ff1a;color:#6cc3ff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.back-btn:hover{background:#6cc3ff33;border-color:#6cc3ff80}.header-title h1{margin:0;font-size:22px;font-weight:700;color:#eaf3ff}.header-title p{margin:4px 0 0;font-size:13px;color:#9ab8e0}.close-btn{width:36px;height:36px;border:none;border-radius:10px;background:#ffffff0d;color:#9ab8e0;font-size:18px;cursor:pointer;transition:all .2s}.close-btn:hover{background:#ff646426;color:#ff7a7a}.dashboard-content-v2{flex:1;overflow:auto;padding:24px}.dashboard-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-tile{display:flex;align-items:center;gap:16px;padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,#ffffff08,#ffffff03);cursor:pointer;transition:all .2s ease;text-align:left}.dashboard-tile:hover{background:linear-gradient(135deg,#6cc3ff14,#6cc3ff08);border-color:#6cc3ff4d;box-shadow:0 4px 20px #6cc3ff1a}.tile-icon{font-size:40px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 100%);border-radius:14px;flex-shrink:0;color:#fff;transition:transform .2s ease}.dashboard-tile:hover .tile-icon{transform:scale(1.05)}.tile-content{flex:1}.tile-content h3{margin:0 0 6px;font-size:18px;font-weight:700;color:#eaf3ff}.tile-content p{margin:0;font-size:13px;color:#9ab8e0;line-height:1.4}.tile-arrow{font-size:24px;color:#6cc3ff;opacity:0;transform:translate(-10px);transition:all .2s ease}.dashboard-tile:hover .tile-arrow{opacity:1;transform:translate(0)}.dashboard-footer-v2{display:flex;justify-content:center;gap:32px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.footer-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.footer-stat .fs-value{font-size:20px;font-weight:800;color:#6cc3ff}.footer-stat .fs-label{font-size:11px;color:#9ab8e0;text-transform:uppercase;letter-spacing:.5px}.viz-full{display:flex;flex-direction:column;gap:20px}.viz-full-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.viz-header-text h2{margin:0 0 6px;font-size:20px;font-weight:700;color:#eaf3ff}.viz-header-text p{margin:0;font-size:13px;color:#9ab8e0}.view-toggle{display:flex;gap:6px;background:#ffffff08;padding:4px;border-radius:10px}.view-toggle button{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:transparent;color:#9ab8e0;font-size:13px;cursor:pointer;transition:all .2s}.view-toggle button:hover{color:#cde6ff}.view-toggle button.active{background:#6cc3ff26;color:#6cc3ff}.viz-stats-row{display:flex;gap:16px;flex-wrap:wrap}.viz-stat{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:#ffffff08;border-radius:12px;flex:1;min-width:100px}.viz-stat-value{font-size:28px;font-weight:800;color:#6cc3ff}.viz-stat-label{font-size:12px;color:#9ab8e0;margin-top:4px}.viz-chart-full{background:#ffffff05;border-radius:12px;padding:16px}.saga-accordion{display:flex;flex-direction:column;gap:8px;margin-top:12px}.saga-accordion-item{background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.06);overflow:hidden}.saga-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:transparent;border:none;color:#eaf3ff;cursor:pointer;transition:all .2s ease;text-align:left}.saga-header:hover{background:#ffffff0a}.saga-header-left{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.saga-name{font-size:16px;font-weight:700;color:var(--saga-color)}.saga-meta{font-size:12px;color:#9ab8e0}.saga-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.saga-percentage{font-size:14px;font-weight:600;color:#6cc3ff}.saga-arcs-list{padding:8px 20px 16px;background:#00000026;border-top:1px solid rgba(255,255,255,.06)}.arc-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff05;border-radius:8px;margin-bottom:6px;transition:all .2s ease}.arc-list-item:last-child{margin-bottom:0}.arc-list-item:hover{background:#ffffff0a}.arc-item-name{font-size:14px;color:#cde6ff;font-weight:500}.arc-item-count{font-size:13px;color:#6cc3ff;font-weight:600}.viz-split-view{display:flex;gap:24px;align-items:center}.viz-chart-half{flex:1}.saga-legend{display:flex;flex-direction:column;gap:10px;padding:16px;background:#ffffff05;border-radius:12px;min-width:200px}.saga-legend-item{display:flex;align-items:center;gap:10px}.saga-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.saga-name{flex:1;font-size:12px;color:#cde6ff}.saga-count{font-size:12px;color:#6cc3ff;font-weight:600}.character-podium{display:flex;justify-content:center;gap:20px;margin-top:16px}.podium-card{display:flex;flex-direction:column;align-items:center;padding:20px 32px;background:linear-gradient(135deg,#6cc3ff14,#6cc3ff05);border-radius:14px;border:1px solid rgba(108,195,255,.15);transition:all .3s ease;min-width:160px}.podium-card:hover{transform:translateY(-4px);border-color:#6cc3ff4d;box-shadow:0 8px 24px #6cc3ff26}.podium-card.podium-1{order:2;transform:scale(1.08);background:linear-gradient(135deg,#ffd97a14,#ffd97a05);border-color:#ffd97a40}.podium-card.podium-1:hover{transform:scale(1.08) translateY(-4px);border-color:#ffd97a66;box-shadow:0 10px 30px #ffd97a33}.podium-card.podium-2{order:1;background:linear-gradient(135deg,#b8d6ff14,#b8d6ff05);border-color:#b8d6ff33}.podium-card.podium-2:hover{border-color:#b8d6ff59}.podium-card.podium-3{order:3;background:linear-gradient(135deg,#ffb36614,#ffb36605);border-color:#ffb36633}.podium-card.podium-3:hover{border-color:#ffb36659}.podium-rank{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.podium-name{font-size:15px;font-weight:700;color:#f0f6ff;margin-top:4px;text-align:center}.podium-count{font-size:12px;color:#9ca3af;margin-top:6px;font-weight:500}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.crew-member-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff08;border-radius:10px;border-left:3px solid var(--accent)}.crew-order{font-size:14px;font-weight:700;color:var(--accent)}.crew-info{flex:1}.crew-info .crew-name{font-size:13px;font-weight:700;color:#eaf3ff}.crew-info .crew-role{font-size:11px;color:#9ab8e0}.crew-episode{font-size:12px;color:#6cc3ff;font-weight:600}.crew-cards-modern{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:16px}.crew-card-modern{background:linear-gradient(135deg,#ffffff0a,#ffffff03);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.08);transition:all .3s ease;position:relative;overflow:hidden}.crew-card-modern:hover{transform:translateY(-2px);border-color:var(--accent-color);box-shadow:0 8px 24px #0000004d,0 0 0 1px var(--accent-color)}.crew-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.crew-card-number{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#0a1220}.crew-card-episode{font-size:11px;color:#9ca3af;font-weight:500}.crew-card-body{margin-bottom:12px}.crew-card-name{font-size:15px;font-weight:700;color:#f0f6ff;margin-bottom:4px}.crew-card-role{font-size:12px;color:#9ca3af;font-weight:500}.crew-card-progress-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.crew-card-progress-fill{height:100%;border-radius:2px;transition:width .6s ease}.bounty-selector{display:flex;flex-wrap:wrap;gap:8px}.bounty-char-btn{display:flex;flex-direction:column;align-items:center;padding:10px 16px;border:1px solid rgba(255,217,122,.2);border-radius:10px;background:#ffd97a0d;cursor:pointer;transition:all .2s;min-width:80px}.bounty-char-btn:hover{background:#ffd97a1a;border-color:#ffd97a66}.bounty-char-btn.active{background:linear-gradient(135deg,#ffd97a33,#ffd97a1a);border-color:#ffd97a;box-shadow:0 4px 16px #ffd97a33}.bounty-char-btn .btn-name{font-size:12px;font-weight:700;color:#ffd97a}.bounty-char-btn .btn-bounty{font-size:10px;color:#9ab8e0;margin-top:2px}.bounty-char-btn.active .btn-bounty{color:#ffd97a}.bounty-stats-row{display:flex;gap:12px;flex-wrap:wrap}.bounty-stat{display:flex;flex-direction:column;padding:14px 20px;background:#ffffff08;border-radius:10px;flex:1;min-width:120px}.bounty-stat-label{font-size:11px;color:#9ab8e0;text-transform:uppercase;letter-spacing:.5px}.bounty-stat-value{font-size:20px;font-weight:700;color:#ffd97a;margin-top:4px}.bounty-stat-current{background:linear-gradient(135deg,#ffd97a26,#ffd97a0d);border:1px solid rgba(255,217,122,.2)}.bounty-stat-current .bounty-stat-value{font-size:24px}.bounty-stat-increase{background:linear-gradient(135deg,rgba(74,222,128,.1) 0%,transparent 100%)}.bounty-stat-increase .bounty-stat-value{color:#4ade80}.chart-tooltip{background:#0a1423fa!important;border:1px solid rgba(108,195,255,.4)!important;border-radius:10px!important;padding:12px 16px!important;color:#eaf3ff!important;font-size:13px;box-shadow:0 8px 32px #0009,0 0 0 1px #6cc3ff33!important}.recharts-tooltip-wrapper{z-index:1000!important}.recharts-default-tooltip{background:#0a1423fa!important;border:1px solid rgba(255,217,122,.4)!important;border-radius:10px!important;padding:12px 16px!important;box-shadow:0 8px 32px #000000b3,0 0 20px #ffd97a26!important}.recharts-tooltip-label{color:#ffd97a!important;font-weight:700!important;font-size:14px!important;margin-bottom:8px!important}.recharts-tooltip-item{color:#eaf3ff!important;font-size:13px!important}.recharts-tooltip-item-name{color:#9ab8e0!important}.recharts-tooltip-item-value{color:#ffd97a!important;font-weight:600!important}.tooltip-label{font-weight:700;margin-bottom:6px;color:#6cc3ff}.tooltip-row{margin:2px 0;color:#cde6ff}@media(max-width:768px){.dashboard-tiles{grid-template-columns:1fr}.viz-split-view{flex-direction:column}.saga-legend{width:100%}.character-podium{flex-wrap:wrap}.podium-card.podium-1{order:1;transform:none}.podium-card.podium-2{order:2}.bounty-stats-row{flex-direction:column}}
