:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f0f17;--surface: #1a1a2e;--border: rgba(255, 255, 255, .08);--text: #e8e8f0;--text-dim: rgba(255, 255, 255, .55);--accent: #6c5ce7;--accent-hover: #7f71ed;--green: #00b894;--radius: .75rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:40rem;margin:0 auto;padding:2rem 1.25rem 3rem}.app-header{text-align:center;margin-bottom:1.5rem}.app-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#6c5ce7,#a29bfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-dim);font-size:.9rem;margin-top:.25rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:var(--surface);border-radius:var(--radius);padding:.3rem}.tab-btn{flex:1;padding:.55rem 1rem;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--text-dim);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn.active{background:var(--accent);color:#fff}.tab-btn:hover:not(.active){color:var(--text)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.input{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:.5rem;background:#ffffff0a;color:var(--text);font-size:.9rem;outline:none;transition:border .2s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-dim)}.select{cursor:pointer}.form-row{display:flex;gap:.5rem;margin-top:.5rem}.form-row .select{flex:0 0 auto;width:auto}.form-row .input[type=date]{flex:1;min-width:0;color-scheme:dark}.btn{padding:.55rem 1.1rem;border:1px solid var(--border);border-radius:.5rem;background:#ffffff0a;color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn:hover{background:#ffffff14}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.progress-bar-wrap{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem}.progress-bar{flex:1;height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden}.progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green),#55efc4);transition:width .4s ease}.progress-label{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.filters{display:flex;gap:.4rem;margin-bottom:1rem}.filter-btn{padding:.3rem .75rem;border:1px solid var(--border);border-radius:1rem;background:transparent;color:var(--text-dim);font-size:.75rem;cursor:pointer;transition:all .15s}.filter-btn.active{background:#6c5ce733;border-color:var(--accent);color:var(--accent)}.task-list{list-style:none}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border);transition:opacity .2s}.task-item:last-child{border-bottom:none}.task-item.done{opacity:.5}.task-item.done .task-text{text-decoration:line-through}.check-btn{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--border);background:transparent;color:var(--green);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.check-btn:hover{border-color:var(--green)}.task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.task-text{font-size:.9rem;word-break:break-word}.task-meta{display:flex;align-items:center;gap:.5rem;font-size:.7rem}.subject-tag{padding:.1rem .45rem;border-radius:.25rem;color:#fff;font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.due-date{color:var(--text-dim)}.delete-btn{background:transparent;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s;flex-shrink:0}.delete-btn:hover{color:#e74c3c}.empty-state{text-align:center;color:var(--text-dim);padding:2rem 0;font-size:.9rem}.timer-panel{text-align:center}.timer-status{font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem}.timer-ring-wrap{position:relative;width:180px;height:180px;margin:0 auto 1.5rem}.timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{stroke:#ffffff0f}.ring-fg{stroke-linecap:round;transition:stroke-dashoffset .5s ease}.timer-display{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.timer-controls{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.25rem}.session-count{color:var(--text-dim);font-size:.85rem}.notes-textarea{width:100%;min-height:16rem;resize:vertical;padding:.85rem;border:1px solid var(--border);border-radius:.5rem;background:#ffffff0a;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.65;outline:none;transition:border .2s}.notes-textarea:focus{border-color:var(--accent)}.notes-textarea::placeholder{color:var(--text-dim)}.notes-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;color:var(--text-dim);font-size:.8rem}@media(max-width:480px){.app{padding:1.25rem .75rem 2rem}.form-row{flex-wrap:wrap}.form-row .input[type=date]{flex:1 1 100%}}
