@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#08080d;--bg-secondary:#0e0e16;--bg-card:#14141e;--bg-hover:#1c1c2a;--border:#1e1e30;--border-bright:#2a2a44;--text-primary:#e8e8f0;--text-secondary:#8888a0;--text-muted:#555570;--accent:#c8a24e;--accent-dim:#2e2a1a;--amber:#fa0;--amber-dim:#2e2a1a;--profit-green:#00e676;--profit-red:#ff3d3d;--link:#6ea8fe;--signal-green:#00e676;--signal-amber:#fa0;--signal-red:#ff3d3d;--signal-green-bg:#0a2a14;--signal-amber-bg:#2e2a1a;--signal-red-bg:#2a0e0e;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary)}body{min-height:100vh}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.brand-mark{background:linear-gradient(135deg, var(--amber), var(--accent));color:var(--bg-primary);font-size:1.1rem;font-weight:800;font-family:var(--font-display);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 0 12px #fa03}.brand-title{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.2;font-family:var(--font-display)}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.nav-link{color:var(--text-secondary);border-left:2px solid #0000;border-radius:6px;padding:.6rem .75rem;font-size:.9rem;transition:all .15s}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary);border-left-color:var(--border-bright);text-decoration:none}.nav-link--active{background:var(--accent-dim);color:var(--amber);border-left-color:var(--amber);font-weight:600}.sidebar-footer{margin-top:auto}.sidebar-footer__credit{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.sidebar-footer__version{color:var(--text-muted);margin-top:.5rem;font-size:.7rem}.main-area{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.topbar-title{font-size:1.1rem;font-weight:600;font-family:var(--font-display);letter-spacing:-.01em}.topbar-right{align-items:center;gap:.75rem;display:flex}.topbar-btn{width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border);background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.topbar-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.league-day-indicator{font-size:.7rem;font-family:var(--font-display);color:var(--amber);background:var(--amber-dim);letter-spacing:.05em;text-transform:uppercase;border:1px solid #ffaa0026;border-radius:4px;padding:.25rem .6rem;font-weight:600}.main-content{flex:1;width:100%;max-width:1400px;padding:1.5rem}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;padding:.75rem 1.5rem;font-size:.75rem;display:flex}.alert-banner{background:linear-gradient(90deg, var(--signal-red-bg), var(--signal-amber-bg) 50%, var(--signal-red-bg));font-size:.85rem;font-family:var(--font-display);border-bottom:1px solid #ff3d3d4d;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;display:flex;position:relative;overflow:hidden}.alert-banner:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffaa000a 50%,#0000 100%);animation:3s ease-in-out infinite alert-sweep;position:absolute;inset:0}@keyframes alert-sweep{0%,to{opacity:0}50%{opacity:1}}.alert-banner__content{z-index:1;align-items:center;gap:.6rem;display:flex;position:relative}.alert-banner__dot{background:var(--signal-red);width:8px;height:8px;box-shadow:0 0 6px var(--signal-red);border-radius:50%;flex-shrink:0;animation:1.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 6px var(--signal-red)}50%{opacity:.5;box-shadow:0 0 12px var(--signal-red), 0 0 24px #ff3d3d4d}}.alert-banner__text{color:var(--text-primary)}.alert-banner__icon{color:var(--amber)}.alert-banner__count{color:var(--amber);font-variant-numeric:tabular-nums;font-weight:700;animation:2s ease-in-out infinite pulse-count}@keyframes pulse-count{0%,to{text-shadow:none}50%{text-shadow:0 0 8px #ffaa0080}}.alert-banner__dismiss{color:var(--text-muted);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.2rem;line-height:1;transition:all .15s;position:relative}.alert-banner__dismiss:hover{color:var(--text-primary);background:#ffffff0d}.trade-settings{position:relative}.trade-settings__header{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.85rem;transition:all .15s;display:flex}.trade-settings__header:hover{border-color:var(--border-bright)}.trade-settings__controls{align-items:center;gap:.5rem;display:flex}.trade-setting__select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:.8rem;font-family:var(--font-body);border-radius:4px;padding:.3rem .5rem}.trade-setting__label{color:var(--text-muted);font-size:.7rem}.trade-setting{flex-direction:column;gap:.15rem;display:flex}.loading-screen{min-height:400px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--amber);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-sub{color:var(--text-muted);font-size:.85rem}.stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border-bright)}.stat-card:before{content:"";background:linear-gradient(90deg, var(--amber), transparent);opacity:.4;height:2px;position:absolute;top:0;left:0;right:0}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-family:var(--font-display);align-items:center;gap:.4rem;display:flex}.stat-label:before{content:"";background:var(--amber);opacity:.6;border-radius:50%;width:6px;height:6px;animation:2.5s ease-in-out infinite stat-pulse}@keyframes stat-pulse{0%,to{opacity:.3}50%{opacity:.8;box-shadow:0 0 4px #fa06}}.stat-value{font-size:1.4rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.stat-sub{font-size:.85rem}.filters{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.filter-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);font-size:.9rem;font-family:var(--font-body);border-radius:6px;min-width:220px;padding:.5rem .75rem;transition:border-color .15s}.filter-input:focus{border-color:var(--amber);outline:none;box-shadow:0 0 0 1px #ffaa0026}.filter-input--small{width:80px;min-width:80px}.filter-field{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.filter-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.table-wrapper{overflow-x:auto}.card-table{border-collapse:collapse;width:100%;font-size:.875rem}.card-table thead{z-index:5;position:sticky;top:0}.card-table__th{background:var(--bg-card);border-bottom:2px solid var(--border-bright);text-align:left;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600;font-family:var(--font-display);vertical-align:bottom;padding:.75rem .6rem;transition:color .15s}.th-sub{text-transform:none;color:var(--text-muted);letter-spacing:0;font-size:.6rem;font-weight:400;font-family:var(--font-body);margin-top:.1rem;display:block}.card-table__th:hover{color:var(--text-primary)}.card-table__th--active{color:var(--amber)}.sort-arrow{font-size:.75rem}.card-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.6rem}.card-table tr:hover{background:var(--bg-hover)}.row--loss{opacity:.6}.card-table__name{align-items:center;gap:.6rem;min-width:260px;display:flex;position:relative}.card-icon{object-fit:contain;border-radius:3px;flex-shrink:0;width:36px;height:48px}.card-name{color:var(--text-primary);font-weight:600;font-family:var(--font-display);display:block}.card-reward{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.75rem;display:block;overflow:hidden}.card-stack{color:var(--text-muted);font-size:.7rem;display:block}.card-table__price{white-space:nowrap;font-variant-numeric:tabular-nums}.trend{margin-left:.4rem;font-size:.75rem}.trend--up{color:var(--profit-green)}.trend--down{color:var(--profit-red)}.profit--positive{color:var(--profit-green);font-weight:600}.profit--negative{color:var(--profit-red)}.card-art-tooltip{z-index:100;background:var(--bg-primary);border:1px solid var(--amber-dim);pointer-events:none;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;min-width:200px;margin-left:.75rem;padding:.5rem;display:flex;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 8px 32px #000000b3,0 0 20px #ffaa000d}.card-art-img{border-radius:4px;width:180px;height:auto}.card-art-info{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:.15rem;font-size:.75rem;display:flex}.card-art-info strong{color:var(--amber);font-size:.85rem}.card-art-stack{color:var(--text-muted)}.card-art-reward{color:var(--text-secondary);max-width:180px}.card-table__links{white-space:nowrap}.card-table__links a+a{margin-left:.35rem}.trade-btn,.ninja-btn{font-size:.75rem;font-weight:600;font-family:var(--font-display);letter-spacing:.02em;border-radius:4px;padding:.3rem .6rem;transition:all .15s;display:inline-block}.trade-btn{background:var(--accent-dim);color:var(--accent)}.trade-btn:hover{background:var(--accent);color:var(--bg-primary);text-decoration:none}.ninja-btn{color:var(--signal-green);background:#0a2a14}.ninja-btn:hover{background:var(--signal-green);color:var(--bg-primary);text-decoration:none}.empty-state,.error-state{text-align:center;color:var(--text-secondary);padding:3rem}.error-details{background:var(--bg-card);border:1px solid var(--signal-red-bg);border-left:3px solid var(--signal-red);max-width:600px;color:var(--profit-red);white-space:pre-wrap;word-break:break-word;text-align:left;font-size:.8rem;font-family:var(--font-body);border-radius:6px;margin:1rem auto;padding:1rem}.error-hint{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.error-state button{background:var(--amber);color:var(--bg-primary);cursor:pointer;font-weight:600;font-family:var(--font-display);border:none;border-radius:6px;margin-top:1rem;padding:.5rem 1.5rem}@media (width<=768px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.stats-row{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.filter-input{min-width:unset;width:100%}}.spike-tracker-page{flex-direction:column;gap:1.5rem;display:flex}.spike-tracker-page__controls{flex-direction:column;gap:1rem;display:flex}.spike-tracker-page__filters{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.spike-tracker-page__content{grid-template-columns:1fr 400px;gap:1.5rem;display:grid}.filter-label{color:var(--text-secondary);font-size:.85rem;font-family:var(--font-display);align-items:center;gap:.5rem;display:flex}.category-filter{flex-wrap:wrap;gap:.4rem;display:flex}.category-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-family:var(--font-display);border-radius:6px;padding:.4rem .8rem;transition:all .15s}.category-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-bright)}.category-btn--active{background:var(--accent-dim);color:var(--amber);border-color:#ffaa004d;font-weight:600}.category-btn--recommended{border-color:var(--accent-dim)}.category-btn--recommended.category-btn--active{background:var(--amber);color:#0a0a0f;border-color:var(--amber)}.league-selector{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.league-selector__label{color:var(--text-secondary);font-size:.85rem;font-weight:600;font-family:var(--font-display)}.league-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.spike-table{border-collapse:collapse;width:100%;font-size:.875rem}.spike-table thead th{background:var(--bg-card);border-bottom:2px solid var(--border-bright);text-align:left;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600;font-family:var(--font-display);padding:.75rem .6rem}.spike-table thead th:hover{color:var(--text-primary)}.spike-table thead th.sorted{color:var(--amber)}.spike-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.6rem}.spike-table tr:hover{background:var(--bg-hover);cursor:pointer}.spike-table tr.row--selected{background:var(--accent-dim);border-left:2px solid var(--amber)}.cell--item{align-items:center;gap:.5rem;min-width:200px;display:flex}.item-icon{object-fit:contain;border-radius:3px;width:28px;height:28px}.item-type-badge{background:var(--bg-hover);color:var(--text-muted);white-space:nowrap;font-size:.6rem;font-weight:500;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;border-radius:3px;margin-left:auto;padding:.1rem .35rem}.spike-badge{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;font-family:var(--font-display);border-radius:4px;padding:.2rem .5rem}.spike-badge--extreme{background:var(--signal-green-bg);color:var(--signal-green);box-shadow:inset 0 0 8px #00e6761a}.spike-badge--high{background:var(--signal-green-bg);color:#6c6}.spike-badge--positive{color:#8b7;background:#0a1e10}.spike-badge--negative{background:var(--signal-amber-bg);color:var(--signal-amber)}.spike-badge--crash{background:var(--signal-red-bg);color:var(--signal-red)}.spike-badge--na{color:var(--text-muted)}.spike-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative}.spike-chart:before{content:"";background:linear-gradient(90deg, var(--amber), transparent);opacity:.3;border-radius:8px 8px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.spike-chart--empty{min-height:300px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.spike-chart__title{font-size:1rem;font-weight:600;font-family:var(--font-display);margin-bottom:.75rem}.spike-chart__hint{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.loading-dot{color:var(--amber)}.result-count{color:var(--text-muted);font-size:.8rem;font-family:var(--font-display);margin-bottom:.5rem}.error-banner{background:var(--signal-red-bg);border:1px solid #ff3d3d4d;border-left:3px solid var(--signal-red);color:#f66;border-radius:6px;padding:.75rem 1rem;font-size:.85rem}.loading-banner{color:var(--amber);font-size:.9rem;font-family:var(--font-display);padding:1rem 0}@media (width<=1024px){.spike-tracker-page__content{grid-template-columns:1fr}}.confidence-badge{font-size:.75rem;font-weight:600;font-family:var(--font-display);letter-spacing:.02em;border-radius:4px;padding:.2rem .5rem}.confidence--high{background:var(--signal-green-bg);color:var(--signal-green);border:1px solid #00e67633}.confidence--medium{background:var(--signal-amber-bg);color:var(--signal-amber);border:1px solid #fa03}.confidence--low{color:#777790;background:#1a1a22;border:1px solid #77779026}.signal-tag{font-size:.7rem;font-weight:600;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;border-radius:4px;align-items:center;gap:.3rem;padding:.15rem .5rem;display:inline-flex}.signal-tag--breaking{background:var(--signal-green-bg);color:var(--signal-green);border:1px solid #00e67633}.signal-tag--accelerating{background:var(--signal-amber-bg);color:var(--signal-amber);border:1px solid #fa03}.signal-tag--peak{background:var(--signal-red-bg);color:var(--signal-red);border:1px solid #ff3d3d33}.signal-tag__dot{background:currentColor;border-radius:50%;width:5px;height:5px}.investment-page{flex-direction:column;gap:1.5rem;display:flex}.investment-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.investment-page__header h2{font-size:1.3rem;font-weight:700;font-family:var(--font-display)}.investment-page__subtitle{color:var(--text-secondary);max-width:600px;margin-top:.25rem;font-size:.9rem}.investment-page__actions{gap:.5rem;display:flex}.wizard{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;position:relative}.wizard:before{content:"";background:linear-gradient(90deg, var(--amber), var(--accent), transparent);opacity:.5;border-radius:8px 8px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.wizard__progress{gap:1rem;margin-bottom:1.5rem;display:flex}.wizard__step{color:var(--text-muted);font-size:.85rem;font-family:var(--font-display);align-items:center;gap:.5rem;display:flex}.wizard__step--active{color:var(--amber);font-weight:600}.wizard__step--done{color:var(--signal-green)}.wizard__step-num{border:2px solid var(--border);width:24px;height:24px;font-size:.75rem;font-weight:700;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.wizard__step--active .wizard__step-num{border-color:var(--amber);background:var(--amber-dim);color:var(--amber);box-shadow:0 0 8px #ffaa0026}.wizard__step--done .wizard__step-num{border-color:var(--signal-green);background:var(--signal-green-bg);color:var(--signal-green)}.wizard__panel h3{font-size:1.1rem;font-family:var(--font-display);margin-bottom:1rem}.wizard__options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.wizard__option{border:2px solid var(--border);background:var(--bg-secondary);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;transition:all .15s;display:flex}.wizard__option:hover{border-color:var(--border-bright)}.wizard__option--selected{border-color:var(--amber);background:var(--amber-dim);box-shadow:0 0 12px #ffaa000f}.wizard__option strong{color:var(--text-primary);font-size:.95rem;font-family:var(--font-display)}.wizard__option span{color:var(--text-secondary);font-size:.8rem}.wizard__tiers{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.wizard__tier{border:2px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-display);border-radius:8px;padding:.75rem 1.5rem;transition:all .15s}.wizard__tier:hover{border-color:var(--border-bright)}.wizard__tier--selected{border-color:var(--amber);background:var(--amber-dim);color:var(--amber);box-shadow:0 0 12px #ffaa001a}.wizard__custom-input{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.wizard__slider{accent-color:var(--amber);flex:1}.wizard__slider-value{color:var(--amber);min-width:60px;font-size:1.1rem;font-weight:700;font-family:var(--font-display)}.wizard__nav{gap:.5rem;display:flex}.btn--small{padding:.25rem .6rem;font-size:.75rem}.btn{cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-display);letter-spacing:.01em;border:none;border-radius:6px;padding:.5rem 1.25rem;transition:all .15s}.btn--primary{background:linear-gradient(135deg, var(--amber), var(--accent));color:var(--bg-primary);box-shadow:0 2px 8px #ffaa0026}.btn--primary:hover{filter:brightness(1.1);box-shadow:0 2px 12px #ffaa0040}.btn--secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn--secondary:hover{background:var(--bg-hover);border-color:var(--border-bright)}.inv-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:300px;padding:1rem;transition:border-color .2s}.inv-card:hover{border-color:var(--border-bright)}.inv-card--buy{border-left:3px solid var(--signal-green)}.inv-card--sell{border-left:3px solid var(--amber)}.inv-card__header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.inv-card__icon{object-fit:contain;border-radius:3px;width:32px;height:32px}.inv-card__info{flex:1}.inv-card__name{font-size:.9rem;font-weight:600;font-family:var(--font-display);display:block}.inv-card__type{color:var(--text-muted);font-size:.7rem;display:block}.inv-card__body{flex-direction:column;gap:.5rem;display:flex}.inv-card__price,.inv-card__roi,.inv-card__timing{flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.85rem;display:flex}.inv-card__label{color:var(--text-muted);text-transform:uppercase;min-width:100%;font-size:.65rem;font-family:var(--font-display);letter-spacing:.05em}.inv-card__value{font-size:1rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.inv-card__value--green{color:var(--signal-green)}.inv-card__current{color:var(--text-secondary);font-size:.8rem}.inv-card__range{color:var(--text-muted);font-size:.75rem}.inv-card__hold{color:var(--text-muted);margin-left:.25rem;font-size:.75rem}.inv-card__style-tag{background:var(--bg-hover);color:var(--text-secondary);font-size:.7rem;font-weight:600;font-family:var(--font-display);border-radius:4px;margin-top:.25rem;padding:.15rem .5rem;display:inline-block}.inv-card__add-btn{width:100%;margin-top:.75rem}.sell-signal{border-radius:6px;gap:.5rem;margin-top:.25rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.sell-signal--danger{background:var(--signal-red-bg);color:#f66;border:1px solid #ff3d3d33}.sell-signal--info{color:#6af;background:#0e1a2a;border:1px solid #66aaff26}.sell-signal__icon{font-weight:700}.timeline__summary{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.timeline__stat{flex-direction:column;display:flex}.timeline__stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-family:var(--font-display);letter-spacing:.05em}.timeline__stat-value{font-size:1.25rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.timeline__stat-value--green{color:var(--signal-green)}.timeline__days{flex-direction:column;gap:1rem;display:flex}.timeline__day{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative}.timeline__day:before{content:"";background:var(--amber);opacity:.2;border-radius:8px 0 0 8px;width:2px;position:absolute;top:0;bottom:0;left:0}.timeline__day-header{align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.timeline__day-num{color:var(--amber);font-size:1.1rem;font-weight:700;font-family:var(--font-display)}.timeline__day-note{color:var(--text-muted);font-size:.8rem;font-style:italic}.timeline__section{margin-bottom:.75rem}.timeline__section-title{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-family:var(--font-display);margin-bottom:.5rem}.timeline__section-title--buy{color:var(--signal-green)}.timeline__section-title--sell{color:var(--amber)}.timeline__cards{flex-wrap:wrap;gap:.75rem;display:flex}.roi-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative}.roi-chart:before{content:"";background:linear-gradient(90deg, var(--signal-green), var(--amber), transparent);opacity:.3;border-radius:8px 8px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.roi-chart__title{font-size:1rem;font-weight:600;font-family:var(--font-display)}.roi-chart__subtitle{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.portfolio{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem}.portfolio__title{font-size:1rem;font-weight:600;font-family:var(--font-display);margin-bottom:.75rem}.portfolio__summary{border-bottom:1px solid var(--border);gap:1.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.portfolio__stat{flex-direction:column;display:flex}.portfolio__stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-family:var(--font-display);letter-spacing:.05em}.portfolio__stat-value{font-size:1.1rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.portfolio__stat-value--green{color:var(--signal-green)}.portfolio__stat-value--red{color:var(--signal-red)}.portfolio__section{margin-bottom:1rem}.portfolio__section h4{color:var(--text-secondary);font-size:.85rem;font-family:var(--font-display);margin-bottom:.5rem}.portfolio__table{border-collapse:collapse;width:100%;font-size:.85rem}.portfolio__table th{background:var(--bg-secondary);text-align:left;color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-family:var(--font-display);letter-spacing:.05em;padding:.5rem}.portfolio__table td{border-bottom:1px solid var(--border);padding:.5rem}.portfolio__empty{color:var(--text-muted);text-align:center;padding:2rem;font-size:.85rem}.investment-page__tabs{gap:.25rem;display:flex}.investment-page__plan-actions{gap:.5rem;display:flex}.live-portfolio{flex-direction:column;gap:1.5rem;display:flex}.live-portfolio__login{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:8px;padding:2rem}.live-portfolio__login h3{font-family:var(--font-display);margin-bottom:.5rem}.live-portfolio__login p{color:var(--text-secondary);max-width:500px;margin-bottom:1rem;margin-left:auto;margin-right:auto;font-size:.9rem}.live-portfolio__pickers{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.live-portfolio__section h3{font-size:1rem;font-weight:600;font-family:var(--font-display);margin-bottom:.75rem}.login-btn{align-items:center;gap:.5rem;display:flex}.login-btn__account{color:var(--amber);font-size:.85rem;font-weight:600;font-family:var(--font-display)}.stash-picker,.char-picker{flex-direction:column;gap:.5rem;display:flex}.stash-picker__label,.char-picker__label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-family:var(--font-display);letter-spacing:.05em}.stash-grid__summary{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;gap:1.5rem;margin-bottom:1rem;padding:1rem;display:flex}.stash-grid__stat{flex-direction:column;display:flex}.stash-grid__stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-family:var(--font-display);letter-spacing:.05em}.stash-grid__stat-value{font-size:1.1rem;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums}.stash-grid__stat--warn .stash-grid__stat-value{color:var(--signal-amber)}.stash-grid__stat--good .stash-grid__stat-value{color:var(--signal-green)}.stash-grid__items{flex-direction:column;gap:.5rem;display:flex}.stash-grid__item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;transition:border-color .15s;display:flex}.stash-grid__item:hover{border-color:var(--border-bright)}.stash-grid__icon{object-fit:contain;width:40px;height:40px}.stash-grid__item-info{flex-direction:column;flex:1;display:flex}.stash-grid__item-name{font-size:.9rem;font-weight:600;font-family:var(--font-display)}.stash-grid__item-price{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.85rem}.stash-grid__item-total{color:var(--text-muted);font-size:.75rem}.stash-grid__alerts{flex-direction:column;gap:.25rem;max-width:300px;display:flex}.price-alert{font-size:.75rem;font-family:var(--font-display);border-radius:4px;gap:.4rem;padding:.3rem .5rem;display:flex}.price-alert--crashing{background:var(--signal-red-bg);color:var(--signal-red);border:1px solid #ff3d3d33}.price-alert--falling{background:var(--signal-amber-bg);color:var(--signal-amber);border:1px solid #fa03}.price-alert--rising{background:var(--signal-green-bg);color:var(--signal-green);border:1px solid #00e67633}.price-alert--stable{background:var(--bg-secondary);color:var(--text-muted)}.price-alert__icon{font-weight:700}.sell-rebuy{color:#aaf;background:#0e0e22;border:1px solid #aaaaff26;border-radius:4px;gap:.4rem;padding:.3rem .5rem;font-size:.75rem;display:flex}.sell-rebuy__icon{font-weight:700}.gear-view__summary{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.gear-view__stat--warn{color:var(--signal-amber)}.gear-view__slots{flex-direction:column;gap:.5rem;display:flex}.gear-view__slot{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.5rem;padding:.75rem;transition:border-color .15s;display:flex}.gear-view__slot:hover{border-color:var(--border-bright)}.gear-view__slot-header{align-items:center;gap:.75rem;display:flex}.gear-view__icon{object-fit:contain;width:48px;height:48px}.gear-view__slot-info{flex-direction:column;flex:1;display:flex}.gear-view__slot-name{font-size:.9rem;font-weight:600;font-family:var(--font-display)}.gear-view__slot-pos{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-family:var(--font-display);letter-spacing:.05em}.gear-view__slot-price{color:var(--amber);font-variant-numeric:tabular-nums;font-size:.85rem}@media (width<=768px){.live-portfolio__pickers{grid-template-columns:1fr}}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border);stroke-opacity:.5}.recharts-text{fill:var(--text-muted);font-family:var(--font-display);font-size:.7rem}.recharts-tooltip-wrapper{filter:drop-shadow(0 4px 12px #00000080)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{color:var(--text-primary);background:#fa03}
