:root{color-scheme:light;--green-dark: #1b5e3a;--green-mid: #2d8f5a;--green-light: #c8ead4;--green-mint: #e8f5ec;--green-bar-bg: #b8dfc8;--text: #1a1f1c;--text-muted: #5c6b62;--page-bg: #f6faf7;--card-bg: #ffffff;--task-item-bg: #fafcfb;--shadow: 0 2px 12px rgba(27, 94, 58, .08);--radius: 10px;--font: "DM Sans", system-ui, -apple-system, sans-serif;--input-bg: #ffffff;--input-fg: var(--text);--input-border: var(--green-light);--input-placeholder: var(--text-muted)}:root[data-theme=dark]{color-scheme:dark;--green-dark: #152a20;--green-mid: #3a7a5c;--green-light: #2a4a3d;--green-mint: #0f1915;--green-bar-bg: #1a2a24;--green-ink: #8ecfaa;--text: #d6ebe0;--text-muted: #7a9d8c;--page-bg: #050807;--card-bg: #0c1310;--task-item-bg: #101a16;--shadow: 0 2px 24px rgba(0, 0, 0, .55);--input-bg: #060c09;--input-fg: #eef8f3;--input-border: var(--green-light);--input-placeholder: #6a8f7f}:root[data-theme=dark] a,:root[data-theme=dark] .brand,:root[data-theme=dark] .week-date-text,:root[data-theme=dark] .modal-title,:root[data-theme=dark] .auth-card h1,:root[data-theme=dark] .donut-hole,:root[data-theme=dark] .bar-stack-pct,:root[data-theme=dark] .tasks-band,:root[data-theme=dark] .add-block summary,:root[data-theme=dark] .pill:not(.offline),:root[data-theme=dark] .btn:not(.btn-primary):not(.btn-danger),:root[data-theme=dark] .task-subs-btn{color:var(--green-ink)}:root[data-theme=dark] .bar-done{background:var(--green-mid)}:root[data-theme=dark] .task-list.drag-over{background:#285a4659;outline-color:var(--green-mid)}:root[data-theme=dark] .donut{background:conic-gradient(var(--green-mid) calc(var(--p) * 3.6deg),var(--green-light) 0)}:root[data-theme=dark] .modal-backdrop{background:#00000094}:root[data-theme=dark] .modal-dialog{box-shadow:0 12px 40px #00000073}:root[data-theme=dark] .pill.offline{background:#2d2815;color:#d4b86a}:root[data-theme=dark] .task-item.completed .cb-double-mark{color:var(--green-ink)}:root[data-theme=dark] .cb-wrap input[type=checkbox]{accent-color:var(--green-mid)}.lang-select,.modal-input,.field input,.add-fields input[type=text],.add-fields input[type=date],.add-fields input[type=time],.task-title-block .task-title-input,.subtask-title-block .subtask-title-input{background-color:var(--input-bg);color:var(--input-fg);border-color:var(--input-border)}.modal-input::placeholder,.field input::placeholder,.task-title-block .task-title-input::placeholder,.subtask-title-block .subtask-title-input::placeholder,.add-fields input::placeholder{color:var(--input-placeholder);opacity:1}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--page-bg);line-height:1.45;min-height:100dvh}#app{min-height:100dvh}a{color:var(--green-dark)}:focus-visible{outline:2px solid var(--green-mid);outline-offset:2px}.top-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--green-light);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:1.25rem;color:var(--green-dark);letter-spacing:-.02em}.strip-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.lang-switch{display:inline-flex;align-items:center}.lang-select{font:inherit;font-size:.85rem;padding:.28rem .45rem;border-radius:8px;border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--input-fg);cursor:pointer;max-width:9.5rem}.auth-top-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem}.theme-toggle-icon{display:block;width:.58rem;height:.58rem;border-radius:50%;border:2px solid currentColor;background:transparent;box-sizing:border-box}.theme-toggle-btn--dark .theme-toggle-icon{background:currentColor;border-color:currentColor}.pill{font-size:.8rem;padding:.2rem .55rem;border-radius:999px;background:var(--green-mint);color:var(--green-dark)}.pill.offline{background:#fff3cd;color:#7d5f00}.week-nav{display:flex;align-items:center;gap:.35rem}.btn{font-family:inherit;font-size:.9rem;border:none;border-radius:8px;padding:.45rem .85rem;cursor:pointer;background:var(--green-mint);color:var(--green-dark);font-weight:500}.btn:hover{background:var(--green-light)}.btn-primary{background:var(--green-dark);color:#fff}.btn-primary:hover{background:var(--green-mid)}.btn-ghost{background:transparent;color:var(--green-dark)}.btn-danger{background:transparent;color:#a32020;padding:.25rem .45rem;font-size:.8rem}.btn-icon{width:2.25rem;height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.layout{max-width:1600px;margin:0 auto;padding:1rem 1rem 2.5rem}.hero-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.25rem}@media(min-width:900px){.hero-grid{grid-template-columns:minmax(220px,280px) 1fr;align-items:stretch}}.inspire-card{background:var(--card-bg);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}.inspire-card blockquote{margin:0 0 1rem;font-size:1.05rem;font-weight:500;color:var(--text)}.week-label{display:inline-block;background:var(--green-dark);color:#fff;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:4px;margin-right:.5rem}.week-date-text{font-weight:600;color:var(--green-dark)}.progress-panel{background:var(--card-bg);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow);display:grid;gap:1rem}@media(min-width:640px){.progress-panel{grid-template-columns:1fr auto;align-items:center}}.progress-panel h2{margin:0 0 .6rem;font-size:.95rem;color:var(--text-muted);font-weight:600}.progress-panel-left{display:flex;flex-direction:column;gap:.75rem;min-width:0}.bars-wrap{display:grid;grid-template-columns:repeat(8,1fr);gap:.35rem;align-items:end;min-height:120px}.bar-col{display:flex;flex-direction:column;align-items:center;gap:.35rem;height:100%}.bar-label{font-size:.62rem;color:var(--text-muted);text-align:center;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bar-label--backlog{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.bar-label--backlog .bar-label-units{display:block;font-size:.58rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.bar-stack{width:70%;margin-inline:auto;flex:1;min-height:104px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;border-radius:6px;overflow:hidden;background:var(--green-bar-bg)}.bar-stack--backlog{position:relative}.bar-stack-pct{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:var(--green-dark);text-shadow:0 0 1px var(--card-bg),0 0 3px var(--card-bg),0 1px 2px var(--card-bg);pointer-events:none}.bar-done{background:var(--green-dark);min-height:2px;transition:height .2s ease;flex-shrink:0}.bar-rest{background:var(--green-bar-bg);min-height:2px;flex-shrink:0}.donut-hero-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.donut{--p: 0%;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--green-dark) calc(var(--p) * 3.6deg),var(--green-light) 0);display:grid;place-items:center;flex-shrink:0}.donut-hole{width:76px;height:76px;border-radius:50%;background:var(--card-bg);display:grid;place-items:center;font-weight:700;font-size:1.35rem;color:var(--green-dark)}.donut-caption{margin-top:.5rem;font-size:.9rem;color:var(--text-muted);text-align:center;max-width:14rem;line-height:1.35}.days-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.days-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.days-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1400px){.days-grid{grid-template-columns:repeat(8,1fr)}}.day-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0}.day-head{background:var(--green-dark);color:#fff;padding:.65rem .85rem;text-align:center}.day-head .day-name{font-weight:700;font-size:.95rem}.day-head .day-date{font-size:.8rem;opacity:.92}.day-card .donut{width:100px;height:100px;margin:.85rem auto}.day-card .donut-hole{width:64px;height:64px;font-size:1.05rem}.tasks-band{background:var(--green-mint);color:var(--green-dark);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .85rem}.task-list{flex:1;padding:.35rem .35rem .65rem;display:flex;flex-direction:column;gap:.35rem;min-height:2.5rem;transition:background .15s ease,outline .15s ease;border-radius:8px}.task-list.drag-over{background:#c8ead48c;outline:2px dashed var(--green-mid);outline-offset:1px}.task-item{border:1px solid var(--green-light);border-radius:8px;background:var(--task-item-bg);overflow:hidden;cursor:grab}.task-item.dragging{opacity:.55;cursor:grabbing}.task-row{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;padding:.45rem .5rem}.task-subs-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:1.75rem;min-width:2rem;padding:0;margin:0;border:1px solid var(--green-light);border-radius:8px;background:var(--card-bg);color:var(--green-dark);cursor:pointer;line-height:1}.task-subs-btn:hover{background:var(--green-mint);border-color:var(--green-mid)}.task-subs-chevron{font-size:.7rem;line-height:1;-webkit-user-select:none;user-select:none}.task-title-block{width:100%;min-width:0}.task-actions{display:flex;flex-direction:column;gap:.35rem;align-items:stretch}.task-complete-row{display:flex;align-items:center;gap:.5rem;width:100%}.task-complete-row .cb-wrap{margin-left:auto}.task-priority-btn{flex-shrink:0;width:1.65rem;height:1.65rem;min-width:1.65rem;padding:0;font-size:.8rem;line-height:1;opacity:.75}.task-priority-btn:hover:not(:disabled){opacity:1}.task-priority-btn:disabled{opacity:.28;cursor:not-allowed}.task-edit-btn{flex-shrink:0;width:1.75rem;height:1.75rem;min-width:1.75rem;padding:0;font-size:.85rem;opacity:.75}.task-edit-btn:hover{opacity:1}.task-title-block .task-title-input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:.875rem;padding:.25rem .4rem;border:1px solid var(--input-border);border-radius:6px}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-muted)}.task-item.completed .task-row{background:var(--green-mint)}.task-title{font-size:.875rem;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.35}.task-meta{font-size:.72rem;color:var(--text-muted);padding:0 .5rem .35rem;display:flex;flex-direction:column;gap:.2rem}.task-meta-line{line-height:1.35}.cb-wrap{display:flex;align-items:center;justify-content:center}.cb-wrap input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--green-dark);cursor:pointer}.cb-double-wrap{display:flex;align-items:center;justify-content:center;min-width:1.35rem;min-height:1.15rem;-webkit-user-select:none;user-select:none}.cb-double{display:inline-flex;align-items:baseline;font-size:.72rem;font-weight:700;line-height:1}.cb-double-mark{color:var(--text-muted);opacity:.85}.cb-double-mark+.cb-double-mark{margin-left:-.42em}.task-item.completed .cb-double-mark{color:var(--green-dark);opacity:1}.task-tools{display:flex;gap:.15rem}.subtask-row{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;padding:.35rem 0;font-size:.82rem}.subtask-title-block{width:100%;min-width:0}.subtask-title{overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.subtask-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25rem}.subtask-edit-btn{width:1.65rem;height:1.65rem;min-width:1.65rem;padding:0;font-size:.78rem;opacity:.75}.subtask-edit-btn:hover{opacity:1}.subtask-title-block .subtask-title-input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:.82rem;padding:.2rem .35rem;border:1px solid var(--input-border);border-radius:6px}.subtask-row.done .subtask-title{text-decoration:line-through;color:var(--text-muted)}.add-block{padding:.45rem .6rem .55rem;border-bottom:1px solid var(--green-mint);background:var(--page-bg)}.add-block details{font-size:.8rem}.add-block summary{cursor:pointer;font-weight:600;color:var(--green-dark);padding:.25rem 0}.add-fields{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.add-fields input[type=text],.add-fields input[type=date],.add-fields input[type=time]{width:100%;font:inherit;padding:.35rem .45rem;border:1px solid var(--input-border);border-radius:6px}.notify-note{font-size:.72rem;color:var(--text-muted);margin:0}.add-task-column-btn{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#1a1f1c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{width:100%;max-width:420px;max-height:min(90dvh,640px);overflow:auto;background:var(--card-bg);border-radius:var(--radius);box-shadow:0 12px 40px #1b5e3a2e;border:1px solid var(--green-light)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .5rem;border-bottom:1px solid var(--green-mint)}.modal-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--green-dark)}.modal-close{flex-shrink:0;font-size:1.5rem;line-height:1;padding:0 .35rem;min-width:auto}.modal-form{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.modal-field{display:block;font-size:.82rem;font-weight:600;color:var(--text-muted)}.modal-field.modal-check{display:flex;align-items:center;gap:.4rem;font-weight:500}.modal-label-text{display:inline-block;margin-bottom:.25rem}.modal-input{width:100%;margin-top:.25rem;font:inherit;font-weight:400;padding:.45rem .5rem;border:1px solid var(--input-border);border-radius:8px}.modal-input:disabled{opacity:.55;cursor:not-allowed}.modal-error{color:#a32020;font-size:.85rem;margin:0}.modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.5rem;margin-top:.25rem}.modal-dialog-subtasks{max-width:460px}.modal-subtasks-task{margin:0;padding:0 1rem .6rem;font-size:.88rem;font-weight:600;color:var(--text);line-height:1.35;border-bottom:1px solid var(--green-mint)}.modal-subtasks-body{padding:.65rem 1rem .35rem;max-height:min(42dvh,300px);overflow:auto}.modal-subtasks-body .subtask-row:first-child{padding-top:.15rem}.modal-subtasks-add{display:flex;align-items:center;gap:.45rem;padding:.65rem 1rem;border-top:1px solid var(--green-mint);background:var(--task-item-bg)}.modal-subtasks-add .modal-input{flex:1;margin-top:0;min-width:0}.modal-subtasks-footer{padding:.5rem 1rem 1rem;margin-top:0;border-top:none}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:100%;max-width:380px;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.35rem}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem;color:var(--green-dark)}.auth-card p{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem}.field{margin-bottom:.75rem}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem;color:var(--text-muted)}.field input{width:100%;font:inherit;padding:.5rem .55rem;border:1px solid var(--input-border);border-radius:8px}.auth-error{color:#a32020;font-size:.85rem;margin:0 0 1rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.auth-tabs button{flex:1}.hidden{display:none!important}
