.grind-container{max-width:1050px;color:var(--text);margin:0 auto;padding:.75rem .5rem 3rem;font-family:Tahoma,Verdana,Helvetica,sans-serif;font-size:14px}.grind-breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.8125rem;display:flex}.grind-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .15s}.grind-breadcrumb a:hover{color:var(--text)}.grind-breadcrumb .sep{color:var(--line)}.grind-breadcrumb .current{color:var(--text);font-weight:600}.grind-layout{align-items:flex-start;gap:.75rem;min-height:650px;display:flex}.grind-category-rail{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;flex-shrink:0;gap:.35rem;width:48px;padding:.35rem;display:flex}.rail-btn{width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex;position:relative}.rail-btn:hover{background:var(--surface-2);color:var(--text)}.rail-btn.active{background:var(--surface-2);border-color:var(--spirit);color:var(--spirit)}.rail-btn[data-title]:hover:after{content:attr(data-title);background:var(--nav-bg);color:#fff;white-space:nowrap;z-index:100;border:1px solid var(--line);pointer-events:none;border-radius:3px;padding:.2rem .5rem;font-size:.75rem;position:absolute;top:50%;left:48px;transform:translateY(-50%)}.grind-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;flex-shrink:0;gap:.5rem;width:220px;padding:.5rem;display:flex}.sidebar-category-header{border-bottom:1px solid var(--line);padding:.35rem .45rem}.sidebar-category-title{color:var(--text);justify-content:space-between;align-items:center;margin:0;font-size:1rem;font-weight:700;display:flex}.sidebar-category-count{color:var(--text-muted);font-size:.75rem;font-weight:400}.sidebar-nav-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-nav-link{color:var(--text-muted);border-radius:3px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav-link.active{background:var(--surface-2);color:var(--accent);border-left:3px solid var(--accent)}.sidebar-nav-badge{text-transform:uppercase;border-radius:3px;padding:.1rem .35rem;font-size:.6875rem;font-weight:700}.sidebar-nav-badge.updated{background:var(--surface-2);color:var(--accent);border:1px solid var(--accent)}.sidebar-nav-badge.new{background:var(--surface-2);color:var(--success);border:1px solid var(--success)}.sidebar-search-box{margin:.25rem 0;position:relative}.sidebar-search-input{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:3px;padding:.35rem .5rem .35rem 1.8rem;font-size:.8125rem}.sidebar-search-input:focus{border-color:var(--accent);outline:none}.sidebar-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.sidebar-accordion{flex-direction:column;gap:.2rem;max-height:480px;padding-right:.2rem;display:flex;overflow-y:auto}.sidebar-accordion::-webkit-scrollbar{width:5px}.sidebar-accordion::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.accordion-group{border:1px solid var(--line);background:var(--bg);border-radius:3px}.accordion-header{text-transform:uppercase;color:var(--text-muted);cursor:pointer;text-align:left;user-select:none;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.35rem .5rem;font-size:.75rem;font-weight:700;display:flex}.accordion-header:hover{color:var(--text);background:var(--surface-2)}.accordion-header .caret{transition:transform .2s}.accordion-group.open .accordion-header .caret{transform:rotate(180deg)}.accordion-content{border-top:1px solid var(--line);flex-direction:column;padding:.25rem 0;display:none}.accordion-group.open .accordion-content{display:flex}.spot-tree-link{color:var(--text);justify-content:space-between;align-items:center;padding:.25rem .5rem .25rem .75rem;font-size:.8125rem;line-height:1.3;text-decoration:none;transition:all .15s;display:flex}.spot-tree-link:hover{background:var(--surface-2);color:var(--text)}.spot-tree-link.active{background:var(--surface-2);color:var(--accent);font-weight:600}.spot-tree-ap{color:var(--gold);background:#0006;border-radius:2px;padding:.05rem .25rem;font-size:.6875rem}.grind-main{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex:1;min-width:0;padding:.85rem}.grind-top-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;padding-bottom:.65rem;display:flex}.grind-category-pills{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.category-pill{background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;border-radius:3px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.category-pill:hover{color:var(--text);border-color:var(--accent)}.category-pill.active{background:var(--surface-2);border-color:var(--spirit);color:var(--spirit)}.btn-add-session{background:var(--success);color:#fff;border:1px solid var(--success);cursor:pointer;border-radius:4px;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.875rem;font-weight:700;transition:opacity .15s;display:inline-flex}.btn-add-session:hover{opacity:.9}.grind-page-header{margin-bottom:1rem}.grind-title{color:var(--text);margin:0 0 .25rem;font-size:1.4rem;font-weight:700}.grind-subtitle{color:var(--text-muted);margin:0;font-size:.875rem}.grind-subtabs{border-bottom:1px solid var(--tab-border);align-items:center;gap:.35rem;margin-bottom:.85rem;padding-bottom:.35rem;display:flex}.subtab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.35rem .75rem;font-size:.875rem;font-weight:600;transition:all .15s}.subtab-btn:hover{color:var(--text);background:var(--surface-2)}.subtab-btn.active{color:#fff;background:var(--surface-2);border-bottom:2px solid var(--accent)}.grind-filters-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.time-range-group{align-items:center;gap:.25rem;display:flex}.time-range-btn{background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;border-radius:3px;padding:.3rem .65rem;font-size:.8125rem;font-weight:600;transition:all .15s}.time-range-btn:hover{color:var(--text)}.time-range-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-btn-trigger{background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;border-radius:3px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8125rem;font-weight:600;display:inline-flex}.filter-btn-trigger:hover{color:var(--text)}.grind-stats-grid{grid-template-columns:repeat(5,1fr);gap:.65rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--bg);border:1px solid var(--line);border-radius:4px;flex-direction:column;padding:.75rem;display:flex}.stat-card-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;font-size:.6875rem;font-weight:700}.stat-card-value{color:#fff;font-size:1.35rem;font-weight:700;line-height:1.2}.stat-card-sub{color:var(--gold);margin-top:.2rem;font-size:.75rem}.grind-section-card{background:var(--bg);border:1px solid var(--line);border-radius:4px;margin-bottom:1rem;overflow:hidden}.section-card-header{background:var(--surface-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.section-card-title{color:#fff;margin:0;font-size:.9375rem;font-weight:700}.section-card-desc{color:var(--text-muted);margin:.2rem 0 0;font-size:.8125rem}.section-card-body{min-height:100px;padding:.85rem}.grind-grid-2col{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.grind-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1rem;display:flex}.empty-state-icon{opacity:.6;margin-bottom:.5rem;font-size:2rem}.empty-state-text{color:var(--text-muted);margin-bottom:.5rem;font-size:.9375rem}.silver-sources-list{flex-direction:column;gap:.6rem;display:flex}.silver-source-item{flex-direction:column;gap:.2rem;display:flex}.silver-source-labels{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.source-spot-name{color:var(--text);font-weight:600}.source-spot-silver{color:var(--gold);font-weight:600}.source-bar-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.source-bar-fill{background:var(--primary);border-radius:4px;height:100%;transition:width .3s}.box-plot-wrap{flex-direction:column;gap:.5rem;display:flex}.box-plot-labels{text-align:center;color:var(--text-muted);grid-template-columns:repeat(5,1fr);font-size:.6875rem;display:grid}.box-plot-value{color:var(--text);font-size:.75rem;font-weight:700}.calendar-heatmap-wrap{flex-direction:column;gap:.5rem;display:flex}.calendar-streak-info{color:var(--text-muted);align-items:center;gap:1rem;font-size:.8125rem;display:flex}.calendar-streak-val{color:var(--gold);font-weight:700}.calendar-grid-cells{grid-template-columns:repeat(14,1fr);gap:3px;display:grid}.calendar-day-cell{aspect-ratio:1;background:var(--surface-2);cursor:pointer;border-radius:2px;position:relative}.calendar-day-cell.active-1{background:var(--surface-2)}.calendar-day-cell.active-2{background:var(--plum)}.calendar-day-cell.active-3{background:var(--primary)}.calendar-day-cell.active-4{background:var(--accent)}.hourly-histogram{align-items:flex-end;gap:2px;height:90px;padding-top:10px;display:flex}.hourly-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.hourly-bar{background:var(--primary);border-radius:2px 2px 0 0;width:100%;min-height:2px;transition:height .2s}.hourly-label{color:var(--text-muted);margin-top:2px;font-size:.5625rem}.grind-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.grind-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.grind-table th{background:var(--surface-2);color:#fff;border-bottom:1px solid var(--line);white-space:nowrap;padding:.5rem .6rem;font-weight:700}.grind-table td{border-bottom:1px solid var(--line);color:var(--text);padding:.5rem .6rem}.grind-table tr:hover td{background:var(--surface-2)}.badge-category{text-transform:uppercase;border-radius:3px;padding:.15rem .4rem;font-size:.6875rem;font-weight:700;display:inline-block}.badge-category.meta{background:var(--surface-2);color:var(--spirit);border:1px solid var(--spirit)}.badge-category.competitive{background:var(--surface-2);color:var(--accent);border:1px solid var(--accent)}.badge-category.niche{background:var(--surface-2);color:var(--grade-green);border:1px solid var(--grade-green)}.badge-category.treasure{background:var(--surface-2);color:var(--gold);border:1px solid var(--gold)}.badge-category.dead{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--line)}.badge-marni{border-radius:3px;padding:.1rem .35rem;font-size:.6875rem;display:inline-block}.badge-marni.same{background:var(--surface-2);color:var(--accent)}.badge-marni.viable{background:var(--surface-2);color:var(--gold)}.badge-marni.none{color:var(--text-muted);background:0 0}.cc-pills-row{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.cc-pill{background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);border-radius:3px;padding:.1rem .35rem;font-size:.6875rem}.spot-header-card{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;margin-bottom:1.25rem;padding:1rem}.spot-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.spot-name-h1{color:#fff;margin:0;font-size:1.5rem;font-weight:700}.spot-kpi-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.spot-kpi-item{flex-direction:column;display:flex}.spot-kpi-label{color:var(--text-muted);text-transform:uppercase;font-size:.6875rem}.spot-kpi-val{color:var(--text);font-size:1.1rem;font-weight:700}.drop-item-cell{align-items:center;gap:.5rem;display:flex}.drop-item-icon{border:1px solid var(--line);background:var(--bg);border-radius:3px;width:28px;height:28px}.drop-item-name{color:var(--text);font-weight:600}.grind-modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.grind-modal-overlay.active{display:flex}.grind-modal{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;width:100%;max-width:680px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000080}.grind-modal form{flex-direction:column;flex:1;min-height:0;margin:0;display:flex;overflow:hidden}.grind-modal-header{background:var(--surface-2);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem 1rem;display:flex}.modal-title{color:#fff;margin:0;font-size:1.1rem;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.modal-close-btn:hover{color:#fff}.grind-modal-body{flex-direction:column;flex:1;gap:.7rem;min-height:0;padding:.85rem 1rem;display:flex;overflow-y:auto}.form-grid-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.form-group{flex-direction:column;gap:.25rem;display:flex}.form-label{color:var(--text-muted);font-size:.8125rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--surface-2);border:1px solid var(--line);color:var(--text);box-sizing:border-box;border-radius:3px;padding:.4rem .6rem;font-size:.875rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);outline:none}.drops-input-section{border:1px solid var(--line);background:var(--bg);border-radius:4px;margin-top:.5rem;padding:.75rem}.drops-list-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;max-height:220px;margin-top:.5rem;padding-right:.35rem;display:grid;overflow-y:auto}.drop-input-card{background:var(--surface-2);border:1px solid var(--line);border-radius:3px;justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem;display:flex}.drop-card-info{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.drop-card-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.75rem;font-weight:600;overflow:hidden}.drop-card-input{background:var(--bg);border:1px solid var(--line);color:#fff;text-align:right;border-radius:2px;width:70px;padding:.2rem .35rem;font-size:.8125rem}.grind-modal-footer{background:var(--surface-2);border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.btn-secondary{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:.4rem .85rem;font-size:.875rem}.btn-secondary:hover{color:var(--text);background:#ffffff0d}.btn-primary{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;border-radius:3px;padding:.4rem 1rem;font-size:.875rem;font-weight:700}.btn-primary:hover{opacity:.9}.grind-mobile-drawer-toggle{background:var(--surface-2);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:3px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8125rem;font-weight:600;display:none}@media (width<=900px){.grind-layout{flex-direction:column}.grind-category-rail{box-sizing:border-box;flex-direction:row;width:100%;overflow-x:auto}.rail-btn[data-title]:hover:after{display:none}.grind-sidebar{box-sizing:border-box;width:100%;display:none}.grind-sidebar.mobile-open{display:flex}.grind-mobile-drawer-toggle{display:inline-flex}.grind-stats-grid{grid-template-columns:repeat(2,1fr)}.grind-grid-2col,.form-grid-2,.form-grid-3{grid-template-columns:1fr}}@media (width<=480px){.grind-container{padding:.5rem .25rem 2rem}.grind-stats-grid{grid-template-columns:1fr}.calendar-grid-cells{grid-template-columns:repeat(7,1fr)}.grind-top-bar{flex-direction:column;align-items:stretch}.btn-add-session{justify-content:center}}
