:root{--bg:#fff;--bg-sunken:#f7f7f5;--surface:#fff;--surface-2:#f7f7f5;--surface-hover:#f0f0ed;--overlay:#14141652;--border:#e8e8e4;--border-strong:#d7d7d1;--text:#32302c;--text-muted:#6f6b64;--text-faint:#76726a;--text-on-accent:#fff;--accent:#5b57e8;--accent-hover:#4a46d6;--accent-soft:#ecebfd;--danger:#c0392b;--danger-soft:#fdecea;--warn:#8a5a00;--success:#2a7d3d;--now:#d23840;--c-violet:#6a5cf0;--c-violet-soft:#eeecfe;--c-blue:#2f80d8;--c-blue-soft:#e6f0fc;--c-teal:#17968c;--c-teal-soft:#dff4f1;--c-green:#40914a;--c-green-soft:#e4f2e4;--c-amber:#b5790c;--c-amber-soft:#fbf0d9;--c-rose:#cf4372;--c-rose-soft:#fceaf0;--c-slate:#6b7280;--c-slate-soft:#eef0f2;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.9375rem;--fs-lg:1.0625rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--shadow-sm:0 1px 2px #0f0f140f;--shadow-md:0 4px 16px #0f0f141a;--shadow-lg:0 12px 40px #0f0f142e;--nav-h:56px;--max-w:720px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=claro]){--bg:#17171a;--bg-sunken:#121215;--surface:#1e1e22;--surface-2:#26262b;--surface-hover:#2e2e34;--overlay:#0000008f;--border:#2c2c33;--border-strong:#3d3d45;--text:#e6e6e9;--text-muted:#9b9ba4;--text-faint:#8a8a95;--text-on-accent:#17171a;--accent:#8b87ff;--accent-hover:#a09cff;--accent-soft:#262348;--danger:#f2705c;--danger-soft:#3a211d;--warn:#dda32a;--success:#5cba6a;--now:#ff6369;--c-violet:#9a90ff;--c-violet-soft:#2a2748;--c-blue:#5aa9f0;--c-blue-soft:#1b2b3d;--c-teal:#45c2b4;--c-teal-soft:#14302e;--c-green:#6cc177;--c-green-soft:#1a2d1d;--c-amber:#dda32a;--c-amber-soft:#332714;--c-rose:#ef7099;--c-rose-soft:#37202a;--c-slate:#98a0ac;--c-slate-soft:#24272c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=oscuro]{--bg:#17171a;--bg-sunken:#121215;--surface:#1e1e22;--surface-2:#26262b;--surface-hover:#2e2e34;--overlay:#0000008f;--border:#2c2c33;--border-strong:#3d3d45;--text:#e6e6e9;--text-muted:#9b9ba4;--text-faint:#6d6d77;--text-on-accent:#fff;--accent:#8b87ff;--accent-hover:#a09cff;--accent-soft:#262348;--danger:#f2705c;--danger-soft:#3a211d;--warn:#dda32a;--success:#5cba6a;--now:#ff6369;--c-violet:#9a90ff;--c-violet-soft:#2a2748;--c-blue:#5aa9f0;--c-blue-soft:#1b2b3d;--c-teal:#45c2b4;--c-teal-soft:#14302e;--c-green:#6cc177;--c-green-soft:#1a2d1d;--c-amber:#dda32a;--c-amber-soft:#332714;--c-rose:#ef7099;--c-rose-soft:#37202a;--c-slate:#98a0ac;--c-slate-soft:#24272c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.c-violet{--c:var(--c-violet);--c-soft:var(--c-violet-soft)}.c-blue{--c:var(--c-blue);--c-soft:var(--c-blue-soft)}.c-teal{--c:var(--c-teal);--c-soft:var(--c-teal-soft)}.c-green{--c:var(--c-green);--c-soft:var(--c-green-soft)}.c-amber{--c:var(--c-amber);--c-soft:var(--c-amber-soft)}.c-rose{--c:var(--c-rose);--c-soft:var(--c-rose-soft)}.c-slate{--c:var(--c-slate);--c-soft:var(--c-slate-soft)}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%}body{height:100%;font-family:var(--font);font-size:var(--fs-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;line-height:1.5}#root{height:100dvh}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.app{background:var(--bg);flex-direction:column;height:100%;display:flex}.main{-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-6));flex-direction:column;flex:1;display:flex;overflow:hidden auto}.main>*{min-width:0;max-width:100%}.page{width:100%;max-width:var(--max-w);padding:0 var(--s-4);margin:0 auto}@media (width>=1000px){:root{--max-w:880px}}.page-head{width:100%;padding:calc(env(safe-area-inset-top) + var(--s-5)) var(--s-4) var(--s-3);max-width:var(--max-w);justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin:0 auto;display:flex}.page-head>div:first-child{min-width:0}.page-title{overflow-wrap:anywhere;font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:700;line-height:1.15}.page-sub{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.section{margin-top:var(--s-6)}.section-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.section-title{font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.nav{z-index:30;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(18px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{min-width:0;color:var(--text-faint);letter-spacing:.005em;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 2px;font-size:9.5px;font-weight:500;transition:color .15s;display:flex}.nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-item.is-active{color:var(--accent)}.nav-item svg{width:22px;height:22px}.fab{right:var(--s-4);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4));z-index:25;border-radius:var(--r-full);background:var(--accent);width:52px;height:52px;color:var(--text-on-accent);box-shadow:var(--shadow-md);place-items:center;transition:transform .15s,background .15s;display:grid;position:fixed}.fab:active{transform:scale(.94)}.fab svg{width:24px;height:24px}@media (width>=900px){.app{flex-direction:row}.main{padding-bottom:var(--s-7)}.page-head{padding-top:var(--s-6)}.nav{width:232px;height:100%;padding:var(--s-5) var(--s-3);border-top:none;border-right:1px solid var(--border);background:var(--bg-sunken);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;gap:2px;position:relative}.nav-item{justify-content:flex-start;gap:var(--s-3);height:38px;padding:0 var(--s-3);border-radius:var(--r-md);font-size:var(--fs-md);color:var(--text-muted);flex-direction:row;flex:none;font-weight:500}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent)}.nav-brand{padding:0 var(--s-3) var(--s-5);font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--text);font-weight:700;display:block}.fab{left:var(--s-4);right:auto;bottom:var(--s-5);border-radius:var(--r-md);gap:var(--s-2);width:200px;height:42px;font-size:var(--fs-md);font-weight:500}.fab svg{width:18px;height:18px}}@media (width<=899px){.nav-brand,.fab-label,.solo-escritorio{display:none!important}}.row{align-items:center;gap:var(--s-2);display:flex}.spacer{flex:1}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.empty{padding:var(--s-6) var(--s-4);text-align:center;color:var(--text-faint);font-size:var(--fs-sm)}.empty strong{color:var(--text-muted);margin-bottom:2px;font-weight:500;display:block}.warn-banner{z-index:50;padding:calc(env(safe-area-inset-top) + var(--s-2)) var(--s-4) var(--s-2);background:var(--danger);color:#fff;font-size:var(--fs-sm);text-align:center;line-height:1.4;position:fixed;top:0;left:0;right:0}.booting{height:100%;color:var(--text-faint);font-size:var(--fs-sm);place-items:center;display:grid}.crash{max-width:460px;padding:var(--s-7) var(--s-4);margin:0 auto}.crash h1{font-size:var(--fs-xl);letter-spacing:-.02em;margin-bottom:var(--s-3)}.crash p{color:var(--text-muted);margin-bottom:var(--s-4)}.crash pre{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.crash-actions{gap:var(--s-2);margin-top:var(--s-5);display:flex}.crash-last{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--text-faint)}.crash pre{max-height:40vh;font-size:var(--fs-xs);line-height:1.5;overflow:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:38px;padding:0 var(--s-4);border-radius:var(--r-md);font-size:var(--fs-md);color:var(--text);background:var(--surface-2);white-space:nowrap;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-hover)}.btn:active{opacity:.8}.btn--primary{background:var(--accent);color:var(--text-on-accent)}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--surface-hover);color:var(--text)}.btn--danger{background:var(--danger-soft);color:var(--danger)}.btn--sm{height:30px;padding:0 var(--s-3);font-size:var(--fs-sm)}.btn--icon{border-radius:var(--r-md);width:34px;height:34px;color:var(--text-muted);background:0 0;padding:0}.btn--icon:hover{background:var(--surface-hover);color:var(--text)}.btn--icon svg{width:19px;height:19px}.btn:disabled{opacity:.4;cursor:default}.input,.textarea,.select{width:100%;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-md);color:var(--text);border:1px solid #0000;transition:border-color .15s,background .15s}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);background:var(--surface);outline:none}.textarea{resize:vertical;min-height:90px;line-height:1.6}.select{appearance:none;padding-right:var(--s-6);background-image:linear-gradient(45deg, transparent 50%, var(--text-faint) 50%), linear-gradient(135deg, var(--text-faint) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.field{margin-bottom:var(--s-4);display:block}.field-label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--s-2);font-weight:500;display:block}.field-row{gap:var(--s-3);display:flex}.field-row>*{flex:1}input[type=date],input[type=time]{min-height:42px}.timefield{align-items:center;gap:var(--s-1);display:flex}.timefield .select{text-align:center;font-variant-numeric:tabular-nums;min-width:0;min-height:42px;padding-left:var(--s-2);padding-right:var(--s-5);flex:1}.timefield-sep{color:var(--text-faint);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.list{gap:var(--s-2);flex-direction:column;display:flex}.check{border-radius:var(--r-sm);border:1.75px solid var(--border-strong);flex:none;place-items:center;width:21px;height:21px;transition:background .12s,border-color .12s,transform .12s;display:grid;position:relative}.check:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.check:active{transform:scale(.88)}.check svg{width:13px;height:13px;color:var(--text-on-accent);opacity:0;transition:opacity .12s}.check.is-done{background:var(--c,var(--accent));border-color:var(--c,var(--accent))}.check.is-done svg{opacity:1}.check--round{border-radius:var(--r-full)}.check--lg{width:26px;height:26px}.check--lg svg{width:15px;height:15px}.chip{align-items:center;gap:var(--s-1);height:26px;padding:0 var(--s-3);border-radius:var(--r-full);background:var(--surface-2);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;font-weight:500;display:inline-flex}.chip--accent{background:var(--accent-soft);color:var(--accent)}.chip--color{background:var(--c-soft);color:var(--c)}.chip--danger{background:var(--danger-soft);color:var(--danger)}.chips{gap:var(--s-2);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip-btn{height:32px;padding:0 var(--s-4);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;font-weight:500;transition:background .15s,color .15s}.chip-btn:hover{background:var(--surface-hover)}.chip-btn.is-active{background:var(--accent);color:var(--text-on-accent)}.sheet-backdrop{z-index:40;background:var(--overlay);animation:.18s ease-out fade;position:fixed;inset:0}.sheet{z-index:41;overscroll-behavior:contain;background:var(--bg);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:88dvh;box-shadow:var(--shadow-lg);padding:var(--s-3) var(--s-4) calc(env(safe-area-inset-bottom) + var(--s-5));animation:.22s cubic-bezier(.32,.72,0,1) rise;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-grab{border-radius:var(--r-full);background:var(--border-strong);width:36px;height:4px;margin:0 auto var(--s-4)}.sheet-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.sheet-title{font-size:var(--fs-lg);font-weight:600}.sheet-actions{gap:var(--s-2);margin-top:var(--s-5);display:flex}.sheet-actions>*{flex:1}@media (width>=900px){.sheet{border-radius:var(--r-xl);width:min(520px,100vw - 48px);padding:var(--s-5);animation:.18s cubic-bezier(.32,.72,0,1) pop;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.sheet-grab{display:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}}.toast{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4));z-index:45;padding:var(--s-2) var(--s-4);border-radius:var(--r-full);background:var(--text);color:var(--bg);font-size:var(--fs-sm);box-shadow:var(--shadow-md);white-space:nowrap;font-weight:500;animation:.22s cubic-bezier(.32,.72,0,1) rise;position:fixed;transform:translate(-50%)}.undo{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4));z-index:46;align-items:center;gap:var(--s-3);width:min(460px,100vw - 32px);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);animation:.22s cubic-bezier(.32,.72,0,1) rise;display:flex;position:fixed;transform:translate(-50%)}.undo-text{min-width:0;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;line-height:1.35;overflow:hidden}.undo-btn{align-items:center;gap:var(--s-2);height:34px;padding:0 var(--s-3);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:var(--fs-sm);flex:none;font-weight:600;display:flex}.undo-count{border-radius:var(--r-full);background:var(--surface-2);min-width:18px;height:18px;color:var(--text-muted);font-variant-numeric:tabular-nums;place-items:center;padding:0 4px;font-size:10px;display:grid}@media (width>=900px){.undo{bottom:var(--s-5);left:calc(50vw + 116px)}}.md{font-size:var(--fs-md);word-break:break-word;line-height:1.7}.md>*+*{margin-top:var(--s-3)}.md h1{font-size:var(--fs-xl)}.md h2{font-size:var(--fs-lg)}.md h3,.md h4{font-size:var(--fs-md)}.md h1,.md h2,.md h3,.md h4{letter-spacing:-.01em;margin-top:var(--s-5);font-weight:650}.md ul,.md ol{padding-left:var(--s-5)}.md li+li{margin-top:var(--s-1)}.md li::marker{color:var(--text-faint)}.md blockquote{border-left:3px solid var(--border-strong);padding-left:var(--s-4);color:var(--text-muted)}.md code{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--r-sm);padding:1px 5px;font-size:.875em}.md pre{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s-3);overflow-x:auto}.md pre code{background:0 0;padding:0}.md hr{border:none;border-top:1px solid var(--border)}.md-task{align-items:flex-start;gap:var(--s-2);margin-left:calc(var(--s-5) * -1);list-style:none;display:flex}.md-box{border:1.5px solid var(--border-strong);border-radius:4px;flex:none;width:15px;height:15px;margin-top:5px}.md-box.is-done{background:var(--accent);border-color:var(--accent)}.md-done{color:var(--text-faint);text-decoration:line-through}.md-wikilink{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent);font:inherit;padding:0}.md-tag{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-full);padding:1px 6px;font-size:.875em}.main:has(>.now){padding-bottom:0;overflow:hidden}.now{width:100%;min-height:0;max-width:var(--max-w);padding:calc(env(safe-area-inset-top) + var(--s-3)) var(--s-4) calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-3));flex-direction:column;flex:1;margin:0 auto;display:flex}.now-top{flex:none;justify-content:center;display:flex;position:relative}.now-settings{position:absolute;top:0;right:0}.now-clock{letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:var(--text);align-items:baseline;gap:0;font-size:clamp(3.4rem,18vw,4.6rem);font-weight:800;line-height:.95;display:flex}.now-clock-sep{color:var(--accent);margin:0 2px;font-weight:700;animation:2s step-end infinite blink}@keyframes blink{0%,60%{opacity:1}61%,to{opacity:.25}}.now-clock-m{color:var(--text-muted)}.add-box{justify-content:center;align-items:center;gap:var(--s-2);width:100%;height:46px;margin-bottom:var(--s-4);border-radius:var(--r-md);border:1.5px dashed var(--border-strong);color:var(--text-muted);font-size:var(--fs-md);font-weight:500;transition:border-color .15s,color .15s,background .15s;display:flex}.add-box:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.add-box svg{width:18px;height:18px}.now-center{justify-content:center;align-items:center;gap:var(--s-3);min-height:0;padding:var(--s-3) 0;flex-direction:column;flex:1;display:flex;overflow:hidden}.now-daylabel{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.chain{flex:none;margin:0 auto;position:relative}.node-tag{color:var(--text-faint);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10.5px;font-weight:600;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.node.is-past .node-tag{opacity:.6}.chain-svg{pointer-events:none;position:absolute;inset:0}.chain-line{fill:none;stroke:var(--c,var(--accent));stroke-width:2.5px;stroke-linecap:round;opacity:.55}.chain-line--past{stroke:var(--border-strong);opacity:1}.node{border-radius:var(--r-full);background:var(--c,var(--accent));padding:0;transition:width .34s cubic-bezier(.32,.72,0,1),height .34s cubic-bezier(.32,.72,0,1),background .3s;position:absolute;transform:translate(-50%,-50%)}.node.is-past{background:var(--text-faint);opacity:.45}.node.is-live:before{content:"";border-radius:var(--r-full);border:2px solid var(--c);opacity:.4;animation:2.4s ease-in-out infinite pulse;position:absolute;inset:-5px}.node.is-open:before{display:none}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(1.3)}}.node.is-open{background:var(--bg);z-index:2;box-shadow:0 8px 28px -12px color-mix(in srgb, var(--c) 55%, transparent)}.node.is-open.is-past{opacity:1}.node-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.node-ring-base,.node-ring-past{fill:none;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.node-ring-base{stroke:var(--c,var(--accent))}.node-ring-past{stroke:var(--border-strong);transition:stroke-dasharray .6s linear}.node-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;animation:.3s cubic-bezier(.32,.72,0,1) ballIn;display:flex;position:absolute;inset:14%}@keyframes ballIn{0%{opacity:0;transform:scale(.9)}}.node-when{letter-spacing:.03em;text-transform:uppercase;color:var(--c,var(--accent));font-size:10.5px;font-weight:700}.node.is-past .node-when{color:var(--text-faint)}.node-title{letter-spacing:-.01em;color:var(--text);-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;font-weight:650;line-height:1.2;display:-webkit-box;overflow:hidden}.node-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.now-place{font-size:var(--fs-sm);color:var(--text-muted);text-align:center}.now-done,.now-empty-title{font-size:var(--fs-md);color:var(--text-faint);text-align:center}.now-empty{align-items:center;gap:var(--s-4);flex-direction:column;display:flex}.now-actions{gap:var(--s-3);flex:none;display:flex}@media (width>=900px){.now{max-width:1040px;padding-bottom:var(--s-5)}}.now-btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);height:52px;font-size:var(--fs-md);color:var(--text);flex:1;font-weight:500;transition:background .15s,transform .12s;display:flex}.now-btn:hover{background:var(--surface-hover)}.now-btn:active{transform:scale(.97)}.now-btn svg{width:19px;height:19px;color:var(--text-muted)}.now-btn-count{border-radius:var(--r-full);background:var(--accent-soft);min-width:26px;color:var(--accent);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;padding:2px 7px;font-weight:600}.quote{max-width:440px;margin:0 auto var(--s-4);padding:0 var(--s-2);text-align:center;width:100%;color:inherit;background:0 0;border:none;flex:none;transition:opacity .15s;display:block}.quote:hover{opacity:.72}.quote-text{font-size:var(--fs-md);letter-spacing:-.01em;text-wrap:balance;color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-weight:450;line-height:1.45;display:-webkit-box;overflow:hidden}.quote-author{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--text-faint)}.quote-source{font-style:italic}.box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.box--narrow{max-width:380px;margin-left:auto;margin-right:auto}.box-label{text-align:center;font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-3);font-weight:600}.box-count{letter-spacing:.02em;text-transform:none;color:var(--text-faint);font-weight:500}.box-empty{padding:var(--s-4);text-align:center;font-size:var(--fs-sm);color:var(--text-faint)}.box-group+.box-group{margin-top:var(--s-6)}.progress{margin-top:var(--s-4)}.progress-bar{border-radius:var(--r-full);background:var(--surface-2);height:6px;overflow:hidden}.progress-fill{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width .35s cubic-bezier(.32,.72,0,1)}.progress-label{font-size:var(--fs-xs);color:var(--text-faint);margin-top:var(--s-2);justify-content:space-between;display:flex}.habit-row{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);text-align:left;width:100%;transition:background .12s;display:flex}.habit-row+.habit-row{border-top:1px solid var(--border)}.habit-row:hover{background:var(--surface-hover)}.habit-emoji{border-radius:var(--r-md);background:var(--c-soft);flex:none;place-items:center;width:30px;height:30px;font-size:16px;line-height:1;display:grid}.habit-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.habit-row.is-done .habit-name{color:var(--text-faint);text-decoration:line-through}.streak{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-weight:600;display:inline-flex}.streak.is-hot{color:var(--warn)}.streak-badge{height:28px;padding:0 var(--s-3);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:700;display:inline-flex}.streak-badge.is-hot{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.dots{gap:3px;display:flex}.dot{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);width:7px;height:7px}.dot.is-done{background:var(--c,var(--accent));border-color:var(--c,var(--accent))}.dot.is-off{opacity:.35}.task{align-items:flex-start;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);text-align:left;width:100%;transition:background .12s;display:flex}.task:hover{background:var(--surface-hover)}.task-main{flex:1;min-width:0}.task-title{font-size:var(--fs-md);word-break:break-word;line-height:1.4}.task.is-done .task-title{color:var(--text-faint);text-decoration:line-through}.task-meta{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-faint);flex-wrap:wrap;margin-top:3px;display:flex}.task-meta .is-late{color:var(--danger);font-weight:600}.prio-dot{border-radius:var(--r-full);flex:none;width:6px;height:6px}.prio-alta{background:var(--danger)}.prio-baja{background:var(--text-faint)}.stat-grid{gap:var(--s-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=520px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);text-align:center}.stat-value{font-size:var(--fs-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.stat-label{font-size:var(--fs-xs);color:var(--text-faint);margin-top:3px}.heat-scroll{scrollbar-width:none;padding-bottom:var(--s-2);overflow-x:auto}.heat-scroll::-webkit-scrollbar{display:none}.heat{grid-template-rows:repeat(7,13px);grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heat-cell{background:var(--surface-2);border-radius:3px;width:13px;height:13px}.heat-cell.is-due{background:color-mix(in srgb, var(--c) 14%, var(--surface-2))}.heat-cell.is-done{background:var(--c)}.heat-cell.is-future{border:1px dashed var(--border);background:0 0}.heat-legend{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-faint);margin-top:var(--s-2);display:flex}.bars{align-items:flex-end;gap:var(--s-2);height:104px;display:flex}.bar-col{align-items:center;gap:var(--s-2);flex-direction:column;flex:1;height:100%;display:flex}.bar-track{background:var(--surface-2);border-radius:var(--r-sm);flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.bar-fill{background:var(--c);border-radius:var(--r-sm);width:100%;min-height:3px;transition:height .3s}.bar-label{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10px}.donut{flex:none;position:relative}.donut svg{transform:rotate(-90deg)}.donut-track{fill:none;stroke:var(--surface-2)}.donut-arc{fill:none;stroke-linecap:round;transition:stroke-dasharray .5s cubic-bezier(.32,.72,0,1)}.donut-mid{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.donut-value{font-size:var(--fs-lg);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.donut-sub{color:var(--text-faint);text-align:center;max-width:76%;font-size:9.5px;line-height:1.15}.donut-row{gap:var(--s-4);scrollbar-width:none;padding-bottom:var(--s-2);display:flex;overflow-x:auto}.donut-row::-webkit-scrollbar{display:none}.donut-item{align-items:center;gap:var(--s-2);width:86px;color:inherit;flex-direction:column;flex:none;display:flex}.donut-name{color:var(--text-muted);text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.donut-hero{align-items:center;gap:var(--s-5);padding:var(--s-4);display:flex}.donut-hero-text{min-width:0}.verdict{gap:var(--s-3);flex-direction:column;list-style:none;display:flex}.verdict li{padding-left:var(--s-4);font-size:var(--fs-md);color:var(--text-muted);line-height:1.55;position:relative}.verdict li:before{content:"";border-radius:var(--r-full);background:var(--accent);width:5px;height:5px;position:absolute;top:.62em;left:0}.verdict strong{color:var(--text);font-weight:600}.rate-bar{border-radius:var(--r-full);background:var(--surface-2);height:4px;margin-top:6px;display:block;overflow:hidden}.rate-fill{border-radius:var(--r-full);height:100%;transition:width .35s;display:block}.rate-num{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;min-width:38px;font-weight:600}.note-item{text-align:left;width:100%;padding:var(--s-3) var(--s-4);transition:background .12s;display:block}.note-item+.note-item{border-top:1px solid var(--border)}.note-item:hover{background:var(--surface-hover)}.note-title{font-size:var(--fs-md);align-items:center;gap:var(--s-2);font-weight:550;display:flex}.note-excerpt{font-size:var(--fs-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.note-date{font-size:var(--fs-xs);color:var(--text-faint);margin-top:4px}.note-editor{flex-direction:column;width:100%;max-width:100%;min-height:60dvh;display:flex}.note-title-input{width:100%;font-size:var(--fs-2xl);letter-spacing:-.02em;padding:var(--s-2) 0;background:0 0;border:none;font-weight:700}.note-title-input:focus{outline:none}.note-body-input{width:100%;min-height:45dvh;padding:var(--s-2) 0;font-family:var(--font);font-size:var(--fs-md);resize:none;overflow-wrap:anywhere;background:0 0;border:none;flex:1;line-height:1.7}.note-body-input:focus{outline:none}.note-read{min-height:45dvh;padding:var(--s-2) 0;overflow-wrap:anywhere;flex:1;min-width:0}.md-pick{cursor:text;border-radius:var(--r-sm);transition:background .1s}.md-pick:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.note-read.is-locked .md-pick{cursor:default}.note-read.is-locked .md-pick:hover{background:0 0}.note-body-empty{text-align:left;min-height:35dvh;padding:var(--s-2) 0;font-size:var(--fs-md);color:var(--text-faint);flex:1}.note-title-input{overflow-wrap:anywhere}.note-editor-actions{flex:none;gap:2px;display:flex}.note-locked-hint{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--warn)}.backlinks{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--border)}.goal{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--c,var(--accent));border-radius:var(--r-lg);overflow:hidden}.goal-head{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);text-align:left;transition:background .12s;display:flex}.goal-head:hover{background:var(--surface-hover)}.goal-main{flex:1;min-width:0}.goal-title{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:600;line-height:1.3;display:block}.goal-meta{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-faint);flex-wrap:wrap;margin-top:4px;display:flex}.goal-metric{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:3px;display:block}.goal-body{padding:0 var(--s-4) var(--s-4);border-top:1px solid var(--border);padding-top:var(--s-4)}.goal-why{font-size:var(--fs-md);color:var(--text-muted);margin-bottom:var(--s-3);overflow-wrap:anywhere;font-style:italic;line-height:1.5}.goal-pace{font-size:var(--fs-sm);margin-bottom:var(--s-3);font-weight:600}.goal-bump{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.goal-habits{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--text-faint);overflow-wrap:anywhere}.project-card{align-items:flex-start;gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--c,var(--accent));border-radius:var(--r-lg);color:inherit;transition:background .12s,transform .12s;display:flex}.project-card:hover{background:var(--surface-hover);text-decoration:none}.project-card:active{transform:scale(.995)}.project-emoji{border-radius:var(--r-md);background:var(--c-soft);flex:none;place-items:center;width:34px;height:34px;font-size:18px;line-height:1;display:grid}.project-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;font-weight:550;display:block;overflow:hidden}.project-pitch{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px;line-height:1.4;display:block}.project-pitch-big{font-size:var(--fs-lg);color:var(--text-muted);border-left:3px solid var(--c,var(--accent));padding-left:var(--s-4);margin-top:var(--s-3);line-height:1.45}.need-row{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);display:flex}.need-row+.need-row{border-top:1px solid var(--border)}.need-row--add{border-top:1px solid var(--border);background:var(--bg-sunken)}.need-text{min-width:0;font-size:var(--fs-md);word-break:break-word;flex:1}.need-text.is-done{color:var(--text-faint);text-decoration:line-through}.diagram{margin:var(--s-4) 0;padding:var(--s-4);background:var(--surface-2);border-radius:var(--r-md);text-align:center;overflow-x:auto}.diagram svg{max-width:100%;height:auto}.diagram--error{text-align:left;border:1px solid var(--danger)}.cuadre{width:100%;margin-top:var(--s-4);border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.cuadre th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);text-align:right;padding-bottom:var(--s-2);font-weight:600}.cuadre th:first-child{text-align:left}.cuadre td{padding:var(--s-2) 0;text-align:right;border-top:1px solid var(--border);color:var(--text-muted)}.cuadre td:first-child{text-align:left;color:var(--text)}.cuadre .is-desajustado td{color:var(--warn);font-weight:600}.sync-dot{border-radius:var(--r-full);background:var(--success);flex:none;width:10px;height:10px}.sync-dot[data-state=sincronizando]{background:var(--accent);animation:1.2s ease-in-out infinite latido}.sync-dot[data-state=error]{background:var(--danger)}@keyframes latido{0%,to{opacity:1}50%{opacity:.25}}.setting{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4);display:flex}.setting+.setting{border-top:1px solid var(--border)}.setting-label{font-size:var(--fs-md)}.setting-desc{font-size:var(--fs-xs);color:var(--text-faint);margin-top:2px}.segmented{background:var(--surface-2);border-radius:var(--r-md);gap:2px;padding:2px;display:flex}.segmented button{padding:5px var(--s-3);border-radius:calc(var(--r-md) - 2px);font-size:var(--fs-sm);color:var(--text-muted);transition:background .15s,color .15s}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.cal{--hour-h:58px;--gutter-w:46px;flex-direction:column;flex:1;width:100%;max-width:1180px;min-height:0;margin:0 auto;display:flex}.cal:has(.cal-sheet--semana){--gutter-w:38px}.cal-toolbar{padding:calc(env(safe-area-inset-top) + var(--s-4)) var(--s-4) var(--s-3)}.cal-titlerow{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.cal-title{font-size:var(--fs-xl);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;line-height:1.15;overflow:hidden}.cal-controls{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.cal-nav{background:var(--surface-2);border-radius:var(--r-md);align-items:center;gap:2px;padding:2px;display:flex}.cal-nav .btn--icon{width:30px;height:30px}.cal-nav .btn--icon svg{width:16px;height:16px}.strip{gap:var(--s-1);padding:0 var(--s-4) var(--s-3);grid-template-columns:repeat(7,1fr);display:grid}.strip-day{padding:var(--s-2) 0 var(--s-1);border-radius:var(--r-md);color:var(--text-muted);flex-direction:column;align-items:center;gap:3px;transition:background .15s,color .15s;display:flex}.strip-day:hover{background:var(--surface-hover)}.strip-name{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600}.strip-num{border-radius:var(--r-full);width:30px;height:30px;font-size:var(--fs-md);font-variant-numeric:tabular-nums;place-items:center;font-weight:600;display:grid}.strip-day.is-today .strip-num{color:var(--accent)}.strip-day.is-sel .strip-num{background:var(--accent);color:var(--text-on-accent)}.strip-mark{border-radius:var(--r-full);background:var(--text-faint);width:4px;height:4px}.strip-day.is-sel .strip-mark{background:var(--accent)}.cal-scroll{border-top:1px solid var(--border);background:var(--bg);overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.cal-sheet{grid-template-columns:var(--gutter-w) repeat(var(--cols), minmax(0, 1fr));grid-auto-rows:min-content;width:100%;display:grid}.cal-cell{min-width:0}.cal-corner{z-index:4;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;left:0}.cal-dayhead{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);border-left:1px solid var(--border);padding:var(--s-2) 0 var(--s-3);text-align:center;position:sticky;top:0}.cal-sheet--dia .cal-dayhead,.cal-sheet--dia .cal-corner{display:none}.cal-dayhead-name{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.cal-dayhead-num{border-radius:var(--r-full);width:27px;height:27px;font-size:var(--fs-md);font-variant-numeric:tabular-nums;place-items:center;font-weight:600;display:inline-grid}.cal-dayhead.is-today .cal-dayhead-num{background:var(--accent);color:var(--text-on-accent)}.cal-allday-label{z-index:2;background:var(--bg-sunken);border-bottom:1px solid var(--border);color:var(--text-faint);text-align:right;padding:var(--s-2) var(--s-1);font-size:9px;line-height:1.2;position:sticky;left:0}.cal-allday-cell{background:var(--bg-sunken);border-bottom:1px solid var(--border);border-left:1px solid var(--border);flex-direction:column;gap:2px;min-height:28px;padding:3px;display:flex}.cal-chip{text-align:left;border-radius:var(--r-sm);background:var(--c-soft);color:var(--c);text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;font-size:11px;font-weight:500;overflow:hidden}.cal-chip.is-done{opacity:.55;text-decoration:line-through}.cal-gutter{z-index:2;background:var(--bg);position:sticky;left:0}.cal-hourlabel{color:var(--text-faint);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:10.5px;position:absolute;right:8px;transform:translateY(-50%)}.cal-col{border-left:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, var(--border) 0, var(--border) 1px, transparent 1px, transparent var(--hour-h)), repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hour-h) / 2), color-mix(in srgb, var(--border) 45%, transparent) calc(var(--hour-h) / 2), color-mix(in srgb, var(--border) 45%, transparent) calc(var(--hour-h) / 2 + 1px), transparent calc(var(--hour-h) / 2 + 1px), transparent var(--hour-h));position:relative}.cal-col.is-today{background-color:color-mix(in srgb, var(--accent) 5%, transparent)}.cal-event{text-align:left;border-radius:var(--r-md);background:var(--c-soft);border-left:3px solid var(--c);color:var(--text);box-shadow:var(--shadow-sm);padding:4px 7px;line-height:1.25;transition:filter .12s,transform .12s;position:absolute;overflow:hidden}.cal-event:hover{filter:brightness(.97)}.cal-event:active{transform:scale(.99)}.cal-event.is-done{opacity:.55}.cal-event.is-done .cal-event-title{text-decoration:line-through}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.cal-event-time{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.cal-sheet--semana .cal-event{border-radius:var(--r-sm);border-left-width:2px;padding:3px 4px}.cal-sheet--semana .cal-event-title{letter-spacing:-.01em;font-size:10px;font-weight:600}@media (width<=899px){.cal-sheet--semana .cal-event-time{display:none}.cal-sheet--semana .cal-dayhead{padding:var(--s-2) 0}.cal-sheet--semana .cal-dayhead-num{width:23px;height:23px;font-size:var(--fs-sm)}.cal-sheet--semana .cal-chip{padding:2px 3px;font-size:9px}}.cal-now{background:var(--now);z-index:2;pointer-events:none;height:2px;position:absolute;left:0;right:0}.cal-now-bead{border-radius:var(--r-full);background:var(--now);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--now) 22%, transparent);position:absolute;top:-4px;left:-4px}.month{min-height:0;padding:0 var(--s-4) var(--s-4);flex-direction:column;flex:1;display:flex}.month-head{padding-bottom:var(--s-2);grid-template-columns:repeat(7,1fr);display:grid}.month-head span{text-align:center;letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase;font-size:10px;font-weight:600}.month-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-height:0;display:grid}.month-cell{min-height:62px;padding:var(--s-2) 4px 4px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);flex-direction:column;align-items:stretch;gap:3px;transition:background .12s;display:flex;overflow:hidden}.month-cell:hover{background:var(--surface-hover)}.month-cell.is-outside{opacity:.45}.month-cell.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.month-num{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;align-self:flex-start;min-width:20px;font-weight:600}.month-cell.is-today .month-num{background:var(--accent);color:var(--text-on-accent);border-radius:var(--r-full)}.month-events{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden}.month-event{text-align:left;background:var(--c-soft);color:var(--c);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:500;overflow:hidden}.month-more{color:var(--text-faint);text-align:left;padding-left:5px;font-size:9px}@media (width>=900px){.cal{--hour-h:62px}.cal-toolbar{padding-top:var(--s-5)}.cal-title{font-size:var(--fs-2xl)}.month-cell{min-height:92px;padding:var(--s-2)}.month-event{font-size:11px}}@media (width<=420px){.cal{--gutter-w:40px}.cal:has(.cal-sheet--semana){--gutter-w:32px;--hour-h:50px}}
