@import "https://fonts.googleapis.com/css2?family=Caveat+Brush&display=swap";@import "https://fonts.googleapis.com/css2?family=Elms+Sans:ital,wght@0,100..900;1,100..900&display=swap";.bottomNav{padding:8px 12px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#280c4680;border-top:1px solid #ffffff26;justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomNavLink{border-radius:var(--radius-md);max-width:160px;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.bottomNavLink.active{color:var(--accent)}.bottomNavIcon{font-size:1.3rem;line-height:1}.groupCard{background:var(--cell);color:var(--text);border-radius:var(--radius-md);text-align:left;border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-height:110px;padding:16px;display:flex;position:relative}.groupCard.selected{border-color:var(--good);background:linear-gradient(135deg,#4f7cff29,#ec48991f)}.groupCardEmoji{font-size:1.8rem;line-height:1}.groupCardName{font-size:1.3rem;font-weight:500}.groupCardCount{color:var(--muted);font-size:1rem;font-weight:400}.groupCardCheck{border:2px solid var(--muted);color:#0000;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:800;line-height:1;display:flex;position:absolute;top:10px;right:10px}.groupCard.selected .groupCardCheck{border-color:var(--good);background:var(--good);color:#fff}.checklistItem{background:var(--cell);width:100%;color:var(--text);border-radius:var(--radius-md);text-align:left;border:none;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;font-family:Elms Sans,sans-serif;font-size:1rem;font-weight:500;transition:transform .1s,background .2s,opacity .2s;display:flex}.checklistItem:hover:not(:disabled){transform:translateY(-1px)}.checklistBox{border:2px solid var(--muted);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;font-weight:800;display:flex}.checklistLabel{flex:1}.checklistItem.checked{background:var(--cell-marked);color:var(--text)}.checklistItem.checked .checklistBox{background:var(--good);border-color:var(--good);color:#fff}.checklistItem.checked .checklistLabel{opacity:.7;text-decoration:line-through}.progress{margin-bottom:4px}.progressHead{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.progressText{font-size:.9rem;font-weight:600}.progressPct{color:var(--muted);font-size:.85rem;font-weight:700}.progressTrack{background:var(--cell);border-radius:999px;height:10px;overflow:hidden}.progressFill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;transition:width .3s}.progressFill.done{background:linear-gradient(90deg, var(--good), var(--accent))}.groupGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.nextBtn{width:100%}.backBtn{width:auto;margin-bottom:16px}.resetBtn{width:100%;margin-top:14px}.appHeader a,.empty a{color:var(--accent);font-weight:600;text-decoration:none}.groupEditor{padding:8px 12px}.groupEditorHead{width:100%;color:var(--text);justify-content:space-between;align-items:center;padding:8px 4px;display:flex}.groupEditorTitle{font-size:1.05rem;font-weight:700}.groupEditorMeta{color:var(--muted);font-size:.8rem;font-weight:600}.groupEditorBody{padding:8px 4px 4px}.groupEditorFields{gap:8px;margin-bottom:14px;display:flex}.groupEditorFields .emojiInput{text-align:center;flex:none;width:56px;font-size:1.2rem}.itemList{margin:0 0 12px;padding:0;list-style:none}.itemRow{align-items:center;gap:8px;margin-bottom:8px;display:flex}.itemRow input{font-family:Elms Sans,sans-serif}.itemDelete{color:var(--accent-2);flex:none;padding:8px 10px;font-size:1rem}.addItemRow{gap:8px;margin-bottom:16px;display:flex}.addItemRow input{flex:1}.addItemRow button{flex:none}.deleteGroupBtn{width:100%}.newGroupRow{gap:8px;display:flex}.newGroupRow input[type=text]:not(.emojiInput){flex:1}.newGroupRow .emojiInput{text-align:center;flex:none;width:56px;font-size:1.2rem}.newGroupRow button{flex:none}:root{--bg:#6617cb;--panel:#ffffff1a;--accent:#b98cff;--accent-2:#ff5ca8;--good:#4f7cff;--text:#fdfbff;--muted:#ece3fb;--cell:#ffffff1f;--cell-marked:#ffffff3d;--radius-lg:16px;--radius-md:10px;--radius-sm:8px}*{box-sizing:border-box}body{color:var(--text);background-color:#6617cb;background-image:linear-gradient(315deg,#6617cb 0%,#cb218e 74%);background-attachment:fixed;min-height:100vh;margin:0;padding:24px 24px 96px;font-family:Elms Sans,sans-serif}h1{background:linear-gradient(90deg,#fff,#ffe3f4);color:#0000;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-family:Caveat Brush,cursive;font-size:2rem}p{font-family:Elms Sans,sans-serif;font-size:1.2rem}h2,h3{margin:0;font-family:Caveat Brush,cursive}.subtitle{color:var(--muted);margin:0}.app{max-width:720px;margin:0 auto}.appHeader{margin-bottom:24px;padding:5px}.panel{background:var(--panel);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff26;margin-bottom:16px;padding:16px;box-shadow:0 10px 30px #2d0a5040}.sectionLabel{color:var(--muted);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;margin:0 0 10px;font-size:1rem;display:flex}.empty{color:var(--muted);text-align:center;padding:24px 0;font-size:.9rem}button{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#c71585;border:none;padding:10px 16px;font-family:inherit;font-size:1rem;font-weight:600;transition:transform .1s,opacity .2s;box-shadow:0 6px 18px #2d0a504d}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{border:1px solid var(--muted);color:var(--muted);box-shadow:none;background:0 0}button.ghost{color:var(--muted);box-shadow:none;background:0 0;padding:6px 8px}input[type=text]{border-radius:var(--radius-sm);border:1px solid var(--muted);background:var(--cell);width:100%;color:var(--text);padding:12px;font-family:inherit;font-size:1rem}input[type=text]::placeholder{color:#fff;opacity:.8}input[type=text]:focus{outline:2px solid var(--accent);border-color:var(--accent)}button{touch-action:manipulation}
