@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap";.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#1f223080;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--cream);border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:430px;height:88vh;padding:0;animation:.3s slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:0;display:flex}.sheet-header{border-bottom:1px solid var(--line);flex-shrink:0;padding:12px 22px 14px}.sheet-handle{background:var(--line);border-radius:2px;width:36px;height:4px;margin:0 auto 14px}.sheet-body{flex:1;padding:14px 22px 32px;overflow-y:auto}.modal-title{color:var(--ink);font-size:17px;font-weight:800}.modal-close{color:var(--ink2);cursor:pointer;background:0 0;border:none;padding:8px 0;font-family:inherit;font-size:15px;font-weight:600}.modal-save{color:var(--coral);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;padding:8px 0;font-family:inherit;font-size:14px;font-weight:800}.modal-save:disabled,.delete-chore-btn:disabled{cursor:default;opacity:.65}.delete-chore-btn{color:#b83229;cursor:pointer;background:#e5483d14;border:1.5px solid #e5483d38;border-radius:16px;width:100%;margin-top:4px;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:800}.field-group{margin-bottom:22px}.field-label{color:var(--ink2);letter-spacing:.4px;margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:700;display:block}.field-input{box-sizing:border-box;background:var(--card);border:1.5px solid var(--line);width:100%;color:var(--ink);border-radius:14px;outline:none;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .2s}.field-input:focus{border-color:var(--coral)}.field-input::placeholder{color:var(--ink2);opacity:.6}.field-hint{color:var(--ink2);margin-top:6px;padding-left:4px;font-size:11px}.template-section{margin:0 -22px 22px}.template-label{padding:0 22px}.template-row{gap:8px;padding:0 22px 4px;display:flex;overflow-x:auto}.template-chip{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-family:inherit;font-size:13px;font-weight:800;display:flex}.template-emoji{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;display:inline-flex}.hero-input{border:1.5px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex}.hero-emoji-field{border:2px solid var(--coral);cursor:text;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.hero-emoji-input{color:#0000;caret-color:#0000;cursor:text;text-align:center;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0;font-family:inherit;font-size:28px;position:absolute;top:0;bottom:0;left:0;right:0}.hero-emoji-display{pointer-events:none;font-size:28px}.hero-emoji-edit{border:1.5px solid var(--coral);pointer-events:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;bottom:-4px;right:-4px}.hero-title-input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:18px;font-weight:800}.hero-title-input::placeholder{color:var(--ink2);opacity:.55}.inline-color-panel{border:1.5px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;display:flex}.color-label{flex-shrink:0;margin:0;padding-left:0}.color-grid{flex-wrap:wrap;flex:1;gap:8px;display:flex}.color-btn{cursor:pointer;border:none;border-radius:50%;width:24px;height:24px;transition:all .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#0000}.kind-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kind-btn{border:1.5px solid var(--line);cursor:pointer;text-align:left;color:var(--ink);background:#fff;border-radius:16px;padding:14px 12px;font-family:inherit;transition:all .2s}.kind-btn:hover{border-color:var(--cream2)}.kind-btn.active{color:var(--ink);box-shadow:none}.kind-icon{margin-bottom:4px;font-size:18px;display:block}.kind-text{font-size:14px;font-weight:800;display:block}.kind-btn.active .kind-text{color:var(--ink)}.kind-desc{color:var(--ink2);margin-top:2px;font-size:11px;display:block}.kind-btn.active .kind-desc{color:var(--ink2)}.field-row-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.field-row-title .field-label{margin-bottom:0}.field-row-title span{color:var(--ink2);font-size:12px;font-weight:700}.field-row-title strong{color:var(--ink);font-size:14px;font-weight:900}.points-value-input{border:1.5px solid var(--line);background:#fff;border-radius:10px;align-items:baseline;gap:4px;padding:4px 10px;display:flex}.points-value-input span{color:var(--ink2);font-size:12px;font-weight:800}.points-value-input input{text-align:right;width:48px;color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:16px;font-weight:900}.points-value-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.points-value-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cadence-row{flex-wrap:wrap;gap:6px;display:flex}.cadence-chip{border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:800}.cadence-chip.active{color:#fff}.assignee-row{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.assignee-chip{border:1.5px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:14px;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px 8px 8px;font-family:inherit;font-size:13px;font-weight:900;display:flex}.assignee-chip.active{border-color:var(--coral);background:#5b6bd914}.assignee-avatar{background:var(--cream2);border:1.5px solid var(--line);width:32px;height:32px;color:var(--ink2);border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.assignee-avatar.me{border-color:var(--coral);color:var(--coral);background:#5b6bd924}.points-stepper{border:1.5px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:10px 14px;display:flex}.points-stepper button{background:var(--cream2);cursor:pointer;width:30px;height:30px;color:var(--ink);border:none;border-radius:8px;font-family:inherit;font-size:18px;font-weight:900}.points-track{background:var(--cream2);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.points-fill{border-radius:3px;transition:width .2s;position:absolute;top:0;bottom:0;left:0;right:auto}.points-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.points-preset{border:1.5px solid var(--line);cursor:pointer;min-width:0;color:var(--ink);background:#fff;border-radius:10px;flex:1;padding:7px 0;font-family:inherit;font-size:12px;font-weight:900;transition:all .15s}.points-preset.active{color:#fff}.note-toggle{cursor:pointer;color:var(--ink2);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:13px;font-weight:800;display:flex}.note-toggle span{font-size:14px}.note-input{resize:none}@media (max-height:740px){.modal-content{height:92vh}}:root{--cream:#f1eee8;--cream2:#e6e2d9;--ink:#1f2230;--ink2:#5c6178;--coral:#5b6bd9;--coral-dark:#3f4fb8;--overdue:#e5483d;--mint:#a8c9b4;--mint-dark:#7aa68a;--lav:#cfc3de;--lav-dark:#a290bd;--butter:#e8dcc2;--butter-dark:#c8b894;--sky:#b5c7d8;--card:#faf8f3;--line:#1f223014}.chores-app{max-width:430px;margin:0 auto;padding:8px 16px 110px;font-family:Nunito,PingFang SC,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.chores-header{justify-content:space-between;align-items:flex-end;margin-top:4px;margin-bottom:14px;display:flex}.chores-label{color:var(--ink2);letter-spacing:.4px;font-size:11px;font-weight:700}.chores-title{color:var(--ink);letter-spacing:-.5px;margin-top:3px;font-size:26px;font-weight:800;line-height:1.1}.kind-tabs{gap:6px;margin-bottom:14px;display:flex}.kind-tab{background:var(--cream2);color:var(--ink);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:5px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.kind-tab.active{background:var(--ink);color:var(--cream)}.kind-tab .count{background:#1f22300f;border-radius:999px;padding:1px 6px;font-family:Nunito,sans-serif;font-size:10px;font-weight:800}.kind-tab.active .count{background:#ffffff26}.section-label{color:var(--ink2);letter-spacing:.4px;margin:6px 4px 8px;font-size:11px;font-weight:700}.dense-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.chores-message{border:1px dashed var(--line);min-height:112px;color:var(--ink2);background:#faf8f399;border-radius:18px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.chores-message.error{color:#b83229;background:#e5483d14;border-color:#e5483d38;justify-content:flex-start;min-height:auto;margin-bottom:8px;padding:10px 12px}.chore-tile{background:var(--cream);border:1px solid var(--line);cursor:pointer;text-align:center;aspect-ratio:1;border-radius:12px;flex-direction:column;align-items:center;padding:8px 6px 7px;font-family:inherit;display:flex;position:relative}.edit-dot{width:20px;height:18px;color:var(--ink2);opacity:.72;border-radius:999px;justify-content:center;align-items:center;font-size:18px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:2px;left:3px}.edit-dot:hover{opacity:1;background:#1f223014}.chore-tile.overdue{background:var(--overdue);border-color:var(--overdue)}.chore-tile.overdue .edit-dot{color:#ffffffd6}.chore-tile .emoji{margin-top:4px;margin-bottom:4px;font-size:26px;line-height:1}.chore-tile .title{color:var(--ink);padding:0 2px;font-size:10px;font-weight:800;line-height:1.1}.chore-tile.overdue .title{color:#fff}.chore-tile .meta{flex:1}.chore-tile .last-info{color:var(--ink2);justify-content:center;align-items:center;gap:2px;margin-bottom:4px;font-family:Nunito,sans-serif;font-size:8.5px;font-weight:700;display:flex}.chore-tile.overdue .last-info{color:#ffffffd9}.point-badge{background:var(--ink);color:#fff;border-radius:999px;min-width:14px;padding:0 4px;font-family:Nunito,sans-serif;font-size:8.5px;font-weight:900;line-height:14px;position:absolute;top:4px;right:4px}.point-badge:after{content:"p";margin-left:1px;font-size:7px;font-weight:800}.count-badge{color:var(--ink);letter-spacing:.3px;background:#1f22301f;border-radius:999px;min-width:12px;padding:0 4px;font-family:Nunito,sans-serif;font-size:8.5px;font-weight:800;line-height:12px;position:absolute;top:21px;right:4px}.chore-tile.overdue .point-badge{color:var(--overdue);background:#fff}.chore-tile.overdue .count-badge{color:#fff;background:#ffffff38}.progress-bar{background:var(--cream2);border-radius:999px;height:3px;position:absolute;bottom:0;left:6px;right:6px;overflow:hidden}.chore-tile.overdue .progress-bar{background:#ffffff4d}.progress-fill{border-radius:999px;height:100%;transition:width .5s}.mini-avatar{border-radius:50%;width:8px;height:8px;display:inline-block}.add-btn{border:2px dashed var(--line);width:100%;color:var(--ink2);cursor:pointer;background:0 0;border-radius:18px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:14px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.points-popup{z-index:9999;pointer-events:none;text-shadow:0 3px 10px #00000029;white-space:nowrap;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:24px;font-weight:900;animation:1.4s cubic-bezier(.2,.8,.2,1) forwards popUp;position:fixed;transform:translate(-50%,-50%)}@keyframes popUp{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}30%{transform:translate(-50%,-75%)scale(1)}to{opacity:0;transform:translate(-50%,-160%)scale(.95)}}