@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Baloo+2:wght@600;700&display=swap);:root{--color-primary:#1565c0;--color-primary-light:#1976d2;--color-primary-dark:#0d47a1;--color-primary-contrast:#fff;--color-danger:#d32f2f;--color-danger-light:#f44336;--color-danger-dark:#b71c1c;--color-danger-contrast:#fff;--color-text:#212121;--color-text-secondary:#424242;--color-text-disabled:#757575;--color-text-on-primary:#fff;--color-text-on-danger:#fff;--color-background:#fff;--color-background-alt:#f5f7fa;--color-background-paper:#fff;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--color-border-dark:#b0b0b0;--color-success:#2e7d32;--color-warning:#ed6c02;--color-info:#1565c0;--color-error:#d32f2f;--color-focus-outline:#4d90fe;--color-focus-ring:#1976d280;--color-focus-bg:#1976d21f;--color-focus-text:#0d47a1;--shadow-sm:0 1px 3px #0000001f,0 1px 2px #0000003d;--shadow-md:0 4px 6px #0000001a,0 1px 3px #00000014;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:400ms ease-in-out}[data-theme=dark]{--color-text:#f5f5f5;--color-text-secondary:#b0b0b0;--color-text-disabled:#757575;--color-background:#121212;--color-background-alt:#1e1e1e;--color-background-paper:#1e1e1e;--color-border:#444;--color-border-light:#555;--color-border-dark:#333;--color-success:#4caf50;--color-warning:#ffa000;--color-info:#42a5f5;--color-error:#f44336;--color-focus-outline:#64b5f6;--color-focus-ring:#42a5f580;--color-focus-bg:#42a5f533;--color-focus-text:#90caf9;--shadow-sm:0 1px 3px #0000004d,0 1px 2px #0006;--shadow-md:0 4px 6px #0000004d,0 1px 3px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}:focus-visible{box-shadow:0 0 0 2px #1976d280;box-shadow:0 0 0 2px var(--color-focus-ring);outline:3px solid #4d90fe;outline:3px solid var(--color-focus-outline);outline-offset:2px}@media (forced-colors:active){:root{--color-focus-outline:Highlight;--color-focus-ring:#0000;--color-focus-bg:#0000;--color-focus-text:LinkText}:focus-visible{outline:2px solid #4d90fe;outline:2px solid var(--color-focus-outline);outline-offset:2px}}:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-heading:"Baloo 2","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}#root,body,html{height:100%;margin:0;overflow-x:hidden;padding:0;width:100%}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background-alt);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-primary);line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:Baloo\ 2,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:.75em;margin-top:0}h1{color:var(--color-primary);font-size:2.5rem;margin:0;padding:0}.app-container{background-color:var(--color-background);display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background-color:var(--color-background-alt);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:1fr auto 1fr;padding:1rem 2rem;position:sticky;top:0;z-index:100}.header-title{justify-self:start}.header-focus-button{justify-self:center}.header-controls{align-items:center;display:flex;gap:1rem;justify-self:end}.settings-link{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:2rem;box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all var(--transition-normal)}.settings-link:hover{background:var(--color-background);box-shadow:var(--shadow-md);transform:translateY(-1px)}.settings-link:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.settings-link:focus{box-shadow:0 0 0 3px var(--color-primary-light);outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle-container{align-items:center;display:flex;gap:1rem}.kanban-board{grid-gap:2rem;box-sizing:border-box;display:grid;gap:2rem;grid-template-columns:1fr 1fr 1fr;margin:0;min-height:calc(100vh - 80px);overflow-x:hidden;padding:2rem;position:relative;width:100%}.kanban-column{background:none;display:flex;flex-direction:column;height:100%;min-width:0}.kanban-column h2.status-header{background-color:var(--color-background-paper);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);color:#fff;font-weight:700;letter-spacing:.5px;margin-bottom:1.25rem;padding:.5rem;text-align:center;text-transform:capitalize}.kanban-column h2.status-header.status-new{background-color:var(--color-primary);color:#fff}.kanban-column h2.status-header.status-in-progress{background-color:var(--color-warning);color:#fff}.kanban-column h2.status-header.status-done{background-color:var(--color-success);color:#fff}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem;margin-top:0}.App{background:var(--color-background);box-shadow:var(--shadow-md);margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}[tabindex="0"]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--color-primary-light);outline-offset:2px}.skip-to-content{background:var(--color-primary);color:var(--color-text-on-primary);left:0;padding:8px 16px;position:absolute;top:-40px;transition:top .3s;z-index:100}.skip-to-content:focus{top:0}.btn,.button,button{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-primary);font-size:1rem;font-weight:500;gap:.5em;justify-content:center;line-height:1.5;padding:.5em 1.2em;text-align:center;text-decoration:none;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn-primary,.btn-save,.fab-save{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);box-shadow:0 2px 8px #1976d233;color:var(--color-text-on-primary)}.btn-primary:hover:not(:disabled),.btn-save:hover:not(:disabled),.fab-save:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);box-shadow:0 4px 12px #1976d24d;transform:translateY(-1px)}.btn-primary:active:not(:disabled),.btn-save:active:not(:disabled),.fab-save:active:not(:disabled){box-shadow:0 2px 4px #1976d233;transform:translateY(0)}.btn-cancel,.btn-secondary,.fab-cancel{background-color:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-cancel:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.fab-cancel:hover:not(:disabled){background-color:var(--color-background-alt);border-color:var(--color-border-dark)}.btn-danger,.btn-delete,.fab-delete{background:linear-gradient(135deg,var(--color-danger) 0,var(--color-danger-light) 100%);color:var(--color-text-on-danger)}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled),.fab-delete:hover:not(:disabled){background:linear-gradient(135deg,var(--color-danger-dark) 0,var(--color-danger) 100%)}.btn:disabled,.button:disabled,button:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.fab{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;border-radius:50%;bottom:2rem;box-shadow:var(--shadow-lg);color:var(--color-text-on-primary);cursor:pointer;display:flex;font-size:2rem;height:56px;justify-content:center;outline:none;position:fixed;right:2rem;transition:all var(--transition-normal);width:56px;z-index:1000}.fab:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.fab:active{box-shadow:var(--shadow-md);transform:translateY(0)}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select,textarea{background-clip:padding-box;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);display:block;font-size:1rem;line-height:1.5;padding:.5rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 .2rem #1976d240;outline:0}.modal input[type=checkbox]{width:13px}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--color-text);display:block;font-weight:600;margin-bottom:.5rem}.form-actions{border-top:1px solid var(--color-border-light);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.modal-overlay{align-items:center;background-color:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.modal{animation:modalIn .18s cubic-bezier(.5,1.8,.7,1) both;background:var(--color-background-paper);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;min-width:320px;overflow-y:auto;padding:3rem 1rem 1rem}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal input{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);display:block;font-size:1rem;margin:.5rem 0;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.modal input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.modal h3{color:var(--color-primary);font-weight:600;margin-bottom:1rem;margin-top:0}.modal button[type=submit]{background:var(--color-primary);border:none;border-radius:6px;color:var(--color-text-on-primary);cursor:pointer;font-size:1rem;font-weight:500;margin:.5rem 0;padding:.5rem 1.25rem;transition:background-color .2s,transform .1s}.modal button[type=submit]:hover{background:var(--color-primary-dark)}.modal button[type=submit]:active{transform:translateY(1px)}.modal button[type=button]{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:500;margin:.5rem .5rem .5rem 0;padding:.5rem 1.25rem;transition:background-color .2s,border-color .2s,transform .1s}.modal button[type=button]:hover{background:var(--color-border-light);border-color:var(--color-border-dark)}.modal button[type=button]:active{transform:translateY(1px)}@media (max-width:768px){.modal{margin:1rem;padding:1.5rem;width:90%}.form-actions{flex-direction:column}.btn{width:100%}}.assignment-form{display:flex;flex-direction:column}.assignment-form .form-group{margin-bottom:16px}.assignment-form label{color:var(--color-text);display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.kanban-board{scrollbar-color:var(--color-border) #0000;scrollbar-width:thin}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:#0000}.kanban-board::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.kanban-column{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm);flex:0 0 300px;margin:.5rem;min-height:200px;padding:1.5rem}.kanban-column-header,.status-header{border-top-left-radius:8px;border-top-right-radius:8px;font-weight:600;margin:-1.5rem -1.5rem 1rem;padding:.75rem 1.5rem;position:relative;text-transform:capitalize;z-index:1}.kanban-column-header,.status-header,.status-header.status-done,.status-header.status-in-progress,.status-header.status-new{background:var(--color-primary);color:var(--color-text-on-primary)}.kanban-card{background:var(--color-background);border-left:4px solid var(--color-primary);border-radius:6px;box-shadow:var(--shadow-sm);cursor:grab;margin-bottom:.75rem;padding:1rem;transition:transform .2s,box-shadow .2s}.kanban-card:active{cursor:grabbing}.kanban-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kanban-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.kanban-card-title{color:var(--color-text);font-weight:600;margin:0 0 .5rem}.kanban-card-due{color:var(--color-text-secondary);font-size:.8125rem;margin-bottom:.5rem}.kanban-card-due.overdue{color:var(--color-danger);font-weight:500}.due-date-urgent{color:var(--color-error)!important;font-weight:700}.due-date-warning{color:var(--color-warning)!important;font-weight:700}.due-date-overdue{color:var(--color-error)!important;font-weight:700;text-shadow:0 0 1px #0000004d}.kanban-card-actions{border-top:1px solid var(--color-border-light);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.5rem}.text-muted{color:var(--color-text-secondary);font-size:.875rem}.text-small{font-size:.8125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out forwards}.slide-in{animation:slideIn .3s ease-out forwards}@media print{body *{visibility:hidden}.print-visible,.print-visible *{visibility:visible}.print-visible{left:0;position:absolute;top:0;width:100%}.no-print{display:none!important}}.kanban-column{position:relative}.kanban-board .kanban-column:not(:last-child):after{background-color:var(--color-border-light);border-radius:3px;bottom:10%;content:"";left:100%;margin-left:23px;position:absolute;top:10%;width:6px;z-index:1}.form-actions>a.btn{align-items:center;background:var(--color-primary);border:1px solid #0000;border-radius:6px;color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;line-height:1.25;margin:.25rem;min-width:120px;padding:.6rem 1.2rem;text-decoration:none;transition:all .2s ease}.form-actions>a.btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.form-actions>a.btn:active{transform:translateY(0)}.form-actions>a.btn-ai-help{background:var(--color-primary);color:var(--color-text-on-primary)}.form-actions>a.btn-ai-help:hover{background:var(--color-primary-dark)}.form-actions>a.btn-ai-idea{background:var(--color-info);color:var(--color-text-on-primary)}.form-actions>a.btn-ai-idea:hover{background:var(--color-primary-dark)}.form-actions>a.btn i{align-items:center;display:inline-flex;font-size:1.25em;height:1em;justify-content:center;margin-right:8px}.react-datepicker__header{padding-bottom:4px!important}.react-datepicker-wrapper,.react-datepicker__input-container{display:inline-block;margin:0!important;padding:0!important;width:auto!important}.form-actions>a.btn-save{margin:.25rem!important;margin:0 0 .25rem!important;padding:.6rem 1.2rem!important}@media (max-width:768px){.App{max-width:100%;padding:1rem}.app-header{display:flex;flex-direction:column;gap:.75rem;grid-template-columns:none;padding:.75rem 1rem}.app-header h1{font-size:1.75rem}.header-focus-button,.header-title{align-self:center;justify-self:auto}.header-focus-button{order:2}.header-controls{justify-content:space-between;justify-self:auto;order:3;width:100%}.kanban-board{display:flex;flex-direction:column;gap:1rem;min-height:auto;overflow-y:auto;padding:1rem}.assignment-card{height:220px;overflow-y:auto}.assignment-card>div:first-child>div>strong{display:block;height:60px;overflow:hidden}.assignment-card>div:first-child>div>div{height:50px;overflow-y:auto}.kanban-column{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm);flex:1 1;margin:0;min-height:auto;min-width:250px}.kanban-column h2.status-header{font-size:1.25rem;margin-bottom:.75rem;padding:.5rem 1rem}.kanban-card{flex:none;margin-bottom:.75rem;width:100%}.kanban-board .kanban-column:not(:last-child):after{display:none}.floating-action-button{border-radius:6px;justify-content:center;margin-top:.5rem;position:static;width:100%}.modal{margin:.5rem;max-height:90vh;max-width:none;padding:1rem;width:95%}.form-actions{flex-direction:column;gap:.5rem}.btn{width:100%}}.fa-sharp-duotone.fa-solid:after{left:0;position:absolute;top:0}.floating-action-button{align-items:center;background:#1976d2;border-radius:50%;bottom:1rem;box-shadow:0 4px 16px #1976d233;color:#fff;cursor:pointer;display:flex;height:64px;justify-content:center;position:absolute;right:1rem;text-decoration:none;transform:none;transition:all .2s ease-in-out;width:64px;z-index:100}.floating-action-button:hover{box-shadow:0 6px 20px #1976d24d;transform:scale(1.1)}.floating-action-button:active{transform:scale(.95)}[data-theme=dark] .floating-action-button{background:#1e88e5;box-shadow:0 4px 16px #1e88e54d}[data-theme=dark] .floating-action-button:hover{box-shadow:0 6px 20px #1e88e566}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.time-selector{align-items:center;display:flex;gap:8px}.time-selector__ampm,.time-selector__hour,.time-selector__minute{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);cursor:pointer;font-size:.875rem;padding:.375rem .5rem;transition:border-color .2s ease}.time-selector__ampm:focus,.time-selector__hour:focus,.time-selector__minute:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2);outline:none}.time-selector__hour{width:50px}.time-selector__minute{width:55px}.time-selector__ampm{width:76px}.time-selector__separator{color:var(--color-text);font-size:.875rem;-webkit-user-select:none;user-select:none}@media (prefers-color-scheme:dark){.time-selector__ampm,.time-selector__hour,.time-selector__minute{background-color:var(--color-input-bg)}}.aihelp-modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.aihelp-modal{background:#fff;border-radius:10px;box-shadow:0 6px 32px #00000040;display:block;max-height:90vh;max-width:95vw;min-height:300px;min-width:320px;position:relative;width:auto}.aihelp-close-btn{background:none;border:none;cursor:pointer;font-size:2rem;position:absolute;right:12px;top:8px;z-index:10}.aihelp-chat-window{display:flex;flex-direction:column;height:420px;padding:24px 16px 16px}.aihelp-messages{flex:1 1 auto;margin-bottom:12px;overflow-y:auto;padding-right:4px}.aihelp-message{border-radius:7px;line-height:1.5;margin-bottom:10px;max-width:90%;padding:7px 12px;word-break:break-word}.aihelp-user{align-self:flex-end;background:#e8f0fe}.aihelp-assistant{align-self:flex-start;background:#f1f1f1}.aihelp-spinner{color:#1976d2}.aihelp-error,.aihelp-spinner{margin-bottom:8px;text-align:center}.aihelp-error{background:#ffeaea;border-radius:5px;color:#d32f2f;padding:4px 8px}.aihelp-input-row{display:flex;gap:8px}.aihelp-input-row input[type=text]{border:1px solid #bbb;border-radius:5px;flex:1 1 auto;font-size:1em;padding:8px}.aihelp-input-row button{background:#1976d2;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;font-weight:700;padding:8px 18px}.aihelp-input-row button:disabled{background:#bbb;cursor:not-allowed}.focus-button-base{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;border-radius:2rem;color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-weight:500;justify-content:center;text-decoration:none;transition:all var(--transition-normal);white-space:nowrap}.focus-button-base:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);transform:translateY(-1px)}.focus-button-base:active{transform:translateY(0)}.focus-button-base:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:3px solid var(--color-focus-outline);outline-offset:2px}.focus-button-base:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.focus-button-base.disabled{color:#fff;color:var(--color-text-on-secondary,#fff);cursor:not-allowed;opacity:.7;pointer-events:none}.focus-button-base.disabled,.focus-button-base.disabled:hover{background:linear-gradient(135deg,#666,#999);background:linear-gradient(135deg,var(--color-text-secondary,#666) 0,var(--color-text-tertiary,#999) 100%)}.focus-button-base.disabled:hover{transform:none}.focus-button-base i{align-items:center;display:inline-flex;justify-content:center}.focus-button-label{font-weight:500}.focus-button-large{box-shadow:var(--shadow-md);font-size:1.40625rem;gap:.75rem;padding:.75rem 1.5rem}.focus-button-large i{font-size:1.5rem}.focus-button-large:hover:not(:disabled){box-shadow:var(--shadow-md)}.focus-button-large:active,.focus-button-small{box-shadow:var(--shadow-sm)}.focus-button-small{font-size:.9375rem;gap:.5rem;padding:.5rem 1rem}.focus-button-small i{font-size:1rem}.focus-button-small:hover:not(:disabled){box-shadow:var(--shadow-md)}.focus-button-small.disabled:hover{box-shadow:var(--shadow-sm)}@media (max-width:768px){.focus-button-large{font-size:1.3125rem;padding:.75rem 1.125rem}.focus-button-large i{font-size:1.6875rem}.focus-button-small{font-size:.875rem;padding:.5rem .75rem}.focus-button-small i{font-size:1.125rem}.focus-button-label{display:none}}[data-theme=dark] .focus-button-base{box-shadow:var(--shadow-sm)}[data-theme=dark] .focus-button-base:hover:not(:disabled){box-shadow:var(--shadow-md)}[data-theme=dark] .focus-button-large{box-shadow:var(--shadow-sm)}[data-theme=dark] .focus-button-large:hover:not(:disabled){box-shadow:var(--shadow-md)}.modal button[type=button].focus-button-base{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;color:var(--color-text-on-primary)}.modal button[type=button].focus-button-base:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);transform:translateY(-1px)}@media (forced-colors:active){.focus-button-base{background:ButtonFace;border:2px solid ButtonText;color:ButtonText}.focus-button-base:hover:not(:disabled){background:Highlight;color:HighlightText}}.assignment-list{display:flex;flex-direction:column;height:100%;min-height:100px;position:relative}.add-task-container{margin-top:auto;padding:4px 8px 8px}.add-task-container:hover{background-color:#091e420a;border-radius:4px}[data-theme=dark] .add-task-container:hover{background-color:#ffffff1a}.drag-loading-overlay{align-items:center;background-color:#fffc;border-radius:8px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:8px;width:40px}[data-theme=dark] .drag-loading-overlay{background-color:#000000b3}[data-theme=dark] .spinner{border-color:#3498db #444 #444}@media (max-width:768px){.assignment-list{flex-direction:row;gap:.75rem;height:auto;min-height:auto;overflow-x:auto;overflow-y:visible;padding:0;scroll-behavior:smooth}.assignment-list .assignment-card{flex:0 0 350px;width:350px}}.deepdive-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.deepdive-modal{background:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow:auto;padding:24px;position:relative;width:90%}.deepdive-modal .deepdive-title{font-size:1.2em;font-weight:600;margin:0 0 16px;text-align:center}.deepdive-modal .deepdive-close{background:none;border:none;cursor:pointer;font-size:1.5rem;position:absolute;right:16px;top:12px}.deepdive-modal .deepdive-sections button{background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;margin-right:8px;padding:8px 12px}.deepdive-modal .deepdive-sections button:focus,.deepdive-modal .deepdive-sections button:hover{background:#ddd}.deepdive-modal .details pre{background:#f9f9f9;font-size:.9em;padding:16px;white-space:pre-wrap}.deepdive-modal .tools .feature-block{margin-top:16px}.deepdive-modal .tools .feature-block button{background:#4f378b;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px}.deepdive-modal .tools .response{margin-top:8px}.deepdive-modal .snippet{color:#333;cursor:pointer;font-style:italic}.full-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.full-modal{background:#fff;border-radius:8px;max-height:85vh;max-width:700px;overflow:auto;padding:24px;position:relative;width:80%}.full-modal-close{background:none;border:none;cursor:pointer;font-size:1.5rem;position:absolute;right:16px;top:12px}.full-modal h4{font-size:1.1em;margin-top:0}.full-modal pre{background:#f5f5f5;padding:16px;white-space:pre-wrap;word-break:break-word}.theme-toggle{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:2rem;box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all var(--transition-normal)}.theme-toggle:hover{background:var(--color-background-alt);box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-toggle:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.theme-toggle:focus{box-shadow:0 0 0 3px var(--color-primary-light);outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle:hover .theme-toggle-icon{transform:scale(1.1)}.theme-toggle-label{white-space:nowrap}[data-theme=dark] .theme-toggle{background:var(--color-background-alt);border-color:var(--color-border-dark)}[data-theme=dark] .theme-toggle:hover{background:var(--color-background)}.theme-toggle-icon{align-items:center;display:inline-flex;height:1em;justify-content:center;transition:transform .3s ease;width:1em}.theme-toggle:hover .theme-toggle-icon{animation:spin 2s linear infinite}:root{--google-blue:#4285f4;--google-blue-hover:#357ae8;--google-blue-focus:#1a73e8}.login-page{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;justify-content:center}.login-page h2{color:#333;font-size:24px;margin-bottom:20px}.login-page button{background-color:#4285f4;background-color:var(--google-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s ease}.login-page button:hover{transform:translateY(-2px)}.login-page button:focus,.login-page button:hover{background-color:#357ae8;background-color:var(--google-blue-hover)}.login-page button:focus{outline:2px solid #1a73e8;outline:2px solid var(--google-blue-focus);outline-offset:2px}.login-page button:focus-visible{outline:3px solid #1a73e8;outline:3px solid var(--google-blue-focus);outline-offset:3px}.login-page button:active{transform:scale(.98)}.login-card{background-color:#fff;border-radius:8px;box-shadow:var(--shadow-md);max-width:360px;padding:2rem;text-align:center;width:90%}.login-card h1{align-items:center;color:var(--color-primary);display:flex;font-size:2.25rem;gap:.5rem;justify-content:center;margin-bottom:.5rem}.login-card .slogan{color:#666;font-size:1rem;margin-bottom:1.5rem}.login-btn{align-items:center;background-color:#4285f4;background-color:var(--google-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;justify-content:center;padding:.75rem;transition:background-color .2s ease,transform .2s ease;width:100%}.login-btn:hover{background-color:#357ae8;background-color:var(--google-blue-hover);transform:translateY(-2px)}.login-btn:focus{background-color:#1a73e8;background-color:var(--google-blue-focus);outline:2px solid #1a73e8;outline:2px solid var(--google-blue-focus);outline-offset:2px}.landing-page{font-family:inherit;line-height:1.6}.hero-section{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:#fff;display:flex;justify-content:center;min-height:70vh;padding:6rem 2rem;text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-content .fa-sharp-duotone{color:pink}.hero-content h1{color:#fff}.hero-section h1{align-items:center;display:flex;font-size:3.5rem;font-weight:700;gap:1rem;justify-content:center;margin-bottom:1rem}.hero-section h1 i{font-size:3.5rem}.hero-tagline{font-size:1.5rem;font-weight:300;margin-bottom:1rem;opacity:.9}.hero-description{font-size:1.25rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.features-section{margin:0 auto;max-width:1200px;padding:4rem 2rem}.feature-section{margin-bottom:6rem;padding:2rem 0}.feature-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.feature-section.reverse .feature-content{grid-template-columns:1fr 1fr}.feature-text h2{color:var(--color-text);font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.feature-text p{color:var(--color-text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:1.5rem}.feature-text ul{list-style:none;padding:0}.feature-text li{align-items:center;color:var(--color-text-secondary);display:flex;padding:.5rem 0}.feature-text li:before{color:var(--color-primary);content:"✓";font-size:1.125rem;font-weight:700;margin-right:.75rem}.clickable{cursor:pointer}.image-modal{align-items:center;background:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.image-modal img{max-height:90%;max-width:90%}.feature-image{align-items:center;display:flex;justify-content:center}.feature-img{height:auto;width:100%}.placeholder-image{align-items:center;background:var(--color-background-alt);border:2px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:1rem;height:300px;justify-content:center;max-width:400px;padding:3rem 2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease;width:100%}.placeholder-image:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.placeholder-image i{font-size:4rem;opacity:.6}.placeholder-image span{color:var(--color-text-secondary);font-size:1.125rem;font-weight:500}.kanban-placeholder i{color:var(--color-primary)}.ai-placeholder i{color:var(--color-info)}.deadline-placeholder i{color:var(--color-warning)}.theme-placeholder i{color:var(--color-success)}.cta-button{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;border-radius:8px;color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;gap:.5rem;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.cta-button:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);box-shadow:0 8px 25px #1976d24d;transform:translateY(-2px)}.cta-button:active{transform:translateY(0)}.cta-button:focus{outline:3px solid var(--color-primary-light);outline-offset:2px}.cta-section{background:var(--color-background-alt);padding:4rem 2rem;text-align:center}.cta-content{margin:0 auto;max-width:600px}.cta-section h2{color:var(--color-text);font-size:2.5rem;margin-bottom:1rem}.cta-section p{color:var(--color-text-secondary);font-size:1.25rem;margin-bottom:2rem}@media (max-width:768px){.hero-section{min-height:60vh;padding:4rem 1rem}.hero-section h1{flex-direction:column;font-size:2.5rem;gap:.5rem}.hero-tagline{font-size:1.25rem}.hero-description{font-size:1.125rem}.features-section{padding:2rem 1rem}.feature-content{gap:2rem;text-align:center}.feature-content,.feature-section.reverse .feature-content{grid-template-columns:1fr}.feature-text h2{font-size:2rem}.feature-text p{font-size:1rem}.placeholder-image{height:250px;max-width:350px}.cta-section{padding:3rem 1rem}.cta-section h2{font-size:2rem}}@media (max-width:480px){.hero-section h1,.hero-section h1 i{font-size:2rem}.hero-tagline{font-size:1.125rem}.hero-description{font-size:1rem}.feature-text h2{font-size:1.75rem}.placeholder-image{height:200px;padding:2rem 1rem}.placeholder-image i{font-size:3rem}.cta-button{font-size:1rem;padding:.875rem 2rem}}.settings-page{background:var(--color-background-paper);border-radius:8px;box-shadow:var(--shadow-md);margin:2rem auto;max-width:400px;padding:2rem}.settings-item{margin-bottom:1.5rem}.settings-item label{align-items:center;display:flex;font-size:1rem;gap:.5rem}.settings-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.settings-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem}.settings-actions button.save{background:var(--color-primary);color:var(--color-text-on-primary)}.settings-actions button.logout{background:var(--color-danger);color:var(--color-text-on-danger)}.settings-actions button:hover{opacity:.9}.settings-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{background:var(--color-background-paper);border-radius:8px;box-shadow:var(--shadow-xl);max-width:400px;padding:2rem;position:relative;width:90%}.settings-close{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:1.5rem;line-height:1;position:absolute;right:.5rem;top:.5rem}.settings-toast{background:var(--color-primary);border-radius:4px;box-shadow:var(--shadow-sm);color:var(--color-text-on-primary);left:50%;padding:.75rem 1.5rem;position:absolute;top:1.5rem;transform:translateX(-50%);z-index:1002}.danger-zone{border-top:1px solid var(--color-danger);margin-top:2rem;padding-top:1.5rem}.danger-zone h3{color:var(--color-danger);margin-bottom:.5rem}.danger-zone p{color:var(--color-danger);font-size:.875rem;margin-bottom:1rem}.danger-zone .delete-account{background:var(--color-danger);border:none;border-radius:4px;color:var(--color-text-on-danger);cursor:pointer;padding:.75rem;width:100%}.danger-zone .delete-account:hover{opacity:.9}.privacy-policy{font-family:Arial,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:2rem}.privacy-policy h1{font-size:2rem;margin-bottom:1rem;margin-top:1rem}.privacy-policy h2{font-size:1.5rem;margin-top:1.5rem}.privacy-policy p,.privacy-policy ul{margin-top:.5rem}.privacy-policy ul{padding-left:1.5rem}.privacy-policy p{margin-bottom:0;margin-top:0}td{padding-left:1.5rem;padding-right:1.5rem}.terms-of-service{font-family:Arial,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:2rem}.terms-of-service h1{font-size:2rem;margin-bottom:1rem;margin-top:1rem}.terms-of-service h2{font-size:1.5rem;margin-top:1.5rem}.terms-of-service ol,.terms-of-service p,.terms-of-service table,.terms-of-service ul{margin:.5rem 0}.terms-of-service p{margin-bottom:0;margin-top:0}.terms-of-service ol,.terms-of-service table,.terms-of-service ul{padding-left:1.5rem}.terms-of-service td,.terms-of-service th{padding:.5rem 1rem}.acceptance-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.acceptance-modal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;max-width:500px;padding:2rem;text-align:center;width:100%}.checkbox-group{align-items:flex-start;display:flex;flex-direction:column;margin:1rem 0}.accept-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.5rem 1rem}.accept-button:disabled{background-color:#ccc;cursor:not-allowed}.bubble-wrap-loader{align-items:center;background:linear-gradient(135deg,var(--color-info) 0,var(--color-warning) 50%,var(--color-success) 100%);bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loader-text{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.bubbles-grid{grid-gap:16px;background:var(--color-background);border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(5,80px);grid-template-rows:repeat(2,80px);padding:16px}.bubble-button{background:var(--color-info);border:none;border-radius:50%;cursor:pointer;height:80px;transition:transform .15s ease,background .15s ease;width:80px}.bubble-button:active:not(:disabled){background:var(--color-warning);transform:scale(1.1)}.bubble-button:disabled{background:var(--color-success);cursor:default;transform:scale(.9)}.focus-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;transform:translateZ(0);will-change:opacity,backdrop-filter;z-index:10000}@keyframes fadeIn{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:1}}.focus-modal{animation:modalSlideIn .3s ease-out;background:var(--color-background);border-radius:16px;box-shadow:var(--shadow-lg);max-height:90vh;max-width:800px;outline:none;overflow:hidden;position:relative;transform:translateZ(0);width:95%;will-change:transform,opacity}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.focus-modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:4px;position:absolute;right:24px;top:20px;transition:color var(--transition-normal);z-index:1}.focus-modal-close:hover{color:var(--color-text)}.focus-modal-close:focus{box-shadow:0 0 0 4px #2196f333;outline:2px solid var(--color-primary);outline-offset:2px}.focus-modal-close:focus:not(:focus-visible){box-shadow:none;outline:none}.focus-modal-close:focus-visible{box-shadow:0 0 0 4px #2196f333;outline:2px solid var(--color-primary);outline-offset:2px}.focus-offline-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:16px 16px 0 0;left:0;position:absolute;right:0;top:0;z-index:2}.offline-warning-content{align-items:center;color:#856404;display:flex;font-size:.9rem;gap:8px;padding:12px 24px}.offline-warning-icon{flex-shrink:0}.offline-warning-text{flex:1 1}.focus-modal-content{display:flex;flex-direction:column;gap:24px;max-height:90vh;overflow-y:auto;padding:32px}.focus-loading{padding:40px 20px;text-align:center}.focus-loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.focus-loading p{color:var(--color-text-secondary);font-size:1.1rem}.focus-error{padding:40px 20px;text-align:center}.error-icon{font-size:3rem;margin-bottom:16px}.focus-error h2{color:var(--color-error);font-size:1.5rem;margin-bottom:12px}.focus-error p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:24px}.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.retry-button{background:var(--color-primary);border:none;border-radius:8px;color:var(--color-text-on-primary);cursor:pointer;font-weight:500;padding:12px 24px;transition:all var(--transition-normal)}.retry-button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.close-button{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-weight:500;padding:12px 24px;transition:all var(--transition-normal)}.close-button:hover{background:var(--color-background);border-color:var(--color-primary)}.focus-empty{padding:40px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px}.focus-empty h2{color:var(--color-success);font-size:1.5rem;margin-bottom:12px}.focus-empty p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:12px}.focus-header{border-bottom:1px solid var(--color-border);padding-bottom:24px;text-align:center}.focus-title{color:var(--color-text);font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 16px}.focus-due-info{display:flex;flex-direction:column;gap:8px}.focus-countdown{font-size:1.25rem;font-weight:600}.focus-due-date{color:var(--color-text-secondary);font-size:.95rem}.focus-description{background:var(--color-background-alt);border-left:4px solid var(--color-primary);border-radius:12px;padding:20px}.focus-description p{color:var(--color-text);line-height:1.6;margin:0}.focus-progress{background:var(--color-background-alt);border-radius:12px;padding:20px}.progress-header{align-items:center;display:flex;font-weight:500;justify-content:space-between;margin-bottom:12px}.progress-bar{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--color-success),var(--color-primary));height:100%;transition:width .3s ease}.focus-checklist h3{color:var(--color-text);font-size:1.1rem;font-weight:600;margin:0 0 16px}.checklist-container{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:8px;max-height:300px;overflow-y:auto}.checklist-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;padding:12px 16px;transition:background-color var(--transition-normal)}.checklist-item:last-child{border-bottom:none}.checklist-item:hover{background:var(--color-background)}.checklist-item[role=button]:focus{background:var(--color-background);box-shadow:inset 0 0 0 2px #2196f333;outline:2px solid var(--color-primary);outline-offset:-2px}.checklist-item[role=button]:focus:not(:focus-visible){box-shadow:none;outline:none}.checklist-item[role=button]:focus-visible{background:var(--color-background);box-shadow:inset 0 0 0 2px #2196f333;outline:2px solid var(--color-primary);outline-offset:-2px}.checklist-item.completed{opacity:.7}.checklist-item.just-completed{animation:pulseCompleted .6s ease-out}@keyframes pulseCompleted{0%{background-color:#e8f5e8;background-color:var(--color-success-light,#e8f5e8);transform:scale(1)}50%{background-color:#4caf50;background-color:var(--color-success,#4caf50);transform:scale(1.05)}to{background-color:initial;transform:scale(1)}}.checklist-item.completed .checklist-text{color:var(--color-text-secondary);text-decoration:line-through}.checklist-checkbox{align-items:center;color:var(--color-primary);display:flex;flex-shrink:0;font-size:1.1rem;height:1.5em;justify-content:center;width:1.5em}.checklist-text{color:var(--color-text);line-height:1.5}.focus-notes h3{color:var(--color-text);font-size:1.1rem;font-weight:600;margin:0 0 16px}.notes-container{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:8px;max-height:200px;overflow-y:auto}.note-item{border-bottom:1px solid var(--color-border);color:var(--color-text);line-height:1.5;padding:12px 16px}.note-item:last-child{border-bottom:none}.focus-timer-placeholder{background:var(--color-background-alt);border:2px dashed var(--color-border);border-radius:12px;padding:32px 20px;text-align:center}.timer-icon{font-size:2.5rem;margin-bottom:12px;opacity:.7}.focus-timer-placeholder p{color:var(--color-text);margin:0 0 4px}.timer-subtitle{color:var(--color-text-secondary);font-size:.9rem}@media (max-width:768px){.focus-modal{margin:8px;max-height:95vh;width:98%}.focus-modal-content{gap:20px;padding:24px 20px}.focus-title{font-size:1.6rem}.focus-countdown{font-size:1.1rem}.error-actions{align-items:center;flex-direction:column}.close-button,.retry-button{max-width:200px;width:100%}}@media (max-width:480px){.focus-modal{border-radius:0;height:100%;max-height:100vh;width:100%}.focus-title{font-size:1.4rem}}[data-theme=dark] .focus-modal-overlay{background:#000c}[data-theme=dark] .focus-modal{box-shadow:0 25px 50px -12px #00000080}@media (forced-colors:active){.focus-modal{border:2px solid ButtonText}.focus-modal-close,.retry-button{border:1px solid ButtonText}.retry-button{background:ButtonFace;color:ButtonText}}.focus-timer{background:#f8f9fa;background:var(--color-background-secondary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:12px;display:flex;justify-content:center;margin:2rem 0;padding:1rem}.progress-gate-status{align-items:center;border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:8px;display:flex;gap:.75rem;margin:1rem 0;padding:1rem;transition:all .3s ease}.progress-gate-status.locked{background:#fff3e0;background:var(--color-background-tertiary,#fff3e0);border-color:#ff9800;border-color:var(--color-warning,#ff9800)}.progress-gate-status.unlocked{background:#e8f5e8;background:var(--color-success-light,#e8f5e8);border-color:#4caf50;border-color:var(--color-success,#4caf50)}.gate-icon{font-size:1.25rem;min-width:1.5rem;text-align:center}.gate-message{font-size:.875rem;line-height:1.4}.gate-message strong{color:#333;color:var(--color-text-primary,#333);display:block;margin-bottom:.25rem}[data-theme=dark] .focus-timer{background:#2a2a2a;background:var(--color-background-tertiary,#2a2a2a);border-color:#444;border-color:var(--color-border,#444)}[data-theme=dark] .progress-gate-status.locked{background:#ff98001a;border-color:#ff9800;border-color:var(--color-warning,#ff9800)}[data-theme=dark] .progress-gate-status.unlocked{background:#4caf501a;border-color:#4caf50;border-color:var(--color-success,#4caf50)}[data-theme=dark] .gate-message strong{color:#fff;color:var(--color-text-primary,#fff)}@media (max-width:768px){.focus-timer{margin:1rem 0;padding:.75rem}.progress-gate-status{margin:.75rem 0;padding:.75rem}.gate-message{font-size:.8rem}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.timer-container{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:1rem}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.timer-circle{align-items:center;display:flex;justify-content:center;position:relative}.timer-svg{height:120px;width:120px}.timer-circle-bg{transition:stroke .3s ease}.timer-circle-progress{transition:stroke-dashoffset .1s ease-out}.timer-display{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none}.timer-time{color:orange;font-family:Courier New,monospace;font-size:1.5rem;font-weight:600;line-height:1}.timer-label{color:#666;color:var(--color-text-secondary,#666);font-size:.75rem;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.timer-controls{gap:.75rem}.timer-button,.timer-controls{align-items:center;display:flex}.timer-button{background:#f5f5f5;background:var(--color-background-secondary,#f5f5f5);border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:40px}.timer-button:hover:not(:disabled){background:#e0e0e0;background:var(--color-background-tertiary,#e0e0e0);transform:scale(1.05)}.timer-button:active:not(:disabled){transform:scale(.95)}.timer-button:disabled{cursor:not-allowed;opacity:.5}.timer-button:focus{box-shadow:0 0 0 4px #2196f333;outline:2px solid #2196f3;outline:2px solid var(--color-primary,#2196f3);outline-offset:2px}.timer-button:focus:not(:focus-visible){box-shadow:none;outline:none}.timer-button:focus-visible{box-shadow:0 0 0 4px #2196f333;outline:2px solid #2196f3;outline:2px solid var(--color-primary,#2196f3);outline-offset:2px}.timer-reset:focus{outline:none}.timer-pause{background:#2196f3;background:var(--color-primary,#2196f3);color:#fff}.timer-pause:hover:not(:disabled){background:#1976d2}.timer-play{background:#2196f3;background:var(--color-primary,#2196f3);color:#fff}.timer-play:hover:not(:disabled){background:#1976d2}.timer-reset{background:#2196f3;background:var(--color-primary,#2196f3);color:#fff}.timer-reset:hover:not(:disabled){background:#1976d2}.timer-status{color:#666;color:var(--color-text-secondary,#666);font-size:.875rem;font-weight:500;text-align:center}.timer-container.completed .timer-circle-progress{stroke:#4caf50;stroke:var(--color-success,#4caf50)}.timer-container.completed .timer-display{animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.05)}}@media (prefers-color-scheme:dark){.timer-time{color:orange}.timer-label{color:#ccc;color:var(--color-text-secondary,#ccc)}.timer-button{background:#333;background:var(--color-background-secondary,#333);color:#fff;color:var(--color-text-primary,#fff)}.timer-button:hover:not(:disabled){background:#444;background:var(--color-background-tertiary,#444)}.timer-status{color:#ccc;color:var(--color-text-secondary,#ccc)}.timer-pause{background:#2196f3;background:var(--color-primary,#2196f3)}.timer-pause:hover:not(:disabled){background:#1976d2}.timer-reset{background:#2196f3;background:var(--color-primary,#2196f3)}.timer-reset:hover:not(:disabled){background:#1976d2}}@media (max-width:480px){.timer-svg{height:100px;width:100px}.timer-time{font-size:1.25rem}.timer-label{font-size:.6rem}.timer-button{font-size:1rem;height:36px;width:36px}.timer-controls{gap:.5rem}}.whats-new-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.whats-new-modal{border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl,0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a);max-height:80vh;max-width:500px;overflow-y:auto;position:relative;width:90vw;z-index:1001}.whats-new-header,.whats-new-modal{background:#fff;background:var(--color-background-paper,#fff)}.whats-new-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border,#e0e0e0);display:flex;justify-content:space-between;padding:20px 24px 16px}.whats-new-header h2{color:#212121;color:var(--color-text,#212121);font-family:Baloo\ 2,Inter,sans-serif;font-family:var(--font-heading,"Baloo 2","Inter",sans-serif);font-size:1.5rem;font-weight:600;margin:0}.whats-new-close{align-items:center;background:none;border:none;border-radius:4px;color:#424242;color:var(--color-text-secondary,#424242);cursor:pointer;display:flex;font-size:20px;justify-content:center;min-height:44px;min-width:44px;padding:8px;transition:.15s ease-in-out;transition:var(--transition-fast,.15s ease-in-out)}.whats-new-close:hover{background-color:#f5f7fa;background-color:var(--color-background-alt,#f5f7fa);color:#212121;color:var(--color-text,#212121)}.whats-new-close:focus{outline:2px solid #4d90fe;outline:2px solid var(--color-focus-outline,#4d90fe);outline-offset:2px}.whats-new-content{background:#fff;background:var(--color-background-paper,#fff);padding:20px 24px}.whats-new-intro{color:#212121;color:var(--color-text,#212121);font-family:Inter,sans-serif;font-family:var(--font-primary,"Inter",sans-serif);line-height:1.5;margin:0 0 20px}.features-list{display:flex;flex-direction:column;gap:16px}.feature-item{background:#fff;background:var(--color-background,#fff);border:1px solid #f0f0f0;border:1px solid var(--color-border-light,#f0f0f0);border-radius:8px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-sm,0 1px 3px #0000001f,0 1px 2px #0000003d);display:flex;gap:12px;padding:16px}.feature-icon{align-items:center;background:#1976d2;background:var(--color-primary-light,#1976d2);border-radius:50%;color:#fff;color:var(--color-primary-contrast,#fff);display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.feature-details{flex:1 1}.feature-title{color:#212121;color:var(--color-text,#212121);font-size:1.1rem;font-weight:600;margin:0 0 8px}.feature-description,.feature-title{font-family:Inter,sans-serif;font-family:var(--font-primary,"Inter",sans-serif)}.feature-description{color:#424242;color:var(--color-text-secondary,#424242);font-size:.9rem;line-height:1.4;margin:0}.whats-new-footer{background:#fff;background:var(--color-background-paper,#fff);border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border,#e0e0e0);display:flex;justify-content:center;padding:16px 24px}.whats-new-got-it{background:#1565c0;background:var(--color-primary,#1565c0);border:none;border-radius:8px;color:#fff;color:var(--color-primary-contrast,#fff);cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-primary,"Inter",sans-serif);font-size:1rem;font-weight:500;min-height:44px;min-width:100px;padding:12px 24px;transition:.15s ease-in-out;transition:var(--transition-fast,.15s ease-in-out)}.whats-new-got-it:hover{background:#1976d2;background:var(--color-primary-light,#1976d2);box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-shadow:var(--shadow-md,0 4px 6px #0000001a,0 1px 3px #00000014);transform:translateY(-1px)}.whats-new-got-it:focus{outline:2px solid #4d90fe;outline:2px solid var(--color-focus-outline,#4d90fe);outline-offset:2px}.whats-new-got-it:active{transform:translateY(0)}@media (max-width:600px){.whats-new-modal{max-height:85vh;width:95vw}.whats-new-content,.whats-new-footer,.whats-new-header{padding-left:16px;padding-right:16px}.feature-item{padding:12px}.feature-icon{font-size:1.3rem;height:36px;width:36px}}
/*# sourceMappingURL=main.a9a6098a.css.map*/