:root{--tr-bg:#0b0c0f;--tr-surface:#14161c;--tr-elevated:#1a1d24;--tr-border:#ffffff14;--tr-text:#f4f5f7;--tr-muted:#8a8f98;--tr-accent:#00d395;--tr-accent-dim:#00d39526;--tr-danger:#ff6b6b;--tr-radius:14px;--tr-font:"Inter", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--tr-bg);min-height:100%;color:var(--tr-text);font-family:var(--tr-font);-webkit-font-smoothing:antialiased;margin:0}code{background:var(--tr-elevated);border-radius:6px;padding:.12em .35em;font-size:.9em}#root{min-height:100vh}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-header{border-bottom:1px solid var(--tr-border);background:linear-gradient(180deg, var(--tr-surface) 0%, var(--tr-bg) 100%);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.25rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.shell-brand{align-items:center;gap:.75rem;display:flex}.shell-logo{background:linear-gradient(135deg, var(--tr-accent) 0%, #0a8f63 100%);border-radius:10px;width:36px;height:36px;box-shadow:0 0 24px #00d39559}.shell-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.shell-sub{color:var(--tr-muted);font-size:.75rem}.shell-nav{flex-wrap:wrap;gap:.35rem;display:flex}.shell-lang{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.lang-label{color:var(--tr-muted);white-space:nowrap;font-size:.75rem}.lang-select{font:inherit;border:1px solid var(--tr-border);background:var(--tr-elevated);color:var(--tr-text);cursor:pointer;border-radius:10px;min-width:9rem;padding:.4rem .75rem;font-size:.8125rem}.lang-select:focus{border-color:#00d39573;outline:none;box-shadow:0 0 0 2px #00d39526}.shell-nav-link{color:var(--tr-muted);border:1px solid #0000;border-radius:999px;padding:.45rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.shell-nav-link:hover{color:var(--tr-text);background:#ffffff0a}.shell-nav-link--active{color:var(--tr-bg);background:var(--tr-accent);border-color:var(--tr-accent)}.shell-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem}.page{animation:.35s fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head{margin-bottom:1.5rem}.page-title{letter-spacing:-.03em;margin:0 0 .35rem;font-size:1.65rem;font-weight:700}.page-lead{max-width:52ch;margin:0;font-size:.95rem;line-height:1.5}.muted{color:var(--tr-muted)}.card{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:var(--tr-radius)}.hero-card{padding:clamp(1.25rem,3vw,2rem)}.upload-zone{cursor:pointer;margin-top:1.25rem;display:block}.upload-input{opacity:0;width:0;height:0;position:absolute}.upload-zone-inner{border-radius:var(--tr-radius);text-align:center;background:var(--tr-accent-dim);border:1px dashed #00d39559;padding:2rem 1.25rem;transition:border-color .15s,background .15s}.upload-zone:hover .upload-zone-inner{border-color:var(--tr-accent);background:#00d39538}.upload-zone-inner strong{margin-bottom:.35rem;display:block}.upload-icon{background:linear-gradient(135deg,#00d39580,#00d3951a);border-radius:12px;width:40px;height:40px;margin-bottom:.5rem;display:inline-block}.divider-label{text-align:center;color:var(--tr-muted);margin:1.25rem 0 .65rem;font-size:.8rem}.paste-area{border:1px solid var(--tr-border);background:var(--tr-elevated);width:100%;color:var(--tr-text);resize:vertical;border-radius:12px;padding:.85rem 1rem;font-family:ui-monospace,monospace;font-size:.8rem}.paste-area::placeholder{color:var(--tr-muted)}.paste-actions{justify-content:flex-end;margin-top:.65rem;display:flex}.banner{border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.banner-error{color:#ffb4b4;background:#ff6b6b1f;border:1px solid #ff6b6b59}.banner-info{background:#00d3951a;border:1px solid #00d39540}.banner-github{color:var(--tr-text);background:#00d3950f;border:1px solid #00d39538;flex-direction:column;align-items:flex-start;gap:.25rem}.import-github-banner{margin-bottom:.25rem}.import-github-banner__text{color:var(--tr-muted);margin:0;line-height:1.5}.import-github-banner__link{color:var(--tr-accent);margin-inline:.15rem;font-weight:600;text-decoration:none}.import-github-banner__link:hover{text-decoration:underline}.stats-year-scope{flex-wrap:wrap;align-items:flex-start;gap:.65rem 1.25rem;margin-bottom:.85rem;display:flex}.stats-year-scope__label{color:var(--tr-muted);margin-right:.45rem;font-size:.8125rem}.stats-year-scope__hint{flex:220px;margin:0;font-size:.78rem;line-height:1.45}.stats-year-scope__select{min-width:10.5rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}.stat-card{border-radius:var(--tr-radius);background:var(--tr-surface);border:1px solid var(--tr-border);padding:1rem 1.1rem}.stat-card--accent{border-color:#00d39559;box-shadow:0 0 0 1px #00d39514}.stat-label{color:var(--tr-muted);margin-bottom:.35rem;font-size:.75rem}.stat-value{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar--trades{align-items:flex-start}.toolbar-col{flex-direction:column;gap:.25rem;min-width:min(100%,280px);display:flex}.toolbar-hint{max-width:52ch;margin:0;font-size:.75rem;line-height:1.35}.trades-lead-note{margin-top:.5rem}.input{font:inherit;color:var(--tr-text);background:var(--tr-elevated);border:1px solid var(--tr-border);border-radius:10px;padding:.55rem .85rem}.search-input{flex:1;min-width:min(100%,320px)}.checkbox-label{color:var(--tr-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.875rem;display:flex}.table-wrap{border-radius:var(--tr-radius);overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--tr-border);padding:.65rem .85rem}.data-table th{color:var(--tr-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.th-sort{font:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.2rem;max-width:100%;margin:-.2rem -.35rem;padding:.2rem .35rem;display:inline-flex}.th-sort:hover{color:var(--tr-text);background:#ffffff0f}.th-sort--end{justify-content:flex-end;width:100%}.data-table th .th-label-end{text-align:right;color:var(--tr-muted);padding:.35rem .25rem;font-size:.75rem;font-weight:600;display:block}.data-table th.num{text-align:right}.th-sort-ind{opacity:.9;font-variant-numeric:normal;flex-shrink:0;font-size:.85em}.data-table tbody tr:hover{background:#ffffff08}.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,monospace;font-size:.8rem}.small{max-width:280px;font-size:.78rem}.cell-strong{font-weight:600}.text-pos{color:var(--tr-accent)}.text-neg{color:#ff8a8a}.empty-table{text-align:center;color:var(--tr-muted);padding:2rem}.btn{font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.45rem 1rem;font-size:.875rem;font-weight:600}.btn-primary{background:var(--tr-accent);color:var(--tr-bg)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{color:var(--tr-muted);border:1px solid var(--tr-border);background:0 0}.btn-ghost:hover{color:var(--tr-text)}.charts-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.chart-card{padding:1rem 1.1rem .5rem}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chart-head--stack{align-items:flex-start}.chart-hint{max-width:42ch;margin:.25rem 0 0;font-size:.78rem;line-height:1.4}.month-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.month-filter-badge{color:var(--tr-accent);background:var(--tr-accent-dim);border:1px solid #00d39559;border-radius:999px;padding:.25rem .65rem;font-size:.8125rem;font-weight:600}.btn-compact{padding:.35rem .75rem;font-size:.8125rem}.chart-title{margin:0 0 .5rem;font-size:1rem;font-weight:600}.chart-body{margin-top:.25rem}.pie-wrap{min-height:280px}.segmented{border:1px solid var(--tr-border);border-radius:999px;margin-bottom:.5rem;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--tr-muted);cursor:pointer;background:0 0;border:none;padding:.35rem .65rem;font-size:.78rem}.segmented button.seg-active{color:var(--tr-accent);background:#00d39533}.segmented button:hover:not(.seg-active){color:var(--tr-text)}.recharts-default-tooltip,.recharts-default-tooltip .recharts-tooltip-label,.recharts-default-tooltip .recharts-tooltip-item-list,.recharts-default-tooltip .recharts-tooltip-item-value,.recharts-default-tooltip .recharts-tooltip-item-name{color:var(--tr-text)!important}
