/* Вектор: shared surfaces, calm mint accent, distinct amber time tracks. */
:root{--bg:#101a1c;--panel:#192629;--raised:#233438;--border:#344649;--hair:#344649;--ink:#edf3ef;--muted:#acbdbb;--quiet:#91a5a3;--green:#9cddc4;--gold:#e7c78d;--red:#eea38f;--track:#344649;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
body{background:var(--bg)}
.app{max-width:810px;padding:calc(24px + var(--safe-top)) max(22px,env(safe-area-inset-right)) calc(110px + var(--safe-bottom)) max(22px,env(safe-area-inset-left))}
.top{margin-bottom:32px}.brand{letter-spacing:-.6px;font-weight:700}.vector-mark{width:32px;height:32px;color:var(--green)}.day{color:var(--muted)}
.page-head h1,.stats-heading{font-weight:650;letter-spacing:-1px}.page-head{margin-bottom:22px}
.composer,.task,.task.has-progress,.calendar-wrap,.data-tools,.archive,.stats-summary{border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.composer{margin-bottom:20px}.composer:focus-within{border-color:var(--green)}.write{padding:8px 10px 8px 16px}.write input{font-size:16px}.expand{width:44px;height:44px;border-radius:9px;background:var(--raised);color:var(--green)}
.compose-extra,.options,.settings,.modal-foot{border-color:var(--border)}.option-panel,.dialog .option-panel{background:var(--raised)}
.list{border:0;display:grid;gap:10px}.task,.task.has-progress{margin:0;padding:16px 14px;column-gap:12px;transition:border-color .18s,background .18s}.task:hover,.task.has-progress:hover{background:#1e2e31;border-color:#526b6b}.task.has-progress::before{background:rgba(125,205,169,.13)}
.task-title{font-size:15px;font-weight:600}.task-rating .rating{font-size:18px;letter-spacing:.5px}.task-rating .edit-mini{min-width:36px;min-height:32px}.task-rating{gap:4px}
.mark-done{width:28px;height:28px;margin-top:0;position:relative}.mark-done::after{content:'';position:absolute;inset:-8px}.task.completed .mark-done{background:var(--green);border-color:var(--green)}
.group-head{margin-bottom:12px}.group-head h2{color:var(--muted);font-size:11px;letter-spacing:.09em}
.archive{margin:0 0 26px;padding:12px 14px;background:#142123}.archive .group-head{border:0;padding:0;margin:0;align-items:center}.archive .list:not([hidden]){margin-top:12px}.archive .task{opacity:1;background:var(--panel)}.archive .task:last-child{border:1px solid var(--border)}.archive .completed .task-title{color:#adbfba}.archive .completed .task-rating{opacity:.65}.archive .completed .tag{display:none}
.done-toggle{display:flex;align-items:center;gap:12px;min-height:40px;padding:0;border:0;background:transparent;color:var(--muted);font-weight:650;font-size:13px}.done-toggle span{transition:transform .2s}.done-toggle[aria-expanded=true] span{transform:rotate(180deg)}.reset-button{min-height:40px;margin:0;color:var(--muted)}
.task-description{font-size:12px;color:var(--muted);margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.description-label{display:block;margin:0 0 7px;color:var(--muted)}.description-label span{color:var(--quiet);font-weight:400}.description-input{display:block;resize:vertical;min-height:70px;max-height:240px;width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0 0 20px}.description-input::placeholder{color:var(--quiet)}textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.tabs{position:fixed;z-index:20;left:0;right:0;bottom:0;margin:0;padding:8px max(16px,env(safe-area-inset-right)) calc(8px + var(--safe-bottom)) max(16px,env(safe-area-inset-left));display:flex;justify-content:center;gap:8px;background:#142123f5;border:0;border-top:1px solid var(--border);backdrop-filter:blur(16px)}
.tab{display:flex;align-items:center;justify-content:center;gap:9px;width:min(220px,50%);min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:10px;color:var(--muted);font-size:13px;font-weight:600}.tab.selected{background:#29413b;color:#c3eddb;border-color:#3d5e52}.tab:before{content:'';width:18px;height:18px;background:currentColor;mask:center/contain no-repeat}.tab:first-child:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 6 2 2 4-4M12 6h9M3 13l2 2 4-4m3 2h9M3 20l2 2 4-4m3 2h9' stroke='black' stroke-width='2' fill='none'/%3E%3C/svg%3E")}.tab:last-child:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V11m8 9V4m8 16v-6' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.stats-summary{padding:20px;margin-bottom:20px;gap:32px}.stat-number{color:var(--green);font-weight:600}.calendar-wrap{padding:16px}.cal-day{background:#213236;border-color:var(--border)}.cal-day.active{background:#345a4d}.cal-day.strong{background:#477b65}.data-tools{padding:20px;margin-top:20px}.data-actions button,.data-actions label{background:var(--raised);border-color:var(--border);min-height:44px;display:inline-flex;align-items:center;border-radius:8px}
.overlay{padding:calc(14px + var(--safe-top)) max(14px,env(safe-area-inset-right)) calc(14px + var(--safe-bottom)) max(14px,env(safe-area-inset-left))}.dialog{background:var(--panel);border-color:var(--border);border-radius:16px;max-height:100%;overscroll-behavior:contain}.modal-top{background:var(--raised);padding:20px;align-items:center}.modal-content{padding:20px}.modal-top input{border-color:#68827b}.modal-close{min-width:44px;min-height:44px}.save{background:var(--green);color:#13291f;min-height:44px;border-radius:8px}.save:hover{background:#b9ead6}.cancel,.delete,.quiet-button,.pill{min-height:44px}.pill,.date-input,.dialog .date-input,.stat-filter{background:var(--raised);border-color:#536a67;border-radius:8px}.pill.chosen{background:#355a4b;border-color:#96c6ae}.date-input,.subform input{font-size:16px}.star-input{min-width:30px;height:40px}.inline-sub{min-height:44px}.subform input{background:var(--bg);border-color:var(--border)}
@media(max-width:600px){.app{padding-top:calc(18px + var(--safe-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.top{margin-bottom:27px}.page-head h1{font-size:30px}.task,.task.has-progress{padding:14px 11px;grid-template-columns:28px minmax(0,1fr) auto;column-gap:9px}.task-title{font-size:14px}.task-rating .rating{font-size:15px;letter-spacing:0}.compose-extra{padding:15px 12px}.modal-content{padding:16px}.modal-top{padding:12px 16px}@media(max-width:365px){.task-rating .rating{font-size:13px}.task,.task.has-progress{column-gap:7px}.star-input{min-width:25px}.ratings{gap:4px}.archive-actions{gap:5px}.reset-button{font-size:10px}}

/* Deadline is part of the surface; completion remains a left-to-right fill. */
.task.deadline-calm{background:#192d28;border-color:#38584a}
.task.deadline-warm{background:#302d21;border-color:#655a36}
.task.deadline-hot{background:#352526;border-color:#78504a}
.task.deadline-calm:hover{background:#203930}.task.deadline-warm:hover{background:#3a3525}.task.deadline-hot:hover{background:#412b2b}
.task.has-progress::before{background:rgba(173,226,200,.18)}
.archive{padding:14px;margin-bottom:24px}.archive .group-head{margin-bottom:10px}.archive .group-head h2{color:#c5ddce;font-size:12px;letter-spacing:.06em}.achievement-label{display:block;font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;margin-top:3px;color:var(--quiet)}
.archive .list{display:grid;gap:7px;margin-top:0}.archive .task,.archive .task:last-child{padding:10px 11px;border:1px solid #375044;background:#182923;grid-template-columns:26px minmax(0,1fr) auto;align-items:center}.archive .task.has-progress::before{display:none}.archive .task-title{font-size:13px;color:#dce9df;font-weight:550}.archive .mark-done{width:24px;height:24px;font-size:13px}.archive .task-rating{opacity:1}.archive .task-rating .rating{font-size:17px}.archive .task-description,.archive .task-note{display:none}.archive .task-rating .edit-mini{min-height:24px;height:24px}.archive .empty{padding:7px 0;font-size:12px}
.update-notice{position:fixed;z-index:45;bottom:calc(85px + var(--safe-bottom));left:50%;transform:translateX(-50%);width:min(92vw,430px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#29413b;border:1px solid #82b39b;border-radius:12px;box-shadow:0 8px 30px #0008}.update-notice button{background:var(--green);color:#14251d;border:0;border-radius:7px;min-height:44px;padding:8px 14px;font-weight:650}
@media(max-width:365px){.archive .task-rating .rating{font-size:14px}.archive .task-title{font-size:12px}}
.address-notice{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:0 0 22px;background:var(--panel);font-size:12px;color:var(--muted)}.address-notice strong{color:var(--ink);font-size:13px}.address-notice p{margin:7px 0 12px}.address-notice .data-actions{gap:8px}.address-notice a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);padding:8px 4px;text-underline-offset:3px}
