*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e10;--surface:#18181b;--surface2:#1f1f23;--border:#2a2a2f;--border2:#3a3a42;--text:#f0f0f2;--muted:#8b8b99;--muted2:#5a5a66;--purple:#a78bfa;--purple-dim:#7c5cbf;--purple-bg:#1e1730;--blue:#60a5fa;--blue-dim:#3b6fcf;--blue-bg:#0f1e35;--mono:"JetBrains Mono", monospace}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}button{font-family:inherit}textarea,input,select{color:var(--text);font-family:inherit}input[type=time]::-webkit-calendar-picker-indicator{filter:invert()}input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}select option{background:var(--surface2)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@keyframes pulse{0%,to{box-shadow:0 0 #a78bfa66}50%{box-shadow:0 0 0 6px #a78bfa00}}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.app-shell{width:100%;max-width:none;margin:0 auto;padding:0 24px 60px}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.header-title{font-size:20px;font-weight:700}.date-label{color:var(--text);font-size:14px;font-weight:600}.header-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.time-pill{font-family:var(--mono);color:var(--purple);background:var(--purple-bg);border:1px solid var(--purple-dim);border-radius:8px;padding:6px 14px;font-size:14px}.nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.nav-btn-accent{width:auto;color:var(--purple);border-color:var(--purple-dim);background:var(--purple-bg);padding:0 12px;font-size:12px}.avatar{border:1px solid var(--border);cursor:pointer;border-radius:50%}.main-grid{grid-template-columns:minmax(230px,.85fr) minmax(0,1.5fr) minmax(250px,1fr);align-items:start;gap:20px;margin-bottom:20px;display:grid}.inbox-column{align-content:start;gap:20px;min-width:0;display:grid}.braindump-panel{background:var(--surface);border:1px dashed var(--border2);border-radius:18px;align-content:start;gap:12px;min-width:0;padding:20px;display:grid}.dump-add{gap:8px;display:flex}.dump-add input{background:var(--surface2);border:1px solid var(--border);min-width:0;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:13px}.dump-add button{background:var(--purple-bg);border:1px solid var(--purple-dim);color:var(--purple);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 14px;font-size:12px}.dump-add button:disabled{opacity:.5;cursor:default}.dump-list{gap:8px;display:grid}.dump-empty{color:var(--muted2);padding:6px 2px;font-size:12px;line-height:1.5}.dump-item{background:var(--surface2);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:8px;min-width:0;padding:8px 10px;display:flex}.dump-item-info{flex:1;min-width:0}.dump-item-name{white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:13px;font-weight:500;line-height:1.4}.dump-today-btn{background:var(--purple-bg);border:1px solid var(--purple-dim);color:var(--purple);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;align-self:flex-start;padding:4px 10px;font-size:11px}.dump-today-btn:hover{background:var(--purple-dim);color:#fff}.dump-del-btn{color:var(--muted2);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:12px}.dump-del-btn:hover{color:var(--text)}.target-panel{background:linear-gradient(135deg, #1e1730 0%, var(--surface) 70%);border:1px solid var(--purple-dim);border-radius:18px;gap:12px;min-width:0;padding:20px;display:grid}.target-heading{gap:3px;display:grid}.target-kicker{color:var(--purple);font-family:var(--mono);letter-spacing:.03em;font-size:12px;font-weight:600}.target-subtitle{color:var(--muted);font-size:11px}.exam-add{gap:8px;display:grid}.exam-add input{background:var(--surface2);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 10px;font-size:13px}.exam-form-actions{gap:8px;display:flex}.exam-form-actions button{background:var(--purple-bg);border:1px solid var(--purple-dim);color:var(--purple);cursor:pointer;border-radius:8px;justify-self:start;padding:6px 14px;font-size:12px}.exam-add button:disabled{opacity:.5;cursor:default}.exam-cancel-btn{background:var(--surface2)!important;border-color:var(--border)!important;color:var(--muted)!important}.exam-list{gap:8px;display:grid}.exam-empty{color:var(--muted2);font-size:12px;line-height:1.5}.exam-item{background:var(--surface2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.exam-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px;font-weight:500}.exam-days{color:var(--purple);font-family:var(--mono);flex-shrink:0;font-size:11px}.exam-passed{color:var(--muted2)}.exam-edit-btn{color:var(--muted2);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:14px;line-height:1}.exam-edit-btn:hover{color:var(--purple)}.tasks-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:20px;padding:20px;display:grid}.task-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.task-buttons{flex-wrap:wrap;gap:10px;display:flex}.task-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;white-space:nowrap;border-radius:12px;min-width:130px;padding:10px 14px;font-size:13px}.stats-col{gap:12px;display:grid}.stats-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:16px;padding:18px;display:grid}.stats-ring-row{align-items:center;gap:14px;display:flex}.stats-mini-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stats-mini-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.stats-streak-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stats-streak-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.quote-text{color:var(--muted);padding:0 4px;font-size:13px;font-style:italic;line-height:1.5}.notes-inline{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px}.notes-textarea{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;outline:none;min-height:100px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.notes-textarea:disabled{opacity:.6}.notes-save-btn{background:var(--purple-bg);border:1px solid var(--purple-dim);color:var(--purple);cursor:pointer;border-radius:8px;margin-top:8px;padding:6px 16px;font-size:12px}.heatmap-section{background:var(--surface);border:1px solid var(--border);border-radius:18px;min-width:0;margin-bottom:20px;padding:18px}.heatmap-grid-wrapper{width:100%;padding-bottom:6px;overflow:auto hidden}.month-labels-grid{margin-bottom:6px;display:grid}.month-label-cell{color:var(--muted);white-space:nowrap;font-size:10px;line-height:1.4;overflow:visible}.heatmap-grid,.heatmap-column{display:grid}.heatmap-footer{color:var(--muted);margin-top:12px;font-size:12px}.ym-meter{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex}.ym-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ym-head strong{font-size:14px}.ym-pct{font-family:var(--mono);color:var(--purple);font-size:16px;font-weight:600}.ym-sub{color:var(--muted);font-size:11px}.life-full{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;padding:18px;position:relative}.life-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.life-head strong{font-size:14px}.life-sub{color:var(--muted);margin-left:8px;font-size:11px}.tiny-edit{color:var(--muted2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 6px;font-size:11px;line-height:1}.tiny-edit:hover{color:var(--text);border-color:var(--border)}.life-edit-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.life-edit-row input{background:var(--surface2);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:6px 10px;font-size:12px}.life-edit-row .notes-save-btn{margin-top:0}.dot-grid{flex-wrap:wrap;gap:4px;display:flex}.dot-grid.dense{gap:2px}.dot-grid .dot{border:1px solid var(--border2);background:0 0;border-radius:50%}.dot-grid.sm .dot{width:9px;height:9px}.dot-grid.md .dot{width:12px;height:12px}.dot-grid.xs .dot{width:6px;height:6px}.dot-grid .dot.fill{background:var(--purple-dim);border-color:var(--purple-dim)}.dot-grid.life-dots .dot.fill{background:#4ade80;border-color:#4ade80}.dot-grid .dot.now{background:var(--purple);border-color:var(--purple);box-shadow:0 0 0 3px #a78bfa44}.dot-grid.life-dots .dot.now{background:#4ade80;border-color:#4ade80;box-shadow:0 0 0 3px #4ade8044}.life-grid{grid-template-rows:repeat(var(--life-rows,20), minmax(0, auto));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;display:grid}.life-grid .dot{aspect-ratio:1;border:1px solid var(--border2);background:0 0;border-radius:50%;width:100%;min-width:0}.life-grid .dot.fill{background:#4ade80;border-color:#4ade80}.life-grid .dot.now{background:#4ade80;border-color:#4ade80;box-shadow:0 0 0 2px #4ade8066}@media (width<=1100px){.main-grid{grid-template-columns:1fr 1fr}.inbox-column{grid-column:1/-1}}@media (width<=960px){.main-grid{grid-template-columns:1fr}}@media (width<=640px){.life-grid{grid-template-rows:none;grid-template-columns:repeat(52,minmax(0,1fr));grid-auto-flow:row}.app-shell{padding:0 12px 40px}.header-row{flex-direction:column;align-items:flex-start}.stats-mini-grid,.stats-streak-row{grid-template-columns:1fr 1fr}.task-btn{min-width:auto}}
