:root{--bg:#f4f1f4;--panel:#fff;--ink:#3a3340;--muted:#8a8290;--line:#e6dfe6;--today:#eef1ee;--shadow:0 1px 3px rgba(0,0,0,.05),0 6px 20px rgba(0,0,0,.05);--car:#6e8175;--car-ink:#fff;--appt:#b08a81;--appt-ink:#fff;--house:#a48fb0;--house-ink:#fff;--yard:#7e9a86;--yard-ink:#fff;--chore:#4e8c89;--chore-ink:#fff;--meal:#859eac;--meal-ink:#fff;--accent:#6e8175;--brand:#859eac;--font:"Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;--display:"Playfair Display",Georgia,"Times New Roman",serif}@media (prefers-color-scheme:dark){:root{--bg:#221f24;--panel:#2b272e;--ink:#efeaf0;--muted:#a89fac;--line:#3a343f;--today:#2f2a33;--shadow:0 1px 3px rgba(0,0,0,.4)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}body,button{font-family:var(--font)}.wrap{max-width:100%;margin:0 auto;padding:18px 26px 40px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.brand{display:flex;align-items:baseline;gap:12px}.brand h1{font-size:30px;margin:0;font-weight:700;font-family:var(--display)}.brand .date{color:var(--muted);font-size:16px;font-weight:600}.weather{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px 16px;box-shadow:var(--shadow)}.weather .temp{font-size:30px;font-weight:800}.weather .ico{font-size:32px}.weather .sub{color:var(--muted);font-size:15px;line-height:1.3}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;padding:10px 16px;font-size:17px;font-weight:700;cursor:pointer;box-shadow:var(--shadow);transition:transform .05s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent)}.btn.menu,.btn.primary{color:#fff;border-color:transparent}.btn.menu{background:var(--brand)}.spacer{flex:1 1}.range{font-weight:800;font-size:21px;min-width:190px;text-align:center}.legend-bar{margin-top:18px}.legend,.legend-bar{display:flex;justify-content:center}.legend{gap:18px;flex-wrap:wrap;align-items:center}.legend span{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--muted)}.dot{width:12px;height:12px;border-radius:4px;display:inline-block}.viewtoggle{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.btn.seg{border:none;border-radius:0;box-shadow:none}.btn.seg.on{background:var(--accent);color:#fff}.week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.day{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-height:64vh;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s ease}.day.today,.day:hover{border-color:var(--accent)}.day.today{background:var(--today)}.day .dhead{display:flex;align-items:center;gap:0;margin-bottom:10px}.day .dnum{flex:0 0 auto;min-width:46px;padding:0 10px;border-radius:12px 0 0 12px;background:hsla(142,8%,47%,.1);font-size:24px;line-height:1;color:var(--ink)}.day .dnum,.day .dow{display:flex;align-items:center;justify-content:center;height:44px;font-weight:800}.day .dow{flex:1 1;padding:0 8px;border:1px solid var(--line);border-left:none;border-radius:0 12px 12px 0;font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.day .dowlabel{transform:translateX(-23px)}.day.today .dnum{background:var(--accent);color:#fff}.day.today .dow{color:var(--accent);border-color:var(--accent)}.events{flex-direction:column;overflow:auto}.ev,.events{display:flex;gap:6px}.ev{border-radius:9px;padding:7px 10px;font-size:16px;font-weight:700;color:var(--ink);line-height:1.3;justify-content:space-between;align-items:flex-start}.ev .x{opacity:.6;cursor:pointer;font-weight:800}.ev.car{background:var(--car);color:var(--car-ink)}.ev.appt{background:var(--appt);color:var(--appt-ink)}.ev.house{background:var(--house);color:var(--house-ink)}.ev.yard{background:var(--yard);color:var(--yard-ink)}.ev.chore{background:var(--chore);color:var(--chore-ink)}.ev.meal{background:var(--meal);color:var(--meal-ink)}.ev small{display:block;font-weight:600;opacity:.9;font-size:13px}.daychores{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.daychores .chorehdr{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.daychores .choreitem{display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:700;color:var(--chore);cursor:pointer;line-height:1.25}.daychores .choreitem .chk{flex:0 0 auto;font-weight:800}.daychores .choreitem.done{color:var(--muted);text-decoration:line-through;opacity:.7}.addhint{margin-top:auto;color:var(--muted);font-size:12px;font-weight:700;opacity:0;transition:opacity .15s}.day:hover .addhint{opacity:1}.month-dows{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px;margin-bottom:6px}.month-dows span{text-align:center;font-size:14px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.month{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;grid-gap:8px;gap:8px}.mday{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:13vh;padding:8px;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s;min-width:0;overflow:hidden}.mday:hover{border-color:var(--accent)}.mday.out{opacity:.4}.mday.today{background:var(--today);border-color:var(--accent)}.mday .mnum{font-size:18px;font-weight:800;align-self:flex-end}.mchip{border-radius:6px;padding:3px 7px;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.mchip.car{background:var(--car);color:var(--car-ink)}.mchip.appt{background:var(--appt);color:var(--appt-ink)}.mchip.house{background:var(--house);color:var(--house-ink)}.mchip.yard{background:var(--yard);color:var(--yard-ink)}.mchip.chore{background:var(--chore);color:var(--chore-ink)}.mchip.meal{background:var(--meal);color:var(--meal-ink)}.mmore{font-size:11px;font-weight:800;color:var(--muted)}.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--panel);border-radius:20px;box-shadow:var(--shadow);width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:22px;border:1px solid var(--line)}.modal h2{margin:0 0 4px;font-size:22px;font-weight:800}.modal .sub{font-size:14px;margin-bottom:16px}.modal .sub,label{color:var(--muted)}label{display:block;font-size:13px;font-weight:800;margin:14px 0 6px;text-transform:uppercase;letter-spacing:.4px}input[type=date],input[type=password],input[type=text],select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:16px;font-family:var(--font);background:var(--bg);color:var(--ink);font-weight:600}.cats{display:flex;flex-wrap:wrap;gap:8px}.cat{border:2px solid var(--line);border-radius:12px;padding:9px 14px;font-weight:800;cursor:pointer;font-size:14px;background:var(--bg);color:var(--ink)}.cat.sel{border-color:transparent}.cat[data-c=car].sel{background:var(--car);color:var(--car-ink)}.cat[data-c=appt].sel{background:var(--appt);color:var(--appt-ink)}.cat[data-c=house].sel{background:var(--house);color:var(--house-ink)}.cat[data-c=yard].sel{background:var(--yard);color:var(--yard-ink)}.cat[data-c=chore].sel{background:var(--chore);color:var(--chore-ink)}.cat[data-c=meal].sel{background:var(--meal);color:var(--meal-ink)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.menu-head h2{margin:0}.menu-section{margin-bottom:18px}.menu-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border-bottom:2px dotted var(--line);padding-bottom:6px;margin:0 0 10px}.dish{display:flex;justify-content:space-between;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer}.dish:hover{color:var(--accent)}.dish .name{font-weight:700;font-size:16px}.dish .pick{font-size:12px;font-weight:800;color:var(--accent)}.dish .del{color:#a86a63;font-weight:800;cursor:pointer;font-size:16px;padding:0 4px}.dish .del:hover{color:#8a4f48}.additem{display:flex;gap:8px;margin-top:10px}.additem input{flex:1 1}.additem button{white-space:nowrap;padding:9px 14px}.menu-daypick{flex-wrap:wrap;gap:8px;margin:6px 0 4px}.menu-daypick,.menu-daypick .d{display:flex;justify-content:center}.menu-daypick .d{border:2px solid var(--line);border-radius:10px;padding:8px 10px;font-weight:800;font-size:13px;cursor:pointer;background:var(--bg);text-align:center;min-width:64px;flex-direction:column;align-items:center;line-height:1.35}.menu-daypick .d.sel{background:var(--meal);color:var(--meal-ink);border-color:transparent}.modal.wide{max-width:680px}.modal.rmenu{max-width:min(1040px,94vw);width:94vw;max-height:92vh;padding:26px 30px}.menu-toast{color:var(--accent);font-weight:800}.rmenu .menu-daypick .d{min-width:76px;font-size:15px;padding:10px 12px}.rmeal{margin-top:26px;--mc:#6e8175}.rmeal-head{background:var(--mc);color:#fff;font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:.5px;padding:10px 20px;border-radius:16px 16px 0 0;text-transform:uppercase}.rmeal-body{background:var(--panel);background:color-mix(in srgb,var(--mc) 9%,var(--panel));border:1.5px solid color-mix(in srgb,var(--mc) 34%,var(--line));border-top:none;border-radius:0 0 16px 16px;padding:16px 20px 8px}.rgroup{margin:0 0 22px}.rgroup:last-child{margin-bottom:6px}.rgroup-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rgroup-name{font-weight:800;font-size:20px;color:var(--mc);text-transform:uppercase;letter-spacing:.6px;filter:brightness(.85)}.rgroup-blurb{color:var(--muted);font-size:16px;font-style:italic;margin:3px 0 12px;line-height:1.5}.ritem{display:flex;justify-content:space-between;gap:14px;padding:13px 8px;border-radius:8px;border-bottom:1px solid color-mix(in srgb,var(--mc) 24%,var(--line));cursor:pointer;align-items:flex-start}.ritem:hover{background:var(--panel);background:color-mix(in srgb,var(--mc) 16%,var(--panel))}.ritem-main{flex:1 1;min-width:0}.ritem-title{font-weight:800;font-size:21px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.rpick{font-size:13px;font-weight:800;color:var(--mc);opacity:0;filter:brightness(.85)}.ritem:hover .rpick{opacity:1}.ritem-desc{color:var(--muted);font-size:17px;line-height:1.5;margin-top:4px}.rmeal .radd{color:var(--mc);filter:brightness(.85)}.ritem.unavail{opacity:.5}.avail-toggle{cursor:pointer;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:3px 12px;background:var(--yard);color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avail-toggle.off{background:var(--line);color:var(--muted)}.ritem-side{display:flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}.rprep{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.5px}.rmini-row{display:flex;gap:6px}.mini{cursor:pointer;font-weight:800;color:var(--muted);padding:0 4px;font-size:16px}.mini:hover{color:var(--accent)}.mini.del:hover{color:#a86a63}.radd{color:var(--accent);font-weight:800;font-size:14px;cursor:pointer;padding:9px 4px}.radd:hover{text-decoration:underline}.radd-group{color:var(--muted);border-top:1px dashed var(--line);margin-top:8px;padding-top:10px}textarea{box-sizing:border-box}.search-results{margin-top:10px;max-height:52vh;overflow:auto}.sr{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line);cursor:pointer}.sr:hover{background:var(--bg)}.sr .schip{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.sr .sdate{font-size:12px;font-weight:800;color:var(--muted);min-width:96px}.sr .stext{font-weight:700;font-size:15px}.sr .scat{font-size:11px;color:var(--muted);font-weight:700;margin-left:auto;text-transform:capitalize}.search-empty{color:var(--muted);text-align:center;padding:20px;font-weight:600}.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.gate .card{background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:32px;max-width:380px;width:100%;text-align:center}.gate h1{font-family:var(--display);font-weight:700;font-size:32px;margin:0 0 6px}.gate p{color:var(--muted);margin:0 0 18px;font-weight:600}.gate input{text-align:center;letter-spacing:6px;font-size:22px}.gate .err{color:#b5544c;font-weight:700;font-size:14px;margin-top:10px;min-height:18px}.gate .btn.primary{width:100%;margin-top:16px;padding:13px;font-size:16px}.center-note{text-align:center;color:var(--muted);padding:40px;font-weight:600}.dish .recipe{font-size:13px;font-weight:800;color:var(--brand);margin-right:6px}.ev .recipe-tag{opacity:.85;cursor:pointer;font-weight:800;margin-right:2px}.mchip.linked:after{content:" \1F4D6";font-size:10px;opacity:.85}.linkrow{display:flex;gap:8px;align-items:center;margin-top:6px}.linkrow input{flex:1 1;font-size:14px;padding:8px 10px}.recipe-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80;display:flex;flex-direction:column;padding:14px}.recipe-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;padding:4px 6px 12px}.recipe-bar .title{font-weight:800;font-size:16px}.recipe-frame{flex:1 1;background:#fff;border-radius:16px;overflow:hidden;border:none;width:100%}.recipe-page{flex:1 1;background:var(--panel);border-radius:16px;overflow:auto;padding:24px 28px}.recipe-doc{max-width:none;margin:0 auto}.recipe-img{width:100%;max-height:40vh;object-fit:cover;border-radius:14px;margin-bottom:16px}.recipe-title{font-family:var(--display);font-size:36px;font-weight:700;margin:0 0 4px}.recipe-serv{color:var(--muted);font-weight:700;margin-bottom:18px}.recipe-cols{display:grid;grid-template-columns:1fr 2fr;grid-gap:28px;gap:28px}.recipe-ings h3,.recipe-steps h3{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border-bottom:2px dotted var(--line);padding-bottom:6px}.recipe-ings ul{margin:8px 0 0;padding-left:20px;font-size:18px;line-height:1.7}.recipe-instr{font-size:18px;line-height:1.6}.recipe-instr p{margin:0 0 12px}.recipe-instr ol,.recipe-instr ul{margin:0 0 12px;padding-left:24px}.recipe-instr li{margin-bottom:6px}.recipe-instr strong{font-weight:800}.recipe-ing-group{margin-bottom:14px}.recipe-ing-sec{font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);margin:6px 0 2px}.ing-section{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--bg)}.ing-section-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ing-section-name{flex:1 1;font-weight:800}.ing-section-head .mini{white-space:nowrap}@media(max-width:800px){.recipe-cols{grid-template-columns:1fr}}.recipe-row{padding:10px 4px;border-bottom:1px solid var(--line)}.recipe-row,.recipe-row-main{display:flex;align-items:center;gap:12px}.recipe-row-main{flex:1 1;min-width:0;cursor:pointer}.recipe-row-main img{object-fit:cover}.recipe-noimg,.recipe-row-main img{width:56px;height:44px;border-radius:8px;flex:0 0 auto}.recipe-noimg{background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:22px}.recipe-row-title{font-weight:800;font-size:18px}.ing-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.ing-qty{max-width:80px}.ing-unit{max-width:110px}.ing-name{flex:1 1}.rrecipe{font-size:12px;font-weight:800;color:var(--brand);margin-left:10px;cursor:pointer}.pantry-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.pantry-main{flex:1 1;min-width:0}.pantry-name{font-weight:800;font-size:18px}.pantry-qtybox{gap:10px}.pantry-qtybox,.qbtn{display:flex;align-items:center}.qbtn{cursor:pointer;font-weight:800;font-size:20px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);justify-content:center;background:var(--bg);-webkit-user-select:none;-moz-user-select:none;user-select:none}.qbtn:hover{border-color:var(--accent);color:var(--accent)}.pantry-qty{font-weight:800;min-width:64px;text-align:center;font-size:16px}.scan-body{flex:1 1;background:#000;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.scan-video{max-width:100%;max-height:100%}.scan-hint{bottom:16px;left:0;right:0;color:#fff;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.7)}.scan-hint,.scan-result{position:absolute;text-align:center}.scan-result{left:50%;bottom:24px;transform:translateX(-50%);background:var(--panel);color:var(--ink);border-radius:18px;box-shadow:var(--shadow);padding:18px 22px;min-width:280px;max-width:92%}.sr-name{font-weight:800;font-size:21px}.sr-count{color:var(--muted);font-weight:700;margin:4px 0 14px;font-size:15px}.sr-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.bell{position:relative;border:none;background:transparent;font-size:28px;cursor:pointer;padding:4px 10px;line-height:1}.bell-count{position:absolute;top:-2px;right:0;background:var(--appt);color:#fff;border-radius:999px;padding:0 6px}.bell-count,.cook-head{font-size:12px;font-weight:800}.cook-head{display:grid;grid-template-columns:60px 1fr 110px 60px;grid-gap:10px;gap:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:10px 0 6px;border-bottom:1px solid var(--line)}.cook-head .ch-buy,.cook-head .ch-use{text-align:center}.cook-row{display:grid;grid-template-columns:60px 1fr 110px 60px;grid-gap:10px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.cook-row input[type=checkbox]{width:22px;height:22px;justify-self:center}.cook-row .ch-name{font-weight:700;font-size:16px}.cook-row input.ch-qty{padding:8px 10px;font-size:15px}.shop-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.shop-row input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}.shop-name{flex:1 1;font-weight:700;font-size:17px}.shop-name.done{text-decoration:line-through;color:var(--muted)}.missing-list{margin:10px 0 4px;padding-left:22px;font-size:17px;line-height:1.7;font-weight:700}.photos-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:40vh;overflow:auto}.photo-row{display:flex;gap:10px;align-items:center}.photo-row img{width:52px;height:40px;object-fit:cover;border-radius:8px;background:var(--bg);flex:0 0 auto}.photo-row .u{flex:1 1;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-row .del{color:#a86a63;font-weight:800;cursor:pointer;padding:0 6px}.saver{position:fixed;inset:0;z-index:100;background:#0d0b10;overflow:hidden;cursor:none}.saver .photo{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transition:opacity 1.4s ease}.saver .photo.show{opacity:1}.saver .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55))}.saver .clock{position:absolute;transform:translate(-50%,-50%);text-align:center;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.6);transition:left 4s ease-in-out,top 4s ease-in-out}.saver .clock .d,.saver .clock .t{font-family:var(--display);font-size:clamp(48px,6vw,88px);font-weight:700;line-height:1.05;white-space:nowrap}.saver .clock .d{opacity:.95;margin-top:12px}.saver .hint{color:hsla(0,0%,100%,.55);font-size:16px;font-weight:700;margin-top:16px}.saver.empty{background:radial-gradient(1200px 700px at 50% 30%,#3a3340,#17141b)}.badge{display:inline-block;margin-left:7px;background:var(--chore);color:#fff;border-radius:999px;font-size:12px;font-weight:800;padding:1px 8px}.chore-row{display:flex;align-items:center;gap:12px;padding:12px 6px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px}.chore-row:hover{background:var(--bg)}.chore-filter{display:flex;justify-content:center;margin:12px 0 4px}.due-tag{display:inline-block;margin-left:8px;background:var(--chore);color:#fff;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:1px 7px;vertical-align:middle}.chore-group{margin-bottom:14px}.chore-room-head{font-family:var(--display);font-size:21px;font-weight:700;color:var(--chore);border-bottom:2px solid var(--line);padding-bottom:5px;margin:16px 0 4px;filter:brightness(.9)}.chore-main{flex:1 1;min-width:0}.chore-name{font-weight:800;font-size:18px}.chore-desc{color:var(--muted);font-size:13px;line-height:1.45;margin-top:3px}.chore-cadence{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--chore);border-radius:8px;padding:3px 10px}.chore-row .pick2{font-size:13px;font-weight:800;color:var(--chore);opacity:0}.chore-row:hover .pick2{opacity:1}.chore-manage{margin-top:6px}.chore-edit-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.chore-edit-row input[type=text]{flex:1 1}.chore-add select,.chore-edit-row select{max-width:160px}.chore-add{display:flex;gap:8px;align-items:center;margin-top:14px}.chore-add input[type=text]{flex:1 1}.ev,.mchip{cursor:-webkit-grab;cursor:grab}.ev:active,.mchip:active{cursor:-webkit-grabbing;cursor:grabbing}.ev .chk{cursor:pointer;font-weight:800}.ev.done{opacity:.6}.ev.done .evtitle,.mchip.done{text-decoration:line-through}.mchip.done{opacity:.55}.footer-note{text-align:center;color:var(--muted);font-size:12px;margin-top:26px;line-height:1.6}@media(max-width:900px){.week{grid-template-columns:1fr}.day{min-height:auto}.brand h1{font-size:24px}.mday{min-height:78px}}.recipe-search{position:relative;margin:4px 0 14px}.recipe-search input[type=text]{padding-right:38px}.recipe-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--muted);font-weight:800;font-size:16px;line-height:1;padding:4px}.dow-pick{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:6px 0 12px}.dow{flex:1 1;min-width:44px;text-align:center;border:2px solid var(--line);border-radius:12px;padding:10px 6px;font-weight:800;font-size:14px;cursor:pointer;background:var(--bg);color:var(--ink)}.dow.today{border-style:dashed}.dow.sel{background:var(--house);border-color:var(--house);color:var(--house-ink)}.dow-head{display:flex;justify-content:space-between;align-items:baseline;margin:4px 2px 10px}.dow-title{font-size:19px;font-weight:800}.dow-count{font-size:14px;font-weight:800;color:var(--muted)}.routine-row{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;cursor:pointer;background:var(--panel)}.routine-row .chore-name{font-size:18px;font-weight:700}.routine-check{font-size:22px;font-weight:800;color:var(--muted);width:24px;text-align:center;flex:none}.routine-row.done{background:var(--today)}.routine-row.done .routine-check{color:var(--yard)}.routine-row.done .chore-name{text-decoration:line-through;color:var(--muted)}.chore-tabs{display:flex;gap:8px;margin:2px 0 12px}.chore-tabs .btn.seg{flex:1 1;border:1px solid var(--line);border-radius:12px;font-weight:800;padding:10px 8px}.chore-tabs .btn.seg.on{background:var(--house);border-color:var(--house);color:var(--house-ink)}.chore-lastdone{flex:none;white-space:nowrap;margin-left:8px}.chore-lastdone,.routine-row .chore-cadence{font-size:12px;font-weight:800;color:var(--muted)}