:root{--primary:#e85d4a;--primary-light:#ff8a7a;--primary-dark:#b5311e;--primary-surface:#fdf3f2;--primary-container:#fce4e1;--secondary:#6b7a8d;--on-secondary:#fff;--surface:#fff;--surface-variant:#f8f4f4;--on-surface:#1c1b1b;--on-surface-variant:#4a4545;--break-color:#5b8ea6;--break-light:#a8cfe0;--sq-primary:#43a047;--sq-primary-light:#76d275;--sq-primary-dark:#2e7d32;--sq-primary-container:#dcedc8;--outline:#d9cfcf;--outline-light:#ede8e8;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000001a, 0 2px 4px #0000000f;--shadow-lg:0 8px 24px #0000001f, 0 4px 8px #00000014;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--font:"Roboto", sans-serif;--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}body[data-theme=dark]{--primary-surface:#221b1a;--primary-container:#4c2a26;--surface:#2b2524;--surface-variant:#342e2d;--on-surface:#f2e9e7;--on-surface-variant:#d2c2bf;--outline:#5e504e;--outline-light:#4e4341}body[data-theme=dark] .side-quests-card .task-item.active-task .task-text{color:var(--sq-primary-dark)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--primary-surface);color:var(--on-surface);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}.hidden{display:none!important}.app-header{background:var(--primary);color:#fff;z-index:100;box-shadow:var(--shadow-md);padding:0;position:sticky;top:0}.header-inner{align-items:center;gap:12px;max-width:700px;margin:0 auto;padding:14px 20px;display:flex}.app-logo{font-size:1.8rem;line-height:1;animation:4s ease-in-out infinite wiggle;display:inline-block}@keyframes wiggle{0%,to{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(6deg)}50%{transform:rotate(0)}}.app-title{letter-spacing:.5px;font-size:1.5rem;font-weight:700}.app-main{flex-direction:column;gap:20px;max-width:700px;margin:0 auto;padding:24px 20px 48px;display:flex}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px;animation:.4s both fade-in-up}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-title{color:var(--on-surface);align-items:center;gap:8px;margin-bottom:16px;font-size:1.1rem;font-weight:500;display:flex}.card-title .material-icons{color:var(--primary);font-size:1.3rem}.timer-card{flex-direction:column;align-items:center;gap:24px;padding:32px 28px;display:flex;position:relative;overflow:hidden}.timer-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 0,#e85d4a14 0%,#0000 70%);position:absolute;inset:0}.timer-ring-wrapper{width:220px;height:220px;position:relative}.timer-svg{width:100%;height:100%;transform:scaleY(-1)}.ring-track{fill:none;stroke:var(--primary-container);stroke-width:8px}.ring-progress{fill:none;stroke:var(--primary);stroke-width:8px;stroke-linecap:round;stroke-dasharray:753.98;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear, stroke var(--transition)}.timer-card.timer-running .ring-progress{stroke:var(--primary)}.timer-card.timer-paused .ring-progress{stroke:var(--secondary);animation:1.5s ease-in-out infinite pulse-stroke}@keyframes pulse-stroke{0%,to{opacity:1}50%{opacity:.5}}body[data-timer-type=short-break] .ring-progress,body[data-timer-type=long-break] .ring-progress{stroke:var(--break-color)}.timer-center{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.timer-display{color:var(--on-surface);letter-spacing:2px;font-variant-numeric:tabular-nums;transition:color var(--transition);font-size:3.2rem;font-weight:300}.timer-card.timer-running .timer-display{color:var(--primary-dark);animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.85}}.timer-card.timer-paused .timer-display{color:var(--secondary)}.timer-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--on-surface-variant);font-size:.8rem;font-weight:500}.timer-type-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn-timer-type{border-radius:var(--radius-full);border:2px solid var(--outline-light);background:var(--surface-variant);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;display:inline-flex}.btn-timer-type em{opacity:.75;font-size:.78rem;font-style:normal;font-weight:400}.btn-timer-type .material-icons{font-size:1rem}.btn-timer-type:hover:not(:disabled){background:var(--primary-container);border-color:var(--primary-light);color:var(--primary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-timer-type:disabled{opacity:.45;cursor:not-allowed}.btn-timer-type.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-timer-type.active:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.timer-controls{align-items:center;gap:12px;display:flex}.btn{border-radius:var(--radius-full);font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition), opacity var(--transition);border:none;justify-content:center;align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;padding:10px 24px}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-sm)}.btn-raised{box-shadow:var(--shadow-sm)}.btn-raised:hover{box-shadow:var(--shadow-md)}.btn-outlined{border:2px solid var(--outline-light);color:var(--on-surface-variant);background:0 0;padding:8px 20px}.btn-outlined:hover{background:var(--surface-variant)}.btn-text{color:var(--on-surface-variant);background:0 0;padding:8px 16px}.btn-text:hover{background:var(--surface-variant)}.btn-icon{border-radius:50%;width:52px;height:52px;padding:0}.btn-icon .material-icons{font-size:1.4rem}.btn-fab{background:var(--primary);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;padding:0}.btn-fab:hover{background:var(--primary-dark);box-shadow:var(--shadow-md)}.active-task-wrapper{animation:.3s both fade-in-up}.active-task-banner{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:12px;padding:16px 20px;animation:.3s slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.active-task-banner .material-icons{opacity:.9;flex-shrink:0;font-size:1.5rem}.active-task-label{letter-spacing:1px;text-transform:uppercase;opacity:.8;margin-bottom:2px;font-size:.75rem;font-weight:500;line-height:1}.active-task-text{word-break:break-word;font-size:1rem;font-weight:400;line-height:1.3}.note-context-banner{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff8e1;border:1.5px solid #ffe082;align-items:flex-start;gap:12px;padding:16px 20px;animation:.4s both fade-in-up;display:flex}.note-icon{color:#f9a825;flex-shrink:0;margin-top:1px;font-size:1.5rem}.note-content{flex:1}.note-label{letter-spacing:1px;text-transform:uppercase;color:#7a6000;margin-bottom:4px;font-size:.75rem;font-weight:600}.note-text{color:#4a3b00;white-space:pre-wrap;font-size:.95rem;line-height:1.4}.note-dismiss{cursor:pointer;color:#9e8a00;transition:background var(--transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.note-dismiss:hover{background:#00000014}.youtube-card{margin-top:20px;overflow:hidden}.youtube-input-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.youtube-player-container{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#000;width:100%;display:block;position:relative;overflow:hidden}#youtube-player-container iframe{border:0;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.tasks-card{animation-delay:.1s}.task-input-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.task-input{border:1.5px solid var(--outline-light);border-radius:var(--radius-full);height:44px;font-family:var(--font);color:var(--on-surface);background:var(--surface-variant);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:0 16px;font-size:.95rem}.task-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #e85d4a26}.task-list{flex-direction:column;gap:8px;padding-bottom:16px;list-style:none;display:flex}.task-empty{text-align:center;color:var(--on-surface-variant);opacity:.7;padding:24px 0;font-size:.9rem;font-style:italic}.task-item{border-radius:var(--radius-sm);background:var(--surface-variant);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);border:1.5px solid #0000;align-items:center;gap:10px;padding:12px 14px;animation:.25s both fade-in-up;display:flex}.task-item:hover{background:var(--primary-container);border-color:var(--primary-light)}.task-item.active-task{background:var(--primary-container);border-color:var(--primary);box-shadow:var(--shadow-sm)}.task-item.completed{opacity:.55;background:var(--surface-variant);border-color:#0000}.task-item.completed .task-text{cursor:default;text-decoration:line-through}.task-checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.task-text{color:var(--on-surface);cursor:pointer;word-break:break-word;transition:color var(--transition);flex:1;font-size:.95rem;line-height:1.4}.task-text:hover{color:var(--primary-dark)}.task-delete-btn{cursor:pointer;color:var(--on-surface-variant);opacity:0;transition:opacity var(--transition), background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.task-delete-btn .material-icons{font-size:1.1rem}.task-item:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{color:var(--primary);background:#e85d4a1f}.task-drag-handle{color:var(--on-surface-variant);cursor:grab;opacity:.6;transition:opacity var(--transition), background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.task-drag-handle:active{cursor:grabbing}.task-drag-handle .material-icons{font-size:1.2rem}.task-item:hover .task-drag-handle,.task-drag-handle:focus-visible{opacity:1}.task-item.dragging{opacity:.4}.task-item.drag-over{border-color:var(--primary);box-shadow:inset 0 3px 0 var(--primary)}.task-list.drag-over-bottom{border-bottom:3px solid var(--primary);padding-bottom:16px}.side-quests-card{animation-delay:.15s}.side-quests-card .card-title .material-icons{color:var(--sq-primary)}.side-quests-card .sq-task-input:focus{border-color:var(--sq-primary);background:var(--surface);box-shadow:0 0 0 3px #43a04726}.side-quests-card .task-item:hover{background:var(--sq-primary-container);border-color:var(--sq-primary-light)}.side-quests-card .task-item.active-task{background:var(--sq-primary-container);border-color:var(--sq-primary);box-shadow:var(--shadow-sm)}.side-quests-card .task-checkbox{accent-color:var(--sq-primary)}.side-quests-card .task-text:hover{color:var(--sq-primary-dark)}.side-quests-card .task-delete-btn:hover{color:var(--sq-primary);background:#43a0471f}.side-quests-card .task-item.drag-over{border-color:var(--sq-primary);box-shadow:inset 0 3px 0 var(--sq-primary)}.side-quests-card .task-list.drag-over-bottom{border-bottom-color:var(--sq-primary)}.side-quests-card .sq-btn-fab{background:var(--sq-primary)}.side-quests-card .sq-btn-fab:hover{background:var(--sq-primary-dark)}.side-quests-card.sq-disabled{opacity:.5;pointer-events:none;filter:grayscale(30%);transition:opacity .3s,filter .3s;animation:none}.active-side-quest-wrapper{animation:.3s both fade-in-up}.active-side-quest-banner{background:linear-gradient(135deg, var(--sq-primary), var(--sq-primary-dark));color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:12px;padding:16px 20px;animation:.3s slide-in;display:flex}.active-side-quest-banner .material-icons{opacity:.9;flex-shrink:0;font-size:1.5rem}.active-side-quest-label{letter-spacing:1px;text-transform:uppercase;opacity:.8;margin-bottom:2px;font-size:.75rem;font-weight:500;line-height:1}.active-side-quest-text{word-break:break-word;font-size:1rem;font-weight:400;line-height:1.3}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-slow);background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-overlay.visible{opacity:1;pointer-events:all}.modal-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);transition:transform var(--transition-slow);padding:32px;transform:translateY(20px)scale(.97)}.modal-overlay.visible .modal-card{transform:translateY(0)scale(1)}.modal-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.modal-icon{color:var(--primary);font-size:2rem}.modal-title{color:var(--on-surface);font-size:1.3rem;font-weight:600}.modal-subtitle{color:var(--on-surface-variant);margin-bottom:20px;font-size:.9rem;line-height:1.5}.note-textarea{border:1.5px solid var(--outline-light);border-radius:var(--radius-sm);width:100%;font-family:var(--font);color:var(--on-surface);background:var(--surface-variant);resize:vertical;min-height:100px;transition:border-color var(--transition), box-shadow var(--transition);outline:none;margin-bottom:20px;padding:12px 14px;font-size:.95rem;line-height:1.5}.note-textarea:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #e85d4a26}.modal-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=480px){.app-main{gap:16px;padding:16px 12px 40px}.card{padding:20px 16px}.timer-card{padding:24px 16px}.timer-ring-wrapper{width:180px;height:180px}.timer-display{font-size:2.6rem}.timer-type-buttons{gap:6px}.btn-timer-type{padding:7px 12px;font-size:.8rem}.modal-card{padding:24px 20px}}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.utility-controls{z-index:100;align-items:center;gap:8px;display:inline-flex;position:fixed;bottom:20px;left:20px}.btn-test-notifications{border:1px solid var(--outline);border-radius:var(--radius-full);background:var(--surface);color:var(--on-surface-variant);font-family:var(--font);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition), box-shadow var(--transition);align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.btn-test-notifications .material-icons{font-size:1rem}.btn-test-notifications:hover{background:var(--surface-variant);box-shadow:var(--shadow-md)}.btn-test-notifications:active{background:var(--outline-light)}.theme-switcher{border:1px solid var(--outline);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);gap:4px;padding:4px;display:inline-flex}.theme-option{cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px}.theme-option:hover{background:var(--surface-variant)}.theme-option.active{background:var(--primary-container)}
