@import url('/fonts.css');
.tab-shared{display:inline-block;font-size:9px;margin-left:7px;border:1px solid currentColor;border-radius:4px;padding:1px 4px;opacity:.8}.board-heading>div:first-child{min-width:0;flex:1}.heading-actions{flex-shrink:0}
.heading-actions{display:flex;align-items:center;gap:12px}.sharing-badge{display:inline-block;font-size:10px;color:#577b98;background:#edf3f7;border-radius:6px;padding:4px 8px;margin-top:9px}.invite-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e7f0f5;border-radius:12px;padding:14px 18px;margin-bottom:22px;font-size:12px;line-height:1.8}.invite-banner button{flex-shrink:0}.family-member{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf0f2;font-size:12px}.family-member span{overflow-wrap:anywhere;min-width:0}.invite-link-box{background:#f1f6f9;border-radius:10px;padding:13px;margin-top:14px}.invite-link-box button{margin-top:10px;margin-right:8px}.auth-choices{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.auth-notice{background:#edf3f7;border-radius:9px;padding:12px;font-size:12px;line-height:1.8;color:#627e92}.migration-note{font-size:12px;line-height:1.8;color:#627e92}#auth-confirm{font-size:16px}#signup-password-confirm-label{display:block}@media(max-width:600px){.heading-actions{flex-direction:column;gap:0;align-items:flex-end}.heading-actions .quiet{min-height:34px}.invite-banner{align-items:flex-start;flex-direction:column}.family-member{align-items:flex-start}}
@media(pointer:coarse){#tabs button{touch-action:none!important}}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;color:#384650;background:#f3f5f6;font-synthesis:none;--blue:#577b98;--green:#499b7d;--line:#e9edef}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #81adc9;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}.shell{max-width:1160px;margin:auto;padding:0 48px}.top{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8eb}.brand{font-size:29px;letter-spacing:1px;font-weight:650;display:flex;align-items:center;gap:11px}.brand-icon{border-radius:12px;background:var(--blue);color:white;width:37px;height:37px;display:grid;place-items:center;font-size:24px}.brand-sub{letter-spacing:2px;font-size:11px;color:#8d99a1;font-weight:500;margin:9px 0 0 2px}.account{display:flex;align-items:center;gap:9px;font-size:12px;color:#73838e;min-height:44px}.dot{height:6px;width:6px;border-radius:50%;background:var(--green)}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e5ebef;color:var(--blue);margin-left:12px}main{max-width:850px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:55px 0 36px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#98a6af;margin:0 0 12px}h1{font-size:29px;letter-spacing:1.4px;font-weight:650;margin:0 0 14px}.subtitle{color:#8c99a2;font-size:13px;letter-spacing:.5px;margin:0}.date{border-left:1px solid #dce3e7;padding:0 23px;text-align:center;display:flex;flex-direction:column;color:#84939e;font-size:10px;letter-spacing:2px;gap:2px}.date strong{font-size:37px;line-height:1.25;font-weight:400;color:#658096;letter-spacing:1px}.board{background:#fff;border:1px solid #e6ebee;border-radius:16px;box-shadow:0 9px 35px #344a5e04;overflow:hidden}.category-bar{display:flex;padding:15px 24px 0;gap:12px;border-bottom:1px solid var(--line);background:#fcfdfd}#tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;flex:1;padding-bottom:12px;align-items:center}#tabs button{padding:12px 20px;border-radius:9px;white-space:nowrap;font-size:13px;color:#8796a1;min-height:44px;flex-shrink:0;max-width:none;touch-action:pan-x}#tabs button[aria-selected=true]{color:white;background:var(--blue);box-shadow:0 3px 8px #577b9822}#tabs .count{font-size:10px;margin-left:10px;opacity:.75}#tabs button.dragging{opacity:.5}.icon-button{font-size:25px;min-width:44px;height:44px;color:#8998a3;border-radius:9px}.icon-button:hover{background:#edf2f5}.board-heading{display:flex;align-items:center;justify-content:space-between;padding:31px 32px 20px;gap:16px}.board-heading .eyebrow{margin-bottom:8px}h2{font-size:21px;font-weight:600;margin:0;overflow-wrap:anywhere}.quiet{font-size:11px;color:#94a0a9;min-height:44px}.quiet span{font-size:21px;padding-left:8px}.progress-line{padding:0 32px;display:flex;justify-content:space-between;font-size:11px;color:#9aa6ae}.progress{height:3px;background:#f0f3f4;margin:12px 32px 18px;border-radius:3px}.progress>div{height:100%;background:#8cb9a7;transition:width .25s;width:0}.task{display:flex;align-items:center;gap:15px;padding:18px 0;margin:0 32px;border-bottom:1px solid #edf0f2;min-height:73px}.check{height:25px;width:25px;border:1.6px solid #d4dfe3;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:transparent;position:relative}.check:before{content:'';position:absolute;inset:-10px}.check:hover{border-color:var(--green);background:#f1faf6}.task.done .check{background:var(--green);border-color:var(--green);color:white;font-size:14px}.task-content{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0;text-align:left;padding:0}.task.done .task-content{color:#9aa6ad;text-decoration:line-through;text-decoration-color:#bfccd0}.edit-task{width:34px;height:44px;font-size:21px;color:#a4b0b8;opacity:0}.task:hover .edit-task,.edit-task:focus-visible{opacity:1}.completed-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 32px 3px;font-size:11px;color:#9aa7af}.completed-heading span span{padding-left:9px}.completed-heading+div .task{border-color:#f1f3f4}.board-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#a5b0b6;padding:28px 15px 26px}.small-check{color:#88b7a2}.empty{color:#9aa8b1;font-size:13px;text-align:center;padding:43px 16px;line-height:2}.empty-mark{font-size:27px;color:#b6c9d5;display:block;margin-bottom:8px}footer{display:flex;justify-content:space-between;color:#adb7bd;font-size:9px;letter-spacing:1px;margin:22px 0 110px;gap:20px}footer span:last-child{letter-spacing:0}.fab{position:fixed;right:max(35px,calc((100vw - 1064px)/2));bottom:max(32px,env(safe-area-inset-bottom));height:56px;border-radius:18px;background:var(--blue);color:white;padding:0 24px;box-shadow:0 7px 24px #496b8a35;font-size:13px;display:flex;align-items:center;gap:13px}.fab span{font-size:26px;font-weight:300}.fab:hover,.primary:hover{background:#496e8c}dialog{border:1px solid #e3e9ed;border-radius:18px;width:min(480px,calc(100vw - 28px));padding:27px;color:#384650;box-shadow:0 20px 80px #283e4f22;max-height:85dvh;overflow:auto}dialog::backdrop{background:#273b4d55;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dialog-top h2{font-size:19px}label{display:block;font-size:12px;margin:16px 0 8px;color:#7c8e9a}textarea,input{width:100%;background:#f6f8f9;border:1px solid #dae3e8;border-radius:9px;padding:12px;color:#384650;font-size:16px;outline-color:#87a6bc;resize:vertical;line-height:1.7}.muted{font-size:12px;color:#8c9aa4;line-height:1.9}h3{font-size:14px;margin:23px 0 8px}.dialog-actions{display:flex;align-items:center;gap:8px;margin-top:22px;flex-wrap:wrap}.spacer{flex:1}.primary,.secondary,.danger{padding:12px 16px;min-height:44px;border-radius:9px;font-size:12px}.primary{background:var(--blue);color:white}.secondary{background:#edf2f5;color:#6b8496}.danger{color:#bd6c6c;padding-left:0}.wide{width:100%;margin-top:20px}hr{border:0;border-top:1px solid var(--line);margin:26px 0}.error{color:#b35d5d;font-size:12px;line-height:1.7}pre{font:12px/1.8 inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f8;padding:12px}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:105px;max-width:90vw;background:#364b5b;color:white;border-radius:10px;padding:12px 20px;font-size:12px;z-index:10;display:none}#toast.visible{display:block}[hidden]{display:none!important}@media(hover:none){.edit-task{opacity:1}}@media(max-width:600px){.shell{padding:0 19px}.top{height:79px}.brand{font-size:25px}.brand-icon{width:32px;height:32px;font-size:21px}.brand-sub{display:none}.account{font-size:10px;gap:6px}.avatar{margin-left:3px;width:29px;height:29px}.intro{padding:34px 0 28px}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:23px;letter-spacing:.3px}.subtitle{font-size:11px}.date{padding:0 7px 0 17px;font-size:9px}.date strong{font-size:31px}.board{border-radius:13px}.category-bar{padding:12px 13px 0;gap:3px}#tabs{gap:3px}#tabs button{padding:10px 14px;font-size:12px}.board-heading{padding:24px 20px 17px;align-items:flex-start}.board-heading h2{font-size:19px}.board-heading .quiet{font-size:10px;max-width:100px}.progress-line{padding:0 20px;font-size:10px}.progress{margin-left:20px;margin-right:20px}.task{margin:0 20px;gap:12px;padding:16px 0}.task-content{font-size:14px}.edit-task{opacity:1;width:25px;flex-shrink:0}.completed-heading{padding-left:20px;padding-right:20px}.board-foot{font-size:10px}footer{flex-direction:column;align-items:center;gap:10px;margin-top:22px}.fab{right:20px;bottom:calc(22px + env(safe-area-inset-bottom));height:54px;padding:0 21px;border-radius:17px}dialog{padding:22px}#toast{bottom:100px}}
.invite-banner{flex-wrap:wrap}
