:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#29332e;background:#fcfcfa;font-size:16px;font-synthesis:none;--muted: #737a74;--line: #e5e8e2;--green: #315d49}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible{outline:2px solid #739b82;outline-offset:4px}input:focus,select:focus{outline:2px solid #739b82;outline-offset:2px}button{border:0;background:none}h1,h2,p{margin:0}.app{max-width:664px;margin:96px auto;padding:0 24px}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:30px}h1{font-size:30px;font-weight:650;letter-spacing:-1.3px}h1 span{color:var(--green)}.header-actions{display:flex;align-items:center;gap:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 15px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:14px;font-weight:500}.button:hover{background:#f1f4ee}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#264b3b}.icon-button{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;color:var(--muted);border-radius:7px;flex-shrink:0}.icon-button:hover{background:#eff2eb;color:#29332e}.quick-add{display:flex;align-items:center;padding:8px;gap:8px;border:1px solid #dce2d8;border-radius:9px;background:#fff}.quick-add:focus-within{border-color:#91ab97;box-shadow:0 0 0 2px #eaf0e7}.quick-add input{min-width:0;flex:1;height:38px;border:0;background:none;color:inherit;padding:0 10px;outline:0}.quick-add input::placeholder{color:#8b928a}.add-button{width:36px;height:36px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:6px;flex-shrink:0}.add-button:hover:not(:disabled){background:#264b3b}.add-button:disabled{background:#eef1eb;color:#8d998d;opacity:1}.filter-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 2px 0;font-size:13px;color:var(--muted)}.list{margin-top:20px}.task-list{list-style:none;margin:0;padding:0}.task-row{display:flex;align-items:center;gap:4px;min-height:65px;border-bottom:1px solid var(--line)}.check-button{display:grid;place-items:center;flex-shrink:0;width:40px;height:44px;margin-left:-9px;padding:0;border-radius:6px}.task-checkbox{width:19px;height:19px;border:1.5px solid #bec9bc;border-radius:5px;display:grid;place-items:center}.check-button:hover .task-checkbox{border-color:var(--green);background:#eff4ed}.task-title{flex:1;min-width:0;padding:16px 0;text-align:left;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.task-title:hover>span{color:var(--green)}.task-title small{display:block;margin-top:3px;font-size:13px;color:var(--muted)}.due-date{flex-shrink:0;padding-left:12px;font-size:13px;color:var(--muted)}.is-complete .task-checkbox{background:#8da28e;border-color:#8da28e;color:#fff}.is-complete .task-title>span{color:#7e887c;text-decoration:line-through}.is-complete .task-title small,.is-complete .due-date{color:#8a9186}.empty-state{padding:43px 8px;text-align:center;color:var(--muted);font-size:15px;line-height:1.7}.empty-state small{display:block;margin-top:6px;font-size:13px;color:#858d81}.empty-state .text-button{margin-top:12px}.completed-list{margin-top:21px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;min-height:36px;width:fit-content}summary::-webkit-details-marker{display:none}summary>svg{transform:rotate(-90deg);flex-shrink:0}details[open]>summary>svg{transform:rotate(0)}summary>span{color:#929a8c;margin-left:2px}.completed-list>.task-list{margin-top:3px}.list-footer{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#7e8778;font-size:12px}.connection{display:inline-flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px;border-radius:50%;background:#7e9f7a}.disconnected{color:#917956}.disconnected .status-dot{background:#b39465}dialog{width:min(440px,calc(100% - 32px));padding:24px;border:1px solid #e0e5da;border-radius:12px;background:#fcfdf9;color:inherit;box-shadow:0 15px 60px #22311e1c;max-height:calc(100dvh - 48px);overflow-y:auto}dialog::backdrop{background:#16231745}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.dialog-header h2{font-size:20px;font-weight:600;letter-spacing:-.45px}.dialog-header .icon-button{margin:-6px -8px -6px 0}.dialog-copy{font-size:14px;line-height:1.7;color:#65715f;overflow-wrap:anywhere}.fields,.task-form{display:flex;flex-direction:column;gap:19px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#677460}label input,label select{border:1px solid #dce3d5;border-radius:6px;background:#fff;width:100%;min-width:0;min-height:44px;padding:10px 11px;font-size:15px;color:#34432e}label input::placeholder{color:#929c89}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.task-form .dialog-actions{margin-top:4px}.fields .dialog-actions{margin-top:0}.dialog-actions .button{min-height:42px}.push-left{margin-right:auto}.text-button{color:var(--green);padding:0;font-size:13px;min-height:32px}.text-button:hover{text-decoration:underline}.danger{color:#a35c4f}.danger-button{color:#fff;background:#a35c4f;border-color:#a35c4f}.danger-button:hover{background:#8b4c40}.copy-field{display:flex;align-items:center;gap:8px;margin-top:20px}.copy-field input{min-width:0;flex:1;background:#fff;border:1px solid #dce3d5;border-radius:6px;padding:11px;font-size:13px;height:43px;color:#66775b}.copy-field .button{flex-shrink:0;min-height:43px}.hint{font-size:13px;line-height:1.7;color:var(--muted)}.toast{display:flex;align-items:center;gap:12px;position:fixed;bottom:26px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);padding:9px 10px 9px 16px;background:#2f4936;color:#fff;border-radius:8px;font-size:13px;line-height:1.5;box-shadow:0 4px 20px #14261416;z-index:5}.toast .icon-button{color:#e5ecdf;width:32px;height:32px}.toast .icon-button:hover{background:#46614c}.auth-panel{max-width:380px;margin:48px auto}.auth-panel h2,.section-heading h2,.invitation h2{font-size:20px;letter-spacing:-.4px}.auth-panel>.hint{margin:12px 0 24px}.auth-switch{display:block;margin:20px auto 0}.error-message{color:#a04435;font-size:14px;line-height:1.6}.error-banner{padding:16px;margin-bottom:24px;border:1px solid #eed1c9;border-radius:8px;background:#fff8f5;color:#924e40;font-size:14px;line-height:1.6}.error-banner .text-button{display:block;margin-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.board-list{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}.board-list li{border-bottom:1px solid var(--line)}.board-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;min-height:62px;padding:14px 10px;border-radius:6px}.board-list button:hover{background:#f1f4ee}.board-list span,.board-heading h2{overflow-wrap:anywhere}.board-list small{flex-shrink:0;font-size:11px;color:var(--muted)}.board-heading{margin-bottom:20px}.board-heading h2{font-size:21px;font-weight:550;letter-spacing:-.4px}.invitation{padding:22px;margin-bottom:30px;border:1px solid #dce3d5;border-radius:10px;background:#f4f7f0}.invitation .hint{margin:10px 0 16px}.search-bar{display:flex;align-items:center;gap:16px;margin-top:14px}.search-field{flex:1;min-width:0}.search-field input{min-height:40px;font-size:14px;background:transparent;border-color:var(--line)}.search-bar .text-button{flex-shrink:0;min-height:40px}.priority-label{font-size:10px;color:#976244;border-radius:4px;background:#f7eee6;padding:3px 5px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vault-panel{max-width:480px}.recovery-key{width:100%;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f4f7f0;color:inherit;font:15px/1.6 monospace;overflow-wrap:anywhere}.recovery-key:focus-visible{outline:2px solid var(--green);outline-offset:2px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.checkbox-label input{width:18px;min-height:18px;height:18px;margin:3px 0 0;flex-shrink:0;accent-color:var(--green)}.vault-settings{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:18px}.vault-settings h3{margin:0;font-size:16px}.vault-settings .text-button{justify-self:start}.list-issue{margin:0 10px 16px;overflow-wrap:anywhere}.board-list .list-issue button{display:inline-block;width:auto;min-height:40px;padding:6px 0;text-align:left}.legacy-notice{padding:14px;margin-bottom:20px;border:1px solid #e2d2ae;border-radius:8px;background:#fffcf4;color:#765c2b;font-size:13px;line-height:1.6}.legacy-notice .text-button{margin:10px 0;text-align:left}.header-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.app{margin:34px auto;padding:0 22px}.app-header{margin-bottom:25px}h1{font-size:28px}.header-actions{gap:12px}.quick-add input,.task-title{font-size:16px}.due-date{font-size:12px;padding-left:7px}.task-row{min-height:66px}.empty-state{padding:37px 4px}dialog{padding:22px}label input,label select{font-size:16px}.field-pair{gap:10px}.toast{bottom:18px}}
