:root{--vv-top: 0px;--vv-height: 100dvh;--kb-inset: 0px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.wm-shell{position:relative;height:var(--vv-height, 100dvh);max-height:var(--vv-height, 100dvh);overflow:hidden}.wm-fixed-top{position:fixed;top:var(--vv-top, 0px);left:0;right:0}.wm-fixed-bottom{position:fixed;left:0;right:0;bottom:calc(var(--safe-bottom) + var(--kb-inset, 0px))}html.kb-open,html.kb-open body{overflow:hidden;overscroll-behavior:none;height:var(--vv-height, 100dvh);max-height:var(--vv-height, 100dvh)}html.kb-open .wm-hide-on-keyboard{opacity:0;pointer-events:none}html.pwa-standalone body{overscroll-behavior-y:none}html.pwa-standalone .wm-selectable,html.pwa-standalone input,html.pwa-standalone textarea{-webkit-user-select:text;user-select:text}:root{--chrome-top: calc(var(--vv-top, 0px) + env(safe-area-inset-top, 0px));--chrome-bottom: calc(env(safe-area-inset-bottom, 0px) + var(--kb-inset, 0px))}:root{--vv-top: 0px;--vv-height: 100dvh;--kb-inset: 0px;--composer-h: 52px;--dock-h: 78px;--paper: #f2f2f0;--paper-2: #e9e9e6;--card: #fafaf9;--ink: #222220;--ink-soft: #5b5b57;--pine: #3c6b57;--pine-deep: #2c5041;--amber: #c9a24b;--amber-soft: #efe9d8;--brick: #a8442f;--moss: #5e8a5b;--rule: #dadad7;--line: #c9c9c6;--serif: "Noto Serif SC", "Songti SC", "Source Han Serif SC", serif;--sans: "Noto Sans SC", system-ui, -apple-system, "PingFang SC", sans-serif;--mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body,#root{height:100%;height:var(--vv-height, 100dvh);max-height:var(--vv-height, 100dvh)}html{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;height:100%;max-height:100%;position:relative}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}::selection{background:var(--amber-soft)}.shell{height:100%;max-height:100%;position:relative;overflow:hidden;touch-action:pan-y}*{scrollbar-width:thin;scrollbar-color:rgba(90,90,86,.16) transparent}*::-webkit-scrollbar{width:5px;height:5px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#5a5a5624;border-radius:999px;border:1px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#5a5a5647;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.topbar{position:fixed;top:var(--vv-top, 0px);left:0;right:0;z-index:40;pointer-events:none;background:transparent}.topbar-blur{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#f2f2f0e0,#f2f2f08c 62%,#f2f2f000);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);opacity:.92}.topbar-inner{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-height:48px;padding:calc(8px + env(safe-area-inset-top,0px)) 14px 8px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0;pointer-events:auto}.menu-btn{pointer-events:auto;flex:0 0 auto;width:36px;height:36px;border:none;background:#ffffff9e;border-radius:999px;display:flex;flex-direction:column;justify-content:center;gap:3.5px;padding:0 10px;box-shadow:0 1px #ffffff80 inset;backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1)}.menu-btn span{display:block;height:1.5px;background:var(--ink-soft);border-radius:2px}.menu-btn:hover{background:#ffffffd6}.menu-btn:hover span{background:var(--pine)}.topbar-brand{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.05}.topbar-kicker{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:none;color:#5b5b57b8}.topbar-title{display:flex;align-items:baseline;gap:8px;min-width:0;font-family:var(--serif);font-weight:700;color:var(--ink);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-date{font-size:18px;letter-spacing:.01em}.topbar-week{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.06em}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px;pointer-events:auto;min-width:0}.topbar-today{height:34px;min-width:48px;padding:0 12px;border-radius:999px;border:none;background:#ffffff9e;color:var(--pine-deep);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:650;letter-spacing:.04em;box-shadow:0 1px #ffffff80 inset;backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1)}.topbar-today:hover{background:#ffffffdb;color:var(--pine-deep)}.topbar-live{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--pine-deep);background:#3c6b571f;border:1px solid rgba(60,107,87,.16)}.ghost,.primary{border-radius:12px;padding:8px 12px;border:1px solid var(--line)}.ghost{background:var(--card);color:var(--ink-soft)}.primary{background:var(--pine);border-color:var(--pine-deep);color:#f7faf8;box-shadow:none}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);white-space:nowrap}.pill.agent{background:#3c6b571a;border-color:#3c6b5740;color:var(--pine-deep)}.pill.warn{background:var(--amber-soft);color:#8a6a1d;border-color:#c9a24b59}.pager{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:pan-y;overscroll-behavior-x:none}.pager-track{position:absolute;top:0;right:0;bottom:0;left:0}.pager-hint{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%);font-size:11px;letter-spacing:.18em;color:var(--ink-soft);opacity:.5;pointer-events:none;transition:opacity .4s;z-index:30}.pager-hint.hide{opacity:0}.slide{position:absolute;top:0;left:50%;width:min(1160px,95vw);height:100%;margin-left:calc(min(1160px,95vw)/-2);background:var(--card);border:1px solid var(--rule);border-radius:18px;padding:66px 56px 120px;overflow-y:auto;touch-action:pan-y;overscroll-behavior-x:none;transform-origin:center center;box-shadow:0 8px 20px #0000000f;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s ease;-webkit-overflow-scrolling:touch}.slide.no-trans{transition:none}.slide{scrollbar-width:thin;scrollbar-color:rgba(90,90,86,.12) transparent}.slide::-webkit-scrollbar{width:4px}.slide::-webkit-scrollbar-thumb{background:#5a5a561f;border-radius:999px}.slide::-webkit-scrollbar-thumb:hover{background:#5a5a5638}.slide-inner{min-height:100%}.slide-loading{height:100%;display:grid;place-items:center;color:var(--ink-soft);letter-spacing:.08em}.crumb{font-size:12px;color:var(--ink-soft);letter-spacing:.06em;margin-bottom:10px}.day-head{display:flex;align-items:flex-end;gap:16px;border-bottom:1.5px solid var(--ink);padding-bottom:14px;margin-bottom:18px}.day-head .date{font-family:var(--serif);font-weight:700;font-size:38px;line-height:1;color:var(--ink)}.day-head .meta{font-size:12px;color:var(--ink-soft);margin-top:6px}.head-right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ribbon{font-size:11px;letter-spacing:.04em;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink-soft)}.ribbon.good{color:var(--pine);border-color:#3c6b5759}.ribbon.bad{color:var(--brick);border-color:#a8442f59}.ribbon.neutral{color:var(--ink-soft)}.day-flow{margin-top:6px;columns:2;column-gap:16px;column-fill:balance}.day-flow .panel{break-inside:avoid;margin:0 0 16px;width:100%}.day-flow .panel.col-12{column-span:all;margin:18px 0 16px}.panel{background:var(--card);border:1px solid var(--rule);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.panel-head{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--pine);padding:13px 18px;border-bottom:1px solid var(--rule);background:var(--card)}.panel-head--split{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-tools{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.task-tool{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(60,107,87,.22);background:#ffffff8c;color:var(--pine);font:inherit;font-size:11px;letter-spacing:.04em;border-radius:999px;padding:4px 10px;cursor:pointer;line-height:1.2}.task-tool:hover{background:#3c6b5714}.task-tool:disabled{opacity:.42;cursor:not-allowed}.task-tool.danger{color:var(--brick);border-color:#a8442f47;background:#a8442f0f}.task-tool.danger:hover:not(:disabled){background:#a8442f1f}.task-select-hint{margin:0 0 12px;font-size:12px;color:var(--ink-soft);letter-spacing:.02em}.panel-body{padding:16px 18px}.empty{color:var(--ink-soft);font-size:13px;line-height:1.6;opacity:.85}.axis{position:relative;padding-left:8px}.plan-node{position:relative;display:grid;grid-template-columns:56px 1fr;gap:10px;padding:0 0 14px 14px}.plan-node:last-child{padding-bottom:0}.plan-node:before{content:"";position:absolute;left:4px;top:8px;bottom:-6px;width:1px;background:var(--rule)}.plan-node:last-child:before{display:none}.plan-node .dot{position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:var(--pine);box-shadow:none}.plan-time{font-family:var(--mono);font-size:12px;color:var(--ink-soft);padding-top:2px}.plan-card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;line-height:1.55;font-size:14px}.indicators{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ind-item{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:12px 12px 10px}.ind-name{font-size:12px;color:var(--ink-soft);margin-bottom:6px}.ind-val{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--pine-deep)}.happy-row{display:flex;flex-wrap:wrap;gap:8px}.happy-pill{background:#3c6b5714;border:1px solid rgba(60,107,87,.18);color:var(--pine-deep);border-radius:999px;padding:7px 12px;font-size:13px}.food-list{display:grid;gap:10px}.food-item{display:grid;grid-template-columns:56px 1fr;gap:10px;padding-bottom:10px;border-bottom:1px dashed var(--rule)}.food-item:last-child{border-bottom:0;padding-bottom:0}.food-time{font-family:var(--mono);font-size:12px;color:var(--ink-soft);padding-top:2px}.food-content{font-size:14px;line-height:1.55}.review-item+.review-item{margin-top:12px;padding-top:12px;border-top:1px dashed var(--rule)}.review-item .topic{font-size:12px;letter-spacing:.04em;color:var(--pine);margin-bottom:4px}.review-item .content{font-size:14px;line-height:1.6}.task-groups{display:grid;gap:18px}.task-group{border:0;background:transparent;padding:0}.task-group+.task-group{padding-top:16px;border-top:1px dashed var(--rule)}.task-group-head{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:2px 0;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.task-group.is-open .task-group-head{margin-bottom:10px}.task-group-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.task-group-chevron{width:12px;flex:0 0 auto;color:var(--ink-soft);font-size:12px;line-height:1}.task-group.is-collapsed{opacity:.92}.task-group.is-collapsed .task-group-bar{opacity:.75}.task-group-dot{width:8px;height:8px;border-radius:50%;background:var(--pine);box-shadow:none;flex:0 0 auto}.task-group.is-complete .task-group-dot{background:var(--moss);box-shadow:none}.task-group-name{font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--pine-deep);line-height:1.2}.task-group-meta{display:grid;justify-items:end;gap:6px;min-width:92px}.task-group-count{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.02em;white-space:nowrap}.task-group-bar{width:92px;height:4px;border-radius:999px;background:#3c6b571a;overflow:hidden}.task-group-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pine),var(--moss));transition:width .25s ease}.task-group.is-complete .task-group-bar>span{background:var(--moss)}.task-group-body{display:grid;gap:8px}.todo-item{position:relative;display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start;border:1px solid var(--rule);border-radius:12px;padding:12px 12px 11px;background:var(--paper);margin-bottom:0;overflow:visible;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.todo-item:hover{border-color:#3c6b5747}.todo-item.is-done{opacity:.58;background:#f2f2f0b3}.todo-item.carry-warn{border-color:#a8442f52;background:#a8442f09}.todo-mark{width:10px;height:10px;margin-top:5px;border-radius:50%;border:1.5px solid var(--line);background:transparent;box-shadow:none}.todo-mark.status-todo{border-color:#5b5b5773}.todo-mark.status-done{border-color:var(--moss);background:var(--moss)}.todo-main{min-width:0}.todo-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#3c6b5714;color:var(--pine-deep);border:1px solid rgba(60,107,87,.16)}.todo-title{position:relative;display:inline-block;max-width:100%;font-size:14px;font-weight:550;line-height:1.35;color:var(--ink)}.todo-title-text{display:inline}.todo-title:after{content:"";position:absolute;left:0;top:52%;height:1.5px;width:0;background:#2222209e;border-radius:1px;transform:translateY(-50%);pointer-events:none}.todo-item.is-done .todo-title{color:#22222094;text-decoration:none}.todo-item.is-done .todo-title:after{width:100%}.todo-item.is-done.is-striking .todo-title:after{width:0;animation:strikeDraw .62s cubic-bezier(.2,.7,.2,1) forwards}@keyframes strikeDraw{0%{width:0}to{width:100%}}.carry-badge{font-size:11px;color:var(--brick);background:#a8442f14;border:1px solid rgba(168,68,47,.2);border-radius:999px;padding:2px 8px}.todo-done{margin-left:auto;font-size:11px;letter-spacing:.04em;border-radius:999px;padding:2px 8px;border:1px solid var(--line);color:var(--ink-soft);background:#ffffff73}.todo-done.status-done{color:var(--moss);border-color:#5e8a5b4d;background:#5e8a5b14}.todo-done.status-todo{color:var(--ink-soft)}.todo-note{margin-top:7px;font-size:12px;color:var(--ink-soft);line-height:1.55}button.todo-item{width:100%;text-align:left;font:inherit;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.todo-item.is-clickable{cursor:pointer}.todo-item.is-selecting{cursor:pointer;grid-template-columns:16px 1fr}.todo-item.is-selected{border-color:#3c6b576b;background:#3c6b5714;box-shadow:inset 0 0 0 1px #3c6b5714}.todo-item.is-selected .todo-title{color:var(--pine)}.todo-check{width:16px;height:16px;margin-top:2px;border-radius:5px;border:1.5px solid rgba(91,91,87,.42);background:#ffffff8c;position:relative;flex:0 0 auto;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.todo-check.on{border-color:var(--pine);background:var(--pine);box-shadow:0 0 0 3px #3c6b571f}.todo-check.on:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(40deg)}.todo-done.status-selected{color:var(--pine);border-color:#3c6b574d;background:#3c6b5714}.todo-item.is-vanishing,.todo-item.is-done.is-vanishing{--vanish-delay: 0ms;pointer-events:none;cursor:default;opacity:1;border-color:transparent!important;background:transparent!important;box-shadow:none!important;animation:hp-vanish 1.05s cubic-bezier(.2,.55,.15,1) var(--vanish-delay) forwards;transform-origin:30% 50%;will-change:opacity,filter,transform,clip-path}.todo-item.is-vanishing .todo-mark,.todo-item.is-vanishing .todo-check,.todo-item.is-vanishing .todo-done,.todo-item.is-vanishing .carry-badge,.todo-item.is-vanishing .tag{animation:hp-fade-bits .6s ease var(--vanish-delay) forwards}.todo-item.is-vanishing .todo-title,.todo-item.is-vanishing .todo-note{background:linear-gradient(100deg,rgba(34,34,32,.88) 0%,rgba(34,34,32,.55) 35%,rgba(180,180,170,.35) 55%,rgba(34,34,32,.2) 75%,transparent 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:hp-text-dust 1.05s ease var(--vanish-delay) forwards;filter:blur(0)}.todo-item.is-vanishing .todo-title:after{display:none}.todo-item.is-vanishing:before,.todo-item.is-vanishing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;opacity:0}.todo-item.is-vanishing:before{background:radial-gradient(1px 1px at 12% 40%,rgba(34,34,32,.55),transparent 60%),radial-gradient(1.2px 1.2px at 28% 62%,rgba(90,90,80,.45),transparent 60%),radial-gradient(1px 1px at 46% 28%,rgba(34,34,32,.5),transparent 60%),radial-gradient(1.4px 1.4px at 63% 72%,rgba(120,110,90,.4),transparent 60%),radial-gradient(1px 1px at 78% 36%,rgba(34,34,32,.45),transparent 60%),radial-gradient(1.2px 1.2px at 88% 58%,rgba(80,80,70,.35),transparent 60%);animation:hp-dust 1.05s ease var(--vanish-delay) forwards;mix-blend-mode:multiply}.todo-item.is-vanishing:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-40%);animation:hp-glimmer .75s ease-out var(--vanish-delay) forwards}@keyframes hp-vanish{0%{opacity:1;filter:blur(0) saturate(1);transform:translate(0) scale(1) skew(0);clip-path:inset(0 0 0 0)}18%{opacity:.95;filter:blur(.2px) saturate(.95);transform:translate(1px) scale(1.005) skew(-.3deg)}45%{opacity:.72;filter:blur(.8px) saturate(.8);transform:translate(8px) scale(.99) skew(-1deg);clip-path:inset(0 0 0 4%)}72%{opacity:.32;filter:blur(1.8px) saturate(.55);transform:translate(18px) scale(.96) skew(-2deg);clip-path:inset(0 0 0 18%)}to{opacity:0;filter:blur(3.2px) saturate(.2);transform:translate(34px) scale(.9) skew(-3deg);clip-path:inset(0 0 0 55%);max-height:0;margin:0;padding-top:0;padding-bottom:0}}@keyframes hp-text-dust{0%{background-position:0% 50%;filter:blur(0);letter-spacing:0}40%{background-position:45% 50%;filter:blur(.4px);letter-spacing:.01em}to{background-position:110% 50%;filter:blur(2.4px);letter-spacing:.08em;opacity:0}}@keyframes hp-fade-bits{to{opacity:0;transform:scale(.85)}}@keyframes hp-dust{0%{opacity:0;transform:translate(0) scale(1)}25%{opacity:.55}70%{opacity:.85;transform:translate(12px) scale(1.04)}to{opacity:0;transform:translate(28px) scale(1.1)}}@keyframes hp-glimmer{0%{opacity:0;transform:translate(-30%)}30%{opacity:.55}to{opacity:0;transform:translate(60%)}}.task-groups.is-select-mode .task-group-head{opacity:.92}.plain-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.55;color:var(--ink-soft)}.dock{position:fixed;left:50%;bottom:calc(14px + var(--kb-inset, 0px));transform:translate(-50%);z-index:50;width:min(420px,calc(100vw - 20px));display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:4px;padding:6px;border-radius:999px;border:1px solid rgba(255,255,255,.48);background:#fafaf9b3;box-shadow:0 10px 28px #2222201a,0 1px #ffffff8c inset;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));transition:opacity .16s ease,transform .16s ease,bottom .16s ease}.dock.dock-soft{opacity:.92}.dock-btn{min-height:52px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;cursor:pointer}.dock-btn:hover{background:#ffffff73;color:var(--pine-deep)}.dock-btn.on{background:#3c6b5724;color:var(--pine-deep)}.dock-ico{font-size:15px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.dock-ico-svg svg{width:18px;height:18px;display:block}.dock-label{font-size:11px;letter-spacing:.08em}.dock-dot{position:absolute;top:10px;right:18px;width:7px;height:7px;border-radius:50%;background:var(--amber, #c9a24b);box-shadow:none}.dock-time{background:#3c6b57e0;color:#f7f7f4;border-radius:999px;border:1px solid rgba(255,255,255,.2)}.dock-time:hover{filter:brightness(1.05);color:#fff;background:#3c6b57eb}.dock-time.on{background:#3c6b57f2}.dock-time-main{font-size:17px;font-weight:800;letter-spacing:.02em;line-height:1.05}.dock-time-sub{font-size:10px;opacity:.85;font-weight:600}.chat-composer{position:fixed;left:50%;bottom:calc(96px + var(--chrome-bottom, 0px));transform:translate(-50%);z-index:48;width:min(420px,calc(100vw - 20px));display:grid;gap:6px;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;pointer-events:auto}.chat-composer.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.composer-error{font-size:11px;color:#a33;padding:0 10px;line-height:1.2}.composer-row{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.composer-field{position:relative;display:flex;align-items:center;min-width:0;flex:1 1 auto;height:46px;border-radius:999px;border:1px solid rgba(201,201,198,.65);background:#ffffffc7;box-shadow:none;backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);transition:border-color .15s ease}.composer-field:focus-within{border-color:#3c6b5766;box-shadow:none}.session-wrap{position:relative;flex:0 0 auto;margin-left:4px}.session-btn,.composer-send,.composer-close{width:34px;height:34px;min-width:34px;padding:0;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink-soft);cursor:pointer;flex:0 0 auto}.session-btn:hover,.session-btn.on{background:#3c6b571a;color:var(--pine-deep)}.session-btn:disabled,.composer-send:disabled{opacity:.35;cursor:default}.session-btn svg,.composer-send svg,.composer-close svg{width:18px;height:18px;display:block}.composer-close{width:36px;height:36px;min-width:36px;margin:0;color:var(--ink-soft);background:#ffffff8c;border:1px solid rgba(201,201,198,.55);box-shadow:none;opacity:.72;transition:opacity .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.composer-close:hover{opacity:1;background:#ffffffe0;border-color:#3c6b5747;color:var(--pine-deep)}.composer-close:active{transform:scale(.96)}.composer-send{margin-right:4px;color:#fff;background:#3c6b57e0}.composer-send:hover:not(:disabled){background:#3c6b57f5;color:#fff}.composer-send:disabled{background:#3c6b5747;color:#ffffffd9;opacity:1}.session-menu{position:absolute;left:0;bottom:calc(100% + 10px);width:min(240px,70vw);max-height:min(42vh,320px);overflow:auto;border-radius:16px;border:1px solid rgba(201,201,198,.7);background:#fafaf9f0;box-shadow:0 8px 18px #22222014;backdrop-filter:blur(14px) saturate(1.05);-webkit-backdrop-filter:blur(14px) saturate(1.05);padding:6px;z-index:60}.session-list{display:grid;gap:2px}.session-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;border:0;background:transparent;border-radius:12px;padding:9px 10px;cursor:pointer;color:var(--ink);font-size:13px}.session-item:hover,.session-item.on{background:#3c6b571a}.session-new{font-weight:700;margin-bottom:4px;border-bottom:1px solid rgba(201,201,198,.45);border-radius:12px 12px 0 0;color:var(--green, #3c6b57)}.session-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item-meta{font-size:11px;opacity:.65;white-space:nowrap}.session-item.session-mode{margin-top:2px;border-top:1px solid rgba(201,201,198,.4);color:var(--ink-soft);font-size:12px}.session-item.session-mode.on{color:var(--moss)}.composer-input{width:100%;height:100%;border:0;background:transparent;padding:0 8px;outline:none;font-size:15px;min-width:0;flex:1 1 auto;color:var(--ink)}.composer-input::placeholder{color:#5a5a568c}.chat-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:#1c1e1c57;backdrop-filter:blur(14px) saturate(.9);-webkit-backdrop-filter:blur(14px) saturate(.9);opacity:0;pointer-events:none;transition:opacity .18s ease}.chat-scrim.show{opacity:1;pointer-events:auto}.chat-panel{position:fixed;left:50%;bottom:calc(158px + var(--chrome-bottom, 0px));transform:translate(-50%) translateY(8px);z-index:46;width:min(560px,calc(100vw - 20px));height:min(62vh,620px);max-height:calc(var(--vv-height, 100dvh) - 170px - env(safe-area-inset-top,0px));display:flex;flex-direction:column;border-radius:0;border:none;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease,height .2s ease;overflow:hidden}.chat-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.chat-panel-head{display:none}.chat-empty-hint{padding:28px 12px 8px;text-align:center;font-size:13px;letter-spacing:.04em;color:#5a5a568c}.chat-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:transparent}.chat-panel .msgs{flex:1 1 auto;overflow:auto;padding:18px 10px 8px;background:transparent;gap:10px;scrollbar-width:none;mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 8px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 8px),transparent 100%)}.chat-panel .msgs::-webkit-scrollbar{width:0;height:0;display:none}.chat-panel .error{margin:0 8px 8px}.chat-panel .msg{display:flex;flex-direction:column;align-items:flex-start;gap:6px;animation:msg-in .16s ease both}.chat-panel .msg.user{align-items:flex-end}.chat-panel .msg.is-loading .text{opacity:.72;letter-spacing:.04em}.chat-panel .msg.is-loading .bubble{animation:loading-pulse 1.1s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.55}50%{opacity:1}}button.chat-mini-status{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit}.chat-mini-status{position:fixed;left:50%;bottom:calc(152px + var(--chrome-bottom, 0px));transform:translate(-50%);z-index:47;max-width:min(280px,calc(100vw - 32px));padding:7px 14px;border-radius:999px;border:1px solid rgba(201,201,198,.55);background:#fafaf9e0;color:var(--ink-soft);font-size:12px;line-height:1.2;letter-spacing:.02em;text-align:center;pointer-events:auto;cursor:pointer;box-shadow:none;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);animation:mini-in .16s ease both}@keyframes mini-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.todo-item[data-task-key]:focus-visible{outline:none}.panel.is-focus,.todo-item.is-focus,[data-enter-key].is-focus{box-shadow:none;outline:none;transform:none}.shell.has-spotlight .day-head,.shell.has-spotlight .day-flow>.panel{transition:opacity .28s ease,filter .28s ease}.shell.has-spotlight .day-head:not(:has(.is-spotlight,.is-enter,.is-vanishing,.is-striking)),.shell.has-spotlight .day-flow>.panel:not(:has(.is-spotlight,.is-enter,.is-vanishing,.is-striking)){opacity:.3;filter:grayscale(.55) brightness(.94)}.shell.has-spotlight .panel:has(.is-spotlight,.is-enter,.is-vanishing,.is-striking) .panel-head{opacity:.42;filter:grayscale(.35)}.shell.has-spotlight .happy-row>:not(.is-spotlight):not(.is-enter),.shell.has-spotlight .axis>:not(.is-spotlight):not(.is-enter):not(:has(.is-spotlight,.is-enter)),.shell.has-spotlight .food-list>:not(.is-spotlight):not(.is-enter),.shell.has-spotlight .indicators>:not(.is-spotlight):not(.is-enter),.shell.has-spotlight .plain-list>:not(.is-spotlight):not(.is-enter),.shell.has-spotlight .task-groups>.task-group:not(:has(.is-spotlight,.is-enter,.is-vanishing,.is-striking)),.shell.has-spotlight .task-group-body>.todo-item:not(.is-spotlight):not(.is-enter):not(.is-vanishing):not(.is-striking),.shell.has-spotlight .review-item:not(.is-spotlight):not(.is-enter){opacity:.28;filter:grayscale(.55) brightness(.94);transition:opacity .28s ease,filter .28s ease}.shell.has-spotlight .is-spotlight,.shell.has-spotlight .ui-enter.is-enter,.shell.has-spotlight .todo-item.is-vanishing,.shell.has-spotlight .todo-item.is-striking{position:relative;z-index:4;opacity:1!important;filter:none!important;border-radius:10px;border-color:transparent;background:#fafaf9fa;box-shadow:0 10px 26px #14120c1a}.shell.has-spotlight .happy-pill.is-spotlight,.shell.has-spotlight .happy-pill.is-enter,.shell.has-spotlight .ribbon.is-spotlight,.shell.has-spotlight .ribbon.is-enter,.shell.has-spotlight .ui-enter--pill.is-spotlight,.shell.has-spotlight .ui-enter--pill.is-enter,.shell.has-spotlight .ui-enter--badge.is-spotlight,.shell.has-spotlight .ui-enter--badge.is-enter{border-radius:999px}.shell.has-spotlight .task-group.is-spotlight,.shell.has-spotlight .panel.is-spotlight,.shell.has-spotlight [data-section].is-spotlight{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.ui-enter.is-enter{--enter-delay: 0ms;position:relative;z-index:3;animation:hp-materialize 1.45s cubic-bezier(.2,.55,.15,1) var(--enter-delay) both;isolation:isolate;border-radius:10px;transform-origin:18% 50%;will-change:opacity,filter,transform,clip-path}.ui-enter--row.is-enter,.ui-enter--metric.is-enter,.ui-enter--line.is-enter,.ui-enter--panel.is-enter{border-radius:10px}.ui-enter--pill.is-enter,.ui-enter--badge.is-enter{border-radius:999px}.ui-enter.is-enter:before{content:"";position:absolute;top:-8px;right:-10px;bottom:-8px;left:-10px;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(1.2px 1.2px at 8% 42%,rgba(34,34,32,.55),transparent 60%),radial-gradient(1px 1px at 18% 22%,rgba(90,90,80,.5),transparent 60%),radial-gradient(1.4px 1.4px at 32% 68%,rgba(120,110,90,.42),transparent 60%),radial-gradient(1px 1px at 48% 18%,rgba(34,34,32,.48),transparent 60%),radial-gradient(1.2px 1.2px at 62% 74%,rgba(80,80,70,.4),transparent 60%),radial-gradient(1px 1px at 76% 34%,rgba(34,34,32,.45),transparent 60%),radial-gradient(1.3px 1.3px at 88% 58%,rgba(100,95,80,.38),transparent 60%),radial-gradient(120% 90% at 12% 50%,rgba(255,240,190,.16),transparent 58%),radial-gradient(90% 120% at 88% 40%,rgba(140,220,180,.12),transparent 62%);animation:hp-materialize-dust 1.45s ease var(--enter-delay) both;mix-blend-mode:multiply}.ui-enter.is-enter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:translate(-45%);opacity:0;animation:hp-materialize-glimmer .95s ease-out var(--enter-delay) both}.ui-enter--pill.is-enter:before,.ui-enter--badge.is-enter:before{border-radius:999px}.ui-enter.is-enter .ui-enter-text,.ui-enter.is-enter.happy-pill,.ui-enter.is-enter.ribbon{background-image:linear-gradient(100deg,transparent 0%,rgba(180,180,170,.25) 18%,rgba(34,34,32,.35) 32%,#8f6a12 42%,#fff4b8 48%,#ffffff 50%,#b8f0d4 52%,#2f6b52 58%,#24352c 70%,#24352c 100%);background-size:240% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:hp-materialize-text 1.45s cubic-bezier(.2,.55,.15,1) var(--enter-delay) both;text-shadow:none;filter:blur(1.6px)}.ui-enter.is-enter .plan-card,.ui-enter.is-enter .food-content{background-color:#fafaf9b8;border-color:transparent;box-shadow:none}.ui-enter--node.is-enter .plan-card,.ui-enter--pill.is-enter,.ui-enter--metric.is-enter,.ui-enter--row.is-enter,.ui-enter--badge.is-enter{border-color:transparent}.ui-enter--badge.is-enter{display:inline-flex}.ui-enter--node.is-enter .plan-card{position:relative;z-index:1}@keyframes hp-materialize{0%{opacity:0;filter:blur(3px) saturate(.35);transform:translate(-22px) scale(.92) skew(2.4deg);clip-path:inset(0 70% 0 0)}18%{opacity:.42;filter:blur(2px) saturate(.55);transform:translate(-12px) scale(.95) skew(1.6deg);clip-path:inset(0 48% 0 0)}46%{opacity:.82;filter:blur(.7px) saturate(.88);transform:translate(-2px) scale(.99) skew(.4deg);clip-path:inset(0 14% 0 0)}72%{opacity:1;filter:blur(.15px) saturate(1.05);transform:translate(1px) scale(1.01) skew(-.15deg);clip-path:inset(0 0 0 0)}to{opacity:1;filter:none;transform:none;clip-path:inset(0 0 0 0)}}@keyframes hp-materialize-text{0%{background-position:130% 0;filter:blur(2.4px);letter-spacing:.06em;opacity:.35}28%{background-position:70% 0;filter:blur(1.1px);letter-spacing:.03em;opacity:.75}62%{background-position:18% 0;filter:blur(.25px) brightness(1.08);letter-spacing:.01em;opacity:1}to{background-position:-30% 0;filter:none;letter-spacing:0;opacity:1}}@keyframes hp-materialize-dust{0%{opacity:0;transform:translate(-18px) scale(1.08)}18%{opacity:.7}55%{opacity:.85;transform:translate(-2px) scale(1.01)}to{opacity:0;transform:translate(6px) scale(.98)}}@keyframes hp-materialize-glimmer{0%{opacity:0;transform:translate(-40%)}28%{opacity:.5}to{opacity:0;transform:translate(55%)}}.ui-enter-text.is-typing{white-space:pre-wrap}.ui-enter-caret{display:inline-block;width:.55ch;height:1em;margin-left:1px;vertical-align:-.12em;background:linear-gradient(180deg,#2222208c,#786e5a73);box-shadow:none;border-radius:1px;animation:ui-enter-caret .9s steps(1) infinite}@keyframes ui-enter-caret{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.ui-enter.is-enter,.ui-enter.is-enter:before,.ui-enter.is-enter:after,.ui-enter.is-enter .ui-enter-text,.ui-enter.is-enter.happy-pill,.ui-enter.is-enter.ribbon{animation:none}.ui-enter.is-enter:before,.ui-enter.is-enter:after{display:none}.ui-enter.is-enter .ui-enter-text,.ui-enter.is-enter.happy-pill,.ui-enter.is-enter.ribbon{color:inherit!important;-webkit-text-fill-color:currentColor;background:none;filter:none}}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chat-panel .bubble{border:none;box-shadow:none;background:transparent;padding:0;max-width:min(520px,96%)}.chat-panel .msg.user .bubble{background:transparent;border:none}.chat-panel .text{font-size:14.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.chat-panel .msg.user .text{display:inline-block;padding:9px 13px;border-radius:16px 16px 5px;background:#3c6b571f;color:var(--ink)}.chat-panel .msg.assistant .text,.chat-panel .msg.system .text{display:block;padding:2px;border-radius:0;background:transparent;color:var(--ink);max-width:36em}.chat-panel .who,.chat-panel .role{display:none}.chat-panel .confirm-bar{margin-top:10px;border:1px solid rgba(201,201,198,.55);border-radius:14px;background:#ffffff8c;padding:10px 12px}.chat-panel .confirm-title{font-size:11px;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:6px}.chat-panel .patch{font-size:13px;line-height:1.4;padding:6px 0;border-bottom:1px solid rgba(201,201,198,.35);color:var(--ink)}.chat-panel .patch:last-child{border-bottom:none}.chat-panel .confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.chat-panel .confirm-actions .ghost,.chat-panel .confirm-actions .primary{min-height:34px;border-radius:999px;padding:0 14px;font-size:13px}.chat-panel .patch code{font-family:inherit;font-size:inherit;white-space:pre-wrap}.chat-head.journal-head,.journal-head{display:flex;align-items:center;justify-content:center;gap:0;padding:10px 16px 6px;border-bottom:0}.journal-seg{display:flex;align-items:center;width:100%;max-width:420px;gap:2px;padding:3px;border-radius:999px;background:#0000000d;border:1px solid rgba(0,0,0,.04)}.journal-tab{border:0;background:transparent;color:var(--ink-soft);border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:650;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 0;min-height:34px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.journal-tab.on{background:#ffffffeb;color:var(--pine-deep);box-shadow:0 1px 2px #0000000f}.journal-tab-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:#0000000f;color:inherit}.journal-tab.on .journal-tab-count{background:#3c6b5724}.journal-scroll{padding-top:2px;display:flex;flex-direction:column}.journal-empty{flex:1 1 auto;min-height:min(52vh,420px);display:flex;align-items:center;justify-content:center;padding:28px 20px 48px}.journal-empty-card{width:min(100%,320px);margin:0 auto;text-align:center;border:0;border-radius:22px;padding:28px 22px 26px;background:#ffffff8c;box-shadow:0 10px 28px #1e24200d}.journal-empty-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:.78;margin-bottom:10px}.journal-empty-title{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.25;color:var(--ink);margin:0 0 10px}.journal-empty-copy{margin:0;font-size:13.5px;line-height:1.65;color:var(--ink-soft)}.diary-stack{display:grid;gap:12px;max-width:680px;width:100%;margin:0 auto}.diary-stack.is-empty{flex:1 1 auto;display:flex;max-width:none}.diary-draft-card,.diary-card{border-radius:18px;border:1px solid rgba(201,201,198,.55);background:#ffffffa8;padding:14px 14px 12px}.diary-draft-kicker,.diary-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.8}.diary-draft-title,.diary-title{margin:6px 0 8px;font-size:18px;line-height:1.25;font-weight:750;color:var(--ink)}.diary-draft-copy{margin:0;font-size:13px;line-height:1.55;color:var(--ink-soft)}.diary-draft-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.diary-card{cursor:pointer;transition:border-color .15s ease,background .15s ease}.diary-card.on,.diary-card:hover{border-color:#3c6b5747;background:#ffffffd6}.diary-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.diary-del{border:0;background:transparent;color:var(--ink-soft);font-size:12px;padding:4px 6px;border-radius:8px;cursor:pointer;opacity:.7}.diary-del:hover{opacity:1;background:#a0282814;color:#8a2f2f}.diary-body{font-size:13px;line-height:1.6;color:var(--ink-soft);white-space:pre-wrap}.diary-body.open{color:var(--ink);font-size:14px;line-height:1.7}@media(max-width:860px){.chat-head.journal-head,.journal-head{padding:8px 12px}.journal-seg{max-width:none}.journal-tab{padding:8px 12px;font-size:13px;min-height:36px}.diary-draft-card,.diary-card{background:#ffffff8c}.journal-empty-card{background:#ffffff6b;box-shadow:0 8px 22px #1e24200a}}.trueme-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 18px 28px;background:var(--paper)}.trueme-stack{display:grid;gap:22px;max-width:680px;margin:0 auto}.trueme-doc{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:18px 18px 10px}.trueme-kicker{font-size:11px;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:6px}.trueme-title{margin:0 0 14px;font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.2}.trueme-note{font-size:13px;color:var(--ink-soft);margin:-4px 0 14px;line-height:1.55}.trueme-section{margin-bottom:8px}.section-title{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;color:var(--pine);margin:14px 0 10px}.section-title:after{content:"";flex:1;height:1px;background:var(--rule)}.prose{font-size:15px;line-height:1.85;color:var(--ink);margin-bottom:12px}.quote{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.7;color:var(--pine-deep);border-left:3px solid var(--pine);padding:4px 0 4px 12px;margin:2px 0 14px}.goals{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.hdb-list{display:grid;gap:10px;margin-bottom:10px}.hdb-card{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--paper)}.hdb-have{font-family:var(--serif);font-weight:600;font-size:15px;margin-bottom:6px}.hdb-line{font-size:13px;color:var(--ink-soft);line-height:1.55}.hdb-arrow{margin:0 6px;color:var(--pine)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#14161447;opacity:0;pointer-events:none;transition:opacity .25s}.scrim.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:300px;z-index:60;background:var(--paper-2);border-right:1px solid var(--line);transform:translate(-100%);transition:transform .3s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 18px 14px;border-bottom:1px solid var(--line)}.brand h1{margin:0;font-family:var(--serif);font-size:20px;font-weight:700}.brand .sub{margin-top:4px;font-size:12px;color:var(--ink-soft);letter-spacing:.08em}.drawer-close{border:0;background:transparent;font-size:24px;line-height:1;color:var(--ink-soft);width:32px;height:32px;border-radius:8px}.drawer-close:hover{background:var(--card);color:var(--ink)}.drawer-scroll{overflow:auto;padding:14px 12px 30px;flex:1}.tree-label{font-size:11px;letter-spacing:.12em;color:var(--ink-soft);margin:8px 8px 10px}.tree-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;border:1px solid transparent}.tree-item:hover{background:#fafaf9cc}.tree-item.active{background:#3c6b571a;border-color:#3c6b5733;color:var(--pine-deep)}.tree-date{font-size:11px;color:var(--ink-soft)}.tree-todo{margin-top:10px;padding:12px;border-radius:10px;border:1px dashed var(--line);color:var(--pine-deep);cursor:pointer;text-align:center;letter-spacing:.04em}.tree-todo:hover{background:#3c6b570f}.drawer-meta{margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafaf9b3;display:grid;gap:8px}.drawer-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink-soft)}.drawer-meta-row strong{font-size:12px;font-weight:600;color:var(--ink)}.drawer-logout{margin-top:2px;width:100%;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:12px;font-weight:600}.drawer-logout:hover{border-color:var(--pine);color:var(--pine-deep)}.drawer-foot{margin-top:18px;padding:10px 8px;font-size:11px;color:var(--ink-soft);opacity:.8}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#12141200;pointer-events:none;transition:background .22s ease}.sheet-root.open{pointer-events:auto;background:#12141257}.sheet{position:relative;width:min(760px,100%);height:min(78vh,820px);max-height:calc(100vh - 18px);margin:0 auto;background:var(--card);border:1px solid var(--rule);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -4px 16px #00000014;display:flex;flex-direction:column;overflow:hidden;transform:translateY(110%);transition:transform .28s cubic-bezier(.22,.61,.36,1);padding-bottom:env(safe-area-inset-bottom,0)}.sheet-root.open .sheet{transform:translateY(0)}.sheet-handle{display:flex;justify-content:center;padding:10px 0 2px;flex:0 0 auto}.sheet-handle span{width:42px;height:4px;border-radius:999px;background:var(--line)}.sheet-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--ink-soft);font-size:22px}.sheet-close:hover{background:var(--paper-2);color:var(--ink)}.chat-head{padding:6px 48px 12px 18px;border-bottom:1px solid var(--rule);flex:0 0 auto}.chat-title{font-family:var(--serif);font-weight:700;font-size:18px}.chat-sub{margin-top:4px;font-size:12px;color:var(--ink-soft)}.msgs{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}.chat-empty{padding:18px 8px}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.bubble{max-width:min(520px,92%);border-radius:16px;padding:12px 14px;border:1px solid var(--rule);background:var(--card);box-shadow:none}.msg.user .bubble{background:#3c6b571a;border-color:#3c6b5733}.msg.is-applied .bubble,.msg.applied .bubble{opacity:.92}.role{font-size:11px;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:4px}.content{font-size:14px;line-height:1.6;white-space:pre-wrap}.patch-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag-chip{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--rule);color:var(--ink-soft)}.tag-chip.ok{background:#5e8a5b1f;border-color:#5e8a5b47;color:var(--moss)}.confirm-bar{border-top:1px solid var(--rule);background:#efe9d88c;padding:12px 16px 14px;flex:0 0 auto}.confirm-title{font-size:12px;letter-spacing:.08em;color:#8a6a1d;margin-bottom:8px}.patch-list{display:grid;gap:6px;margin-bottom:10px}.patch-item{font-size:13px;padding:8px 10px;border-radius:10px;background:#fafaf9d9;border:1px solid rgba(201,162,75,.25)}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.error{margin:0 16px 8px;padding:10px 12px;border-radius:10px;background:#a8442f14;border:1px solid rgba(168,68,47,.2);color:var(--brick);font-size:13px}.composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);background:#fafaf9f5;flex:0 0 auto}.composer textarea{resize:none;min-height:56px;border-radius:12px;border:1px solid var(--line);background:var(--card);padding:10px 12px;outline:none}.composer textarea:focus{border-color:#3c6b5773}.composer .send{min-width:72px;align-self:end}@media(max-width:860px){.topbar-inner{min-height:44px;gap:8px;padding:calc(6px + env(safe-area-inset-top,0px)) 12px 8px}.topbar-blur{background:linear-gradient(180deg,#f2f2f0f0,#f2f2f09e 58%,#f2f2f000)}.topbar-left{gap:8px}.topbar-kicker{font-size:9.5px;letter-spacing:.16em}.topbar-date{font-size:17px}.topbar-week{font-size:11.5px}.menu-btn{width:34px;height:34px;border:none;border-radius:999px;background:#ffffffa8;backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12)}.topbar-actions{gap:6px}.topbar-today{height:32px;min-width:46px;padding:0 11px;border:none;border-radius:999px;font-size:12px;font-weight:650;color:var(--pine-deep);background:#ffffffa8;backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12)}.topbar-live{width:32px;height:32px}.slide{width:100vw;left:0;margin-left:0;padding:calc(56px + env(safe-area-inset-top,0px)) 16px calc(168px + env(safe-area-inset-bottom,0px));border-radius:0;border-left:0;border-right:0;background:#fafaf99e;box-shadow:none}.day-flow{columns:1;column-gap:0}.day-flow .panel{margin:0 0 14px;width:100%}.day-flow .panel.col-12{column-span:none;margin-top:0}.panel,.todo-item,.ind-item,.plan-card{background:#fafaf98c;border-color:#ffffff59;backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);box-shadow:none}.task-group+.task-group{border-top-color:#c9c9c68c}.task-group-bar{background:#3c6b571f}.todo-item.is-done{background:#fafaf959}.todo-item.is-selected{background:#3c6b571f}.todo-item.is-vanishing{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.task-tool{background:#fafaf98c;border-color:#ffffff73}.panel-head{background:#fafaf959;border-bottom-color:#c9c9c673}.ghost{background:#fafaf98c!important;border-color:#fff6!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dock{bottom:calc(10px + var(--kb-inset, 0px));width:min(440px,calc(100vw - 14px));background:#fafaf994;border-color:#ffffff85;border-radius:999px;padding:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom,0px));box-shadow:0 12px 30px #2222201f,0 1px #ffffff8c inset}.dock-time{background:#3c6b57d1;border-color:#ffffff40;border-radius:999px}.chat-composer{bottom:calc(88px + var(--chrome-bottom, 0px));width:min(440px,calc(100vw - 14px));background:transparent;box-shadow:none}.composer-field{background:#ffffff9e;border-color:#ffffff73}.chat-panel{top:calc(var(--chrome-top, 0px) + 52px);bottom:calc(148px + var(--chrome-bottom, 0px));height:auto;max-height:none;width:min(100vw - 12px,560px);background:transparent;border:none;box-shadow:none}.chat-mini-status{bottom:calc(142px + var(--chrome-bottom, 0px))}.chat-panel .text{font-size:14.5px}.chat-panel .msg.user .text{background:#3c6b5724}.chat-panel .msg.assistant .text,.chat-panel .msg.system .text{background:transparent}.trueme-doc,.hdb-card{background:#fafaf98c;border-color:#ffffff59;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.trueme-scroll{background:transparent}.drawer{width:min(86vw,320px);background:#e9e9e6b8;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);border-right-color:#ffffff59}.sheet{width:100%;height:min(86vh,900px);border-color:#ffffff59;background:#fafaf9bd;backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05);box-shadow:0 -4px 14px #00000014}.sheet-root.open{background:#12141247}.msgs{background:transparent}.bubble{background:#fafaf9b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.msg.user .bubble{background:#3c6b572e}.composer{background:#fafaf994;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.composer textarea{background:#fafaf9b8}.confirm-bar{background:#efe9d880;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.day-head{align-items:center;gap:10px;border-bottom-width:1px;padding-bottom:10px;margin-bottom:14px}.day-head>div:first-child{display:none}.day-head .head-right{margin-left:0;width:100%;justify-content:flex-start}.indicators{grid-template-columns:1fr 1fr}}@media(max-width:420px){.indicators{grid-template-columns:1fr}.dock{width:calc(100vw - 12px);gap:3px}.dock-time-main{font-size:16px}.dock-time-sub{font-size:9.5px}.dock-btn{min-height:48px;border-radius:999px}.dock-label{font-size:10px;letter-spacing:.06em}.composer-input{font-size:16px}.pwa-install{width:calc(100vw - 12px);bottom:calc(160px + var(--chrome-bottom, 0px))}}.shell.sheet-open .pager,.shell.sheet-open .dock,.shell.sheet-open .chat-composer,.shell.sheet-open .chat-panel{pointer-events:none}.shell.chat-open .pager-hint{opacity:0;pointer-events:none}.shell .slide{padding-bottom:168px}.gallery-sheet{height:min(82vh,860px)}.gallery-head .chat-sub{letter-spacing:.01em}.gallery-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 16px 28px;-webkit-overflow-scrolling:touch}.gallery-note{margin:0 2px 14px;font-size:12.5px;line-height:1.55;color:var(--ink-soft)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:720px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.gallery-card{position:relative;border-radius:18px;border:1px solid rgba(201,201,198,.7);background:#fafaf9e0;padding:14px 14px 12px;min-height:148px;overflow:hidden;display:flex;flex-direction:column;gap:6px}.gallery-card.is-locked{opacity:.78}.gallery-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.gallery-card-title{font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.02em}.gallery-badge{flex:0 0 auto;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid transparent}.gallery-badge.free{color:var(--pine-deep);background:#3c6b571a;border-color:#3c6b5729}.gallery-badge.lock{color:#7a5a18;background:#c9a24b24;border-color:#c9a24b47}.gallery-card-blurb{font-size:12.5px;color:var(--ink-soft);line-height:1.45}.gallery-card-surface{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5a5a56b8}.gallery-preview{margin-top:auto;padding-top:8px;display:grid;gap:4px}.gallery-preview-line{font-size:12px;line-height:1.35;color:var(--ink);opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-lock-veil{position:absolute;right:10px;bottom:10px;font-size:11px;letter-spacing:.04em;color:#7a5a18;background:#fff8e6eb;border:1px solid rgba(201,162,75,.3);border-radius:999px;padding:3px 8px}@media(max-width:720px){.gallery-sheet{height:min(86vh,900px);border-color:#ffffff59;background:#fafaf9c7;backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05)}.gallery-card{background:#fafaf99e;border-color:#fff6}}.login-root{min-height:100%;display:grid;place-items:center;padding:28px 18px;background:linear-gradient(180deg,rgba(60,107,87,.04),transparent 40%),var(--paper)}.login-card{width:min(420px,100%);background:#fafaf9d1;border:1px solid rgba(255,255,255,.55);border-radius:22px;padding:28px 24px 22px;box-shadow:0 8px 20px #0000000f;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.login-card.muted{text-align:center}.login-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:10px}.login-title{font-family:var(--serif);font-size:28px;margin:0 0 10px;letter-spacing:.02em}.login-sub{margin:0 0 14px;color:var(--ink-soft);font-size:14px;line-height:1.55}.login-hint{font-size:12px;color:var(--ink-soft);background:#3c6b5714;border:1px solid rgba(60,107,87,.16);border-radius:12px;padding:8px 10px;margin-bottom:14px}.login-input{width:100%;border:1px solid var(--line);background:#ffffffb8;border-radius:14px;padding:12px 14px;margin-bottom:12px;outline:none}.login-input:focus{border-color:var(--pine);box-shadow:none}.login-btn{width:100%;padding:12px 14px;border-radius:14px}.cloud-account-slot{position:fixed;top:calc(var(--chrome-top, 0px) + 8px);right:18px;z-index:60;pointer-events:auto}@media(max-width:860px){.cloud-account-slot{top:calc(var(--chrome-top, 0px) + 50px);right:12px}}.shell.chat-open .dock{z-index:50}@media(max-width:860px){.shell.chat-open .dock{opacity:.88}}.shell.chat-open .chat-composer{z-index:49}.shell.chat-open .chat-panel{z-index:46}.shell.chat-open .pager{pointer-events:none}.agent-timeline.msgs{display:flex;flex-direction:column;gap:14px}.agent-loading-row{display:inline-flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:13px}.agent-dots{display:inline-flex;align-items:center;gap:4px;height:12px}.agent-dots i{width:6px;height:6px;border-radius:999px;background:#3c6b578c;display:block;animation:agent-dot 1.35s ease-in-out infinite}.agent-dots i:nth-child(2){animation-delay:.18s}.agent-dots i:nth-child(3){animation-delay:.36s}@keyframes agent-dot{0%,80%,to{opacity:.25;transform:translateY(0) scale(.9)}40%{opacity:1;transform:translateY(-3px) scale(1)}}.agent-spinner{width:10px;height:10px;border-radius:999px;border:1.5px solid rgba(90,90,86,.22);border-top-color:#3c6b57d9;animation:agent-spin .7s linear infinite;flex:0 0 auto}@keyframes agent-spin{to{transform:rotate(360deg)}}.agent-type{white-space:pre-wrap}.agent-type.is-typing{box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(90deg,rgba(60,107,87,.06) 0%,rgba(60,107,87,.03) 70%,transparent 100%);border-radius:4px;padding:1px 2px;margin:-1px -2px}.agent-type.is-just-done{transition:background .45s ease}.agent-caret{display:inline-block;width:2.5px;height:1.05em;margin-left:2px;vertical-align:-.18em;border-radius:1px;background:var(--pine, #3c6b57);box-shadow:0 0 0 1px #3c6b571f;animation:agent-caret 1.05s steps(1) infinite}@keyframes agent-caret{0%,55%{opacity:1}56%,to{opacity:0}}.chat-panel .msg.assistant{animation:msg-in .22s ease both}.chat-panel .msg.assistant .text{min-height:1.4em}.agent-tools{margin-top:6px;width:min(520px,96%);display:grid;gap:3px}.agent-tool{margin:0;padding:0;color:var(--ink-soft);font-size:12px;line-height:1.4;font-style:normal;font-variant-numeric:tabular-nums}.agent-tool.running,.agent-tool.pending{color:var(--ink-soft)}.agent-tool.error{color:#a8442f}.agent-tool.done{color:#5a5a56b8}.agent-tool-line{display:flex;align-items:center;gap:7px;width:100%;min-width:0;border:0;background:transparent;padding:2px 0;margin:0;text-align:left;color:inherit;font:inherit;font-style:normal;cursor:default}button.agent-tool-line{cursor:pointer}button.agent-tool-line:hover{color:var(--ink)}.agent-tool-dot{width:5px;height:5px;border-radius:999px;background:#5a5a5659;flex:0 0 auto}.agent-tool.running .agent-tool-dot{background:#3c6b57bf}.agent-tool.pending .agent-tool-dot{background:#a0823cb3}.agent-tool.error .agent-tool-dot{background:#a8442f}.agent-tool-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;letter-spacing:.01em}.agent-tool-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7;font-size:11.5px}.agent-tool-status{margin-left:auto;flex:0 0 auto;font-style:normal;font-size:11px;opacity:.55}.agent-tool-detail{margin:2px 0 2px 12px;font-style:normal;font-size:11.5px;line-height:1.4;color:var(--ink-soft);opacity:.85}.agent-tool-detail-row{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 0}.chat-panel .agent-tools{padding-left:2px}.chat-panel .msg.is-loading .bubble{animation:none}.chat-panel .msg.is-loading .text{opacity:1;letter-spacing:0}html.kb-open,html.kb-open body,html.kb-open #root,html.kb-open .shell{height:var(--vv-height, 100dvh);max-height:var(--vv-height, 100dvh);overflow:hidden;overscroll-behavior:none}html.kb-open .topbar{top:var(--vv-top, 0px)}html.kb-open .dock{opacity:0;pointer-events:none;transform:translate(-50%) translateY(18px);transition:opacity .16s ease,transform .16s ease}html.kb-open .chat-composer{bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .chat-panel{top:calc(var(--vv-top, 0px) + env(safe-area-inset-top,0px) + 48px);bottom:calc(70px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px));height:auto;max-height:none}html.kb-open .chat-mini-status{bottom:calc(64px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .chat-panel .msgs{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}html.kb-open .slide{touch-action:pan-y}@media(max-width:860px){html.kb-open .chat-composer{bottom:calc(10px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .chat-panel{top:calc(var(--vv-top, 0px) + env(safe-area-inset-top,0px) + 44px);bottom:calc(64px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}}.pwa-install{position:fixed;left:50%;bottom:calc(168px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px));transform:translate(-50%);z-index:52;width:min(420px,calc(100vw - 20px));display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.55);background:#fafaf9d1;box-shadow:0 10px 24px #2222201a;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);animation:mini-in .18s ease both}.pwa-install-main{min-width:0;flex:1 1 auto}.pwa-install-title{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.02em}.pwa-install-sub{margin-top:2px;font-size:11.5px;line-height:1.35;color:var(--ink-soft)}.pwa-install-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.pwa-install-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:34px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:#3c6b57eb;color:#f7f7f4;font-size:12px;font-weight:650}.pwa-install-btn svg,.pwa-install-ios-hint svg{width:15px;height:15px;display:block}.pwa-install-ios-hint{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--pine-deep);background:#3c6b571f}.pwa-install-dismiss{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:18px;line-height:1}.pwa-install-dismiss:hover{background:#0000000d;color:var(--ink)}html.kb-open .pwa-install{display:none}@media(min-width:861px){.pwa-install{display:none}}html.pwa-standalone .topbar-blur{opacity:1}html.pwa-standalone body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none}html.pwa-standalone input,html.pwa-standalone textarea,html.pwa-standalone .chat-panel .text{-webkit-user-select:text;user-select:text}html.pwa-standalone .topbar-inner{padding-top:calc(6px + env(safe-area-inset-top,0px))}html.pwa-standalone .slide{padding-top:calc(58px + env(safe-area-inset-top,0px));padding-bottom:calc(172px + env(safe-area-inset-bottom,0px))}html.kb-open .topbar-blur{opacity:1;background:linear-gradient(180deg,#f2f2f0f5,#f2f2f0b8 70%,#f2f2f000)}html.kb-open .chat-composer{bottom:calc(10px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .composer-field{background:#ffffffdb;border-color:#3c6b5738}html.kb-open .chat-panel{top:calc(var(--vv-top, 0px) + env(safe-area-inset-top,0px) + 50px);bottom:calc(66px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}@media(max-width:860px){html.kb-open .chat-panel{top:calc(var(--vv-top, 0px) + env(safe-area-inset-top,0px) + 46px);bottom:calc(62px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .chat-composer{bottom:calc(8px + env(safe-area-inset-bottom,0px) + var(--kb-inset, 0px))}html.kb-open .pwa-install{display:none}}
