:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--tg-theme-bg-color, #f3f5f6);color:var(--tg-theme-text-color, #182522);--accent: var(--tg-theme-button-color, #168b68);--muted: var(--tg-theme-hint-color, #7d8985);--surface: var(--tg-theme-secondary-bg-color, #fff);--line: color-mix(in srgb, var(--tg-theme-hint-color, #71817b) 18%, transparent);--soft-accent: color-mix(in srgb, var(--accent) 10%, var(--surface))}*{box-sizing:border-box}body{margin:0;padding:0 18px 32px;min-width:300px;min-height:100vh;background:var(--tg-theme-bg-color, #f3f5f6)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#app{max-width:520px;margin:0 auto}.topbar{height:62px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.brand-mark{width:29px;height:29px;display:grid;place-items:center;color:var(--accent);background:var(--soft-accent);border-radius:9px}.brand-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand-name{font-size:11px;font-weight:800;letter-spacing:.12em}.topbar-dot{width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--accent);opacity:.65}.app-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-top:14px;border-radius:12px;background:color-mix(in srgb,var(--tg-theme-hint-color, #71817b) 10%,transparent)}.tab-button{min-height:40px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:13px;font-weight:650;cursor:pointer}.tab-button.active{color:var(--tg-theme-button-text-color, #fff);background:var(--accent)}[hidden]{display:none!important}.calendar-card{padding:14px 12px 16px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 26px color-mix(in srgb,var(--tg-theme-text-color, #182522) 5%,transparent)}.month-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.month-heading h2{margin:0;font-size:16px;font-weight:700;text-transform:capitalize}.month-arrow{width:38px;height:38px;border:0;border-radius:10px;color:var(--accent);background:var(--soft-accent);font-size:26px;line-height:1;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday-row{margin-bottom:5px;color:var(--muted);text-align:center;font-size:11px;font-weight:650}.weekday-row span{padding:6px 0}.day-button{position:relative;min-width:0;height:42px;border:0;border-radius:11px;color:var(--tg-theme-text-color, #182522);background:transparent;font-size:13px;cursor:pointer}.day-button.today{box-shadow:inset 0 0 0 1px var(--accent)}.day-button.selected{color:var(--tg-theme-button-text-color, #fff);background:var(--accent);box-shadow:none}.day-button.has-plans:after{position:absolute;bottom:4px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);content:"";transform:translate(-50%)}.day-button.selected.has-plans:after{background:currentColor}.day-button:focus-visible,.month-arrow:focus-visible,.tab-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plans-card{margin-top:14px}main{padding-top:28px}.intro{margin-bottom:23px}.eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}h1{margin:7px 0 2px;font-size:clamp(34px,10vw,43px);line-height:1.08;letter-spacing:-.055em;font-weight:760}.title-period{color:var(--accent)}.intro p{margin:7px 0 0;color:var(--muted);font-size:14px}.list-card{overflow:hidden;padding:19px 17px 0;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 26px color-mix(in srgb,var(--tg-theme-text-color, #182522) 5%,transparent)}.list-heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.list-heading-row h2{margin:0;font-size:17px;letter-spacing:-.025em}.list-summary{margin:4px 0 0;color:var(--muted);font-size:12px}.list-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:var(--accent);background:var(--soft-accent)}.list-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.add-form{display:flex;gap:8px;margin-bottom:8px}.add-form input{min-width:0;height:47px;flex:1;padding:0 14px;color:var(--tg-theme-text-color, #182522);background:var(--tg-theme-bg-color, #f3f5f6);border:1px solid var(--line);border-radius:11px;outline:none;font-size:14px;transition:border-color .15s,box-shadow .15s}.add-form input::placeholder{color:var(--muted);opacity:.85}.add-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.add-button{display:grid;place-items:center;width:47px;height:47px;flex:0 0 47px;padding:0;border:0;border-radius:11px;background:var(--accent);color:var(--tg-theme-button-text-color, #fff);cursor:pointer;transition:transform .12s,opacity .12s}.add-button:active{transform:scale(.95)}.add-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.item-list{padding:0;margin:0;list-style:none}.item-row{min-height:57px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);animation:appear .18s ease-out}.item-label{min-width:0;flex:1;min-height:56px;display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.item-label input{position:absolute;width:1px;height:1px;opacity:0}.checkmark{position:relative;display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1.6px solid color-mix(in srgb,var(--muted) 48%,transparent);border-radius:7px;transition:background .15s,border-color .15s,transform .15s}.checkmark:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px) scale(0);transition:transform .13s ease-out}.item-label input:focus-visible+.checkmark{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}.item-label input:checked+.checkmark{border-color:var(--accent);background:var(--accent)}.item-label input:checked+.checkmark:after{transform:rotate(45deg) translate(-1px,-1px) scale(1)}.item-name{overflow:hidden;font-size:14px;line-height:1.35;text-overflow:ellipsis;overflow-wrap:anywhere;transition:color .15s}.is-checked .item-name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.remove-button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:0;border-radius:9px;color:var(--muted);background:transparent;opacity:.65;cursor:pointer}.remove-button:hover,.remove-button:focus-visible{color:var(--tg-theme-destructive-text-color, #d14b4b);background:color-mix(in srgb,var(--tg-theme-destructive-text-color, #d14b4b) 9%,transparent);opacity:1;outline:none}.remove-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.empty-state{min-height:142px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:var(--muted);font-size:12px}.empty-state[hidden],.all-done[hidden],.clear-button[hidden]{display:none}.empty-icon{margin-bottom:2px;color:var(--accent);font-size:24px;line-height:1}.empty-state strong{color:var(--tg-theme-text-color, #182522);font-size:14px;font-weight:650}.all-done{display:flex;justify-content:center;align-items:center;gap:7px;padding:18px 0;color:var(--accent);font-size:13px;font-weight:650}.all-done span{font-size:17px}.list-footer{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.clear-button{padding:7px 0 7px 8px;border:0;color:var(--accent);background:transparent;font-size:11px;font-weight:650;cursor:pointer}.clear-button:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:2px}.save-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:15px 0 0;color:var(--muted);font-size:11px}.save-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@keyframes appear{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(min-width:600px){body{padding:0 24px 40px}main{padding-top:42px}.list-card{padding-right:22px;padding-left:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
