@font-face{font-family:Vazirmatn;src:url(/fonts/vazirmatn.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--radius-card: 16px;--radius-field: 14px;--shell: 430px}[data-palette=ink][data-mode=light]{--bg: #edf0f5;--surface: #ffffff;--surface-sunk: #e6e9ef;--line: #dfe3eb;--line-soft: #dfe3eb;--ink: #131722;--ink-muted: #5a6273;--ink-faint: #9aa1b0;--accent: #2b4bd6;--accent-ink: #2b4bd6;--accent-wash: #e4e9fb;--accent-wash-ink: #2b4bd6;--on-accent: #ffffff;--now: #e5484d;--on-now: #ffffff;--tint-amber: #fdebd8;--tint-amber-ink: #9a5b10;--tint-blue: #e2eef5;--tint-blue-ink: #1d6386;--tint-plum: #ede4f2;--tint-plum-ink: #6b3a85;--tint-grey: #e6e9ef;--tint-grey-ink: #5a6273}[data-palette=ink][data-mode=dark]{--bg: #0f1319;--surface: #171c24;--surface-sunk: #141921;--line: #222935;--line-soft: #1e242e;--ink: #e8ebf0;--ink-muted: #8b93a1;--ink-faint: #5c6473;--accent: #5b7cff;--accent-ink: #90a6ff;--accent-wash: #1c2540;--accent-wash-ink: #90a6ff;--on-accent: #0f1319;--now: #ff6369;--on-now: #0f1319;--tint-amber: #3a2c18;--tint-amber-ink: #e2a45c;--tint-blue: #16303c;--tint-blue-ink: #68b6d4;--tint-plum: #2b2140;--tint-plum-ink: #b49ae0;--tint-grey: #1e242e;--tint-grey-ink: #8b93a1}[data-palette=ocean][data-mode=light]{--bg: #eaf2f2;--surface: #ffffff;--surface-sunk: #e1ebeb;--line: #d6e3e3;--line-soft: #d6e3e3;--ink: #10201f;--ink-muted: #526867;--ink-faint: #93a7a6;--accent: #0f7c7c;--accent-ink: #0b6666;--accent-wash: #d2ecec;--accent-wash-ink: #0b5e5e;--on-accent: #ffffff;--now: #e5484d;--on-now: #ffffff;--tint-amber: #fdebd8;--tint-amber-ink: #9a5b10;--tint-blue: #e0ecf5;--tint-blue-ink: #1d5f86;--tint-plum: #ece4f2;--tint-plum-ink: #6b3a85;--tint-grey: #e1ebeb;--tint-grey-ink: #526867}[data-palette=ocean][data-mode=dark]{--bg: #0e1616;--surface: #152020;--surface-sunk: #121b1b;--line: #203030;--line-soft: #1b2929;--ink: #e3f0f0;--ink-muted: #88a09f;--ink-faint: #587170;--accent: #3cc4c4;--accent-ink: #7fdada;--accent-wash: #173434;--accent-wash-ink: #7fdada;--on-accent: #0e1616;--now: #ff6369;--on-now: #0e1616;--tint-amber: #3a2c18;--tint-amber-ink: #e2a45c;--tint-blue: #16303c;--tint-blue-ink: #68b6d4;--tint-plum: #2b2140;--tint-plum-ink: #b49ae0;--tint-grey: #1b2929;--tint-grey-ink: #88a09f}[data-palette=rose][data-mode=light]{--bg: #f6eef1;--surface: #ffffff;--surface-sunk: #efe5e9;--line: #eadde3;--line-soft: #eadde3;--ink: #231419;--ink-muted: #6e5a63;--ink-faint: #ab98a0;--accent: #c23b6e;--accent-ink: #a82d5c;--accent-wash: #f9e3ec;--accent-wash-ink: #a82d5c;--on-accent: #ffffff;--now: #f76808;--on-now: #ffffff;--tint-amber: #fce9d8;--tint-amber-ink: #8a5212;--tint-blue: #e2ebf4;--tint-blue-ink: #2a5488;--tint-plum: #f3e2ee;--tint-plum-ink: #7c3a6a;--tint-grey: #efe5e9;--tint-grey-ink: #6e5a63}[data-palette=rose][data-mode=dark]{--bg: #170f13;--surface: #22171c;--surface-sunk: #1d1418;--line: #33242b;--line-soft: #2c1f25;--ink: #f3e6eb;--ink-muted: #a8919b;--ink-faint: #735f68;--accent: #ec6f9c;--accent-ink: #f59bbd;--accent-wash: #3a1f2b;--accent-wash-ink: #f59bbd;--on-accent: #170f13;--now: #ff8a3d;--on-now: #170f13;--tint-amber: #3b2a18;--tint-amber-ink: #e0a45e;--tint-blue: #1b2a3c;--tint-blue-ink: #7fa8e8;--tint-plum: #3a1f33;--tint-plum-ink: #e39ad0;--tint-grey: #2c1f25;--tint-grey-ink: #a8919b}[data-palette=charcoal][data-mode=light]{--bg: #ecece9;--surface: #ffffff;--surface-sunk: #e4e4e0;--line: #e0e0db;--line-soft: #e0e0db;--ink: #17171a;--ink-muted: #5e5e5e;--ink-faint: #a0a09b;--accent: #17171a;--accent-ink: #17171a;--accent-wash: #f5a524;--accent-wash-ink: #412402;--on-accent: #ffffff;--now: #f5a524;--on-now: #412402;--tint-amber: #ededE9;--tint-amber-ink: #5e5e5e;--tint-blue: #ededE9;--tint-blue-ink: #5e5e5e;--tint-plum: #ededE9;--tint-plum-ink: #5e5e5e;--tint-grey: #ededE9;--tint-grey-ink: #5e5e5e}[data-palette=charcoal][data-mode=dark]{--bg: #131312;--surface: #1c1c1a;--surface-sunk: #191918;--line: #292926;--line-soft: #232321;--ink: #f0f0ec;--ink-muted: #918f88;--ink-faint: #62615c;--accent: #f5a524;--accent-ink: #f5a524;--accent-wash: #f5a524;--accent-wash-ink: #2b1a02;--on-accent: #2b1a02;--now: #f5a524;--on-now: #2b1a02;--tint-amber: #242422;--tint-amber-ink: #918f88;--tint-blue: #242422;--tint-blue-ink: #918f88;--tint-plum: #242422;--tint-plum-ink: #918f88;--tint-grey: #242422;--tint-grey-ink: #918f88}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Vazirmatn,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea{font-family:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app{max-width:var(--shell);margin:0 auto;min-height:100%;height:100%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.screen{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:92px}.screen:not(.is-fixed){overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.screen.is-fixed{height:100%;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow:hidden}.topbar{padding:18px 20px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.title-lg{font-size:27px;font-weight:700;letter-spacing:-.3px;margin:0}.subtitle{font-size:12.5px;color:var(--ink-muted);margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:4px}.pill{height:44px;padding:0 14px;border:1px solid var(--line);background:var(--surface);border-radius:999px;font-size:12.5px;font-weight:600}.pill.is-accent{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.distance{color:var(--ink-faint)}.icon-btn{width:44px;height:44px;border:0;background:transparent;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;padding:0}.month-button{display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;color:var(--ink);max-width:100%}.month-button .title-lg{white-space:nowrap}.title-year{font-weight:500;color:var(--ink-muted)}.month-title .name,.month-title .year,.title-lg bdi{unicode-bidi:isolate}.month-button svg{color:var(--ink-faint);flex-shrink:0}.week-row{display:flex;align-items:center;gap:2px}.week-arrow{display:none;width:30px;height:58px;border:0;background:transparent;color:var(--ink-faint);align-items:center;justify-content:center;padding:0;flex-shrink:0}[dir=rtl] .week-arrow svg,[dir=rtl] .nav-arrow svg{transform:scaleX(-1)}@media(pointer:fine){.week-arrow{display:flex}.week-row .week{padding-inline:10px}}.week{flex:1;min-width:0;display:flex;gap:6px;padding:0 16px}.day-viewport{flex:1;min-height:0;overflow:hidden;touch-action:pan-y;direction:ltr}.day-track{height:100%;display:flex;width:300%;direction:ltr;will-change:transform}.day-track:not(.is-dragging){transition:transform .24s cubic-bezier(.22,.61,.36,1)}.day-page{width:33.3333%;flex-shrink:0;display:flex;flex-direction:column;min-height:0}.day-head{flex-shrink:0}.day-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:12px}.day{flex:1;height:58px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0}.day span:first-child{font-size:10.5px;color:var(--ink-faint)}.day span:last-child{font-size:14px;font-weight:600}.day.is-selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.day.is-selected span:first-child{color:var(--on-accent);opacity:.75}.day.is-today:not(.is-selected) span:last-child{color:var(--accent-ink)}.progress{padding:14px 20px 10px;display:flex;flex-direction:column;gap:7px}.progress-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink-muted)}.progress-track{height:4px;border-radius:999px;background:var(--line);overflow:hidden}.progress-fill{height:4px;border-radius:999px;background:var(--accent);transition:width .3s ease}.timeline{flex:1;padding:4px 16px 0;display:flex;flex-direction:column;gap:8px}.row{display:flex;gap:8px;align-items:flex-start}.row-time{width:38px;padding-top:19px;font-size:11px;color:var(--ink-faint);text-align:center;flex-shrink:0}.row.is-current .row-time{color:var(--ink-muted);font-weight:600}.card{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-card);text-align:start;overflow:hidden}.card-main{display:flex;align-items:center;gap:8px;padding:9px 10px}.card.is-current{border:1.5px solid var(--accent)}.card.is-current .card-main{padding:11px 10px}.card.is-done{background:var(--surface-sunk)}.card-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;text-align:start}.tile{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tile{background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--c)}[data-mode=dark] .tile{background:color-mix(in srgb,var(--c) 22%,#000);color:color-mix(in srgb,var(--c) 62%,#fff)}.card-body{flex:1;min-width:0}.card-body,.card-title,.card-meta{display:block}.card-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card.is-current .card-title{font-size:14.5px;font-weight:700}.card.is-done .card-title{color:var(--ink-faint);text-decoration:line-through}.card-meta{font-size:11.5px;color:var(--ink-muted);margin-top:2px}.card-meta.is-live{color:var(--accent-ink);font-weight:600}.check{width:44px;height:44px;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.check span{width:24px;height:24px;border-radius:999px;border:1.6px solid var(--line);display:flex;align-items:center;justify-content:center;color:transparent}.check.is-on span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.now{display:flex;align-items:center;gap:8px;padding:2px 0}.now-pill{font-size:10.5px;font-weight:600;color:var(--on-now);background:var(--now);border-radius:999px;padding:3px 8px}.now-line{flex:1;height:1.5px;background:var(--now)}.sub-chip{display:flex;align-items:center;gap:3px;border:0;border-radius:999px;background:var(--surface-sunk);color:var(--accent-ink);font-size:11px;font-weight:600;padding:4px 8px;flex-shrink:0}.sub-chip.is-on{background:var(--accent);color:var(--on-accent)}.sub-chip svg{transition:transform .18s ease}.sub-chip.is-on svg{transform:rotate(180deg)}.card-subtasks{border-top:1px solid var(--line-soft);padding:2px 10px 6px}.card-sub{display:flex;align-items:center;gap:8px}.card-sub+.card-sub{border-top:1px solid var(--line-soft)}.card-sub.is-add{color:var(--accent-ink)}.card-sub.is-add input{flex:1;border:0;background:transparent;font-size:16px;color:var(--ink);outline:none;padding:9px 0}.check.is-tiny{width:34px;height:34px}.check.is-tiny span{width:19px;height:19px}.card-sub .sub-title{font-size:13px;padding:9px 0}.search{margin:0 20px 12px;height:46px;border:1px solid var(--line);border-radius:var(--radius-field);background:var(--surface);display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--ink-faint)}.search input{flex:1;border:0;background:transparent;outline:none}.list{padding:0 20px;display:flex;flex-direction:column;gap:10px}.list>.card{flex:0 0 auto}.count-badge{font-size:12px;font-weight:600;color:var(--accent-wash-ink);background:var(--accent-wash);border-radius:999px;padding:3px 9px;margin-inline-start:8px}.empty{margin:28px 20px;text-align:center;color:var(--ink-muted);font-size:13.5px;line-height:1.8}.bottombar{position:fixed;bottom:0;inset-inline:0;margin:0 auto;max-width:var(--shell);height:calc(76px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-around}.nav-btn{width:56px;height:56px;border:0;background:transparent;color:var(--ink-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;font-size:10px}.nav-btn.is-on{color:var(--accent-ink);font-weight:600}.fab{width:56px;height:56px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;padding:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0c73;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{width:100%;max-width:var(--shell);max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:26px 26px 0 0;padding:14px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:rise .22s ease}@keyframes rise{0%{transform:translateY(24px)}}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{font-size:16px;font-weight:700;margin:0}.text-btn{height:44px;border:0;background:transparent;font-size:14px;color:var(--ink-muted);padding:0}.primary-btn{height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600}.primary-btn:disabled{opacity:.5}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11.5px;color:var(--ink-muted)}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=time],.field input[type=date],.field textarea,.search input{font-size:16px}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=time],.field input[type=date],.field textarea{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--bg);padding:14px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:none}.two-up{display:flex;gap:10px}.two-up>*{flex:1}.chips{display:flex;gap:8px}.chip{flex:1;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:12.5px;color:var(--ink-muted)}.chip.is-on{border:0;background:var(--accent);color:var(--on-accent);font-weight:700}.picker-colors{display:flex;flex-wrap:wrap;gap:9px}.swatch{width:32px;height:32px;border-radius:999px;border:0;padding:0}.swatch.is-on{border:2.5px solid var(--ink)}.picker-icons{display:flex;flex-wrap:wrap;gap:7px}.picker-tile{border:1px solid transparent;padding:0}.picker-tile.is-on{border-color:currentColor}.chips.is-wrap{flex-wrap:wrap}.chips.is-wrap .chip{flex:1 1 60px}.chip.is-dashed{border-style:dashed;border-color:var(--ink-faint)}.stepper{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:12px;display:flex;align-items:center;justify-content:center;gap:16px}.stepper button{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0}.stepper button:disabled{opacity:.4}.stepper-value{font-size:20px;font-weight:700;min-width:110px;text-align:center}.subtasks{list-style:none;margin:0;padding:0}.subtasks li{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line-soft)}.check.is-small{width:36px;height:36px}.check.is-small span{width:21px;height:21px}.sub-title{flex:1;font-size:14px;padding:10px 0}.sub-title.is-done{color:var(--ink-faint);text-decoration:line-through}.subtask-add{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--accent-ink)}.subtask-add input{flex:1;border:0;background:transparent;font-size:16px;color:var(--ink);outline:none;padding:10px 0}.text-btn.is-accent{color:var(--accent-ink);font-weight:600}.field-head .hint.is-strong{color:var(--accent-ink);font-weight:600;font-size:12.5px}.danger-btn{height:44px;border:0;background:transparent;color:#c2453c;font-size:13px;font-weight:600}[data-mode=dark] .danger-btn{color:#e5766b}.weekdays{display:flex;gap:5px;margin-top:8px}.weekday{flex:1;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-faint);font-size:12.5px}.weekday.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.repeat-mark{color:var(--ink-faint);display:flex;flex-shrink:0}.push-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.push-card .tile{width:42px;height:42px;border-radius:12px}.push-title{font-size:14px;font-weight:700}.push-text{font-size:12px;color:var(--ink-muted);line-height:1.9}.push-card .primary-btn{width:100%;height:46px;border-radius:12px}.notice{border-radius:12px;padding:12px;font-size:11.5px;line-height:1.9;background:var(--surface-sunk);color:var(--ink-muted)}.notice.is-warn{background:color-mix(in srgb,var(--now) 14%,var(--surface));color:var(--ink)}.notice.is-soft{width:100%;background:var(--bg)}.scrim.is-top{align-items:flex-start}.month-sheet{width:100%;max-width:var(--shell);background:var(--surface);border-radius:0 0 22px 22px;padding:14px 14px 18px;padding-top:calc(14px + env(safe-area-inset-top));animation:drop .22s ease}@keyframes drop{0%{transform:translateY(-16px)}}.month-head{display:flex;align-items:center;gap:6px}.month-title{display:flex;align-items:baseline;gap:6px;border:0;background:transparent;padding:4px 0;color:var(--ink)}.month-title .name{font-size:17px;font-weight:700}.month-title .year{font-size:17px;font-weight:500;color:var(--ink-muted)}.month-title svg{color:var(--ink-faint);align-self:center}.month-viewport{overflow-x:hidden;touch-action:pan-y;direction:ltr}.month-track{display:flex;width:300%;direction:ltr;will-change:transform}.month-track:not(.is-dragging){transition:transform .24s cubic-bezier(.22,.61,.36,1)}.month-page{width:33.3333%;flex-shrink:0}.month-hint{text-align:center;font-size:11px;color:var(--ink-faint);margin-top:12px}.month-day.is-blank{pointer-events:none}.wheel{position:relative;display:flex;gap:8px;margin-top:10px;height:200px}.wheel-highlight{position:absolute;inset-inline:0;top:80px;height:40px;border-radius:10px;background:var(--surface-sunk);pointer-events:none;z-index:0}.wheel-column{position:relative;z-index:1;flex:1;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;text-align:center}.wheel-column::-webkit-scrollbar{display:none}.wheel-pad{display:block;height:80px}.wheel-item{display:block;width:100%;height:40px;border:0;background:transparent;scroll-snap-align:start;font-size:16px;color:var(--ink-faint);line-height:40px;padding:0}.wheel-item.is-on{color:var(--accent-ink);font-weight:700;font-size:17px}.month-name{font-size:16px;font-weight:700;white-space:nowrap}.month-weekdays{display:flex;margin-top:14px}.month-weekdays span{flex:1;text-align:center;font-size:10.5px;color:var(--ink-faint)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:52px;margin-top:6px;min-height:312px;align-content:start}.month-day{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink)}.month-day .num{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600}.month-day.is-outside{opacity:.38}.month-day.is-today .num{color:var(--accent-ink)}.month-day.is-selected .num{background:var(--accent);color:var(--on-accent);font-weight:700}.month-day .dots{display:flex;gap:2px;height:4px}.month-day .dots span{width:4px;height:4px;border-radius:999px}.settings{padding:0 20px;display:flex;flex-direction:column;gap:8px}.settings-label{font-size:11.5px;color:var(--ink-muted);margin-top:14px}.settings-hint{font-size:11px;color:var(--ink-faint)}.segmented{display:flex;gap:6px}.segmented button{flex:1;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;color:var(--ink)}.segmented button.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.theme-option{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:start}.theme-option.is-on{border:1.5px solid var(--accent)}.theme-option .name{flex:1;font-size:13px;font-weight:600}.theme-swatch{display:flex;gap:3px;flex-shrink:0}.theme-swatch span{width:16px;height:26px;border-radius:5px;border:1px solid rgba(128,128,128,.22)}.settings-row{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 11px;display:flex;align-items:center;gap:10px;text-align:start}.settings-row .grow{flex:1;font-size:13px;font-weight:600}.settings-row .side{font-size:12px;color:var(--ink-faint)}.recurring-list{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.recurring-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line-soft)}.recurring-row:last-child{border-bottom:0}.recurring-row .tile{width:32px;height:32px;border-radius:9px}.recurring-row .grow{flex:1;font-size:13px;font-weight:600}.avatar{width:34px;height:34px;border-radius:999px;background:var(--accent-wash);color:var(--accent-wash-ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.auth{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:28px 24px calc(28px + env(safe-area-inset-bottom));max-width:var(--shell);margin:0 auto}.auth-head{display:flex;align-items:center;gap:10px}.auth-name{font-size:19px;font-weight:700}.mark{width:38px;height:38px;border-radius:11px;background:var(--accent);display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 8px;flex-shrink:0}.mark i{height:3px;border-radius:2px;background:var(--on-accent)}.mark i:nth-child(2){width:62%;opacity:.55}.mark i:nth-child(3){width:84%}.auth-headline{font-size:22px;font-weight:700;line-height:1.55;letter-spacing:-.3px;margin:4px 0 6px}.auth p{margin:0;color:var(--ink-muted);font-size:13.5px;line-height:1.8}.auth-preview{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px;display:flex;flex-direction:column;gap:7px}.pv-row{display:flex;align-items:center;gap:9px}.pv-time{font-size:10.5px;color:var(--ink-faint);width:32px;flex-shrink:0}.pv-tile{width:26px;height:26px;border-radius:8px;background:var(--surface-sunk);flex-shrink:0}.pv-bar{flex:1;height:7px;border-radius:999px;background:var(--surface-sunk)}.pv-row.is-live .pv-time{color:var(--accent-ink);font-weight:600}.pv-row.is-live .pv-tile{background:var(--accent-wash)}.pv-row.is-live .pv-bar{background:var(--accent)}.switcher{display:flex;gap:6px;background:var(--surface-sunk);border-radius:12px;padding:4px;margin-top:4px}.switcher button{flex:1;height:40px;border:0;border-radius:9px;background:transparent;font-size:12.5px;color:var(--ink-muted)}.switcher button.is-on{background:var(--surface);color:var(--ink);font-weight:600}.field-head{display:flex;align-items:baseline;justify-content:space-between}.field-head .hint{font-size:11px;color:var(--ink-faint)}.field-head .hint.is-warn{color:var(--now)}.input-wrap{position:relative;display:flex}.input-wrap input{flex:1;padding-inline-end:46px}.reveal{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;padding:0}.auth .field input[type=text],.auth .field input[type=email],.auth .field input[type=password]{background:var(--surface);height:50px;padding:0 14px}.auth .field input::placeholder{color:var(--ink-faint)}.auth .field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.auth .primary-btn{width:100%;height:50px;border-radius:var(--radius-field);margin-top:4px}.auth-foot{text-align:center;font-size:12px;color:var(--ink-faint)}.error{font-size:12.5px;color:#c2453c}.loader{padding:40px;text-align:center;color:var(--ink-faint);font-size:13px}.focus-start{border:1px solid var(--line);background:var(--surface-sunk);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.focus-start-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.focus-start-label{font-size:12px;color:var(--ink-muted)}.focus-start-hint{font-size:11.5px;color:var(--ink-faint)}.focus-start-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;border-radius:12px}.focus-ring{position:relative;display:inline-flex;flex-shrink:0}.focus-ring .track{stroke:var(--line)}.focus-ring .fill{stroke:var(--accent);transition:stroke-dashoffset .5s linear}.focus-ring-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.focus-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--surface);color:var(--ink);display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));animation:rise .22s ease}.focus-top{display:flex;align-items:center;justify-content:space-between}.focus-eyebrow{font-size:12px;color:var(--ink-faint);letter-spacing:.06em}.focus-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.focus-task{font-size:17px;font-weight:600;text-align:center;max-width:100%}.focus-time{font-size:44px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.focus-sub{font-size:12px;color:var(--ink-faint);margin-top:2px}.focus-controls{display:flex;justify-content:center;align-items:flex-start;gap:28px}.focus-control{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-faint);min-width:64px}.round-btn{width:52px;height:52px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-muted);display:flex;align-items:center;justify-content:center}.round-btn.is-main{width:68px;height:68px;margin-top:-8px;border:0;background:var(--accent);color:var(--on-accent)}.round-btn.is-warn{border-color:var(--now);color:var(--now)}.round-btn:disabled{opacity:.4}.focus-bar{position:fixed;inset-inline:10px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(var(--shell) - 20px);margin:0 auto;z-index:15;background:var(--ink);color:var(--bg);border-radius:16px;padding:8px 8px 8px 10px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0a0a0c2e;animation:rise .2s ease}.focus-bar .focus-ring .track{stroke:color-mix(in srgb,var(--bg) 22%,transparent)}.focus-bar .focus-ring .fill{stroke:var(--bg)}.focus-bar-body{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:0;text-align:start}.focus-bar-text{flex:1;min-width:0;display:flex;flex-direction:column}.focus-bar-text .name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-bar-text .state{font-size:11px;opacity:.65}.focus-bar-time{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.focus-bar-toggle{width:36px;height:36px;border-radius:999px;border:0;background:color-mix(in srgb,var(--bg) 16%,transparent);color:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0}.focus-bar-toggle:disabled{opacity:.4}.app:has(.focus-bar) .day-scroll,.app:has(.focus-bar) .screen:not(.is-fixed){padding-bottom:150px}:root{--rest: #1d9e75}[data-mode=dark]{--rest: #4cc79c}.secondary-btn{height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.secondary-btn:disabled{opacity:.5}.focus-review{gap:14px}.review-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding-top:4px}.review-mark{width:42px;height:42px;border-radius:999px;background:color-mix(in srgb,var(--rest) 16%,var(--surface));color:var(--rest);display:flex;align-items:center;justify-content:center}.review-title{font-size:16px;font-weight:600;margin-top:6px}.review-sub{font-size:12.5px;color:var(--ink-muted)}.review-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-row{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);padding:2px 12px;min-height:44px;text-align:start;font-size:13.5px}.review-row+.review-row{border-top:1px solid var(--line-soft)}.review-row .check.is-tiny{width:28px;height:28px;display:flex;align-items:center;justify-content:center;pointer-events:none}.review-row .grow{flex:1}.review-row.is-task{color:var(--ink-muted)}.review-row .box{width:19px;height:19px;margin-inline:4px;border-radius:5px;border:1.6px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--on-accent)}.review-row .box.is-on{background:var(--accent);border-color:var(--accent)}.review-actions{display:flex;flex-direction:column;gap:8px}.review-actions .primary-btn,.review-actions .secondary-btn{width:100%}.focus-ring.is-rest .fill{stroke:var(--rest)}.break-mark{width:46px;height:46px;border-radius:999px;background:color-mix(in srgb,var(--rest) 16%,var(--surface));color:var(--rest);display:flex;align-items:center;justify-content:center;margin-bottom:-18px}.break-actions{display:flex;gap:10px}.break-actions>button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.focus-bar .break-dot{width:30px;height:30px;border-radius:999px;flex-shrink:0;background:color-mix(in srgb,var(--rest) 28%,transparent);color:var(--rest);display:flex;align-items:center;justify-content:center}.schedule-btn{width:100%;display:flex;align-items:center;gap:10px;border:1.5px dashed var(--line);border-radius:14px;background:transparent;color:var(--ink);padding:12px;text-align:start}.schedule-btn>svg{color:var(--ink-faint);flex-shrink:0}[dir=rtl] .schedule-btn>svg{transform:scaleX(-1)}.schedule-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--accent-wash);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.schedule-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.schedule-text .name{font-size:14px;font-weight:600}.schedule-text .hint{font-size:12px;color:var(--ink-muted)}.inbox-btn{width:100%;border-radius:12px;color:var(--ink-muted)}.date-input{font-weight:500}.date-hint{font-size:12px;color:var(--ink-muted);margin-top:-6px}.inbox-group{margin:0 20px;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;overflow:hidden}.inbox-row{display:flex;align-items:center;gap:4px;padding:4px 8px 4px 4px;min-height:56px}.inbox-row+.inbox-row{border-top:1px solid var(--line-soft)}.inbox-row .check.is-tiny{width:40px;height:40px;flex-shrink:0}.inbox-row-body{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:8px 4px;text-align:start;display:flex;flex-direction:column;gap:2px}.inbox-row .title-line{display:flex;align-items:center;gap:6px;min-width:0}.inbox-row .title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-row .note-line{font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-row.is-done .title{color:var(--ink-faint);text-decoration:line-through}.mini-chip{flex-shrink:0;font-size:10.5px;font-weight:600;color:var(--accent-ink);background:var(--surface-sunk);border-radius:999px;padding:2px 7px}.inbox-schedule{width:34px;height:34px;flex-shrink:0;border:0;border-radius:10px;background:var(--surface-sunk);color:var(--ink-muted);display:flex;align-items:center;justify-content:center}.settings-account{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;padding:12px}.settings-account .avatar{width:40px;height:40px;font-size:15px}.settings-account .grow{flex:1;min-width:0;display:flex;flex-direction:column}.settings-account .name{font-size:14.5px;font-weight:600}.settings-account .email{font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;text-align:start}.settings-group{background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;overflow:hidden}.group-pad{padding:10px 12px}.group-row{width:100%;display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 12px;border:0;background:transparent;color:var(--ink);font-size:14px;text-align:start}.group-pad+.group-row,.group-row+.group-row,.group-caption+.group-row{border-top:1px solid var(--line-soft)}.group-row>svg{color:var(--ink-muted);flex-shrink:0}.group-row .grow{flex:1;min-width:0;display:flex;flex-direction:column}.group-row .side{font-size:12.5px;color:var(--ink-faint)}.group-caption{padding:0 12px 10px;margin-top:-6px;font-size:12px;color:var(--ink-faint)}.group-row .side-line{font-size:12px;color:var(--ink-faint);margin-top:1px}.group-row.is-link>svg:last-child{color:var(--ink-faint)}[dir=rtl] .group-row.is-link>svg:last-child,[dir=rtl] .back-btn svg{transform:scaleX(-1)}.group-row:disabled{opacity:.55}.lang-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.lang-toggle button{border:0;background:transparent;color:var(--ink-muted);font-size:12.5px;padding:6px 12px}.lang-toggle button.is-on{background:var(--ink);color:var(--bg)}.theme-dots{display:inline-flex;gap:10px}.theme-dot{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);padding:0;background:radial-gradient(circle,var(--accent-dot) 0 38%,var(--page) 40%)}.theme-dot.is-on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.signout-btn{margin-top:18px;height:48px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);color:#c2453c;font-size:14px;font-weight:600}[data-mode=dark] .signout-btn{color:#e5766b}.subbar{padding:calc(10px + env(safe-area-inset-top)) 12px 0}.back-btn{display:inline-flex;align-items:center;gap:2px;border:0;background:transparent;color:var(--accent-ink);font-size:14px;padding:6px 4px}.page-title{padding:4px 20px 6px}.card-main{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.card-focus.is-running{width:34px;height:34px;flex-shrink:0;border:0;border-radius:999px;background:transparent;display:flex;align-items:center;justify-content:center;padding:0}.focus-quick{gap:14px}.focus-quick .sheet-grip{display:block;width:38px;height:4px;border-radius:999px;background:var(--line);margin:0 auto}.focus-quick-head{display:flex;align-items:center;gap:10px}.focus-quick-head .tile{width:38px;height:38px;border-radius:11px}.focus-quick-head .grow{flex:1;min-width:0;display:flex;flex-direction:column}.focus-quick-head .name{font-size:15px;font-weight:600}.focus-quick-head .when{font-size:12px;color:var(--ink-muted)}.focus-quick .focus-start{border:0;background:transparent;padding:0}
