:root{--font-ui: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 14px;--radius-sm: 9px;--sidebar-w: 270px;--sat: env(safe-area-inset-top, 0px);color-scheme:dark}:root[data-mode=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100vh}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;transition:background .4s ease,color .4s ease;overflow:hidden;overscroll-behavior:none}html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-y:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden}.main{position:relative;overflow:hidden;height:100vh;display:flex;flex-direction:column}.page-enter{flex:1;min-height:0;display:flex;flex-direction:column;animation:page-rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes page-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.fade-in{animation:fade-in .4s cubic-bezier(.22,1,.36,1) both}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}:root{--float-bg: var(--surface);--float-shadow: 0 24px 60px -12px rgba(0, 0, 0, .6), 0 8px 20px -8px rgba(0, 0, 0, .35)}:root[data-mode=light]{--float-shadow: 0 24px 60px -12px rgba(20, 10, 40, .22), 0 6px 16px -6px rgba(20, 10, 40, .12)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .18s ease both}.modal{width:min(420px,94vw);background:var(--float-bg);border-radius:16px;padding:20px;box-shadow:var(--float-shadow)}.modal-title{font-size:16px;font-weight:600;margin-bottom:6px}.modal-msg{color:var(--text-dim);font-size:14px;line-height:1.5}.modal-label{display:block;font-size:12.5px;color:var(--text-faint);margin-bottom:6px}.ai-check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;color:var(--text-dim);cursor:pointer}.ai-check input{accent-color:var(--accent);width:16px;height:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-danger{color:#ff7a7a;background:color-mix(in srgb,#ef4444 24%,transparent)}.btn-danger:hover:not(:disabled){color:#fff;background:color-mix(in srgb,#ef4444 36%,transparent)}:root[data-mode=light] .btn-danger{color:#b91c1c;background:color-mix(in srgb,#ef4444 14%,transparent)}.toaster{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;z-index:1200;transform:translate(-50%);width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 8px 11px 14px;border-radius:12px;background:var(--float-bg);box-shadow:var(--float-shadow);font-size:14px;line-height:1.45;color:var(--text);pointer-events:auto;animation:toast-in .28s cubic-bezier(.22,1,.36,1) both}.toast.leaving{animation:toast-out .22s ease both}.toast-ico{flex:0 0 auto;margin-top:2px;color:var(--accent-strong)}.toast.error .toast-ico{color:#ff7a7a}.toast-msg{flex:1;min-width:0;overflow-wrap:anywhere}.toast-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:-1px;border-radius:6px;color:var(--text-faint);transition:color .15s,background .15s}.toast-close:hover{color:var(--text);background:var(--surface-hover)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fade-in .18s ease both}.cmdk{width:min(560px,92vw);background:var(--float-bg);border-radius:16px;box-shadow:var(--float-shadow);overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-faint)}.cmdk-input input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:16px}.cmdk-list{max-height:52vh;overflow-y:auto;padding:6px}.cmdk-empty{padding:22px;text-align:center;color:var(--text-faint);font-size:14px}.cmdk-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:9px;text-align:left;color:var(--text)}.cmdk-item.active{background:var(--accent-soft)}.cmdk-ico{width:22px;text-align:center;color:var(--accent);display:inline-flex;justify-content:center}.cmdk-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-tags{font-family:var(--font-mono);font-size:11px;color:var(--accent);opacity:.8}.ai-generating{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;background:var(--bg);padding:2px 8px 2px 0;border-radius:6px}.ai-listening{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid color-mix(in srgb,#ff4d5e 45%,transparent);padding:4px 11px;border-radius:999px;cursor:pointer;color:#ff6b78;font-size:13px;font-weight:600}.ai-listening-text{text-shadow:0 0 8px rgba(255,77,94,.5)}.ai-listening-dot{width:9px;height:9px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 8px #ff4d5ee6;animation:voice-pulse 1.1s ease-in-out infinite}:root[data-mode=light] .ai-listening-text{text-shadow:none}.ai-generating .ai-loader{width:18px;height:18px;margin-top:5px;flex-shrink:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,var(--accent) 92%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));animation:spin .95s linear infinite}:root[data-mode=dark] .ai-generating .ai-loader{filter:drop-shadow(0 0 5px var(--accent-glow))}.ai-generating-text{font-family:var(--font-ui);font-size:16.5px;line-height:1.7;font-weight:600;background:linear-gradient(100deg,var(--accent) 38%,color-mix(in srgb,var(--accent) 25%,#fff) 50%,var(--accent) 62%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ai-shine 2.2s linear infinite}:root[data-mode=dark] .ai-generating-text{text-shadow:0 0 8px var(--accent-glow)}@keyframes ai-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.generating .ProseMirror p.is-editor-empty:first-child:before{content:none}@keyframes loader-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.emoji-wrap{position:relative;display:inline-block}.emoji-input{cursor:pointer;border-radius:12px;transition:background .15s}.emoji-input:hover{background:var(--surface-hover)}.emoji-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.emoji-picker{position:absolute;top:100%;left:0;z-index:91;margin-top:4px;width:320px;max-height:320px;overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:12px;padding:10px;box-shadow:0 16px 50px #00000073}.emoji-group+.emoji-group{margin-top:8px}.emoji-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);padding:4px 4px 6px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-opt{font-size:20px;line-height:1;padding:6px;border-radius:8px;transition:background .1s}.emoji-opt:hover{background:var(--accent-soft)}.title-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.title-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.meta-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-faint);opacity:.8;transition:opacity .15s,background .15s,color .15s}.meta-btn:hover{opacity:1;background:var(--surface-hover)}.meta-btn.active{color:var(--accent);opacity:1}.tags-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px}.tag-chip{display:inline-flex;align-items:center;gap:3px;margin-right:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2px;line-height:1;color:var(--accent-strong)}.tag-chip .tag-text{line-height:1}.tag-chip button{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;color:var(--accent-strong);font-size:15px;line-height:1;padding:0;opacity:.7}.tag-chip button:hover{opacity:1}.tag-input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:90px;border-bottom:1px solid var(--border-strong);padding:2px 0}.auth{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,560px);gap:16px;padding:16px;background:var(--bg);overflow-y:auto}.auth-core{position:relative;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none}.auth-core canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.auth-side{display:flex;align-items:center;justify-content:center;padding:32px 40px}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}.auth-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.auth-logo{display:block;color:var(--accent);filter:drop-shadow(0 0 12px var(--accent-glow))}.auth-title{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:.5px}.auth-sub{font-size:15px;line-height:1.5;color:var(--text-dim)}.auth-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}.auth-field input{height:44px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 80%,transparent);color:var(--text);font-size:16px;outline:none;transition:border-color .15s}.auth-field input:hover{border-color:var(--border-strong)}.auth-field input:focus{border-color:var(--accent)}.auth-field small{font-size:13px;font-weight:400;color:var(--text-dim)}.auth-submit{height:44px;margin-top:8px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:15px;font-weight:600;transition:filter .15s,transform .1s}.auth-submit:hover{filter:brightness(1.08)}.auth-submit:active{transform:scale(.98)}.auth-submit:focus-visible,.auth-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-submit:disabled{opacity:.6;cursor:default}.auth-msg{font-size:13px;line-height:1.45;padding:9px 12px;border-radius:var(--radius-sm)}.auth-msg.err{background:color-mix(in srgb,#ef4444 18%,transparent);color:#fca5a5}:root[data-mode=light] .auth-msg.err{color:#b91c1c}.auth-msg.ok{background:var(--accent-soft);color:var(--accent-strong)}.auth-switch{font-size:14px;color:var(--text-dim)}.auth-toggle{padding:4px 2px;font-size:14px;font-weight:600;color:var(--accent);transition:filter .15s}.auth-toggle:hover{filter:brightness(1.15);text-decoration:underline;text-underline-offset:3px}@media (max-width: 900px){.auth{grid-template-columns:1fr;gap:0;padding:calc(env(safe-area-inset-top,0px) + 20px) 24px calc(env(safe-area-inset-bottom,0px) + 20px)}.auth-side{padding:0}.auth-head{margin-bottom:8px}.auth-title{font-size:28px}}.glitch{position:relative;text-shadow:0 0 24px color-mix(in srgb,var(--accent) 62%,transparent),0 0 5px color-mix(in srgb,var(--accent) 42%,transparent),0 2px 26px var(--bg)}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;pointer-events:none;opacity:0;mix-blend-mode:screen}.glitch:before{color:#22e3f7;animation:glitch-a 5.5s infinite}.glitch:after{color:#7b8cff;animation:glitch-b 5.5s infinite}@keyframes glitch-a{0%,7%,to{opacity:0;transform:translate(0)}7.5%{opacity:.9;transform:translate(-3px,-1px);clip-path:inset(12% 0 55% 0)}8.5%{opacity:.9;transform:translate(2px,1px);clip-path:inset(58% 0 12% 0)}9%{opacity:0;transform:translate(0)}46%{opacity:0}46.5%{opacity:.85;transform:translate(-2px,1px);clip-path:inset(35% 0 40% 0)}47.5%{opacity:0}80%{opacity:0}80.5%{opacity:.9;transform:translate(3px,-1px);clip-path:inset(20% 0 55% 0)}81.5%{opacity:.9;transform:translate(-2px);clip-path:inset(62% 0 10% 0)}82%{opacity:0}}@keyframes glitch-b{0%,7%,to{opacity:0;transform:translate(0)}7.5%{opacity:.85;transform:translate(3px,1px);clip-path:inset(50% 0 22% 0)}8.5%{opacity:.85;transform:translate(-2px,-1px);clip-path:inset(18% 0 52% 0)}9%{opacity:0}46%{opacity:0}46.5%{opacity:.8;transform:translate(2px,-1px);clip-path:inset(45% 0 30% 0)}47.5%{opacity:0}80%{opacity:0}80.5%{opacity:.85;transform:translate(-3px,1px);clip-path:inset(55% 0 20% 0)}81.5%{opacity:0}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg);animation:loader-fade .4s ease .55s forwards}@keyframes loader-fade{to{opacity:0;visibility:hidden}}.loader-core{position:relative;width:66px;height:66px;display:grid;place-items:center}.loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);animation:spin .85s linear infinite}.loader-logo{color:var(--accent);filter:drop-shadow(0 0 10px var(--accent-glow));animation:spin 3.4s linear infinite}.loader-text{font-family:var(--font-mono);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--text-faint)}.ring{display:block;width:44px;height:44px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);animation:spin .85s linear infinite}.ring.ring-sm{display:inline-block;width:18px;height:18px;box-shadow:0 0 8px var(--accent-glow)}.burger{display:none;position:fixed;top:calc(env(safe-area-inset-top,0px) + 6px);left:calc(env(safe-area-inset-left,0px) + 12px);z-index:150;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center;color:var(--accent);background:transparent}:root[data-mode=dark] .burger svg{filter:drop-shadow(0 0 2px var(--accent-glow))}.nav-backdrop{display:none}.sidebar{background-color:color-mix(in srgb,var(--accent) 5%,transparent);background-image:radial-gradient(color-mix(in srgb,var(--accent) 15%,transparent) .7px,transparent .9px);background-size:7px 7px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;gap:2px;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 16px}.logo{display:block;flex-shrink:0;color:var(--accent);filter:drop-shadow(0 0 3px var(--accent-glow))}.brand-name{font-weight:700;font-size:16px;letter-spacing:.2px}.sidebar-settings{margin-left:auto;color:var(--text-dim);text-decoration:none}.sidebar-settings:hover{text-decoration:none}.sidebar-settings.active{color:var(--accent-strong);background:var(--accent-soft)}.nav-section{font-size:12.5px;font-weight:500;color:var(--text-dim);padding:20px 11px 6px}.nav-section-row{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:2px;padding-right:4px}.nav-section-add{width:28px;height:28px;color:var(--text-dim)}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:9px;color:var(--text-dim);font-size:13.5px;font-weight:500;width:100%;text-align:left;text-decoration:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav-swipe{position:relative;border-radius:9px;flex-shrink:0}.nav-swipe.swiping{overflow:hidden}.nav-swipe .nav-item{position:relative;z-index:1;min-width:0}.nav-swipe .nav-item .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.nav-del{position:absolute;right:0;top:0;bottom:0;width:64px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:#ff6b78;background:color-mix(in srgb,#ff4d5e 20%,transparent);z-index:0}.nav-del:active{background:color-mix(in srgb,#ff4d5e 32%,transparent)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-item svg{opacity:.85}.nav-item .emoji{width:18px;text-align:center;font-size:14px}.nav-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:1px;margin-left:4px}.nav-add,.nav-caret{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;color:var(--text-faint);transition:color .15s ease,background .15s ease,transform .15s ease,opacity .18s ease}@media (hover: hover){.nav-add{opacity:0}.nav-item:hover .nav-add,.nav-item.active .nav-add{opacity:1}}.nav-add:hover,.nav-caret:hover{color:var(--accent);background:var(--surface-hover)}.nav-caret.open{transform:rotate(90deg)}.nav-item .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search{background:none;border:none;cursor:pointer;font:inherit;margin-bottom:2px}.nav-kbd{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--text-faint);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 6px;letter-spacing:.5px}.panel{padding:38px 46px;flex:1;min-height:0;overflow-y:auto}.panel-title{font-size:26px;font-weight:700;margin-bottom:4px}.panel-sub{color:var(--text-dim);font-size:14px;margin-bottom:26px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap;margin-bottom:26px}.page-head-text{flex:1 1 200px;min-width:0}.page-head .panel-sub{margin-bottom:0}.page-actions{display:flex;align-items:center;gap:12px}.card{background:color-mix(in srgb,var(--surface) 50%,transparent);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .2s,transform .2s}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;display:block}.card:hover{border-color:var(--border-strong)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);color:var(--text-dim);transition:background .15s,color .15s,transform .1s}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0}.empty-state p{font-size:15px;line-height:1.5;color:var(--text-dim)}.field{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;outline:none;transition:border-color .15s}.field:focus{border-color:var(--accent)}.btn-primary,.btn-ghost,.btn-danger,.btn-neon{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.btn-primary svg,.btn-ghost svg,.btn-danger svg,.btn-neon svg{flex:0 0 auto;width:14px;height:14px}.btn-primary{color:var(--accent-strong);background:var(--accent-soft)}.btn-primary:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 24%,transparent)}.btn-ghost{color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.btn-primary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-neon:active,.icon-btn:active,.chip:active:not(:disabled){transform:scale(.97)}.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible,.btn-neon:focus-visible,.icon-btn:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.chip:disabled{opacity:.5;cursor:not-allowed}.btn-neon{height:44px;padding:0 22px;border-radius:999px;font-size:14.5px}.btn-neon.outline{gap:12px;padding:0 6px 0 20px;color:var(--text);background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid var(--accent-dim);transition:border-color .2s,box-shadow .25s,transform .12s}.btn-neon.outline:hover{border-color:var(--accent);box-shadow:0 0 28px -6px var(--accent-glow)}.btn-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);transition:transform .25s}.btn-neon .btn-arrow svg{width:16px;height:16px}.btn-neon.outline:hover .btn-arrow{transform:translate(2px)}.btn-neon.clear{color:var(--text-dim)}.btn-neon.clear:hover{color:var(--text)}.banner{margin:0;padding:10px 16px;font-size:13px;background:var(--accent-soft);color:var(--accent-strong);border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center}.editor-page{flex:1;min-height:0;overflow-y:auto}.spin{animation:spin 1s linear infinite}.page-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.page-loader.inline{position:static;padding:72px 0}@keyframes spin{to{transform:rotate(360deg)}}.editor-head{display:flex;align-items:center;gap:8px;padding:14px 46px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 40%,transparent);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);z-index:2;border-bottom:1px solid var(--border)}.editor-head .spacer{flex:1}.editor-body{max-width:760px;margin:0 auto;padding:40px 24px 120px}.title-input{width:100%;background:transparent;border:none;outline:none;color:var(--text);font-size:calc(40px * var(--note-fs, 1));font-weight:700;line-height:1.15;margin-bottom:18px;white-space:pre-wrap;word-break:break-word}.title-input:empty:before{content:attr(data-placeholder);color:var(--text-faint);pointer-events:none}.emoji-input{font-size:38px;background:transparent;border:none;width:50px;height:50px;outline:none;display:flex;align-items:center;justify-content:center}.ProseMirror{outline:none;font-size:calc(16.5px * var(--note-fs, 1));line-height:1.7;color:var(--text);padding-left:28px;margin-left:-28px}.ProseMirror.refactor-in{animation:refactor-in .55s ease}@keyframes refactor-in{0%{opacity:.15;filter:blur(3px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}.ProseMirror>*+*{margin-top:.75em}.ProseMirror h1{font-size:1.82em;font-weight:700;margin-top:1em}.ProseMirror h2{font-size:1.45em;font-weight:700;margin-top:1em}.ProseMirror h3{font-size:1.15em;font-weight:600;margin-top:1em}.ProseMirror ul,.ProseMirror ol{padding-left:2em}.ProseMirror ul:not([data-type=taskList]),.ProseMirror ol{list-style:none}.ProseMirror ul:not([data-type=taskList])>li,.ProseMirror ol>li{position:relative}.ProseMirror ul:not([data-type=taskList])>li:before{content:"";position:absolute;left:-1.5em;top:.8em;transform:translateY(-50%);width:.55em;height:.55em;border-radius:50%;background:var(--accent)}.ProseMirror ol{counter-reset:ol-item}.ProseMirror ol>li{counter-increment:ol-item}.ProseMirror ol>li:before{content:counter(ol-item) ".";position:absolute;left:-1.7em;width:1.5em;text-align:right;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}:root[data-mode=dark] .ProseMirror ul:not([data-type=taskList])>li:before{box-shadow:0 0 7px var(--accent-glow)}:root[data-mode=dark] .ProseMirror ol>li:before{text-shadow:0 0 7px var(--accent-glow)}.ProseMirror code{background:var(--surface);padding:2px 6px;border-radius:6px;font-family:var(--font-mono);font-size:.88em}.codeblock{position:relative;margin:.6em 0}.ProseMirror pre{background:color-mix(in srgb,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px 16px 14px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:14px;overflow-x:auto;border:1px solid var(--border)}.ProseMirror pre code{background:none;padding:0}.code-copy{position:absolute;top:7px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--text-dim);background:color-mix(in srgb,var(--bg-elev) 80%,transparent);border:1px solid var(--border);opacity:0;transition:opacity .15s,color .15s,border-color .15s;cursor:pointer}.codeblock:hover .code-copy{opacity:1}@media (max-width: 760px){.code-copy{opacity:.7}}.code-copy:hover{color:var(--accent);border-color:var(--accent)}.ProseMirror blockquote{border-left:3px solid var(--accent);padding-left:14px;color:var(--text-dim)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-faint);float:left;height:0;pointer-events:none}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.ProseMirror ul[data-type=taskList] li{display:flex;gap:11px;align-items:flex-start;margin:.5em 0}.ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;display:inline-flex;align-items:center;height:1.7em;-webkit-user-select:none;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto;min-width:0}.ProseMirror ul[data-type=taskList] li input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.6px solid var(--accent);border-radius:5px;background:color-mix(in srgb,var(--accent) 8%,transparent);cursor:pointer;position:relative;transition:background .15s ease,box-shadow .15s ease}.ProseMirror ul[data-type=taskList] li input[type=checkbox]:hover{box-shadow:0 0 9px var(--accent-glow)}.ProseMirror ul[data-type=taskList] li input[type=checkbox]:checked{background:var(--accent);box-shadow:0 0 11px var(--accent-glow)}.ProseMirror ul[data-type=taskList] li input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1.5px;width:4.5px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.ProseMirror[contenteditable=false] ul[data-type=taskList] li>div{cursor:pointer}.ProseMirror ul[data-type=taskList] li[data-checked=true]>div{opacity:.55;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent)}.ProseMirror hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.ProseMirror .tableWrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.8em 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(to right,var(--bg-elev) 30%,transparent),linear-gradient(to left,var(--bg-elev) 30%,transparent) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.12),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.12),transparent) 100% 0;background-repeat:no-repeat;background-size:28px 100%,28px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.ProseMirror table{border-collapse:collapse;width:100%;margin:0;table-layout:fixed}.ProseMirror th,.ProseMirror td{border:1px solid var(--border);padding:9px 13px;vertical-align:top;position:relative;min-width:64px;line-height:1.5}.ProseMirror th{background:var(--accent-soft);font-weight:600;text-align:left;color:var(--text)}.ProseMirror tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface) 50%,transparent)}.ProseMirror .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--accent-soft)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--accent);cursor:col-resize}.ProseMirror table p{margin:0}.share-ac{position:relative}.share-ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--float-bg);border-radius:12px;padding:4px;box-shadow:var(--float-shadow);max-height:230px;overflow-y:auto}.share-ac-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 10px;border-radius:7px;text-align:left;cursor:pointer}.share-ac-item:hover{background:var(--surface-hover)}.share-ac-name{font-size:13.5px;color:var(--text)}.share-ac-email{font-size:11.5px;color:var(--text-faint)}.share-caption{margin-top:6px;font-size:11.5px;color:var(--accent)}.share-err{color:#ff8a95;font-size:12.5px;margin-top:6px}.share-row-icon{display:inline-flex;color:var(--accent)}.share-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.share-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;font-size:13px;background:var(--surface);border:1px solid var(--border)}.share-row button{flex:0 0 auto;color:var(--text-faint);padding:2px;border-radius:5px;cursor:pointer}.share-row button:hover{color:#ff6b78}.agent-pick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.agent-chip{display:inline-flex;align-items:center;gap:7px;min-width:130px;padding:7px 11px;border-radius:9px;font-size:13px;color:var(--text-dim);border:1px solid var(--border);cursor:pointer;transition:all .15s}.agent-chip:hover{color:var(--text);border-color:var(--border-strong)}.agent-chip.on{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.agent-chip-emoji{font-size:15px}.agent-instr{position:relative}.agent-instr textarea{padding-right:44px}.agent-mic{position:absolute;right:8px;bottom:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);cursor:pointer;transition:all .15s}.agent-mic:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.agent-mic.recording{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);animation:acc-pulse 1.1s ease-in-out infinite}@keyframes acc-pulse{0%,to{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 12px var(--accent-glow)}}.note-mic{position:fixed;z-index:300;width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 16px var(--accent-glow);cursor:grab;touch-action:none;transition:left .28s cubic-bezier(.22,1,.36,1),right .28s cubic-bezier(.22,1,.36,1),width .2s ease,opacity .2s ease,transform .12s ease}.note-mic.dragging{transition:transform .12s ease}.note-mic:active{cursor:grabbing;transform:scale(.94)}.note-mic.recording{border-color:var(--accent);animation:acc-pulse 1.1s ease-in-out infinite}.note-mic svg{filter:drop-shadow(0 0 5px var(--accent-glow))}.note-mic.dock-left{left:-18px;width:44px;height:44px;opacity:.78;justify-content:flex-end;padding-right:5px}.note-mic.dock-right{left:auto;right:-18px;width:44px;height:44px;opacity:.78;justify-content:flex-start;padding-left:5px}.note-mic.dock-left:hover,.note-mic.dock-right:hover,.note-mic.dock-left.recording,.note-mic.dock-right.recording{opacity:1}.agent-empty{color:var(--text-faint);font-size:14px;padding:20px 0}.agent-list{display:flex;flex-direction:column;gap:10px}.agent-list,.agent-empty{max-width:820px}.agent-card{border-radius:14px;padding:14px 18px 16px;background:color-mix(in srgb,var(--surface) 55%,transparent);transition:background .15s}.agent-card:focus-within{background:var(--surface)}.agent-card-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.agent-name{flex:1 1 auto;min-width:0;padding:4px 0;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-weight:600;font-size:15px}.agent-name::placeholder{color:var(--text-faint)}.agent-saved{display:inline-flex;align-items:center;gap:4px;margin-right:6px;font-size:12px;color:var(--accent-strong)}.agent-del{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--text-faint);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.agent-del:hover{color:var(--text);background:var(--surface-hover)}.agent-del:last-child:hover{color:#ff7a7a;background:color-mix(in srgb,#ef4444 16%,transparent)}.agent-del:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.agent-prompt{display:block;width:100%;min-height:calc(1.6em * 3);padding:0;border:none;outline:none;resize:none;field-sizing:content;background:transparent;color:var(--text-dim);font-family:inherit;font-size:14px;line-height:1.6}.agent-prompt:focus{color:var(--text)}.agent-prompt::placeholder{color:var(--text-faint)}.toggle{margin:.5em 0}.toggle-head{display:flex;align-items:center;gap:4px}.toggle-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-6px;flex:0 0 auto;color:var(--accent);background:none;border-radius:6px;cursor:pointer;transition:transform .22s ease}:root[data-mode=dark] .toggle-arrow{filter:drop-shadow(0 0 5px var(--accent-glow))}.toggle-arrow:hover,.toggle-arrow:active{background:none}.toggle.open .toggle-arrow{transform:rotate(90deg)}.ProseMirror[contenteditable=false] .toggle-head{cursor:pointer}.toggle-title{flex:1 1 auto;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-weight:600;font-size:inherit;padding:2px 0}.toggle.lv1 .toggle-title{font-size:calc(16.5px * var(--note-fs, 1) * 1.6);font-weight:700}.toggle.lv2 .toggle-title{font-size:calc(16.5px * var(--note-fs, 1) * 1.35);font-weight:700}.toggle.lv3 .toggle-title{font-size:calc(16.5px * var(--note-fs, 1) * 1.15);font-weight:600}.toggle-level{flex:0 0 auto;min-width:26px;height:24px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;color:var(--text-faint);border:1px solid var(--border);opacity:.7;cursor:pointer;transition:opacity .15s,color .15s,border-color .15s}.toggle-level:hover{opacity:1;color:var(--accent);border-color:var(--accent)}.toggle-title::placeholder{color:var(--text-faint)}.toggle-body-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease;margin-left:12px;padding-left:12px}.toggle.open .toggle-body-wrap{grid-template-rows:1fr}.toggle-body{overflow:hidden;min-height:0}.toggle.open .toggle-body{padding:2px 0}.toggle-body .is-empty:before{content:attr(data-placeholder);color:var(--text-faint);float:left;height:0;pointer-events:none}.note-img{margin:12px 0;line-height:0;text-align:center}.note-img-box{position:relative;display:inline-block;max-width:100%;vertical-align:top}.note-img img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--border);display:block}.note-img.selected img{outline:2px solid var(--accent);outline-offset:1px}.img-resize{position:absolute;right:-5px;bottom:-5px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev);box-shadow:0 0 8px var(--accent-glow);cursor:nwse-resize;opacity:0;transition:opacity .15s ease;touch-action:none}.note-img-box:hover .img-resize,.note-img.selected .img-resize{opacity:1}.editor-body ::selection,.editor-body::selection,.title-input::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}.ProseMirror .block-selected{background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:6px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.ProseMirror .block-selected ::selection,.ProseMirror .block-selected::selection{background:transparent}.bubble-bar{position:fixed;z-index:400;transform:translate(-50%,calc(-100% - 8px));display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:var(--float-bg);box-shadow:var(--float-shadow)}.bubble-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border-radius:7px;color:var(--text-dim);cursor:pointer}.bubble-btn:hover{background:var(--surface-hover);color:var(--text)}.bubble-btn.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.bubble-link{width:230px;max-width:60vw;padding:6px 9px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13.5px;outline:none}.bubble-link:focus{border-color:var(--accent)}.note-img-ph{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:90px;padding:16px 20px;border:1px dashed var(--border);border-radius:12px;color:var(--text-faint);font-size:13px;line-height:1.4}.drag-handle{position:fixed;width:22px;height:26px;z-index:60;cursor:grab;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%238a93a6'%3E%3Ccircle cx='5' cy='4' r='1.5'/%3E%3Ccircle cx='11' cy='4' r='1.5'/%3E%3Ccircle cx='5' cy='8' r='1.5'/%3E%3Ccircle cx='11' cy='8' r='1.5'/%3E%3Ccircle cx='5' cy='12' r='1.5'/%3E%3Ccircle cx='11' cy='12' r='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:13px;opacity:.45;transition:opacity .15s ease}.drag-handle:hover{opacity:.9}.drag-handle:active{cursor:grabbing}.drag-handle.hide{display:none}.ProseMirror.dragging .ProseMirror-selectednode{outline:none}.nova-dropcursor{border-radius:3px;opacity:.5}@media (max-width: 760px),(hover: none){.drag-handle{display:none!important}}.block-menu{min-width:174px}.block-menu-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);padding:7px 11px 4px}.block-menu-sep{height:1px;background:var(--border);margin:5px 6px}.reminder{display:flex;align-items:flex-start;gap:11px;margin:.5em 0}.reminder-check{flex:0 0 auto;display:inline-flex;align-items:center;height:1.7em}.reminder-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:5px;border:2px solid color-mix(in srgb,var(--accent) 70%,transparent);background:transparent;cursor:pointer;position:relative;transition:box-shadow .15s ease,background .15s ease}.reminder-check input[type=checkbox]:hover{box-shadow:0 0 9px var(--accent-glow)}.reminder-check input[type=checkbox]:checked{background:var(--accent);box-shadow:0 0 11px var(--accent-glow)}.reminder-check input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.reminder-text{flex:1 1 auto;min-width:0}.reminder.done .reminder-text{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--text-faint)}.reminder-bell{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:1.7em;padding:0 8px;border-radius:7px;color:var(--accent);font-size:11.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease}.reminder-bell:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.reminder-bell svg{filter:drop-shadow(0 0 5px var(--accent-glow))}:root[data-mode=light] .reminder-bell svg{filter:none}.reminder-sum{opacity:.85;font-family:var(--font-mono);letter-spacing:.2px}.rem-tabs{display:flex;gap:6px;margin:4px 0 14px}.rem-tab{flex:1;padding:8px 6px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.rem-tab:hover{color:var(--text)}.rem-tab.on{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.rem-field{display:flex;flex-direction:column;gap:7px;min-width:0}.rem-field>span{font-size:12.5px;color:var(--text-dim)}.rem-field .field{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.rem-field input[type=datetime-local],.rem-field input[type=time],.rem-field input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tracker{border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;margin:.7em 0;background:var(--surface)}.tracker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.tracker-label{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-weight:600;font-size:14px}.tracker-count{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.tracker-grid{display:flex;flex-wrap:wrap;gap:6px}.tracker-cell{width:30px;height:30px;border-radius:7px;font-size:11px;border:1px solid var(--border);color:var(--text-faint);background:var(--bg);transition:background .12s,color .12s,border-color .12s}.tracker-cell:hover{border-color:var(--accent);color:var(--text)}.tracker-cell.on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.goal-card{display:flex;flex-direction:column;gap:12px}.goal-card.clickable{cursor:pointer}.goal-card.clickable:hover{border-color:var(--accent);transform:translateY(-2px)}.goal-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.goal-title{font-weight:600;font-size:16px;display:flex;gap:8px;align-items:center}.goal-actions{position:relative;display:flex;gap:2px}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.card-menu{position:absolute;top:38px;right:0;z-index:41;min-width:190px;background:var(--float-bg);border-radius:12px;padding:6px;box-shadow:var(--float-shadow);display:flex;flex-direction:column}.card-menu button{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;font-size:13.5px;text-align:left;color:var(--text)}.card-menu button:hover{background:var(--surface-hover)}.card-menu button.danger{color:#f87171}.menu-fontsize{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;font-size:13.5px;color:var(--text)}.menu-fontsize>span{color:var(--text-faint)}.fs-options{display:flex;align-items:center;gap:4px}.fs-options button{width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);color:var(--text);line-height:1}.fs-options button:hover{background:var(--surface-hover)}.fs-options button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.head-progress{display:flex;align-items:center;gap:10px;margin-left:14px;min-width:180px}.head-progress .range{width:130px}.head-progress-val{font-size:13px;color:var(--text-dim);font-family:var(--font-mono)}.goal-meta{font-size:12px;color:var(--text-faint)}.progress{height:8px;background:var(--surface-hover);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);transition:width .4s ease}.range{width:100%;accent-color:var(--accent)}.matrix-rain{position:absolute;width:168px;height:320px;pointer-events:none;z-index:-1;overflow:hidden;opacity:.45;animation:matrix-fade-in 1.2s ease both;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%)}@keyframes matrix-fade-in{0%{opacity:0}to{opacity:.45}}.matrix-rain.tl{top:0;left:0}.matrix-rain.tr{top:0;right:0}.matrix-rain.bl{bottom:0;left:0}.matrix-rain.br{bottom:0;right:0}.matrix-rain.bl,.matrix-rain.br{transform:scaleY(-1)}.mr-col{position:absolute;top:0;width:14px}.mr-stream{display:flex;flex-direction:column;align-items:center;font-family:var(--font-mono);font-size:13px;line-height:1.15;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 25%,transparent),var(--accent) 78%,color-mix(in srgb,var(--accent) 55%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent;animation-name:mr-fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}@keyframes mr-fall{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.month-nav{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px}.month-nav span{min-width:130px;text-align:center}.habit-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.habit-table{border-collapse:collapse;width:100%;font-size:13px}.habit-table th,.habit-table td{border-bottom:1px solid var(--border);padding:0}.habit-table thead th{position:sticky;top:0;background:color-mix(in srgb,var(--bg-elev) 50%,transparent);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);padding:6px 0}.habit-name-col{text-align:left;min-width:180px;max-width:220px;padding:0 12px!important;position:sticky;left:0;background:var(--bg-elev);z-index:2}tbody .habit-name-col{background:color-mix(in srgb,var(--surface) 50%,var(--bg-elev))}.day-col{width:30px;min-width:30px;text-align:center;color:var(--text-faint)}.day-col .wd{display:block;font-size:9px;text-transform:uppercase}.day-col .dn{display:block;font-size:11px}.day-col.today{color:var(--accent);font-weight:700}.pct-col{width:56px;text-align:center}.act-col{width:40px}.habit-name-wrap{display:flex;align-items:center;gap:4px}.habit-name-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px;margin-left:4px}.hn-bell{color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow))}:root[data-mode=light] .hn-bell{filter:none}.row-dragging{background:var(--surface-hover);box-shadow:0 8px 24px #00000059}.habit-name{display:flex;align-items:center;gap:8px;padding:10px 0;flex:1;min-width:0;text-align:left;color:var(--text)}.habit-name:hover .hn-text{color:var(--accent)}.hn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hn-link{color:var(--text-faint);flex-shrink:0}.day-cell{text-align:center}.hcell{width:20px;height:20px;border-radius:5px;border:1px solid var(--border);background:var(--bg);transition:background .12s,border-color .12s;display:inline-block}.hcell:hover{border-color:var(--accent)}.hcell.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.pct-pill{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.habit-actions{position:relative;display:flex;justify-content:center}.habit-actions .card-menu{top:30px;right:6px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg-btn{padding:6px 12px;border-radius:99px;font-size:12.5px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim)}.seg-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.habit-notify{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.hn-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);cursor:pointer}.hn-toggle input{width:16px;height:16px;accent-color:var(--accent)}.hn-time{width:120px}.hn-hint{margin-top:8px;font-size:11.5px;color:var(--accent);opacity:.85}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.metric-title{font-weight:600;font-size:14px;margin-bottom:14px}.metric-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.metric-name{width:130px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-track{flex:1;height:8px;background:var(--surface-hover);border-radius:99px;overflow:hidden}.metric-track>span{display:block;height:100%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.metric-val{width:40px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.day-bars{display:flex;align-items:flex-end;gap:3px;height:120px}.day-bar-wrap{flex:1;height:100%;display:flex;align-items:flex-end}.day-bar{width:100%;background:var(--accent);border-radius:3px 3px 0 0;opacity:.85;min-height:4px}.day-bars-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--text-faint);margin-top:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-wd{text-align:center;font-size:10px;color:var(--text-faint)}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;border:1px solid var(--border);background:var(--bg);color:var(--text-faint)}.cal-cell.on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.stat-card .stat{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.stat-num{font-size:26px;font-weight:700;color:var(--accent);font-family:var(--font-mono)}.stat-lbl{font-size:13px;color:var(--text-dim)}@media (max-width: 720px){.metrics{grid-template-columns:1fr}}.settings>*{max-width:1040px}.settings .panel-sub{margin-bottom:8px}.settings-section{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:28px 0;border-top:1px solid var(--border)}.settings>.panel-title+.settings-section{margin-top:18px}.settings-label h2{font-size:16px;font-weight:600}.settings-label p{margin-top:6px;font-size:14px;line-height:1.45;color:var(--text-dim)}.settings-controls{display:flex;flex-direction:column;gap:22px;min-width:0}.settings-row{display:flex;flex-direction:column;gap:10px}.settings-inline{display:flex;gap:8px;align-items:center;max-width:460px}.settings-select{max-width:460px;font-family:inherit;cursor:pointer}.settings-note{font-size:14px;color:var(--text-dim)}.ai-keys-toggle{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:none;border:none;padding:0;cursor:pointer;font-weight:600;font-size:14px;color:var(--text)}.ai-keys-toggle:hover{color:var(--accent)}.ai-keys-count{font-weight:400;color:var(--text-dim)}.ai-keys-arrow{transition:transform .35s ease}.ai-keys-arrow.open{transform:rotate(-180deg)}.ai-keys-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s ease,opacity .3s ease;opacity:0}.ai-keys-content.open{grid-template-rows:1fr;opacity:1}.ai-keys-inner{overflow:hidden;min-height:0}.ai-keys-content.open .ai-keys-inner{padding-top:22px}.ai-keys-inner .settings-row+.settings-row{margin-top:22px}.settings-row>label{font-weight:600;font-size:14px}.settings-row .hint{font-size:13px;color:var(--text-dim)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:40px;height:40px;border-radius:10px;border:2px solid transparent;transition:transform .12s,border-color .12s}.swatch:hover{transform:scale(1.08)}.swatch.active{border-color:var(--text)}.swatch-custom{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--surface);border-color:var(--border);color:var(--text-dim)}.swatch-custom.active{border-color:var(--text)}.swatch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.chip-row{display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);border:none;background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--text-dim);font-size:13.5px;transition:background .15s,border-color .15s,color .15s}.chip:hover:not(.active):not(:disabled){color:var(--text);background:var(--surface-hover)}.chip.active{color:var(--accent-strong);background:var(--accent-soft)}.push-warn{font-size:12.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:9px;padding:8px 11px;max-width:460px}.push-ok{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--accent);font-weight:600}@media (max-width: 760px){.settings-section{grid-template-columns:1fr;gap:16px;padding:22px 0}}.home{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.orbit-habits{touch-action:pan-y}.home canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.home-loading canvas{transform:scale(.72);transition:transform .5s ease}.home-implode canvas{transform:scale(.72)}.home-loading .home-overlay,.home-loading .home-clock,.home-implode .home-overlay,.home-implode .home-clock{opacity:0!important;transition:opacity .4s ease}.note-body{animation:note-fade .6s ease both}.editor-pad{min-height:42vh;cursor:text}@keyframes note-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.home-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.home-hello{font-size:13px;letter-spacing:6px;text-transform:uppercase;color:var(--text-dim);opacity:0}.home-title{font-size:clamp(40px,7vw,86px);font-weight:700;letter-spacing:3px;opacity:0}.home-sub{margin-top:12px;color:var(--text-dim);font-size:15px;opacity:0;max-width:420px}.home-actions{position:absolute;bottom:5vh;left:0;right:0;display:flex;gap:16px;justify-content:center;pointer-events:auto;opacity:0}.home-clock{position:absolute;top:26px;right:34px;font-family:var(--font-mono);color:var(--text-dim);font-size:14px;letter-spacing:1px;opacity:0}.orbit-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60}.habit-orbit{position:absolute;top:0;left:0;z-index:5;transform-origin:top left}.habit-orbit.open{z-index:70}.orbit-icon{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%);box-shadow:0 0 18px var(--accent-glow),inset 0 0 12px color-mix(in srgb,var(--accent) 18%,transparent);text-shadow:0 0 8px var(--accent-glow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:orbit-pulse 3s ease-in-out infinite;transition:box-shadow .2s,transform .2s}.orbit-icon:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);pointer-events:none}.orbit-icon:hover{box-shadow:0 0 34px var(--accent-glow),inset 0 0 20px color-mix(in srgb,var(--accent) 30%,transparent)}.orbit-icon svg{filter:drop-shadow(0 0 6px var(--accent-glow))}@keyframes orbit-pulse{0%,to{box-shadow:0 0 16px var(--accent-glow),inset 0 0 12px color-mix(in srgb,var(--accent) 16%,transparent)}50%{box-shadow:0 0 28px var(--accent-glow),inset 0 0 18px color-mix(in srgb,var(--accent) 26%,transparent)}}.voice-orbit{position:absolute;top:0;left:0;z-index:6;transform-origin:top left;display:flex;align-items:center;gap:10px}.voice-btn{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%);box-shadow:0 0 18px var(--accent-glow),inset 0 0 12px color-mix(in srgb,var(--accent) 18%,transparent);cursor:pointer;transition:box-shadow .25s ease,transform .15s ease}.voice-btn svg{filter:drop-shadow(0 0 6px var(--accent-glow))}.voice-btn:hover{box-shadow:0 0 34px var(--accent-glow),inset 0 0 20px color-mix(in srgb,var(--accent) 30%,transparent)}.voice-btn:active{transform:scale(.94)}.voice-btn.recording{border-color:transparent;background:none;box-shadow:none}.voice-btn.recording:hover{box-shadow:none}.voice-core{--cs: 88px;width:var(--cs);height:var(--cs);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;perspective:calc(var(--cs) * 6.5);overflow:visible}@media (max-width: 760px){.voice-core{--cs: 44px}}.vc3-scene{position:relative;width:var(--cs);height:var(--cs);flex:0 0 auto;transform-style:preserve-3d}.vc3{position:absolute;transform-style:preserve-3d}.vc3-a{top:0;right:0;bottom:0;left:0;--h: calc(var(--cs) * .5);animation:vc3-spin-a 7s linear infinite}.vc3-b{width:calc(var(--cs) * .55);height:calc(var(--cs) * .55);top:calc(var(--cs) * .225);left:calc(var(--cs) * .225);--h: calc(var(--cs) * .275);animation:vc3-spin-b 5s linear infinite}.vf{position:absolute;top:0;right:0;bottom:0;left:0;border:1.4px solid var(--accent);box-shadow:0 0 8px var(--accent-glow);background:color-mix(in srgb,var(--accent) 4%,transparent)}.vf-fr{transform:translateZ(var(--h))}.vf-bk{transform:rotateY(180deg) translateZ(var(--h))}.vf-rt{transform:rotateY(90deg) translateZ(var(--h))}.vf-lf{transform:rotateY(-90deg) translateZ(var(--h))}.vf-tp{transform:rotateX(90deg) translateZ(var(--h))}.vf-bt{transform:rotateX(-90deg) translateZ(var(--h))}@keyframes vc3-spin-a{0%{transform:rotateX(-18deg) rotateY(0)}to{transform:rotateX(-18deg) rotateY(360deg)}}@keyframes vc3-spin-b{0%{transform:rotateX(0) rotateY(0) rotate(0)}to{transform:rotateX(360deg) rotateY(-360deg) rotate(0)}}.vc-spike{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:var(--accent);stroke-width:1.1;stroke-linejoin:round}.vc-spike-in{fill:color-mix(in srgb,var(--accent) 26%,transparent)}.vc-star{fill:none;stroke:var(--accent);stroke-width:1.1;stroke-linejoin:round;opacity:.85}.vc-core-dot{fill:var(--accent)}.vc-ring{fill:none;stroke:var(--accent);stroke-width:1;opacity:.45}.vc-ring-in{opacity:.3}.vc-hex{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke:var(--accent);stroke-width:1.4;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:vc-hexspin 2.4s ease-in-out infinite}.vc-hex2{animation-delay:-1.2s;opacity:.6}@keyframes vc-hexspin{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}.vc-spin-a{animation:vc-rot 9s linear infinite}.vc-spin-b{animation:vc-rot 6.5s linear infinite reverse}.vc-spin-c{animation:vc-rot 12s linear infinite}.vc-spin-a,.vc-spin-b,.vc-spin-c,.vc-scale{transform-box:fill-box;transform-origin:center}@keyframes vc-rot{to{transform:rotate(360deg)}}.voice-btn.processing,.voice-btn.connecting{cursor:default}.voice-spin{animation:voice-rot .9s linear infinite}.voice-label{font-size:13px;color:var(--accent);text-shadow:0 0 6px var(--accent-glow);white-space:nowrap}@keyframes voice-pulse{0%,to{box-shadow:0 0 18px #ff4d5e80,inset 0 0 12px #ff4d5e47}50%{box-shadow:0 0 32px #ff4d5ed9,inset 0 0 18px #ff4d5e73}}@keyframes voice-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.9);opacity:0}}@keyframes voice-rot{to{transform:rotate(360deg)}}.orbit-menu{width:196px;border:1px solid var(--accent);border-radius:12px;padding:10px 12px;background:transparent;box-shadow:0 0 18px var(--accent-glow),inset 0 0 14px color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);text-shadow:0 0 6px var(--accent-glow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .35s ease both}.orbit-menu-head{display:flex;align-items:center;gap:8px;width:100%;font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.orbit-habits{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.orbit-habit{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:13.5px;cursor:pointer;color:var(--accent)}.orbit-habit input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.orbit-empty{font-size:13px;color:color-mix(in srgb,var(--accent) 70%,transparent)}.home-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--bg) 72%,transparent),transparent 70%)}.home-hello,.home-title,.home-sub{position:relative;text-shadow:0 2px 26px var(--bg)}.home-title{text-shadow:0 0 32px color-mix(in srgb,var(--accent) 38%,transparent),0 0 10px color-mix(in srgb,var(--accent) 22%,transparent),0 2px 26px var(--bg)}.home-sub{z-index:1}.home-hello{z-index:12}.home-title{color:var(--text);z-index:10}.ai-orbit{position:absolute;top:0;left:0;z-index:6;transform-origin:top left}.home-clock,.home-overlay,.habit-orbit,.voice-orbit{transition:opacity .4s ease}.home>canvas{transition:opacity .6s ease,transform .6s ease}.home-chat .home-clock,.home-chat .home-overlay,.home-chat .habit-orbit,.home-chat .voice-orbit{opacity:0!important;pointer-events:none}.home-chat .home-overlay{transition-delay:.06s}.home-chat .habit-orbit,.home-chat .voice-orbit{transition-delay:.12s}.home-chat>canvas{opacity:.28;transform:scale(.86)}.ai-chat{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;touch-action:auto;-webkit-user-select:text;user-select:text}.ai-chat-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:18px;z-index:2;display:flex;gap:4px;animation:chat-fade .35s .15s ease both}.ai-chat-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:72px 20px 20px;animation:chat-fade .45s .2s ease both}.ai-chat-col{max-width:720px;min-height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;gap:18px}.ai-chat-intro{margin:auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.ai-chat-intro-ico{color:var(--accent);margin-bottom:4px}.ai-chat-intro-title{font-size:22px;font-weight:600}.ai-chat-intro-sub{max-width:440px;font-size:15px;line-height:1.5;color:var(--text-dim)}.ai-chat-suggest{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.ai-msg{font-size:15px;line-height:1.6;animation:chat-rise .3s ease both}.ai-msg.user{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:18px 18px 6px;background:var(--accent-soft);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.ai-msg.bot{color:var(--text)}.ai-tools{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ai-tool{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-dim)}.ai-tool svg{flex:0 0 auto}.ai-tool.ok svg{color:var(--accent-strong)}.ai-tool.err svg{color:#ff7a7a}.ai-tool a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.ai-md>*+*{margin-top:10px}.ai-md h1,.ai-md h2,.ai-md h3{font-size:16px;font-weight:600}.ai-md ul,.ai-md ol{padding-left:22px}.ai-md li+li{margin-top:4px}.ai-md a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.ai-md code{font-family:var(--font-mono);font-size:13px;padding:1px 5px;border-radius:5px;background:var(--surface)}.ai-md pre{padding:12px 14px;border-radius:10px;background:var(--surface);overflow-x:auto}.ai-md pre code{padding:0;background:none}.ai-md blockquote{padding-left:12px;border-left:2px solid var(--accent-dim);color:var(--text-dim)}.ai-md table{border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}.ai-md th,.ai-md td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left}.ai-md th{font-weight:600;color:var(--text-dim)}.ai-thinking{display:flex;padding:4px 0}.ai-input{position:relative;z-index:3;flex:0 0 auto;align-self:center;margin-bottom:28px;width:min(720px,calc(100% - 40px));height:54px;display:flex;align-items:center;gap:10px;padding:0 6px 0 18px;border-radius:999px;border:1px solid var(--accent-dim);background:color-mix(in srgb,var(--bg) 78%,transparent);box-shadow:0 0 28px -8px var(--accent-glow);overflow:hidden;animation:chat-input-in .55s cubic-bezier(.22,1,.36,1) backwards;transition:border-color .2s,box-shadow .2s}.ai-input:focus-within{border-color:var(--accent);box-shadow:0 0 34px -6px var(--accent-glow)}.ai-input>*{animation:chat-fade .3s .28s ease both}.ai-input-ico{flex:0 0 auto;color:var(--accent)}.ai-input input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:16px}.ai-input input::placeholder{color:var(--text-faint)}.ai-wave{flex:1;min-width:0}.ai-mic{flex:0 0 auto;width:38px;height:38px;border-radius:50%;color:var(--text-dim)}.ai-mic.on{color:var(--accent-strong);background:var(--accent-soft)}.ai-send{flex:0 0 auto;width:40px;height:40px;border:none;cursor:pointer;transition:transform .2s,opacity .2s}.ai-send:hover:not(:disabled){transform:translateY(-1px)}.ai-send:disabled{opacity:.45;cursor:default}.ai-chat.leaving .ai-chat-list,.ai-chat.leaving .ai-chat-top{animation:chat-fade-out .25s ease both}.ai-chat.leaving .ai-input{animation:chat-input-out .32s cubic-bezier(.5,0,.75,0) forwards}.ai-chat.leaving .ai-input>*{animation:chat-fade-out .12s ease both}@keyframes chat-input-in{0%{clip-path:inset(2px calc(50% - 25px) round 999px)}to{clip-path:inset(-40px -40px round 999px)}}@keyframes chat-input-out{0%{clip-path:inset(-40px -40px round 999px)}to{clip-path:inset(2px calc(50% - 25px) round 999px)}}@keyframes chat-fade{0%{opacity:0}}@keyframes chat-fade-out{to{opacity:0}}@keyframes chat-rise{0%{opacity:0;transform:translateY(8px)}}@media (max-width: 760px){.ai-chat-list{padding:calc(env(safe-area-inset-top,0px) + 64px) 16px 16px}.ai-input{margin-bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:calc(100% - 32px)}.ai-msg.user{max-width:88%}}@media (prefers-reduced-motion: reduce){.ai-chat *,.ai-chat,.home-chat>canvas{animation-duration:.01ms!important;transition-duration:.01ms!important}}.slash-popup{position:fixed;z-index:1000}.slash-menu{width:270px;max-height:320px;overflow-y:auto;background:var(--float-bg);border-radius:12px;padding:6px;box-shadow:var(--float-shadow)}.slash-item{display:flex;align-items:center;gap:11px;width:100%;padding:8px 9px;border-radius:8px;text-align:left;color:var(--text)}.slash-item.active{background:var(--accent-soft)}.slash-ico{width:30px;height:30px;flex-shrink:0;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);font-size:13px;font-weight:600;font-family:var(--font-mono)}.slash-text{display:flex;flex-direction:column;line-height:1.25}.slash-t{font-size:14px}.slash-s{font-size:11.5px;color:var(--text-faint)}.slash-empty{padding:10px;color:var(--text-faint);font-size:13px}.goal-toggle{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:99px;font-size:13px;border:1px solid var(--border);color:var(--text-dim);background:var(--surface);transition:all .15s}.goal-toggle:hover{color:var(--text)}.goal-toggle.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.save-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-faint);margin-left:12px}.head-actions{position:relative;display:flex;gap:2px}.head-more{display:none}.icon-btn.sm{width:26px;height:26px}.goal-desc-head{display:flex;align-items:center;justify-content:space-between}.goal-desc{font-size:13.5px;line-height:1.55;color:var(--text-dim);max-height:7.75em;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%)}.goal-desc>*+*{margin-top:.5em}.goal-desc h1,.goal-desc h2,.goal-desc h3{font-size:15px;color:var(--text);margin-top:.6em}.goal-desc ul,.goal-desc ol{padding-left:1.2em}.goal-desc code{font-family:var(--font-mono);background:var(--surface);padding:1px 5px;border-radius:5px;font-size:.85em}.goal-desc a{color:var(--accent)}.goal-desc.empty{font-style:italic;color:var(--text-faint);cursor:text}.goal-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:4px}.goal-desc ul:has(input[type=checkbox]){padding-left:0;list-style:none}.goal-desc li.task-list-item,.goal-desc li:has(>input[type=checkbox]){list-style:none;margin-left:0}.goal-desc input[type=checkbox]{margin-right:6px;vertical-align:middle;accent-color:var(--accent)}.reorder-handle{display:inline-flex;align-items:center;color:var(--text-faint);cursor:grab;padding:2px;border-radius:5px;touch-action:none}.reorder-handle:hover{color:var(--text);background:var(--surface-hover)}.reorder-handle:active{cursor:grabbing}.goal-slider-row{display:flex;align-items:center;gap:10px}.goal-slider-row .range{flex:1}.btn-text{align-self:flex-start;font-size:12.5px;color:var(--accent);padding:4px 0;font-weight:500}.btn-text:hover{text-decoration:underline}.ProseMirror a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}@media (max-width: 760px){.app{grid-template-columns:1fr}.burger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:270px;transform:translate(-100%);transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:210;padding-top:calc(env(safe-area-inset-top,0px) + 16px);padding-left:calc(env(safe-area-inset-left,0px) + 12px);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}:root[data-mode=light] .sidebar{background-color:color-mix(in srgb,var(--bg-elev) 78%,transparent);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.sidebar.open{transform:translate(0);box-shadow:0 0 50px #0009}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .2s ease both}.panel{padding:calc(env(safe-area-inset-top,0px) + 64px) 20px calc(env(safe-area-inset-bottom,0px) + 100px);overflow-x:hidden}.ProseMirror table{table-layout:auto;width:max-content;min-width:100%}.ProseMirror th,.ProseMirror td{min-width:124px;white-space:normal}.home-overlay{padding-bottom:12vh}.page-actions:has(.month-nav){width:100%;justify-content:space-between}.page-actions .btn-primary{white-space:nowrap}.month-nav span{min-width:0}.editor-page{overflow-x:hidden}.editor-head{flex-wrap:wrap;gap:6px;padding:calc(env(safe-area-inset-top,0px) + 12px) 6px 12px 66px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-head .spacer{display:block;flex:1}.editor-head .goal-toggle{font-size:12px;padding:6px 10px}.head-progress{min-width:0;margin-left:0}.head-progress .range{width:90px}.save-tag{margin-left:4px;font-size:0;gap:0}.editor-head .goal-toggle,.head-full{display:none}.head-more{display:inline-flex}.editor-body{padding:24px 18px 120px}.editor-body .title-input{font-size:30px}.emoji-wrap{display:block}.emoji-input{width:52px;height:52px;font-size:38px;padding:0;display:flex;align-items:center;justify-content:center}.home-clock{top:calc(env(safe-area-inset-top,0px) + 16px);right:18px}.home-sub{padding-left:26px;padding-right:26px;text-shadow:1px 1px 2px rgb(0,0,0)}.home-actions{bottom:17vh;flex-direction:column-reverse;align-items:center;gap:12px}.home-actions .btn-neon{width:85vw;height:44px;justify-content:center}.home-actions .btn-neon.outline{position:relative;width:min(85vw,240px);padding:0 48px}.home-actions .btn-arrow{position:absolute;right:5px;top:50%;transform:translateY(-50%)}.home-actions .btn-neon.outline:hover .btn-arrow{transform:translate(2px,-50%)}.btn-primary,.btn-ghost,.btn-danger,.chip{height:38px}.home-title{font-size:clamp(54px,16vw,84px)}.metrics{grid-template-columns:1fr}.field,.tag-input,.cmdk-input input,input,textarea,select{font-size:16px}}
