@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Share+Tech+Mono&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg-panel: #0f0f1a;--bg-card: #111120;--bg-hover: #1a1a2e;--border: #1e3a5f;--border-bright: #00ff41;--green: #00ff41;--green-dim: #00aa2b;--amber: #ffb300;--amber-dim: #cc8800;--cyan: #00e5ff;--red: #ff4444;--purple: #cc44ff;--white: #f0f0f0;--muted: #7a93a8;--font-pixel: "Press Start 2P", monospace;--font-mono: "Share Tech Mono", monospace;--glow-green: 0 0 8px #00ff41, 0 0 16px #00ff4133;--glow-amber: 0 0 8px #ffb300, 0 0 16px #ffb30033;--pixel-border: 2px solid var(--border)}html,body{height:100%;background:var(--bg);color:var(--white);font-family:var(--font-mono);font-size:15px;line-height:1.6;overflow-x:hidden}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green-dim)}.app-root{display:flex;min-height:100vh}.sidebar{width:240px;min-width:240px;background:var(--bg-panel);border-right:2px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100}.main-content{flex:1;overflow-y:auto;padding:24px;min-width:0}.chapter-nav{display:flex;flex-direction:column;padding:12px 8px;gap:2px}.nav-title{font-family:var(--font-pixel);font-size:10px;color:var(--amber);text-shadow:var(--glow-amber);padding:12px 8px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);margin-bottom:8px;letter-spacing:1px}.nav-section-label{font-family:var(--font-pixel);font-size:8px;color:var(--muted);padding:4px 8px 2px;letter-spacing:1px}.nav-btn{background:transparent;border:1px solid transparent;color:var(--white);font-family:var(--font-mono);font-size:13px;padding:8px 10px;cursor:pointer;text-align:left;border-radius:2px;display:flex;align-items:center;gap:6px;transition:all .1s;width:100%}.nav-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--green)}.nav-btn.active{background:var(--bg-hover);border-color:var(--green);color:var(--green);box-shadow:inset 2px 0 0 var(--green),var(--glow-green)}.nav-btn-alt{font-size:12px;color:var(--amber)}.nav-btn-alt.active{border-color:var(--amber);color:var(--amber);box-shadow:inset 2px 0 0 var(--amber),var(--glow-amber)}.nav-ch-num{font-family:var(--font-pixel);font-size:8px;color:var(--amber);min-width:28px}.nav-ch-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-page{max-width:900px;margin:0 auto}.chapter-page-header{border:2px solid var(--border);background:var(--bg-panel);padding:20px 24px;margin-bottom:16px;position:relative}.chapter-page-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--cyan),var(--amber))}.chapter-page-title{display:flex;flex-direction:column;gap:6px}.chapter-num-big{font-family:var(--font-pixel);font-size:16px;color:var(--amber);text-shadow:var(--glow-amber);letter-spacing:2px}.chapter-area-name{font-family:var(--font-pixel);font-size:8px;color:var(--cyan);letter-spacing:1px}.chapter-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stat-pill{font-family:var(--font-pixel);font-size:7px;padding:4px 8px;border:1px solid var(--border);color:var(--muted);letter-spacing:.5px}.stat-pill-warn{border-color:var(--red);color:var(--red)}.missable-alert{background:#1a0000;border:2px solid var(--red);padding:12px 16px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--red);box-shadow:0 0 12px #ff000030}.alert-icon{font-size:16px;flex-shrink:0}.search-bar{display:flex;align-items:center;gap:10px;background:var(--bg-panel);border:1px solid var(--border);padding:8px 12px;margin-bottom:12px}.search-bar:focus-within{border-color:var(--green);box-shadow:0 0 8px #00ff4122}.search-icon{color:var(--green)}.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--green);font-family:var(--font-mono);font-size:12px;letter-spacing:.5px}.search-input::placeholder{color:var(--muted)}.search-clear{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 4px}.search-clear:hover{color:var(--red)}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.filter-group{display:flex;flex-wrap:wrap;gap:4px}.sort-group{display:flex;align-items:center;gap:4px;margin-left:auto}.sort-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted)}.filter-btn{background:var(--bg-panel);border:1px solid var(--border);color:var(--muted);font-family:var(--font-pixel);font-size:7px;padding:6px 10px;cursor:pointer;transition:all .1s;letter-spacing:.5px}.filter-btn:hover{border-color:var(--amber);color:var(--amber)}.filter-btn.active{background:var(--bg-hover);border-color:var(--amber);color:var(--amber);box-shadow:var(--glow-amber)}.results-count{font-family:var(--font-pixel);font-size:7px;color:var(--muted);margin-bottom:12px;letter-spacing:.5px}.tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border)}.tab-btn{background:var(--bg-panel);border:2px solid var(--border);border-bottom:none;color:var(--muted);font-family:var(--font-pixel);font-size:8px;padding:10px 14px;cursor:pointer;transition:all .1s;letter-spacing:.5px;margin-right:-1px}.tab-btn:hover{color:var(--white);background:var(--bg-hover)}.tab-btn.active{color:var(--green);border-color:var(--green);border-bottom:2px solid var(--bg);background:var(--bg);box-shadow:var(--glow-green);position:relative;top:1px}.tab-content{padding-top:4px}.photo-list{display:flex;flex-direction:column;gap:6px}.invention-list{display:flex;flex-direction:column;gap:12px}.photo-card{background:var(--bg-card);border:1px solid var(--border);transition:border-color .1s}.photo-card:hover{border-color:var(--border-bright)}.photo-card.expanded{border-color:var(--green)}.photo-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;gap:8px;-webkit-user-select:none;user-select:none}.photo-card-header:hover{background:var(--bg-hover)}.photo-card-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.photo-type-icon{font-size:14px;flex-shrink:0}.photo-name{font-size:12px;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-badges{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.expand-arrow{font-family:var(--font-pixel);font-size:8px;color:var(--muted);margin-left:4px}.photo-card-body{border-top:1px solid var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.photo-location{display:flex;gap:8px;font-size:11px;align-items:flex-start}.photo-missable-note{font-size:11px;color:var(--red);background:#1a0000;padding:6px 10px;border-left:3px solid var(--red)}.photo-memo{display:flex;gap:8px;font-size:11px;align-items:flex-start;color:var(--muted)}.memo-text{font-style:italic;color:#8ac}.photo-no-inventions{font-size:11px;color:var(--muted);font-style:italic;padding:4px 0}.photo-inventions{display:flex;flex-direction:column;gap:8px}.label{color:var(--amber);font-family:var(--font-pixel);font-size:7px;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.badge{font-family:var(--font-pixel);font-size:6px;padding:3px 6px;letter-spacing:.5px;white-space:nowrap}.badge-missable{background:#3a0000;color:var(--red);border:1px solid var(--red);box-shadow:0 0 6px #ff000040}.badge-ghost{background:#1a0033;color:var(--purple);border:1px solid var(--purple)}.badge-common{background:#001a33;color:var(--cyan);border:1px solid var(--cyan)}.badge-used{background:#001a00;color:var(--green-dim);border:1px solid var(--green-dim)}.badge-chapter{background:#1a1a00;color:var(--amber);border:1px solid var(--amber-dim)}.invention-card{background:var(--bg-panel);border:1px solid var(--border);padding:0}.photo-inventions .invention-card{border-color:var(--green-dim);background:#080815}.invention-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border)}.invention-name{font-family:var(--font-pixel);font-size:10px;color:var(--amber);text-shadow:var(--glow-amber);letter-spacing:1px}.invention-badges{display:flex;gap:4px;flex-wrap:wrap}.invention-ideas{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.idea-combo{display:flex;flex-direction:column;gap:4px}.combo-or{font-family:var(--font-pixel);font-size:7px;color:var(--muted);padding:2px 0}.idea-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.idea-chip{background:#001a33;border:1px solid #0066aa;color:var(--cyan);font-family:var(--font-mono);font-size:11px;padding:3px 8px;cursor:pointer;transition:all .1s}.idea-chip:hover{background:#036;border-color:var(--cyan);box-shadow:0 0 6px #00e5ff40}.idea-amp{color:var(--muted);font-size:11px}.materials-table{border-top:1px solid var(--border)}.materials-header{display:grid;grid-template-columns:1fr 160px 100px;padding:6px 14px;background:#0a0a1e;border-bottom:1px solid var(--border);font-family:var(--font-pixel);font-size:6px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.material-row{display:grid;grid-template-columns:1fr 160px 100px;padding:6px 14px;border-bottom:1px solid #0d0d20;font-size:12px;align-items:center}.material-row:last-child{border-bottom:none}.material-row:hover,.material-row-group:hover .material-row,.material-row-group:hover .mat-sources{background:#0d0d20}.mat-name{color:var(--white)}.mat-qty{color:var(--muted);font-size:11px;text-align:right}.mat-total{color:var(--amber);text-align:right;font-size:12px}.total-row{background:#0a0a1e;border-top:1px solid var(--border)}.total-row .mat-name{font-family:var(--font-pixel);font-size:7px;color:var(--muted);letter-spacing:.5px}.total-cost{font-family:var(--font-pixel);font-size:9px;color:var(--amber);text-shadow:var(--glow-amber)}.material-row-group{border-bottom:1px solid #0d0d20}.material-row-group:last-child{border-bottom:none}.material-row-group .material-row{border-bottom:none}.mat-sources{display:flex;flex-direction:column;gap:2px;padding:0 14px 7px}.mat-source-tag{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 2px;font-size:10px;color:var(--muted);line-height:1.4}.src-seller{color:var(--cyan);opacity:.85}.src-location{color:var(--white);opacity:.6}.src-avail{color:var(--green);opacity:.7;font-size:9px}.src-sep{color:#333}.src-note{color:var(--amber);cursor:help;font-size:9px;margin-left:2px}.invention-desc{padding:10px 14px;font-size:12px;color:#8ac;border-top:1px solid var(--border);font-style:italic}.invention-notes{padding:6px 14px 10px;display:flex;flex-direction:column;gap:4px}.note-line{color:var(--green-dim);font-family:var(--font-pixel);font-size:7px;letter-spacing:.3px}.highlighted-card .photo-card{border-color:var(--amber);box-shadow:0 0 16px #ffb30040,var(--glow-amber);animation:pulse-amber 1s ease-in-out 3}@keyframes pulse-amber{0%,to{box-shadow:0 0 8px #ffb30040}50%{box-shadow:0 0 24px #ffb300aa}}.empty-state{padding:40px;text-align:center;color:var(--muted);font-family:var(--font-pixel);font-size:8px;letter-spacing:1px}.hamburger{display:none;position:fixed;top:12px;left:12px;z-index:200;background:var(--bg-panel);border:2px solid var(--green);color:var(--green);font-family:var(--font-pixel);font-size:8px;padding:8px 12px;cursor:pointer;box-shadow:var(--glow-green)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:99}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);pointer-events:none;z-index:9999}@media (max-width: 768px){.hamburger{display:flex;align-items:center;gap:6px}.sidebar-overlay{display:block}.sidebar{position:fixed;left:-260px;top:0;height:100vh;transition:left .2s ease;box-shadow:none}.sidebar.open{left:0;box-shadow:4px 0 24px #000c}.main-content{padding:60px 12px 24px}.chapter-num-big{font-size:11px}.materials-header,.material-row{grid-template-columns:1fr 120px 80px;font-size:10px}.tab-btn{font-size:6px;padding:8px 10px}}@media (max-width: 480px){.materials-header,.material-row{grid-template-columns:1fr 90px 70px;font-size:9px}.mat-qty{font-size:9px}.mat-total{font-size:10px}.filter-row{gap:4px}.filter-btn{font-size:6px;padding:5px 7px}.sort-group{margin-left:0}}.weapon-list{display:flex;flex-direction:column;gap:8px}.weapon-card{background:#0d0d1a;border:1px solid var(--border);padding:12px 14px;transition:border-color .1s}.weapon-card:hover{border-color:#2a5a8f}.weapon-card-ultimate{border-color:#3a1a1a}.weapon-card-ultimate:hover{border-color:#822}.weapon-card-header{margin-bottom:8px}.weapon-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.weapon-name{font-family:var(--font-pixel);font-size:9px;color:var(--white);letter-spacing:.5px;flex-shrink:0}.weapon-card-ultimate .weapon-name{color:#f88}.weapon-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.badge-ultimate{font-family:var(--font-pixel);font-size:7px;color:#f44;border:1px solid #ff4444;padding:2px 5px;letter-spacing:.5px;box-shadow:0 0 6px #f443}.badge-type{font-family:var(--font-mono);font-size:10px;color:var(--muted);border:1px solid var(--border);padding:1px 5px}.badge-gun-type{font-family:var(--font-pixel);font-size:7px;color:var(--cyan);border:1px solid var(--cyan);padding:2px 5px}.ability-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ability-badge{font-family:var(--font-pixel);font-size:7px;padding:2px 6px;border:1px solid currentColor;letter-spacing:.3px}.weapon-stats-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.stat-chip{font-family:var(--font-mono);font-size:11px;color:var(--white);background:#111125;border:1px solid var(--border);padding:2px 7px;display:flex;align-items:center;gap:4px}.stat-chip-label{font-family:var(--font-pixel);font-size:6px;color:var(--muted);letter-spacing:.5px}.build-chain{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-bottom:6px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.build-chain-label{color:var(--green);font-weight:700;margin-right:2px}.build-target{color:var(--amber)}.build-sep{color:var(--muted)}.enemy-req-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}.enemy-req-label{font-family:var(--font-pixel);font-size:7px;color:var(--red);margin-right:2px}.badge-enemy{font-family:var(--font-mono);font-size:10px;color:var(--red);border:1px solid #441111;background:#1a0808;padding:1px 6px}.dungeon-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}.dungeon-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted);margin-right:2px}.dungeon-loc{font-family:var(--font-mono);font-size:10px;color:var(--cyan);border:1px solid #0a2a33;background:#060d10;padding:1px 6px}.full-stats-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:var(--font-pixel);font-size:7px;padding:3px 8px;cursor:pointer;letter-spacing:.5px;margin-top:2px;transition:all .1s}.full-stats-toggle:hover{border-color:var(--green);color:var(--green)}.weapon-full-stats{margin-top:10px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.stat-grid-row{display:flex;align-items:flex-start;gap:8px}.stat-grid-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted);min-width:30px;padding-top:2px;letter-spacing:.5px}.stat-grid{display:flex;flex-wrap:wrap;gap:4px}.stat-cell{font-family:var(--font-mono);font-size:10px;background:#0a0a18;border:1px solid #152030;padding:2px 6px;display:flex;align-items:center;gap:3px}.stat-cell-key{color:var(--muted);font-size:9px}.stat-cell-val{color:var(--white)}.shop-locations{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px}.shop-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted);margin-right:2px}.shop-entry{font-family:var(--font-mono);font-size:10px;color:var(--green-dim);border:1px solid #0a2010;background:#060f0a;padding:1px 6px}.filter-btn-ultimate.active{border-color:#f44;color:#f44;box-shadow:0 0 6px #f443}.no-results{font-family:var(--font-pixel);font-size:9px;color:var(--muted);text-align:center;padding:40px 0;letter-spacing:1px}@media (max-width: 600px){.weapon-name{font-size:7px}.stat-chip{font-size:10px;padding:2px 5px}}.ridepod-page .weapon-list{display:flex;flex-direction:column;gap:8px}.ridepod-card{background:#0d0d1a;border:1px solid var(--border);border-left:3px solid var(--border);padding:12px 14px;transition:border-color .1s}.ridepod-card:hover{border-color:#2a5a8f}.ridepod-card-header{margin-bottom:8px}.ridepod-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.ridepod-part-name{font-family:var(--font-pixel);font-size:9px;color:var(--white);letter-spacing:.5px;flex-shrink:0}.ridepod-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ridepod-type-badge{font-family:var(--font-mono);font-size:10px;border:1px solid currentColor;padding:1px 5px;opacity:.85}.badge-chapter{font-family:var(--font-pixel);font-size:7px;color:var(--muted);border:1px solid var(--border);padding:2px 5px;letter-spacing:.3px}.ridepod-cedric-badge{font-family:var(--font-mono);font-size:10px;color:var(--green-dim);border:1px solid #0a2010;background:#060f0a;padding:1px 6px}.ridepod-info-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ridepod-ideas{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:5px}.ridepod-ideas-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted);margin-right:2px;letter-spacing:.3px}.ridepod-idea-chip{font-family:var(--font-mono);font-size:10px;color:var(--amber);border:1px solid #332200;background:#0f0900;padding:1px 6px}.ridepod-materials{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin-bottom:4px}.ridepod-materials-label{font-family:var(--font-pixel);font-size:7px;color:var(--muted);letter-spacing:.3px;white-space:nowrap}.ridepod-materials-value{font-family:var(--font-mono);font-size:10px;color:#abc;line-height:1.4}.ridepod-description{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:4px;font-style:italic}.ridepod-series-group{background:#0d0d1a;border:1px solid var(--border)}.ridepod-series-header{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;background:transparent;border:none;border-left:3px solid var(--border);cursor:pointer;text-align:left;transition:background .1s}.ridepod-series-header:hover{background:#111125}.ridepod-series-header-right{display:flex;align-items:center;gap:6px}.ridepod-series-count{font-family:var(--font-pixel);font-size:7px;color:var(--muted);letter-spacing:.3px}.ridepod-collapse-arrow{font-family:var(--font-pixel);font-size:8px;color:var(--muted)}.ridepod-series-arms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--border);border-top:1px solid var(--border)}.ridepod-arm-card{background:#0a0a16;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.ridepod-arm-card-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.ridepod-series-badge{font-family:var(--font-pixel);font-size:9px;color:var(--amber);letter-spacing:.5px;min-width:20px}.ridepod-stat-pills{display:flex;flex-wrap:wrap;gap:4px}.ridepod-stat-pill{font-family:var(--font-mono);font-size:10px;border:1px solid transparent;background:#0a0a18;padding:2px 6px;display:flex;align-items:center;gap:3px}.ridepod-stat-pill-label{font-family:var(--font-pixel);font-size:6px;color:inherit;opacity:.7;letter-spacing:.3px}@media (max-width: 600px){.ridepod-series-arms{grid-template-columns:1fr}.ridepod-part-name{font-size:7px}}
