[data-theme=dark]{--bg: #2d353b;--bg-dim: #232a2e;--surface: #343f44;--surface-2: #3d484d;--line: #4a555b;--fg: #d3c6aa;--muted: #9aa79d;--faint: #7a8478;--green: #a7c080;--blue: #7fbbb3;--aqua: #83c092;--yellow: #dbbc7f;--orange: #e69875;--red: #e67e80;--purple: #d699b6;--grey: #859289;--shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 6px 18px rgba(0, 0, 0, .22);color-scheme:dark}[data-theme=light]{--bg: #fdf6e3;--bg-dim: #f4f0d9;--surface: #fffbef;--surface-2: #f4f0d9;--line: #e3dec9;--fg: #5c6a72;--muted: #829181;--faint: #a6b0a0;--green: #8da101;--blue: #3a94c5;--aqua: #35a77c;--yellow: #dfa000;--orange: #f57d26;--red: #f85552;--purple: #df69ba;--grey: #939f91;--shadow: 0 1px 2px rgba(87, 82, 70, .1), 0 8px 24px rgba(87, 82, 70, .1);color-scheme:light}:root{--accent: var(--green);--accent-2: var(--blue);--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-pill: 999px;--t: .15s;--ease: cubic-bezier(.2, 0, 0, 1);--font: "Geist", -apple-system, system-ui, "PingFang SC", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:16px;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in oklab,var(--accent) 30%,transparent)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body{height:100dvh}.app{height:100%;display:flex;flex-direction:column}.main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.splash{height:100%;display:grid;place-items:center;color:var(--muted)}.splash.err{color:var(--red);padding:24px;text-align:center}.bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);position:sticky;top:0;z-index:5}.bar-l{display:flex;align-items:center;gap:8px;min-width:0}.bar-l .who{font-weight:560;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:18px;height:18px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px color-mix(in oklab,#000 12%,transparent)}.bar-c{display:flex;align-items:center;gap:2px;margin:0 auto}.bar-c .month{font-weight:620;font-size:16px;letter-spacing:.01em;padding:6px 8px;border:none;background:none;border-radius:var(--r-sm)}.bar-c .month:hover{background:var(--surface-2)}.bar-r{display:flex;align-items:center;gap:4px}.icon{display:inline-grid;place-items:center;width:40px;height:40px;font-size:20px;border:none;background:none;border-radius:var(--r-sm);color:var(--fg);transition:background var(--t) var(--ease)}.icon:hover{background:var(--surface-2)}.icon:active{transform:scale(.94)}.newbtn{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 14px;border:none;border-radius:var(--r-pill);font-weight:560;font-size:14px;background:var(--accent);color:var(--bg);transition:filter var(--t) var(--ease),transform var(--t) var(--ease)}.newbtn:hover{filter:brightness(1.05)}.newbtn:active{transform:scale(.96)}.cal{max-width:1040px;margin:0 auto;padding:10px 12px 28px}.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.dow>div{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:6px}.cell{min-height:92px;padding:5px 5px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:border-color var(--t) var(--ease),background var(--t) var(--ease)}.cell:hover{border-color:color-mix(in oklab,var(--accent) 40%,var(--line))}.cell.out{background:transparent}.cell.out .dn{color:var(--faint)}.dn{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;align-self:flex-start;padding:1px 2px}.cell.today .dn{color:var(--bg);background:var(--accent);border-radius:var(--r-pill);min-width:20px;height:20px;display:grid;place-items:center;font-weight:660}.chips{display:flex;flex-direction:column;gap:3px;overflow:hidden}.chip{display:flex;gap:5px;align-items:center;width:100%;text-align:left;cursor:pointer;border:none;border-left:3px solid var(--ev);border-radius:5px;padding:2px 6px;font-size:12px;line-height:1.35;color:var(--fg);background:color-mix(in oklab,var(--ev) 15%,var(--surface));transition:filter var(--t) var(--ease)}.chip:hover{filter:brightness(1.04)}.chip:active{transform:scale(.98)}.chip.allday{border-left:none;background:color-mix(in oklab,var(--ev) 26%,var(--surface));font-weight:540}.chip .ct{flex:0 0 auto;font-variant-numeric:tabular-nums;color:color-mix(in oklab,var(--ev) 55%,var(--fg))}.chip .cs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more{font-size:11px;color:var(--muted);padding-left:4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000057;display:flex;justify-content:flex-end;animation:fade var(--t) var(--ease)}.overlay.center{justify-content:center;align-items:center;padding:20px}.sheet{background:var(--bg);width:440px;max-width:100%;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:slideIn var(--t) var(--ease);padding-bottom:env(safe-area-inset-bottom)}.sheet-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--line)}.sheet-head h2{font-size:17px;font-weight:620;margin:0;flex:1;min-width:0}.d-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.sheet-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.sheet-foot{display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}@media(max-width:720px){.overlay{justify-content:stretch;align-items:flex-end}.sheet{width:100%;height:auto;max-height:88dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;animation:slideUp var(--t) var(--ease)}.cell{min-height:74px}.bar-c .month{font-size:15px}.newbtn-t{display:none}.newbtn{padding:0;width:40px;justify-content:center}}.d-time{font-size:15px;font-weight:540}.badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px}.d-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.d-row svg{flex:0 0 auto}.d-desc{white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-size:14px}.comments{margin-top:6px;display:flex;flex-direction:column;gap:10px}.c-title{font-size:13px;color:var(--muted);font-weight:560}.c-item{display:flex;align-items:flex-start;gap:8px;max-width:86%}.c-item.mine{flex-direction:row-reverse;align-self:flex-end}.c-dot{width:14px;height:14px;border-radius:50%;margin-top:4px;flex:0 0 auto}.c-bubble{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:7px 11px}.c-item.mine .c-bubble{background:color-mix(in oklab,var(--accent) 14%,var(--surface))}.c-author{font-size:11.5px;color:var(--muted);margin-bottom:2px}.c-body{font-size:14px;white-space:pre-wrap;word-break:break-word}.c-del{width:30px;height:30px;font-size:15px;color:var(--faint)}.c-empty{font-size:13px;color:var(--faint)}.c-add{display:flex;gap:8px;margin-top:4px}.c-add input{flex:1;padding:10px 12px}.send{width:42px;height:42px;background:var(--accent);color:var(--bg);border-radius:var(--r-sm)}.send:disabled{opacity:.5}.form .f-title{font-size:18px;font-weight:600;padding:10px 12px}.f-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.f-row.top{align-items:flex-start}.f-row.toggle{justify-content:space-between}.f-k{font-size:13px;color:var(--muted);width:44px;flex:0 0 auto}.f-row input[type=date],.f-row input[type=time],.f-row select{padding:9px 11px}.f-loc,.f-desc{padding:10px 12px;width:100%}.f-desc{resize:vertical}.swatches{display:flex;gap:8px}.sw{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001a;transition:transform var(--t) var(--ease)}.sw.on{border-color:var(--fg);transform:scale(1.08)}.chips-pick{display:flex;flex-wrap:wrap;gap:7px;flex:1}.pick{font-size:13px;padding:6px 11px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);color:var(--muted)}.pick.on{background:color-mix(in oklab,var(--accent) 18%,var(--surface));border-color:var(--accent);color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);font-size:15px;font-weight:540;text-decoration:none;transition:background var(--t) var(--ease),transform var(--t) var(--ease)}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.97)}.btn.primary{flex:1;background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn.ghost{flex:0 0 auto}.btn.danger{color:var(--red);border-color:color-mix(in oklab,var(--red) 40%,var(--line))}.btn.small{padding:7px 12px;font-size:13px}.footer-flex{display:flex}.sheet-foot .btn:not(.ghost):not(.primary){flex:1}.confirm-q{align-self:center;margin-right:auto;font-size:14px;color:var(--muted)}.choice{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;width:300px;max-width:100%;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);animation:pop var(--t) var(--ease)}.choice h3{margin:0 0 6px;font-size:16px;font-weight:620}.choice-opt{padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:15px;text-align:left}.choice-opt:hover{background:var(--surface-2);border-color:var(--accent)}.choice-cancel{padding:10px;border:none;background:none;color:var(--muted);font-size:14px;margin-top:2px}.s-who{font-size:13px;color:var(--muted)}.s-sec{display:flex;flex-direction:column;gap:10px;padding-top:6px;border-top:1px solid var(--line)}.s-h{font-size:14px;font-weight:600}.s-note{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.seg{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.seg-b{flex:1;padding:9px;border:none;background:var(--surface);color:var(--muted);font-size:14px}.seg-b.on{background:var(--accent);color:var(--bg)}.s-fresh{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-sm);padding:10px}.s-fresh code{font-size:12px;word-break:break-all;color:var(--fg)}.s-tokens{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.s-tokens li{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);padding:4px 0}.s-tokens li.revoked{opacity:.5;text-decoration:line-through}.toast{position:fixed;left:50%;transform:translate(-50%);z-index:40;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--fg);color:var(--bg);font-size:13.5px;font-weight:540;padding:10px 16px;border-radius:var(--r-pill);box-shadow:var(--shadow);animation:pop var(--t) var(--ease);display:inline-flex;align-items:center;gap:14px}.toast-undo{background:none;border:none;color:var(--accent);font-weight:660;font-size:13.5px;padding:2px 0}.h-item{display:flex;align-items:flex-start;gap:9px;padding:10px 2px;border-bottom:1px solid var(--line)}.h-item.reverted{opacity:.5}.h-main{flex:1;min-width:0}.h-line{font-size:14px;line-height:1.45;word-break:break-word}.h-line b{font-weight:600}.h-sum{color:var(--muted)}.h-meta{font-size:12px;color:var(--faint);margin-top:2px}.h-revert{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:13px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 11px;transition:border-color var(--t) var(--ease),color var(--t) var(--ease)}.h-revert:hover{border-color:var(--accent);color:var(--fg)}.h-revert:disabled{opacity:.5}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.toast{animation:fade var(--t) var(--ease)}}
