:root{--cream:#fdf4ee;--cream-2:#fbeadf;--card:#fff;--pink:#f4a6b6;--pink-soft:#fbd5dd;--peach:#ffc9a3;--peach-soft:#ffe6d4;--lav:#c9b6f0;--lav-soft:#e7defb;--sage:#a9d3bb;--sage-soft:#d8ecdf;--ink:#6a5d54;--ink-soft:#9a8d83;--shadow:0 10px 30px #be96822e;--radius:26px}*{box-sizing:border-box}body{font-family:var(--font-quicksand), system-ui, -apple-system, sans-serif;color:var(--ink);background:linear-gradient(160deg, var(--cream) 0%, var(--cream-2) 100%);background-attachment:fixed;min-height:100vh;margin:0}button,input,textarea,select{color:inherit;font-family:inherit}.app{max-width:920px;margin:0 auto;padding:24px 16px 100px}.nav{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.nav a{color:var(--ink-soft);box-shadow:var(--shadow);background:#fff;border-radius:999px;padding:10px 20px;font-weight:700;text-decoration:none}.nav a.active{background:var(--pink);color:#fff}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:20px}.card h2{margin:0 0 12px;font-size:1.1rem}.muted{color:var(--ink-soft);font-size:.9rem}.btn{cursor:pointer;background:var(--lav-soft);color:var(--ink);border:none;border-radius:999px;padding:10px 18px;font-weight:700}.btn.primary{background:var(--pink);color:#fff}.btn.sage{background:var(--sage);color:#fff}.btn.ghost{color:var(--ink-soft);background:0 0}.btn{text-decoration:none;display:inline-block}.btn.small{padding:6px 12px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-size:.9rem;font-weight:700}.field input,.field textarea,.field select{border:2px solid var(--cream-2);background:#fffaf7;border-radius:16px;padding:10px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:110px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>.field{flex:160px}.task{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#fffaf7;border:2px solid #0000;border-radius:18px;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.task.hot{border-color:var(--peach)}.task .grip{cursor:grab;color:var(--ink-soft);-webkit-user-select:none;user-select:none}.task .body{flex:1;min-width:0}.task .name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:700}.task .meta{color:var(--ink-soft);margin-top:2px;font-size:.8rem}.verb{background:var(--lav-soft);border-radius:999px;margin-right:6px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.task .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.zone{border-radius:var(--radius);min-height:60px;transition:background .15s}.zone.over{background:var(--sage-soft)}.circle{background:radial-gradient(circle at 30% 30%, #fff, var(--pink-soft));width:240px;max-width:70vw;height:240px;max-height:70vw;box-shadow:var(--shadow);text-align:center;border:4px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:26px;transition:border-color .15s;display:flex}.circle.over{border-color:var(--sage)}.circle.running{background:radial-gradient(circle at 30% 30%, #fff, var(--sage-soft))}.circle .time{font-size:2.4rem;font-weight:700}.circle .label{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-top:6px;font-weight:700}.sheet-bg{z-index:50;background:#6a5d5440;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--cream);width:100%;max-width:620px;max-height:88vh;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;overflow-y:auto}.option{box-shadow:var(--shadow);background:#fff;border-radius:18px;margin-bottom:10px;padding:14px}.option .kind{color:var(--ink-soft);font-size:.75rem;font-weight:700}.draft{white-space:pre-wrap;background:#fffaf7;border-radius:12px;margin:8px 0;padding:10px;font-size:.9rem}.fab{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--lav);color:#fff;width:56px;height:56px;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:50%;font-size:1.5rem;position:fixed}.toast{background:var(--ink);color:#fff;z-index:60;border-radius:999px;padding:10px 18px;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.error{color:#c0607a;font-weight:600}.capture textarea{min-height:38vh;font-size:1.2rem}.stat{text-align:center;background:#fffaf7;border-radius:18px;padding:12px}.flow{flex-direction:column;max-width:680px;min-height:72vh;margin:0 auto;display:flex}.flow-step{flex:1;animation:.35s both flowIn}.flow-step.back{animation-name:flowBack}@keyframes flowIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes flowBack{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.flow-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:.8rem;font-weight:700}.flow-q{margin:0 0 8px;font-size:clamp(1.5rem,4.5vw,2.1rem);font-weight:700;line-height:1.2}.flow-hint{color:var(--ink-soft);margin:0 0 24px}.big-input{border:none;border-bottom:3px solid var(--pink-soft);background:0 0;outline:none;width:100%;padding:10px 2px;font-size:clamp(1.3rem,4vw,1.8rem);font-weight:600}.big-input:focus{border-bottom-color:var(--pink)}textarea.big-input{resize:vertical;min-height:120px;font-size:1.2rem;font-weight:500;line-height:1.45}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{cursor:pointer;box-shadow:var(--shadow);background:#fff;border:2px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:1rem;font-weight:600;transition:transform .12s,background .12s;display:inline-flex}.chip:hover{transform:translateY(-2px)}.chip.on{background:var(--pink);color:#fff}.chip.ghost{box-shadow:none;border:2px solid var(--lav);color:var(--ink-soft);background:0 0}.chip-input{border:2px solid var(--lav);background:0 0;border-radius:999px;outline:none;min-width:180px;padding:12px 18px;font-size:1rem}.avatar{color:#fff;width:54px;height:54px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.person{cursor:grab;touch-action:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px;display:inline-flex}.person .pn{text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:.8rem;font-weight:600;overflow:hidden}.people-pool{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.back-link{margin-bottom:8px;text-decoration:none;display:inline-block}.tag{box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.tag.soft{background:var(--lav-soft);box-shadow:none}.tag.done{background:var(--sage);color:#fff}.hero-stats{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:18px;display:flex}.hs{text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:22px;min-width:130px;padding:14px 22px}.hs-v{font-size:2rem;font-weight:700;line-height:1.1}.hs-l{color:var(--ink-soft);font-size:.8rem}.facts{gap:12px;margin-bottom:18px;display:grid}.fact{box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:14px 18px}.step-row{border-bottom:1px solid var(--cream-2);cursor:pointer;align-items:center;gap:10px;padding:9px 4px;display:flex}.step-row input{width:20px;height:20px;accent-color:var(--sage)}.step-row.done span{color:var(--ink-soft);text-decoration:line-through}.guest-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (max-width:640px){.guest-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.guest-col{background:#fffaf7;border:2px solid #0000;border-radius:18px;min-height:120px;padding:10px;transition:border-color .15s}.guest-col.over{border-color:var(--sage);background:var(--sage-soft)}.gc-h{margin-bottom:8px;font-size:.9rem;font-weight:700}.guest{box-shadow:var(--shadow);cursor:grab;touch-action:none;background:#fff;border-radius:999px;align-items:center;gap:8px;margin-bottom:6px;padding:4px 10px 4px 4px;font-size:.9rem;font-weight:600;display:flex;position:relative}.vote-row{background:#fffaf7;border-radius:14px;align-items:center;gap:10px;margin-bottom:8px;padding:10px;display:flex;position:relative;overflow:hidden}.vote-bar{background:var(--pink-soft);z-index:0;border-radius:14px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.vote-label{flex:1;position:relative}.vote-row .btn{position:relative}.empty-state{text-align:center}@keyframes pulse{0%,to{opacity:.5;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}.mic{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;display:flex}.mic-btn{border:2px solid var(--pink-soft);color:var(--ink);cursor:pointer;box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:700;display:inline-flex}.mic-btn:hover{border-color:var(--pink)}.mic-btn.recording{color:#b24a62;background:#fff0f3;border-color:#e8768f}.mic-btn.busy{cursor:default;color:var(--ink-soft)}.rec-dot{background:#e8768f;border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite pulse}.dot-pulse{background:var(--lav);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite pulse}.linkish{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.timeline{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.energy{margin-left:6px}.hour{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.date-grid{box-shadow:var(--shadow);background:#fff;border-radius:22px;max-width:460px;padding:12px}.dg-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dg-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dg-wd{text-align:center;color:var(--ink-soft);padding:4px 0;font-size:.75rem;font-weight:700}.dg-day{aspect-ratio:1;cursor:pointer;background:#fffaf7;border:2px solid #0000;border-radius:12px;font-size:.95rem;font-weight:700;transition:transform .1s,background .1s;position:relative}.dg-day:hover:not(:disabled){border-color:var(--pink-soft);transform:scale(1.06)}.dg-day.we{background:var(--lav-soft)}.dg-day.today{border-color:var(--sage)}.dg-day.on{background:var(--pink);color:#fff}.dg-day:disabled{opacity:.3;cursor:default}.dg-m{text-transform:uppercase;opacity:.7;font-size:.55rem;font-weight:700;position:absolute;top:2px;left:0;right:0}.dg-status{color:var(--ink-soft);margin:4px 0 10px;font-weight:600}.dg-status.ok{color:#4f8f6a}.chip.small-chip{padding:7px 12px;font-size:.85rem}.tabbar{display:none}.nav-add{background:var(--pink);color:#fff;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-family:inherit;font-size:1rem;font-weight:700}.add-sheet-bg{z-index:44;background:#6a5d541f;position:fixed;inset:0}.add-sheet{background:var(--cream);width:min(92vw,360px);box-shadow:var(--shadow);border-radius:24px;padding:10px;position:absolute;top:80px;left:50%;transform:translate(-50%)}.add-item{color:inherit;border-radius:16px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.add-item:hover{background:#fff}@media (max-width:640px){.top-nav{display:none}.app{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));padding-top:16px}.tabbar{z-index:45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-radius:22px 22px 0 0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #be96822e}.tabbar a,.tabbar button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.tabbar .active{color:var(--ink);background:var(--pink-soft)}.add-sheet-bg{z-index:44;background:#6a5d5433;display:block;position:fixed;inset:0}.add-sheet{width:auto;top:auto;left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--cream);box-shadow:var(--shadow);border-radius:24px;padding:10px;position:fixed;transform:none}.add-item{color:inherit;border-radius:16px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.add-item:active,.add-item:hover{background:#fff}.fab{bottom:calc(86px + env(safe-area-inset-bottom,0px));width:46px;height:46px;font-size:1.2rem}.toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}.circle{width:200px;height:200px}}.due-row{border-top:1px solid var(--cream-2);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.due-row:first-of-type{border-top:none}.due-actions{flex-direction:column;gap:6px;display:flex}.person-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.person-card{text-align:left;box-shadow:var(--shadow);cursor:pointer;font:inherit;color:inherit;background:#fff;border:2px solid #0000;border-radius:20px;align-items:center;gap:12px;padding:12px;display:flex}.person-card:hover{border-color:var(--pink-soft)}.pc-info{flex-direction:column;min-width:0;display:flex}.pc-info .muted{font-size:.82rem}.pc-tags{color:#8a6fc4;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.78rem}@media (max-width:520px){.due-row{flex-wrap:wrap}.due-actions{flex-direction:row;justify-content:flex-end;width:100%}}.deal{background:var(--cream);text-align:center;width:min(92vw,420px);box-shadow:var(--shadow);border-radius:32px;padding:28px 22px}.decide{text-align:left;box-shadow:var(--shadow);cursor:pointer;font:inherit;color:inherit;background:#fff;border:2px solid #0000;border-radius:20px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;transition:transform .12s;display:flex}.decide:hover:not(:disabled){border-color:var(--pink-soft);transform:translateY(-2px)}.decide:disabled{opacity:.45;cursor:default}.decide span{font-size:1.5rem}.decide small{color:var(--ink-soft)}.decide.up{border-left:5px solid var(--sage)}.decide.park{border-left:5px solid var(--lav)}.decide.out{border-left:5px solid var(--peach)}.health-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:18px;display:grid}.health-card{box-shadow:var(--shadow);color:inherit;border-top:6px solid var(--cream-2);background:#fff;border-radius:20px;flex-direction:column;gap:4px;padding:14px;text-decoration:none;display:flex}.hc-top{align-items:center;gap:8px;display:flex}.hc-value{font-size:1.05rem;font-weight:700}.hc-reason{color:var(--ink-soft);font-size:.85rem}.hc-help{color:#8a6fc4;font-size:.85rem}.verdict-row{border-top:1px solid var(--cream-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.trend-table{gap:2px;display:grid}.trend-row{border-top:1px solid var(--cream-2);grid-template-columns:1fr 70px 90px 84px;align-items:center;gap:8px;padding:6px 0;font-size:.92rem;display:grid}.trend-dir{color:var(--ink-soft);font-size:.8rem}.trend-dir.good{color:#4f8f6a}.trend-dir.bad{color:#c0607a}@media (max-width:520px){.trend-row{grid-template-columns:1fr 56px 80px}.trend-row svg,.trend-row>span:last-child:not(.trend-dir){display:none}}.prep-box{background:var(--peach-soft);border-radius:18px;margin-top:14px;padding:12px 14px}.dom-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.dom-grid .chip{justify-content:center;padding-inline:0}.step-link{white-space:nowrap;margin-left:8px}.resources.drag{outline:3px solid var(--pink,#f4a6b6);outline-offset:-6px}.res-add{gap:8px;margin:12px 0;display:grid}.res-add input{width:100%}.res-list{gap:6px;display:grid}.res-item{border-top:1px solid #0000000d;align-items:center;gap:10px;padding:8px 4px;display:flex}.res-item a{color:inherit;text-decoration:none}.res-item a:hover b{text-decoration:underline}.res-icon{text-align:center;width:28px;font-size:1.3rem}.bigmic{flex-direction:column;align-items:center;gap:10px;margin:18px 0 20px;display:flex}.bigmic-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 35% 30%,#ffd1dc,#f4a6b6);border:none;border-radius:50%;place-items:center;width:132px;height:132px;font-size:3.2rem;display:grid;box-shadow:0 10px 30px #f4a6b68c}.bigmic-btn:active{transform:scale(.96)}.bigmic-btn.recording{background:radial-gradient(circle at 35% 30%,#ff9fb4,#e5567a);animation:1.4s ease-in-out infinite bigmic-pulse}.bigmic-btn.busy{box-shadow:none;background:#f3eef5}.bigmic-stop{background:#fff;border-radius:8px;width:38px;height:38px}.bigmic-label{color:var(--ink-soft,#6b6070);font-weight:700}@keyframes bigmic-pulse{0%,to{box-shadow:0 0 #e5567a73}50%{box-shadow:0 0 0 18px #e5567a00}}.quick-type{align-items:center;gap:8px;display:flex}.quick-type input{flex:1;font-size:1rem}.captured{margin-top:16px}.captured-row{border-top:1px solid #0000000d;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.captured-row span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pantry-page{gap:0;display:grid}.pantry-say{gap:4px;display:grid}.pantry-section{margin-top:8px}.pantry-sec-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0 2px;font-size:.78rem;font-weight:700}.pantry-row{border:none;border-top:1px solid var(--line);width:100%;font:inherit;color:inherit;text-align:left;background:0 0;align-items:center;gap:10px;padding:9px 2px;display:flex}.pantry-row .pr-name{flex:1;min-width:0}.pantry-tick{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:6px 0;font-size:1.05rem;display:flex}.pantry-tick .box{border:2px solid var(--pink,#f4a6b6);border-radius:7px;flex:none;width:22px;height:22px}.pantry-tick:active .box{background:var(--pink,#f4a6b6)}.pantry-row.done .pr-name{color:var(--ink-soft);text-decoration:line-through}.pantry-soon{border-left:6px solid #f0b54f}.pantry-steps{margin:0 0 8px;padding-left:20px}.garden{border-left:6px solid var(--sage,#9cc79a)}.step-time{margin-left:auto;padding-left:8px;font-size:.78rem}.count{font-variant-numeric:tabular-nums;border-radius:999px;min-width:28px;padding:2px 8px;font-weight:800;display:inline-block}.count.c-ok{color:#3f7d48;background:#e7f3e4}.count.c-warn{color:#9a6a14;background:#fff1d6}.count.c-gap{color:#b24a62;background:#fde4ea}.lookfwd-card{border-left:6px solid #f0c75e}.lookfwd-row{border:none;border-top:1px solid var(--line);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:10px;padding:9px 2px;display:flex}.diary-prompts{background:#f6f1fb;border-radius:14px;margin:6px 0 10px;padding:12px 14px}.diary-prompts ul{margin:6px 0;padding-left:20px}.refine-inline{flex:1;min-width:160px}.ghost-chip{opacity:.65;border-style:solid!important}.captured-dupe{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 8px 20px;font-size:.85rem;display:flex}.captured-dupe span{flex:180px;min-width:0}
