*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e0e;--surface-1: #161616;--surface-2: #1e1e1e;--border: #2a2a2a;--text: #e0ddd8;--muted: #5a5a5a;--amber: #f59e0b;--green: #22c55e;--orange: #f97316;--red: #ef4444;--blue: #3b82f6;--teal: #14b8a6;--purple: #a855f7;--sidebar-w: 220px}body{background:var(--bg);color:var(--text);font-family:Barlow,sans-serif;font-size:14px;line-height:1.4;height:100vh;overflow:hidden}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface-1);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;z-index:50}.sidebar-overlay{display:none}.sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 14px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.eyebrow{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.sidebar-brand{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text);line-height:1}.sidebar-close{display:none;background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:0 2px;line-height:1}.sidebar-close:hover{color:var(--text)}.sidebar-section{padding:10px 0;flex-shrink:0}.sidebar-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:4px 14px 6px}.sidebar-divider{height:1px;background:var(--border);flex-shrink:0}.sidebar-project{display:flex;align-items:center;padding:0 8px 0 14px;gap:2px}.sidebar-project-name{flex:1;background:transparent;border:none;color:var(--muted);font-family:Barlow,sans-serif;font-size:13px;font-weight:500;padding:5px 0;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.sidebar-project-name:hover,.sidebar-project.active .sidebar-project-name{color:var(--text)}.sidebar-project.active{border-left:2px solid var(--amber);padding-left:12px}.sidebar-icon-btn{background:transparent;border:none;color:var(--muted);font-size:13px;padding:4px 5px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s;line-height:1;flex-shrink:0}.sidebar-project:hover .sidebar-icon-btn,.sidebar-filter-row:hover .sidebar-icon-btn{opacity:1}.sidebar-icon-btn:hover{color:var(--text)}.sidebar-icon-danger:hover{color:var(--red)!important}.sidebar-add-btn{display:block;width:100%;background:transparent;border:none;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;padding:6px 14px;text-align:left;cursor:pointer;transition:color .15s}.sidebar-add-btn:hover{color:var(--amber)}.sidebar-filter-row{display:flex;align-items:center;padding-right:6px}.sidebar-filter{flex:1;display:flex;align-items:center;gap:7px;background:transparent;border:none;border-left:2px solid transparent;color:var(--muted);font-family:Barlow,sans-serif;font-size:12px;font-weight:500;padding:5px 8px 5px 12px;text-align:left;cursor:pointer;transition:color .15s,border-color .15s;min-width:0}.sidebar-filter:hover{color:var(--text)}.sidebar-filter.active{color:var(--text);border-left-color:var(--section-color, var(--amber))}.sidebar-filter-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sidebar-filter-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.sidebar-filter-count{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted);flex-shrink:0}.sidebar-filter-actions{display:flex;flex-shrink:0}.sidebar-progress-wrap{padding:0 14px 8px;display:flex;align-items:center;gap:10px}.progress-track{flex:1;height:3px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--amber);transition:width .4s ease}.sidebar-pct{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0}.sidebar-stats{padding:0 14px;display:flex;flex-direction:column;gap:3px}.sidebar-stat{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted)}.sidebar-stat.stat-complete span:last-child{color:var(--green)}.sidebar-stat.stat-in-progress span:last-child{color:var(--amber)}.sidebar-stat.stat-on-hold span:last-child{color:var(--orange)}.sidebar-footer{margin-top:auto;padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0}.sidebar-time-est{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted);margin-bottom:4px}.sync-indicator{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;min-height:14px}.sync-syncing{color:var(--amber)}.sync-synced{color:var(--green)}.sync-offline{color:var(--red)}.sync-idle{color:transparent}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.mobile-header{display:none}.table-wrap{flex:1;overflow:auto}.tracker-table{width:100%;border-collapse:collapse}.tracker-table thead th{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--bg);z-index:1}.tracker-table tbody tr{border-bottom:1px solid var(--border)}.tracker-table tbody td{padding:5px 10px;vertical-align:middle}.category-row td{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;background:var(--surface-1);border-left:3px solid var(--section-color, var(--border))}.item-row:hover{background:var(--surface-1)}.item-row.status-complete{opacity:.45}.item-name{font-weight:500;white-space:nowrap;font-size:13px}.item-name.complete{text-decoration:line-through;color:var(--muted)}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.difficulty-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.diff-1{background:#22c55e18;color:#22c55e;border:1px solid #22c55e40}.diff-2{background:#84cc1618;color:#84cc16;border:1px solid #84cc1640}.diff-3{background:#eab30818;color:#eab308;border:1px solid #eab30840}.diff-4{background:#f9731618;color:#f97316;border:1px solid #f9731640}.diff-5{background:#ef444418;color:#ef4444;border:1px solid #ef444440}.task-cell{color:var(--muted);font-size:12px;max-width:200px}.time-badge{font-family:JetBrains Mono,monospace;font-size:11px;padding:2px 8px;border:1px solid var(--border);white-space:nowrap;display:inline-block}.date-input{background:transparent;border:1px solid transparent;color:var(--text);font-family:JetBrains Mono,monospace;font-size:11px;padding:2px 4px;width:118px;cursor:pointer;color-scheme:dark}.date-input:hover{border-color:var(--border)}.date-input:focus{outline:none;border-color:var(--amber)}.status-badge{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.05em;padding:3px 8px;border:1px solid;cursor:pointer;white-space:nowrap;transition:opacity .15s;background:transparent}.status-badge:hover{opacity:.75}.status-not-started{border-color:var(--border);color:var(--muted)}.status-in-progress{border-color:#f59e0b40;color:var(--amber);background:#f59e0b0d}.status-complete{border-color:#22c55e40;color:var(--green);background:#22c55e0d}.status-on-hold{border-color:#f9731640;color:var(--orange);background:#f973160d}.notes-input{background:transparent;border:1px solid transparent;color:var(--text);font-family:Barlow,sans-serif;font-size:12px;padding:2px 4px;width:100%;min-width:140px}.notes-input:hover{border-color:var(--border)}.notes-input:focus{outline:none;border-color:var(--amber)}.notes-input::placeholder{color:#3a3a3a;font-style:italic}.row-actions{white-space:nowrap;opacity:0;transition:opacity .15s}.item-row:hover .row-actions{opacity:1}.icon-btn{background:transparent;border:none;color:var(--muted);font-size:13px;padding:2px 5px;cursor:pointer;line-height:1;transition:color .15s}.icon-btn:hover{color:var(--text)}.icon-btn-danger:hover{color:var(--red)}.add-item-row td{padding:0}.add-item-btn{display:block;width:100%;background:transparent;border:none;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;padding:5px 14px;text-align:left;cursor:pointer;transition:color .15s,background .15s}.add-item-btn:hover{color:var(--amber);background:var(--surface-1)}.bios-screen{min-height:100vh;background:#000;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px 64px}.bios-terminal{width:100%;max-width:640px;font-family:JetBrains Mono,monospace;font-size:clamp(12px,1.5vw,15px);line-height:1.6;color:#c8c8c8}.bios-blank{height:.5em}.bios-heading{color:#e0ddd8;font-weight:500;letter-spacing:.04em;margin-bottom:4px}.bios-rule{border:none;border-top:1px solid #2a2a2a;margin:2px 0 4px}.bios-project{color:#e0ddd8;font-weight:500;font-size:1.05em;letter-spacing:.06em}.bios-line,.bios-overall{display:flex;align-items:baseline}.bios-overall{margin-top:4px}.bios-sec-name{color:#666;flex-shrink:0;white-space:pre;min-width:16ch}.bios-rule-inline{color:#333;margin-right:6px;flex-shrink:0}.bios-bar{color:#f59e0b;flex-shrink:0;letter-spacing:-.04em}.bios-pct{color:#888;flex-shrink:0;min-width:6ch;text-align:right}.bios-count{color:#444;flex-shrink:0;margin-left:8px}.bios-amber{color:#f59e0b}.bios-done{color:#22c55e}.bios-cursor{display:inline-block;animation:blink 1s step-end infinite;color:#c8c8c8}.bios-prompt{color:#22c55e;animation:blink 1s step-end infinite;margin-top:8px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{display:flex;flex-direction:column;align-items:center;width:320px}.login-error{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--red);letter-spacing:.08em;margin-bottom:12px}.login-submit{width:100%;letter-spacing:.2em;padding:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface-2);border:1px solid var(--border);width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column}.modal-sm{width:340px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.modal-close{background:transparent;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:0 2px}.modal-close:hover{color:var(--text)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.modal-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:-4px}.modal-input{background:var(--surface-1);border:1px solid var(--border);color:var(--text);font-family:Barlow,sans-serif;font-size:13px;padding:7px 10px;width:100%}.modal-input:focus{outline:none;border-color:var(--amber)}.modal-select{background:var(--surface-1);border:1px solid var(--border);color:var(--text);font-family:Barlow,sans-serif;font-size:13px;padding:7px 10px;width:100%;cursor:pointer}.modal-select:focus{outline:none;border-color:var(--amber)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.modal-btn-secondary{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:Barlow,sans-serif;font-size:13px;padding:6px 16px;cursor:pointer}.modal-btn-secondary:hover{color:var(--text);border-color:#3a3a3a}.modal-btn-primary{background:var(--amber);border:1px solid var(--amber);color:#000;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;padding:6px 16px;cursor:pointer;transition:opacity .15s}.modal-btn-primary:hover{opacity:.85}.modal-btn-primary:disabled{opacity:.35;cursor:default}.difficulty-picker{display:flex;gap:6px}.diff-pick{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;transition:opacity .15s;opacity:.45}.diff-pick.active{border-color:currentColor;opacity:1}.diff-pick:hover{opacity:.85}.diff-pick.diff-1{background:#22c55e18;color:#22c55e}.diff-pick.diff-2{background:#84cc1618;color:#84cc16}.diff-pick.diff-3{background:#eab30818;color:#eab308}.diff-pick.diff-4{background:#f9731618;color:#f97316}.diff-pick.diff-5{background:#ef444418;color:#ef4444}.time-picker{display:flex;gap:6px;flex-wrap:wrap}.time-pick{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.05em;padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.time-pick:hover{color:var(--text);border-color:#3a3a3a}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text);transform:scale(1.1)}@media (max-width: 768px){body{overflow:auto;height:auto}.layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translate(-100%);transition:transform .25s ease;width:280px;min-width:280px}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:49}.mobile-header{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-1);position:sticky;top:0;z-index:10}.hamburger{background:transparent;border:none;color:var(--text);font-size:18px;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.mobile-title{flex:1;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{overflow:visible}.table-wrap{overflow-x:auto}.col-task,.col-time,.col-date,.col-notes{display:none}.tracker-table tbody td{padding:6px 8px}.tracker-table thead th{padding:8px}.status-badge{font-size:9px;padding:3px 6px}.row-actions{opacity:1}}
