:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8a8e);--section:var(--tg-theme-secondary-bg-color,#f2f2f5);--accent:var(--tg-theme-button-color,#2481cc);--accent-text:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,#2481cc);--danger:var(--tg-theme-destructive-text-color,#e53935);--separator:var(--tg-theme-section-separator-color,#00000014);--c-all:var(--accent);--c-0:#e8833a;--c-1:#c157c9;--c-2:#3aa76d;--c-3:#d9534f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{opacity:.4;cursor:default}.page{max-width:640px;margin:0 auto;padding:12px 16px 32px}h1{margin:8px 0 16px;font-size:22px}.hint{color:var(--hint)}.error{color:var(--danger)}.banner{text-align:left;background:var(--section);width:100%;color:var(--danger);border-radius:10px;margin-bottom:12px;padding:10px 12px;display:block}.add{gap:8px;margin-bottom:12px;display:flex}.add input{border:1px solid var(--separator);background:var(--section);border-radius:10px;outline:none;flex:1;min-width:0;padding:10px 12px}.add input:focus{border-color:var(--accent)}.add button,.sheet-actions button[type=submit]{background:var(--accent);color:var(--accent-text);border-radius:10px;padding:10px 14px;font-weight:600}.items{background:var(--section);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.item{align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.item+.item{border-top:1px solid var(--separator)}.check{border:2px solid var(--hint);width:24px;height:24px;color:var(--accent-text);text-align:center;border-radius:50%;flex:none;margin-top:1px;font-size:14px;line-height:20px}.item.done .check{background:var(--accent);border-color:var(--accent)}.item-body{text-align:left;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.item-text{overflow-wrap:anywhere}.item.done .item-text{color:var(--hint);text-decoration:line-through}.item-meta{color:var(--hint);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.chip{background:var(--bg);border-radius:8px;padding:0 8px}.due.overdue{color:var(--danger)}.empty{text-align:center;color:var(--hint);padding:24px 0}.done-section{margin-top:16px}.done-header{justify-content:space-between;margin-bottom:8px;display:flex}.link{color:var(--link);padding:4px 0}.link.danger{color:var(--danger)}.sheet-backdrop{z-index:10;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:14px;margin:0 auto;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--hint);font-size:13px}.field textarea,.field input{border:1px solid var(--separator);background:var(--section);resize:vertical;border-radius:10px;outline:none;padding:10px 12px}.row{align-items:center;gap:12px;display:flex}.row input{flex:1;min-width:0}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{background:var(--section);border-radius:16px;padding:6px 14px}.segmented button.on{background:var(--accent);color:var(--accent-text)}.sheet-actions{align-items:center;gap:8px;display:flex}.spacer{flex:1}.secondary{background:var(--section);border-radius:10px;padding:10px 14px}.add-tags{margin:-4px 0 12px}.page.with-tabbar{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.tabbar{z-index:5;background:var(--tg-theme-bottom-bar-bg-color,var(--section));border-top:1px solid var(--separator);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar .tab{max-width:160px;color:var(--hint);flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 2px;font-size:11px;display:flex}.tabbar .tab.active{color:var(--link)}.tabbar .icon{font-size:22px;line-height:26px;position:relative}.tabbar .label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabbar .badge{position:absolute;top:-4px;right:-14px}.badge{background:var(--accent);min-width:18px;color:var(--accent-text);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.cal-header{align-items:center;gap:4px;margin:4px 0 8px;display:flex}.cal-header h2{text-align:center;flex:1;margin:0;font-size:18px}.cal-header .nav{border-radius:18px;width:36px;height:36px;font-size:22px;line-height:1}.cal-header .nav:active{background:var(--section)}.today-btn{margin-left:4px;font-size:14px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:16px;display:grid}.cal-weekday{text-align:center;color:var(--hint);padding-bottom:4px;font-size:12px}.cal-day{aspect-ratio:1/1.05;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;display:flex}.cal-day .num{text-align:center;border-radius:14px;width:28px;height:28px;font-size:15px;line-height:28px}.cal-day.other{opacity:.35}.cal-day.today .num{color:var(--link);font-weight:700}.cal-day.selected .num{background:var(--accent);color:var(--accent-text);font-weight:700}.cal-day .dots{align-items:center;gap:2px;height:6px;display:flex}.dot{border-radius:3px;width:6px;height:6px;display:block}.dots .more{color:var(--hint);font-size:9px;font-style:normal;line-height:6px}.c-all{background:var(--c-all)}.c-0{background:var(--c-0)}.c-1{background:var(--c-1)}.c-2{background:var(--c-2)}.c-3{background:var(--c-3)}.c-item{background:var(--hint)}.agenda-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.agenda-header h3{margin:0;font-size:16px}.agenda-header h3:first-letter{text-transform:uppercase}.add-btn{background:var(--accent);color:var(--accent-text);white-space:nowrap;border-radius:10px;padding:8px 12px;font-weight:600}.agenda .bar{border-radius:2px;flex:none;align-self:stretch;width:4px;margin:2px 10px}.sheet-backdrop.top{z-index:20}.sheet-backdrop{z-index:10}.sheet.scroll{max-height:92vh;overflow-y:auto}.sheet-title{text-align:center;margin:0;font-weight:600}.choice{background:var(--section);color:var(--link);border-radius:10px;padding:12px;font-weight:600}.choice.danger{color:var(--danger)}.toggle{align-items:center;gap:8px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.field select,.row select,.custom-rule input,.field input[type=date],.field input[type=time]{border:1px solid var(--separator);background:var(--section);color:var(--text);font:inherit;border-radius:10px;min-width:0;padding:10px 12px}.custom-rule{border:1px solid var(--separator);border-radius:12px;flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex}input.narrow{flex:none;width:72px}.weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekdays button{background:var(--section);border-radius:8px;padding:8px 0}.weekdays button.on{background:var(--accent);color:var(--accent-text)}.segmented.kinds{flex-wrap:nowrap;overflow-x:auto}.segmented.kinds button{white-space:nowrap}small.hint{font-size:13px}.details-card{background:var(--section);border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.details-card p{margin:0;line-height:1.4}.details-title{font-weight:600}.details-card .link{align-self:flex-start}:root{--cyc-period:#e5484d;--cyc-fertile:#30a46c}.cal-day.cyc-period .num{background:color-mix(in srgb, var(--cyc-period) 22%, transparent)}.cal-day.cyc-period-predicted .num{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--cyc-period) 70%, transparent)}.cal-day.cyc-fertile .num{background:color-mix(in srgb, var(--cyc-fertile) 16%, transparent)}.cal-day.cyc-ovulation .num{background:color-mix(in srgb, var(--cyc-fertile) 16%, transparent);box-shadow:inset 0 0 0 2px var(--cyc-fertile)}.cal-day.selected.cyc-period .num,.cal-day.selected.cyc-period-predicted .num{box-shadow:0 0 0 2px var(--cyc-period)}.cal-day.selected.cyc-fertile .num,.cal-day.selected.cyc-ovulation .num{box-shadow:0 0 0 2px var(--cyc-fertile)}.cyc-legend{color:var(--hint);flex-wrap:wrap;gap:4px 12px;margin:-8px 0 12px;font-size:12px;display:flex}.cyc-legend span{align-items:center;gap:4px;display:inline-flex}.swatch{border-radius:5px;width:10px;height:10px;display:inline-block}.swatch.cyc-period{background:color-mix(in srgb, var(--cyc-period) 40%, transparent)}.swatch.cyc-period-predicted{box-shadow:inset 0 0 0 1.5px var(--cyc-period)}.swatch.cyc-fertile{background:color-mix(in srgb, var(--cyc-fertile) 30%, transparent)}.swatch.cyc-ovulation{box-shadow:inset 0 0 0 2px var(--cyc-fertile)}.cyc-card{background:var(--section);border-left:4px solid #0000;border-radius:12px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.cyc-card.cyc-period,.cyc-card.cyc-period-predicted{border-left-color:var(--cyc-period)}.cyc-card.cyc-fertile,.cyc-card.cyc-ovulation{border-left-color:var(--cyc-fertile)}.cyc-action{background:var(--bg);color:var(--link);border-radius:8px;flex:none;padding:6px 10px;font-size:14px;font-weight:600}.period-editor{flex-direction:column;align-items:stretch}.period-editor .row input,.grow{flex:1}button.primary{background:var(--accent);color:var(--accent-text);border-radius:10px;padding:10px 14px;font-weight:600}.group+.group{margin-top:16px}.group-title{margin:0 0 8px;font-size:16px}.group-hint{margin:-4px 0 8px;font-size:13px}.home-banner{background:var(--section);border-radius:12px;align-items:center;margin-bottom:12px;display:flex}.home-banner-main{text-align:left;color:var(--link);flex:1;padding:10px 12px;font-weight:600}.home-banner-close{color:var(--hint);padding:8px 14px;font-size:20px}.chips-row{scrollbar-width:none;gap:6px;margin:-4px -16px 12px;padding:0 16px 2px;display:flex;overflow-x:auto}.chips-row::-webkit-scrollbar{display:none}.chip-btn{background:var(--section);white-space:nowrap;border-radius:16px;flex:none;padding:6px 12px;font-size:14px}.chip-btn.on{background:var(--accent);color:var(--accent-text)}.chip-btn.manage{color:var(--link)}.category-row{align-items:center;gap:6px}.category-name{background:0 0;border:1px solid #0000;border-radius:8px;flex:1;min-width:0;padding:6px 8px}.category-name:focus{border-color:var(--accent);background:var(--bg);outline:none}.category-row .count{text-align:right;min-width:16px;font-size:13px}.icon-btn{background:var(--bg);border-radius:8px;flex:none;min-width:32px;height:32px;padding:0 6px}.icon-btn.danger{color:var(--danger);font-size:13px;font-weight:600}.ev-tomato{background:#d50000}.ev-flamingo{background:#e67c73}.ev-tangerine{background:#f4511e}.ev-banana{background:#f6bf26}.ev-sage{background:#33b679}.ev-basil{background:#0b8043}.ev-peacock{background:#039be5}.ev-blueberry{background:#3f51b5}.ev-lavender{background:#7986cb}.ev-grape{background:#8e24aa}.ev-graphite{background:#616161}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch-btn{border-radius:15px;width:30px;height:30px;box-shadow:inset 0 0 0 1px #0000001a}.swatch-btn.on{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text)}.swatch-btn.auto{background:conic-gradient(var(--c-all) 0 33%, var(--c-0) 0 66%, var(--c-1) 0)}.food-header{justify-content:space-between;align-items:center;margin:4px 0 12px;display:flex}.food-header h2{margin:0;font-size:18px}.ask-form{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.ask-form input{border:1px solid var(--separator);background:var(--section);border-radius:10px;min-width:0;padding:10px 12px}.ask-form .row input{flex:1}.ask-form .budget{max-width:140px}.chips-row.tight{margin:0 -16px}.recipe-card{background:var(--section);border-radius:12px;margin-bottom:10px;padding:12px}.recipe-head{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.link.small{font-size:13px}.recipe-body{margin-top:8px;font-size:15px;line-height:1.4}.ingredients,.steps{margin:6px 0;padding-left:20px}.steps li+li{margin-top:4px}.recipe-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.recipe-actions .cost{border:1px solid var(--separator);background:var(--bg);border-radius:8px;flex:1;min-width:120px;padding:6px 10px}.pantry{flex-wrap:wrap;gap:6px;display:flex}.success-banner{background:color-mix(in srgb, #30a46c 16%, var(--section));border-left:4px solid #30a46c;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:12px;padding:12px;display:flex}.success-banner p{margin:0}.why{color:var(--hint);font-size:14px;font-style:italic}.why.high{color:var(--text)}.history-row{background:var(--section);border-radius:10px;align-items:center;gap:6px;margin-bottom:6px;padding:8px 12px;display:flex}.tabbar .tab{min-width:0}.nail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.nail-card{background:var(--section);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.nail-card.dimmed{opacity:.45}.nail-image{aspect-ratio:3/4;background:var(--bg);width:100%;display:block;position:relative}.nail-image img{object-fit:cover;width:100%;height:100%;display:block}.nail-done{color:#fff;background:#0009;border-radius:10px;padding:2px 8px;font-size:12px;position:absolute;bottom:6px;left:6px}.nail-body{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px 10px;font-size:14px;display:flex}.nail-body .details-title{font-size:14px}.nail-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.nail-actions .chip-btn{padding:4px 9px}.sheet-backdrop.zoom{color:#fff;z-index:30;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:8px}.sheet-backdrop.zoom img{object-fit:contain;max-width:100%;max-height:85vh}.tabbar .icon{font-size:20px}.tabbar .label{font-size:10px}
