:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--line:#38383a;--text:#f5f5f7;--muted:#8e8e93;--blue:#0a84ff;--blue-soft:#0a84ff38;--red:#ff453a;--day-0:#ff5c7a;--day-1:#3d9bff;--day-2:#4cd97b;--day-3:#ffc23d;--day-4:#bf7bff;--day-5:#3ddbd0;--day-6:#ff9142}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:var(--app-height,100dvh);margin:0}body{background:var(--bg);color:var(--text);letter-spacing:-.02em;word-break:keep-all;overscroll-behavior:none;font:16px/1.45 -apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea,button{letter-spacing:inherit}input,select{font:inherit;color:inherit}.splash{text-align:center;place-items:center;height:100dvh;padding:16px;font-size:32px;display:grid}.app{height:var(--app-height,100dvh);flex-direction:column;max-width:560px;margin:0 auto;display:flex;position:relative}.top{padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;border-bottom:.5px solid var(--line)}.week-nav{align-items:center;gap:6px;min-height:40px;display:flex}.week-nav>button:not(.pill){width:36px;height:36px;color:var(--muted);font-size:22px;line-height:1}.week-title{font-weight:600}.week-title.big{font-size:20px;font-weight:700}.spacer{flex:1}.pill{background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px}.pill.on{background:var(--blue)}.mini-cal{grid-template-columns:repeat(7,1fr);margin-top:6px;display:grid}.mini-cal button{flex-direction:column;align-items:center;gap:2px;padding:2px 0;display:flex}.mini-label{font-size:12px;font-weight:600}.mini-ring{place-items:center;width:38px;height:38px;display:grid;position:relative}.ring{position:absolute;inset:0}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:3px}.mini-date{font-size:14px;font-weight:500;position:relative}.mini-date.today{color:var(--blue);font-weight:800}.scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:12px 16px 24px;overflow-y:auto}.day-head{justify-content:flex-end;align-items:center;margin-bottom:4px;display:flex}.day-stats{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.hint{color:var(--muted);margin:4px 0 10px;font-size:13px}.empty{color:var(--muted);text-align:center;padding:48px 0}.block{background:var(--bg);position:relative}.block.dragging{z-index:5;opacity:.9}.children{padding-left:26px}.row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:10px;min-height:48px;padding:5px 0;display:flex}.check{border:2px solid #636366;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;transition:background .12s,border-color .12s,transform .12s;display:grid}.check:active{transform:scale(.88)}.check.on{background:var(--blue);border-color:var(--blue)}.check svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.emoji{flex:none;font-size:19px;line-height:1}.row-body{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.name{overflow-wrap:anywhere}.row.checked .name{color:var(--muted)}.memo,.memo-text{flex:1;min-width:0}.memo{border:0;border-bottom:1px solid var(--line);-webkit-user-select:text;user-select:text;background:0 0;border-radius:0;outline:none;padding:4px 2px;font-size:16px}.memo:focus{border-color:var(--blue)}.memo-text{color:var(--muted)}.fold{color:var(--muted);justify-content:flex-end;align-items:center;gap:2px;min-width:36px;height:36px;font-size:13px;display:flex}.fold svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .15s}.fold svg.open{transform:rotate(90deg)}.more{width:32px;height:36px;color:var(--muted);font-size:18px}.drag{width:36px;height:40px;color:var(--muted);touch-action:none;cursor:grab;place-items:center;font-size:19px;display:grid}.row.routine{gap:10px}.days{color:var(--muted);flex:none;font-size:13px}.removed{border-top:.5px solid var(--line);margin-top:24px;padding-top:8px}.removed h3,.backup h3{color:var(--muted);margin:8px 0;font-size:14px}.removed-row{color:var(--muted);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.removed-row button{color:var(--blue);padding:4px 8px}.fab{right:20px;bottom:calc(env(safe-area-inset-bottom) + 72px);background:var(--blue);color:#fff;border-radius:50%;width:60px;height:60px;font-size:30px;line-height:1;position:absolute;box-shadow:0 6px 18px #0a84ff66}.fab:active{transform:scale(.94)}.tabbar{border-top:.5px solid var(--line);padding:6px 0 calc(env(safe-area-inset-bottom) + 6px);background:var(--bg);grid-template-columns:repeat(3,1fr);display:grid}.tabbar button{color:var(--muted);flex-direction:column;align-items:center;gap:1px;padding:2px 0;font-size:11px;display:flex}.tabbar button.active{color:var(--text);font-weight:700}.tab-icon{opacity:.55;font-size:18px;line-height:1.2}.tabbar button.active .tab-icon{opacity:1}.filter{scrollbar-width:none;gap:6px;margin-top:6px;display:flex;overflow-x:auto}.filter button,.chips button{background:var(--surface);border-radius:999px;flex:none;padding:6px 12px;font-size:14px}.filter button.on,.chips button.on{background:var(--blue)}.backdrop{z-index:20;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{width:100%;max-width:560px;max-height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 16px);background:var(--surface);padding:8px 16px calc(env(safe-area-inset-bottom) + 16px);border-radius:18px 18px 0 0;overflow-y:auto}.sheet h2{overflow-wrap:anywhere;margin:6px 0 12px;font-size:15px}.sheet-handle{touch-action:none;cursor:grab;margin:-8px -16px 0;padding:12px 16px 0}.sheet{transition:transform .15s}.sheet.dragging{transition:none}.sheet-grip{background:#545458;border-radius:2px;width:36px;height:4px;margin:0 auto 8px}.field{margin-bottom:14px}.field>label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.field>input,.field select{background:var(--surface-2);border:0;border-radius:10px;outline:none;width:100%;padding:11px 12px;font-size:16px}.field select:disabled{opacity:.5}.emoji-row{align-items:flex-start;gap:10px;display:flex}.emoji-quick{flex:1;grid-template-columns:repeat(8,1fr);gap:2px;min-width:0;display:grid}.emoji-quick button{aspect-ratio:1;border-radius:8px;font-size:17px}.emoji-quick button.on{background:var(--blue-soft)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{background:var(--surface-2)}.day-chips{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px;display:grid}.day-chips button{aspect-ratio:1;background:var(--surface-2);border-radius:50%;font-size:14px}.day-chips button.on{background:var(--blue);font-weight:700}.btn{background:var(--surface-2);border-radius:12px;width:100%;margin-top:8px;padding:13px;font-weight:600;display:block}.sheet .btn{background:var(--surface-2)}.btn.primary,.sheet .btn.primary{background:var(--blue);color:#fff}.btn.primary:disabled{opacity:.4}.btn.danger{color:var(--red)}.backup .btn{background:var(--surface)}.menu button{text-align:left;border-top:.5px solid var(--line);width:100%;padding:14px 4px;display:block}.menu button:first-child{border-top:0}.menu button.danger{color:var(--red)}.history-row{text-align:left;background:var(--surface);border-radius:12px;width:100%;margin-bottom:8px;padding:12px 14px;display:block}.history-head{justify-content:space-between;gap:8px;display:flex}.history-head strong{font-variant-numeric:tabular-nums}.bar{background:var(--surface-2);border-radius:3px;height:6px;margin:8px 0 6px;display:block;overflow:hidden}.bar span{background:var(--blue);border-radius:3px;height:100%;display:block}.history-sub{color:var(--muted);font-size:13px}.backup{margin-top:24px}.emoji-img{object-fit:contain;width:26px;height:26px}.emoji-current{background:var(--surface-2);border-radius:12px;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative}.emoji-current .emoji-img{pointer-events:none;width:44px;height:44px}.emoji-current:has(.emoji-img) .emoji-input{opacity:0;position:absolute;inset:0}.emoji-input{text-align:center;white-space:nowrap;-webkit-user-select:text;user-select:text;background:0 0;outline:none;width:64px;height:64px;font-size:22px;line-height:64px;overflow:hidden}.my-emoji{scrollbar-width:none;align-items:center;gap:4px;margin-top:8px;display:flex;overflow-x:auto}.my-emoji>button{border-radius:8px;flex:none;width:44px;height:44px}.my-emoji>button.on{background:var(--blue-soft)}.my-emoji img{object-fit:contain;width:34px;height:34px}.pick-image{background:var(--surface-2);cursor:pointer;border-radius:999px;flex:none;padding:8px 10px;font-size:13px}.quickbar{border-top:.5px solid var(--line);background:var(--bg);padding:6px 12px}.quickbar input{width:100%;color:var(--text);background:var(--surface);border:0;border-radius:999px;outline:none;padding:10px 14px;font-size:16px}.quick-target{max-width:100%;color:var(--blue);white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px 6px;font-size:13px;display:block;overflow:hidden}.insert-anchor{box-shadow:0 2px 0 var(--blue)}.keyboard-open .tabbar{display:none}.row.selected{background:var(--surface);border-radius:10px}.name-input{min-width:0;color:var(--text);border:0;border-bottom:1px solid var(--blue);-webkit-user-select:text;user-select:text;background:0 0;border-radius:0;outline:none;flex:1;padding:4px 2px;font-size:16px}.row .name{cursor:text}.editbar{border-top:.5px solid var(--line);background:var(--bg);padding:6px 12px}.editbar p{color:var(--muted);margin:0 0 6px 4px;font-size:12px}.editbar-buttons{grid-template-columns:1fr 1fr auto;gap:6px;display:grid}.editbar-buttons button{background:var(--surface);white-space:nowrap;border-radius:10px;padding:9px 10px;font-size:14px}.editbar-buttons button:disabled{opacity:.35}.editbar-buttons .done{background:var(--blue);color:#fff}.quickbar[hidden]{display:none}.row{touch-action:pan-y;transition:transform .15s}.rich-input{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;outline:none;min-width:0}.rich-input:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-input img,.name-icon{object-fit:contain;vertical-align:-.3em;width:1.35em;height:1.35em;margin:0 1px}.rich-input picture{display:inline}.field>.rich-input{background:var(--surface-2);border-radius:10px;min-height:44px;padding:11px 12px;font-size:16px}.quickbar .rich-input{background:var(--surface);border-radius:21px;min-height:42px;padding:10px 14px;font-size:16px}.name-input.rich-input{border-bottom:1px solid var(--blue);flex:1;min-height:28px;padding:4px 2px;font-size:16px}.week-title{line-height:1.2}.week-title small{color:var(--muted);font-size:12px;font-weight:500;display:block}.check.pick.on{background:var(--red);border-color:var(--red)}.deletebar{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.deletebar .btn{background:var(--surface);margin-top:0;padding:10px;font-size:14px}.emoji-quick .emoji{white-space:nowrap;font-size:19px}.emoji-quick .emoji-img{width:26px;height:26px}.emoji-quick button{place-items:center;display:grid;overflow:hidden}.picked-date{font-size:22px;font-weight:800}.week-range{color:var(--muted);align-items:center;gap:2px;font-size:13px;display:flex}.week-range button{width:32px;height:28px;color:var(--muted);font-size:22px;line-height:1}.week-range button:first-child{margin-left:-10px}
