:root,.dk,.app.light .dk{--bg: #0e0e11;--s1: #16161a;--s2: #1d1d22;--s3: #26262c;--line: rgba(255, 255, 255, .08);--line2: rgba(255, 255, 255, .15);--t1: #f4f4f3;--t2: #a3a3a9;--t3: #8c8c93;--hl: rgba(255, 255, 255, .08);--g1: rgba(255, 255, 255, .07);--g2: rgba(255, 255, 255, .015);--shadow-lg: 0 24px 48px -24px rgba(0, 0, 0, .7);--btn1: #2a2a30;--btn2: #1d1d22;--btn1h: #33333a;--btn2h: #24242a;--pri1: #ffffff;--pri2: #d9d9de;--pri-t: #121214;--on1: #303037;--on2: #232328;--sel1: #34343b;--sel2: #25252b;--field: rgba(0, 0, 0, .28);--field-sh: inset 0 1px 2px rgba(0, 0, 0, .4);--wash: rgba(255, 255, 255, .04);--track: rgba(255, 255, 255, .1);--chk: #6c6c74;--overlay: rgba(6, 6, 8, .62);--bar-off: #4a4a52;--top-bg: rgba(14, 14, 17, .82);--glow: rgba(255, 255, 255, .055)}.dk{--a-t: var(--a)}:root{--a: rgb(143, 123, 255);--a-soft: rgba(143, 123, 255, .16);--a-line: rgba(143, 123, 255, .5);--a-ink: #0e0d16;--b: rgb(232, 242, 106);--b-soft: rgba(232, 242, 106, .14);--b-line: rgba(232, 242, 106, .42);--b-ink: #14150a;--ease: cubic-bezier(.32, .72, .24, 1)}.app.light{--a-t: #5b45e0;--danger: #b83232;--bg: #f4f3f1;--s1: #ffffff;--s2: #ebeae7;--s3: #e0dfdb;--line: rgba(0, 0, 0, .09);--line2: rgba(0, 0, 0, .17);--t1: #17171a;--t2: #55555c;--t3: #6b6b73;--hl: rgba(255, 255, 255, .95);--g1: rgba(255, 255, 255, .8);--g2: rgba(255, 255, 255, 0);--shadow-lg: 0 20px 40px -20px rgba(30, 30, 45, .28);--btn1: #ffffff;--btn2: #f1f0ed;--btn1h: #ffffff;--btn2h: #e8e7e3;--pri1: #2a2a2e;--pri2: #141416;--pri-t: #ffffff;--on1: #ffffff;--on2: #f2f1ee;--sel1: #e3e2de;--sel2: #d8d7d2;--field: rgba(0, 0, 0, .04);--field-sh: inset 0 1px 2px rgba(0, 0, 0, .08);--wash: rgba(0, 0, 0, .04);--track: rgba(0, 0, 0, .1);--chk: #8a8a92;--overlay: rgba(240, 239, 236, .62);--bar-off: #cbcac6;--top-bg: rgba(244, 243, 241, .85);--glow: rgba(255, 255, 255, .8)}.mono{font-family:Geist Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}svg.i.sm{width:14px;height:14px}.glass{background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl),var(--shadow-lg);border-radius:20px;color:var(--t1)}.glass-sm{border-radius:14px}.topbar{position:relative;z-index:20;height:60px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:var(--top-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.01em}.logo-mark{width:30px;height:30px;display:block;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.tabs{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s2);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl)}.tab{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:999px;color:var(--t2);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s var(--ease),background .15s var(--ease)}.tab:hover{color:var(--t1)}.tab.on{color:var(--t1);background:linear-gradient(180deg,var(--on1),var(--on2));box-shadow:inset 0 1px 0 var(--hl),0 1px 3px #0000004d,0 0 0 1px var(--line)}.tab.on:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--a);box-shadow:0 0 10px var(--a)}.tb-right{display:flex;justify-content:flex-end;align-items:center;gap:14px}.sync{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2)}.sync i{width:6px;height:6px;border-radius:50%;background:var(--t3)}.sync.ok i{background:var(--a);box-shadow:0 0 8px var(--a)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 18px;border-radius:12px;cursor:pointer;border:1px solid var(--line);color:var(--t1);font-size:14px;font-weight:500;white-space:nowrap;background:linear-gradient(180deg,var(--btn1),var(--btn2));box-shadow:inset 0 1px 0 var(--hl),0 1px 2px #0000002e;transition:background .15s var(--ease),transform .15s var(--ease),border-color .15s var(--ease)}.btn:hover{background:linear-gradient(180deg,var(--btn1h),var(--btn2h));border-color:var(--line2)}.btn:active{transform:scale(.97)}.btn:focus-visible,.iconbtn:focus-visible,.tab:focus-visible,.seg button:focus-visible{outline:2px solid var(--a);outline-offset:2px}.btn.pri{background:linear-gradient(180deg,var(--pri1),var(--pri2));color:var(--pri-t);border-color:transparent}.btn.pri:hover{filter:brightness(1.1);background:linear-gradient(180deg,var(--pri1),var(--pri2))}.btn.acc{background:var(--a);color:var(--a-ink);border-color:transparent;font-weight:600;box-shadow:inset 0 1px #ffffff4d,0 6px 18px -6px var(--a)}.btn.acc:hover{filter:brightness(1.08);background:var(--a)}.btn.pill{border-radius:999px}.btn.sm{height:30px;padding:0 14px;font-size:13px}.btn.lg{height:44px;padding:0 22px}.iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;cursor:pointer;border:1px solid var(--line);color:var(--t1);background:linear-gradient(180deg,var(--btn1),var(--btn2));box-shadow:inset 0 1px 0 var(--hl);transition:background .15s var(--ease),transform .15s var(--ease)}.iconbtn:hover{background:linear-gradient(180deg,var(--btn1h),var(--btn2h))}.iconbtn:active{transform:scale(.94)}.iconbtn.round{border-radius:50%}.iconbtn.sm{width:28px;height:28px}.iconbtn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--t2)}.iconbtn.ghost:hover{color:var(--t1);background:var(--wash)}.navpill{display:inline-flex;align-items:center;gap:8px}.navpill .lbl{min-width:96px;padding:7px 18px;text-align:center;border-radius:999px;font-size:14px;font-weight:500;background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl)}.seg{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:var(--s2);border:1px solid var(--line)}.seg button{border:0;background:transparent;color:var(--t2);padding:6px 16px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s var(--ease)}.seg button:hover{color:var(--t1)}.seg button.on{background:linear-gradient(180deg,var(--pri1),var(--pri2));color:var(--pri-t);box-shadow:0 2px 8px #0000004d}.seg.wide{display:flex;border-radius:14px}.seg.wide button{flex:1;border-radius:10px;padding:10px 16px;font-size:14px}.label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);font-weight:500}.field{width:100%;height:44px;padding:0 14px;border-radius:12px;color:var(--t1);font-size:14px;background:var(--field);border:1px solid var(--line);box-shadow:var(--field-sh);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field::placeholder{color:var(--t3)}.field:focus{outline:none;border-color:var(--a-line);box-shadow:0 0 0 3px var(--a-soft)}textarea.field{height:auto;padding:12px 14px;resize:vertical;line-height:1.5}.check{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.check input{position:absolute;opacity:0;width:0;height:0}.check .box{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--chk);display:grid;place-items:center;transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.check .box svg{width:12px;height:12px;stroke:var(--a-ink);stroke-width:3;fill:none;opacity:0;transform:scale(.6);transition:all .15s var(--ease);stroke-linecap:round;stroke-linejoin:round}.check:hover .box{border-color:var(--t2)}.check:active .box{transform:scale(.88)}.check input:checked+.box{background:var(--a);border-color:var(--a)}.check input:checked+.box svg{opacity:1;transform:scale(1)}.check input:focus-visible+.box{outline:2px solid var(--a);outline-offset:2px}.check.done .txt{color:var(--t3);text-decoration:line-through;text-decoration-color:var(--line2)}.check.b input:checked+.box{background:var(--b);border-color:var(--b)}.check.b .box svg{stroke:var(--b-ink)}.day{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;border:0;background:none;color:inherit;padding:0}.day .nm{font-size:13px;color:var(--t2)}.day .num{position:relative;width:64px;height:60px;display:grid;place-items:center;border-radius:16px;font-size:28px;font-weight:300;color:var(--t2);background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl);transition:all .2s var(--ease)}.day:hover .num{color:var(--t1);border-color:var(--line2)}.day.sel .num{color:var(--t1);background:linear-gradient(180deg,var(--sel1),var(--sel2));border-color:var(--line2)}.day.today .num{color:var(--t1);font-weight:400;border-color:var(--a-line);box-shadow:inset 0 1px 0 var(--hl),0 0 0 3px var(--a-soft),0 0 28px -4px var(--a)}.day.today .num:after{content:"";position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--a);box-shadow:0 0 0 2px var(--bg)}.day .sub{font-size:11px;color:var(--a-t, var(--a));min-height:14px;font-weight:600}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:500;color:var(--t1);background:var(--s3);border:1px solid var(--line)}.chip.a{background:var(--a-soft);border-color:var(--a-line);color:var(--t1)}.chip.b{background:var(--b-soft);border-color:var(--b-line);color:var(--t1)}.chip.light{background:linear-gradient(180deg,var(--pri1),var(--pri2));color:var(--pri-t);border-color:transparent;box-shadow:0 4px 12px -4px #00000080}.hint{color:var(--t3);font-style:italic}.scroll-hide{scrollbar-width:none}.scroll-hide::-webkit-scrollbar{display:none}:root,.app,.dk{--lp-bg: var(--bg);--lp-surface: var(--s1);--lp-raised: var(--s2);--lp-raised-hover: var(--s3);--lp-overlay: var(--s3);--lp-inverse: var(--pri1);--lp-inverse-text: var(--pri-t);--lp-line: var(--line);--lp-line-strong: var(--line2);--lp-line-inverse: rgba(0, 0, 0, .08);--lp-text: var(--t1);--lp-text-2: var(--t2);--lp-text-3: var(--t3);--lp-text-disabled: var(--bar-off);--lp-violet: var(--a);--lp-violet-hi: var(--a);--lp-violet-soft: var(--a-soft);--lp-yellow: var(--b);--lp-yellow-dim: #A8A526;--lp-orange: #C96A0A;--lp-neutral-chip: #E9E7E4;--lp-neutral-chip-text: #232326;--lp-check-idle: var(--chk);--lp-check-past: var(--bar-off);--lp-font: "Geist", -apple-system, "Helvetica Neue", sans-serif;--lp-fs-2xs: .6875rem;--lp-fs-xs: .8125rem;--lp-fs-sm: .9375rem;--lp-fs-md: 1.0625rem;--lp-fs-lg: 1.375rem;--lp-fs-xl: 1.75rem;--lp-fs-2xl: 2.25rem;--lp-fs-3xl: 3rem;--lp-fw-light: 300;--lp-fw-reg: 400;--lp-fw-med: 500;--lp-fw-semi: 600;--lp-lh-tight: 1.1;--lp-lh-normal: 1.45;--lp-tracking-wide: .02em;--lp-tracking-caps: .08em;--lp-sp-1: .25rem;--lp-sp-2: .5rem;--lp-sp-3: .75rem;--lp-sp-4: 1rem;--lp-sp-5: 1.5rem;--lp-sp-6: 2rem;--lp-sp-7: 3rem;--lp-sp-8: 4rem;--lp-r-xs: .25rem;--lp-r-sm: .5rem;--lp-r-md: .875rem;--lp-r-lg: 1.25rem;--lp-r-pill: 999px;--lp-shadow-1: 0 1px 2px rgba(0,0,0,.5), 0 4px 14px rgba(0,0,0,.35);--lp-shadow-2: 0 2px 6px rgba(0,0,0,.55), 0 12px 32px rgba(0,0,0,.45);--lp-glow-violet: 0 0 0 1px rgba(143,123,255,.55), 0 0 18px rgba(143,123,255,.55), 0 0 44px rgba(143,123,255,.3);--lp-glow-violet-soft: 0 0 14px rgba(143,123,255,.4);--lp-glow-yellow: 0 0 16px rgba(232,242,106,.28);--lp-ease: cubic-bezier(.32,.72,.24,1);--lp-t-fast: .15s;--lp-t-med: .28s}*{box-sizing:border-box}body{margin:0;background:var(--lp-bg);color:var(--lp-text);font-family:var(--lp-font);font-size:var(--lp-fs-sm);line-height:var(--lp-lh-normal);-webkit-font-smoothing:antialiased}.lp-header{background:var(--lp-inverse);color:var(--lp-inverse-text);border-bottom:1px solid var(--lp-line-inverse)}.lp-tabs{display:flex;justify-content:center;gap:var(--lp-sp-6)}.lp-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;font-size:var(--lp-fs-md);font-weight:var(--lp-fw-med);color:inherit;opacity:.45;padding:var(--lp-sp-4) var(--lp-sp-1) calc(var(--lp-sp-3) + 2px);position:relative;cursor:pointer;transition:opacity var(--lp-t-fast) var(--lp-ease)}.lp-tab:hover{opacity:.75}.lp-tab.is-active{opacity:1}.lp-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;border-radius:var(--lp-r-pill);background:var(--lp-violet)}.lp-tabs--dark .lp-tab{color:var(--lp-text)}.lp-day{display:flex;flex-direction:column;align-items:center;gap:var(--lp-sp-2);cursor:pointer;-webkit-user-select:none;user-select:none}.lp-day__name{font-size:var(--lp-fs-xs);color:var(--lp-text-2);letter-spacing:var(--lp-tracking-wide)}.lp-day__num{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:64px;border-radius:var(--lp-r-md);background:var(--lp-raised);font-size:var(--lp-fs-2xl);font-weight:var(--lp-fw-light);color:var(--lp-text-2);transition:background var(--lp-t-fast) var(--lp-ease),color var(--lp-t-fast) var(--lp-ease),box-shadow var(--lp-t-med) var(--lp-ease)}.lp-day:hover .lp-day__num{background:var(--lp-raised-hover);color:var(--lp-text)}.lp-day__below{font-size:var(--lp-fs-2xs);color:var(--lp-text-2);min-height:1em}.lp-day.is-today .lp-day__num{color:var(--lp-text);font-weight:var(--lp-fw-reg);box-shadow:var(--lp-glow-violet)}.lp-day.is-today .lp-day__num:after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:#fff}.lp-day.is-selected:not(.is-today) .lp-day__num{background:var(--lp-overlay);color:var(--lp-text);box-shadow:inset 0 0 0 1px var(--lp-line-strong)}.lp-day.is-muted{opacity:.4;pointer-events:none}.lp-pill{display:inline-flex;align-items:center;justify-content:center;padding:9px var(--lp-sp-5);border-radius:var(--lp-r-sm);font-size:var(--lp-fs-sm);font-weight:var(--lp-fw-med);letter-spacing:var(--lp-tracking-wide);border:none;font-family:inherit;cursor:pointer;white-space:nowrap;transition:filter var(--lp-t-fast) var(--lp-ease),transform var(--lp-t-fast) var(--lp-ease)}.lp-pill:hover{filter:brightness(1.08)}.lp-pill:active{transform:scale(.97)}.lp-pill--neutral{background:var(--lp-neutral-chip);color:var(--lp-neutral-chip-text)}.lp-pill--violet{background:var(--lp-violet);color:#fff}.lp-pill--violet.is-glowing{box-shadow:var(--lp-glow-violet-soft),0 0 0 1px #ffffff24 inset}.lp-pill--yellow{background:var(--lp-yellow);color:#1b1a05}.lp-pill--yellow.is-glowing{box-shadow:var(--lp-glow-yellow)}.lp-pill--ghost{background:var(--lp-raised);color:var(--lp-text)}.lp-pill--sm{padding:5px var(--lp-sp-3);font-size:var(--lp-fs-xs)}.lp-card{--card-accent: var(--lp-text-3);width:250px;flex:none}.lp-card__bar{width:148px;height:5px;border-radius:var(--lp-r-pill);background:var(--card-accent);margin-bottom:var(--lp-sp-3)}.lp-card__date{font-size:var(--lp-fs-xs);color:var(--lp-text-2);letter-spacing:var(--lp-tracking-wide);margin-bottom:var(--lp-sp-1)}.lp-card__title{font-size:var(--lp-fs-xl);font-weight:var(--lp-fw-reg);line-height:var(--lp-lh-tight);margin:0}.lp-card__subtitle{font-size:var(--lp-fs-sm);color:var(--lp-text-2);margin:2px 0 var(--lp-sp-5) var(--lp-sp-1)}.lp-card__list{display:flex;flex-direction:column;gap:var(--lp-sp-4)}.lp-card--violet{--card-accent: var(--lp-violet)}.lp-card--yellow{--card-accent: var(--lp-yellow-dim)}.lp-card--orange{--card-accent: linear-gradient(90deg, var(--lp-orange), #7A3E03)}.lp-card--neutral{--card-accent: #5E5E62}.lp-card--orange .lp-card__bar{background:linear-gradient(90deg,var(--lp-orange),#7A3E03)}.lp-card.is-past{opacity:.38;pointer-events:none}.lp-timeline{position:relative}.lp-timeline__strip{display:flex;align-items:flex-start;gap:var(--lp-sp-2);padding:var(--lp-sp-4) var(--lp-sp-3)}.lp-timeline__days{flex:1;display:grid;grid-template-columns:repeat(10,1fr)}.lp-timeline__col{display:flex;flex-direction:column;align-items:center}.lp-timeline__lane{display:grid;grid-template-columns:repeat(10,1fr);border-top:1px solid var(--lp-line);min-height:108px}.lp-timeline__cell{border-right:1px solid var(--lp-line);display:flex;flex-direction:column;align-items:center;gap:var(--lp-sp-2);padding:var(--lp-sp-4) var(--lp-sp-2)}.lp-timeline__cell:first-child{border-left:1px solid var(--lp-line)}.lp-timeline__cell.is-active{background:#ffffff06}.lp-timeline__cards{display:flex;gap:var(--lp-sp-7);padding:var(--lp-sp-6) var(--lp-sp-5);overflow-x:auto;scrollbar-width:none}.lp-timeline__cards::-webkit-scrollbar{display:none}.lp-timeline__cards--masked{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}html,body,#root{height:100%;margin:0;overflow:hidden}input,textarea,button,select{font-family:inherit}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}@keyframes weekSlideRa{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}@keyframes weekSlideRb{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}@keyframes weekSlideLa{0%{transform:translate(-48px);opacity:0}to{transform:none;opacity:1}}@keyframes weekSlideLb{0%{transform:translate(-48px);opacity:0}to{transform:none;opacity:1}}@keyframes twinPulse{0%{box-shadow:0 0 0 0 var(--pulse, transparent)}70%{box-shadow:0 0 0 9px transparent}to{box-shadow:0 0 0 0 transparent}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app{display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--t1);color-scheme:dark}.app.light{color-scheme:light}.tab{border:0;background:transparent;cursor:pointer;font:inherit}.app__main{flex:1;position:relative;overflow:hidden}.auth-gate{align-items:center;justify-content:center;padding:0 16px}.auth-gate__card{width:100%;max-width:380px;padding:32px}.auth-gate__logo{margin-bottom:6px}.auth-gate__subtitle{margin:0 0 24px;color:var(--t2);font-size:14px}.auth-gate__form{display:flex;flex-direction:column;gap:16px}.auth-gate__field{display:flex;flex-direction:column;gap:6px}.auth-gate__error{margin:0;padding:8px 12px;border-radius:10px;border:1px solid var(--a-line);background:var(--a-soft);color:var(--t1);font-size:13px}.auth-gate__submit{width:100%}.auth-gate__submit:disabled{opacity:.6;cursor:default}.auth-gate__toggle{margin-top:16px;background:none;border:none;color:var(--t2);font-size:13px;cursor:pointer;width:100%;text-align:center}.auth-gate__toggle:hover{color:var(--t1)}.auth-gate__loading{color:var(--t2);font-size:14px}@media (max-width: 640px){.topbar{padding:0 10px;grid-template-columns:auto 1fr auto;gap:8px}.topbar .logo-text,.topbar .sync-text{display:none}.topbar .tabs{justify-self:center;min-width:0}.topbar .tabs{padding:3px;gap:0}.topbar .tab{padding:6px 8px;font-size:12px;gap:5px}.topbar .tab.on:before{display:none}.topbar .tb-right{gap:6px}.topbar .tb-right .iconbtn{width:28px;height:28px}.topbar .tb-right .btn.sm{padding:0 9px;font-size:12px}}.mindmap{--mm-bg: #F2F1EF;--mm-ink: #17171a;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--mm-bg);background-image:radial-gradient(circle,rgba(0,0,0,.14) 1px,transparent 1px);background-size:22px 22px;cursor:grab}.mindmap.is-panning{cursor:grabbing}.mindmap__world{position:absolute;left:0;top:0;transform-origin:0 0}.mindmap__edges{position:absolute;left:0;top:0;width:4000px;height:3000px;overflow:visible;pointer-events:none}.mindmap-node{position:absolute;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s var(--ease)}.mindmap-node.is-root{background:linear-gradient(180deg,var(--s3),var(--s2));color:var(--t1);border:1px solid var(--line2);border-radius:var(--lp-r-pill);padding:10px 28px;font-weight:var(--lp-fw-med);box-shadow:inset 0 1px 0 var(--hl),0 6px 16px -6px #14141e73}.mindmap-node.is-child{background:#fff;color:var(--mm-ink);border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:8px 18px;box-shadow:0 1px 2px #00000014,0 6px 14px -8px #1e1e2d40}.mindmap-node.is-selected{outline:2px solid var(--a);outline-offset:2px;box-shadow:0 0 0 6px var(--a-soft)}.mindmap-node.is-drop-target{outline:2px dashed var(--a);outline-offset:3px}.mindmap-node.is-twin-pulse{animation:twinPulse 1.2s ease-out}.mindmap-node__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;letter-spacing:-.01em}.mindmap-node__badge-todo{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--a);border:1.5px solid var(--mm-bg)}.mindmap-node__badge-deadline{position:absolute;bottom:-9px;right:6px;background:#fff;color:var(--mm-ink);border:1px solid rgba(0,0,0,.12);padding:0 5px;border-radius:6px;font-family:Geist Mono,ui-monospace,monospace;font-size:9px;font-weight:var(--lp-fw-med)}.mindmap-node__edit{background:transparent;border:none;color:inherit;font:inherit;text-align:center;width:100%;outline:none}.postit{position:absolute;width:200px;height:200px;display:flex;flex-direction:column;background:linear-gradient(180deg,#faf0a4,#f7ea8c 40%,#f0e072);border-radius:4px;box-shadow:0 8px 18px -6px #3c320059,0 1px 3px #00000024;cursor:grab;-webkit-user-select:none;user-select:none}.postit:active{cursor:grabbing}.postit__bar{display:flex;justify-content:flex-end;height:22px;padding:2px 4px;flex:none}.postit__delete{border:none;background:transparent;color:#00000073;font-size:15px;line-height:1;padding:2px 5px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .12s ease}.postit:hover .postit__delete,.postit__delete:focus-visible{opacity:1}.postit__delete:hover{background:#00000014;color:#000000b3}.postit__text{flex:1;border:none;background:transparent;resize:none;outline:none;padding:0 12px 12px;font:inherit;font-size:13px;line-height:1.45;color:#3a3418;cursor:text}.postit__text::placeholder{color:#3a341880}.mindmap-postit-add{position:absolute;left:20px;bottom:20px;z-index:15;border:1px solid rgba(60,50,0,.18);background:linear-gradient(180deg,#faf0a4,#f7ea8c);color:#3a3418;font:inherit;font-size:13px;font-weight:var(--lp-fw-med);height:36px;padding:0 16px;border-radius:12px;cursor:pointer;box-shadow:inset 0 1px #ffffff8c,0 4px 12px -4px #3c320059;transition:box-shadow .15s var(--ease),transform .15s var(--ease)}.mindmap-postit-add:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff8c,0 6px 14px -4px #3c320066}.mindmap-postit-add:focus-visible{outline:2px solid var(--a);outline-offset:2px}.postit-window{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#faf0a4,#f7ea8c);-webkit-app-region:drag}.postit-window__grip{height:24px;flex:none;background-image:radial-gradient(circle,rgba(0,0,0,.22) 1px,transparent 1px);background-size:5px 5px;background-position:center;background-repeat:repeat-x;background-position-y:12px;margin:0 70px}.postit-window__text{flex:1;margin:0 12px 12px;-webkit-app-region:no-drag;border:none;background:transparent;resize:none;outline:none;font:inherit;font-size:14px;line-height:1.45;color:#3a3418}.postit-window__text::placeholder{color:#3a341880}.detail-panel{position:absolute;right:0;top:0;bottom:0;width:min(360px,100%);border-radius:20px 0 0 20px;border-right:0;overflow-y:auto;z-index:20;padding:24px;transition:transform var(--lp-t-med) var(--lp-ease)}.detail-panel.is-closed{transform:translate(100%);pointer-events:none;box-shadow:none}.detail-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:20px}.detail-panel__name{background:transparent;border:none;color:var(--t1);font-family:inherit;font-size:var(--lp-fs-lg);font-weight:var(--lp-fw-med);letter-spacing:-.01em;flex:1;min-width:0;outline:none}.detail-panel__name:focus-visible{box-shadow:0 2px 0 var(--a-line)}.detail-panel__close{flex:none;font-size:15px}.detail-panel__section{margin-bottom:20px}.detail-panel__label{margin-bottom:6px}.detail-panel__input.field,.detail-panel__textarea.field{height:38px;font-size:var(--lp-fs-xs);font-family:inherit}.detail-panel__textarea.field{height:auto;min-height:100px;resize:vertical;line-height:1.6}.detail-panel__add{flex:none}.detail-panel__todo-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.detail-panel__todo-text{flex:1;min-width:0;background:transparent;border:none;color:var(--t1);font-family:inherit;font-size:var(--lp-fs-sm);outline:none}.detail-panel__todo-date.field{width:100px;height:28px;padding:0 8px;border-radius:8px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;color:var(--t2);flex:none}.detail-panel__todo-del{background:transparent;border:none;color:var(--t3);cursor:pointer;border-radius:6px}.detail-panel__todo-del:hover{color:var(--t1);background:var(--wash)}.detail-panel__twin{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--s2);border:1px solid var(--line);border-radius:12px;margin-bottom:6px;cursor:pointer;transition:border-color .15s var(--ease)}.detail-panel__twin:hover{border-color:var(--line2)}.detail-panel__twin-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.node-done-seal{position:absolute;left:-14px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--a);box-shadow:0 0 0 3px var(--mm-bg, var(--bg)),0 4px 10px -2px var(--a);display:grid;place-items:center;z-index:1}.node-done-seal svg{fill:none;stroke:var(--a-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.project-node{position:absolute;background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);color:var(--t1);border-radius:36px;padding:22px 28px 28px;box-shadow:inset 0 1px 0 var(--hl),0 2px 6px #0000002e,0 14px 34px #00000047;cursor:grab;-webkit-user-select:none;user-select:none}.project-node.is-selected{outline:2px solid var(--a);outline-offset:3px;box-shadow:inset 0 1px 0 var(--hl),0 0 0 7px var(--a-soft),0 14px 34px #00000047}.project-node.is-drop-target{outline:2px dashed var(--a);outline-offset:4px}.project-node__port{position:absolute;left:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--a);box-shadow:0 0 8px var(--a)}.project-node__bar{height:5px;border-radius:var(--lp-r-pill);background:var(--track);overflow:hidden;margin:0 0 14px 14px}.project-node__bar-fill{height:100%;background:var(--a);border-radius:var(--lp-r-pill);transition:width var(--lp-t-med) var(--lp-ease)}.project-node__date{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--lp-fs-xs);color:var(--t2);margin-left:16px}.project-node__title,.project-node__title-edit{font-size:var(--lp-fs-xl);font-weight:var(--lp-fw-reg);line-height:1.2;margin:2px 0 0 16px;letter-spacing:-.01em;word-break:break-word}.project-node__title-edit{width:calc(100% - 16px);background:transparent;border:none;border-bottom:1px solid var(--a-line);color:inherit;font-family:inherit;outline:none;padding:0}.project-node__subtitle{font-size:var(--lp-fs-xs);color:var(--t2);margin:2px 0 14px 14px}.project-node__stages{display:flex;flex-direction:column;gap:10px}.project-node__stage{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;background:var(--wash);border:1px solid var(--line2);border-radius:14px;color:var(--t1);font:inherit;font-size:var(--lp-fs-md);text-align:left;cursor:pointer;transition:border-color var(--lp-t-fast) var(--lp-ease),background var(--lp-t-fast) var(--lp-ease)}.project-node__stage:hover{border-color:var(--a-line);background:var(--a-soft)}.project-node__stage:focus-visible{outline:2px solid var(--a);outline-offset:2px}.project-node__stage.is-complete{border-color:var(--line);color:var(--t2)}.project-node__stage-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-node__stage-date{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--lp-fs-2xs);color:var(--t3);white-space:nowrap}.project-node__stage-check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--a);display:grid;place-items:center}.project-node__stage-check svg{fill:none;stroke:var(--a-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.project-node__todos{display:flex;flex-direction:column;gap:10px;padding:10px 0 4px 38px;position:relative}.project-node__todo{position:relative;font-size:var(--lp-fs-sm)}.project-node__todo:before{content:"";position:absolute;left:-18px;top:-16px;width:16px;height:27px;border-left:1.5px solid var(--line2);border-bottom:1.5px solid var(--line2);border-bottom-left-radius:4px}.project-node__todo .box{width:19px;height:19px}.project-node__empty{font-size:var(--lp-fs-xs);color:var(--t3);font-style:italic;margin-left:14px}.progress-ring{flex:none}.progress-ring circle{fill:none;stroke-width:3}.progress-ring__track{stroke:var(--track)}.progress-ring__value{stroke:var(--a);stroke-linecap:round;transition:stroke-dasharray var(--lp-t-med) var(--lp-ease)}.create-node-menu{position:absolute;z-index:15;width:250px;max-width:calc(100% - 16px);padding:6px;cursor:default}.create-node-menu__option{width:100%;display:flex;align-items:center;gap:12px;padding:9px 10px;background:transparent;border:none;border-radius:10px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease)}.create-node-menu__option:hover,.create-node-menu__option:focus-visible{background:var(--wash);outline:none}.create-node-menu__option:focus-visible{box-shadow:inset 0 0 0 2px var(--a)}.create-node-menu__icon{flex:none;width:26px;height:18px}.create-node-menu__icon--main{border-radius:var(--lp-r-pill);background:linear-gradient(180deg,var(--pri1),var(--pri2));border:1px solid var(--line2)}.create-node-menu__icon--project{height:26px;border-radius:8px;background:var(--s1);border:1.5px solid var(--line2);box-shadow:inset 0 4px 0 -1px var(--a)}.create-node-menu__label{display:block;font-size:var(--lp-fs-sm)}.create-node-menu__hint{display:block;font-size:var(--lp-fs-2xs);color:var(--t2)}.create-node-menu__form{display:flex;flex-direction:column;gap:10px;padding:8px}.create-node-menu__title{font-size:var(--lp-fs-sm);font-weight:var(--lp-fw-med)}.create-node-menu__field{display:flex;flex-direction:column;gap:6px}.create-node-menu__form .field{height:38px;font-family:inherit}.create-node-menu__actions{display:flex;justify-content:space-between;gap:8px}.create-node-menu__submit:disabled{opacity:.4;cursor:not-allowed}.detail-panel__hint{font-size:var(--lp-fs-xs);color:var(--t3)}.detail-panel__stage{padding:10px 12px;margin-bottom:10px;background:var(--s2);border:1px solid var(--line);border-radius:12px}.detail-panel__stage-head{display:flex;align-items:center;gap:8px}.detail-panel__stage-name{flex:1;min-width:0;background:transparent;border:none;color:var(--t1);font-family:inherit;font-size:var(--lp-fs-sm);font-weight:var(--lp-fw-med);outline:none}.detail-panel__stage-meta{display:flex;align-items:center;gap:8px;margin:6px 0 2px;flex-wrap:wrap}.detail-panel__stage-note{flex:1;font-size:10px;color:var(--t3)}.timeline-stage{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px 9px 12px;background:var(--s2);border:1px solid var(--line);border-radius:12px;color:var(--t1);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.timeline-stage:hover{border-color:var(--line2);background:var(--s3)}.timeline-stage:focus-visible{outline:2px solid var(--a);outline-offset:2px}.timeline-stage.is-complete{color:var(--t3)}.timeline-stage__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);color:var(--t1)}.timeline-view__header{flex-shrink:0;padding:24px 20px 0}.timeline-view__nav-row{display:flex;align-items:flex-start;gap:8px;padding-bottom:20px}.timeline-view__nav-btn{flex-shrink:0;align-self:stretch;width:38px;height:auto;border-radius:14px;color:var(--t2)}.timeline-view__nav-btn:hover{color:var(--t1)}.timeline-view__days{flex:1;min-width:0;display:grid;gap:8px}.timeline-view__days .day{cursor:default;min-width:0}.timeline-view__days .day .num{width:100%;max-width:64px}.timeline-view__days .day .nm{font-size:12px}.timeline-view__lane-row{flex-shrink:0;display:flex;align-items:stretch;gap:8px;padding:0 20px}.timeline-view__lane{flex:1;min-width:0;display:grid;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);min-height:100px}.timeline-view__lane-cell{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 6px}.timeline-view__chip{position:relative;max-width:120px;padding:5px 10px 5px 20px;font:inherit;font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s var(--ease),background .15s var(--ease)}.timeline-view__chip:before{content:"";position:absolute;left:8px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--chip-c, var(--t3))}.timeline-view__chip:hover{border-color:var(--line2)}.timeline-view__chip:focus-visible{outline:2px solid var(--a);outline-offset:2px}.timeline-view__cards{flex:1;overflow:auto;display:flex;gap:20px;padding:24px 20px;align-items:flex-start}.timeline-card{flex:none;padding:16px;border-radius:18px;background:var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl)}.timeline-card.is-past{opacity:.45;pointer-events:none}.timeline-card__bar{width:56px;height:4px;border-radius:999px;margin-bottom:12px}.timeline-card__head{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.timeline-card__head:focus-visible{outline:2px solid var(--a);outline-offset:4px;border-radius:8px}.timeline-card__date{margin-bottom:8px}.timeline-card__title{margin:0;font-size:20px;font-weight:400;line-height:1.2;color:var(--t1)}.timeline-card__subtitle{margin:4px 0 16px;font-size:13px;color:var(--t2)}.timeline-card__list{display:flex;flex-direction:column;gap:12px}.timeline-check{font-size:14px;color:var(--t1)}.timeline-check .txt{min-width:0;overflow-wrap:anywhere}.timeline-check.is-past{color:var(--t3);pointer-events:none}@media (max-width: 700px){.timeline-view{overflow-x:auto;overflow-y:hidden}.timeline-view__header,.timeline-view__lane-row{min-width:640px}.timeline-view__cards{min-width:0}}.daily-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.daily-view__toolbar{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:20px 24px 14px}.daily-view__clock{flex:1;display:flex;justify-content:flex-start}.daily-view__pill{background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl);border-radius:999px;padding:7px 20px;font-size:18px;font-weight:500;letter-spacing:.06em;color:var(--t1)}.daily-view__week-nav{gap:8px}.daily-view__week-nav .lbl{white-space:nowrap}.daily-view__today-btn{margin-left:6px;background:var(--a-soft);border-color:var(--a-line);color:var(--t1)}.daily-view__timer{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:8px}.daily-view__grid-wrap{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.daily-view__day-headers{flex-shrink:0;display:flex;padding:0 24px}.daily-view__day-header{flex:1;min-width:0;gap:5px;padding-bottom:12px;font:inherit}.daily-view__day-header .nm{font-size:12px}.daily-view__day-header .num{width:40px;height:40px;border-radius:12px;font-size:18px;font-weight:300;font-family:Geist Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.daily-view__scroll{flex:1;overflow-y:auto;padding:10px 24px 24px}.daily-view__grid{display:flex;position:relative}.daily-view__hours{width:56px;flex-shrink:0}.daily-view__hour-label{height:48px;position:relative}.daily-view__hour-label span{position:absolute;top:-7px;right:10px;font-size:10px;color:var(--t3)}.daily-view__col{flex:1;min-width:0;position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0px,var(--line) 1px,transparent 1px,transparent 48px);cursor:copy}.daily-view__col.is-today{background-color:var(--wash)}.daily-view__now-line{position:absolute;left:48px;right:0;z-index:3;pointer-events:none;display:flex;align-items:center}.daily-view__now-dot{width:8px;height:8px;border-radius:50%;background:var(--a);box-shadow:0 0 8px var(--a);margin-top:-3px}.daily-view__now-bar{flex:1;height:1.5px;background:linear-gradient(90deg,var(--a),var(--a-soft));margin-top:-3px}.daily-block{position:absolute;left:4px;right:4px;border-radius:8px;padding:5px 8px;cursor:pointer;overflow:hidden;z-index:2}.daily-block:hover{filter:brightness(1.12)}.daily-block__title{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-block__time{font-size:10px;white-space:nowrap}.daily-block__verified{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:999px;background:var(--a);display:flex;align-items:center;justify-content:center;pointer-events:none}.daily-block__verified svg{stroke:var(--a-ink)}.daily-block__resize{position:absolute;left:0;right:0;bottom:0;height:6px;cursor:ns-resize}.daily-view__panel{flex-shrink:0;height:33%;border-top:1px solid var(--line2);background:var(--s1);display:flex;gap:40px;padding:16px 24px;overflow-x:auto;align-items:stretch}.daily-view__panel-empty{display:flex;align-items:center;justify-content:center;width:100%;font-size:13px;color:var(--t3)}@media (max-width: 700px){.daily-view__toolbar{padding:14px 16px 10px}.daily-view__clock,.daily-view__timer{flex:none}.daily-view__pill{font-size:15px;padding:6px 14px}.daily-view__day-headers{padding:0 16px}.daily-view__scroll{padding:10px 16px 24px}.daily-view__panel{padding:12px 16px;gap:24px}.daily-view__day-header .num{width:32px;height:32px;font-size:14px;border-radius:10px}.daily-view__day-header .nm{font-size:10px}.daily-view__hours{width:40px}.daily-view__day-headers>div:first-child{width:40px!important}.daily-view__hour-label span{right:6px}.daily-view__now-line{left:32px}}.block-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px}.block-modal{width:440px;max-width:100%;max-height:82%;overflow-y:auto;padding:24px}.block-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.block-modal__title{font-size:17px;font-weight:600}.block-modal__close{font-size:15px;line-height:1}.block-modal__kind-toggle{margin-bottom:16px}.block-modal__field{margin-bottom:14px}.block-modal__label{margin-bottom:6px}.block-modal__input,.block-modal__select{height:38px;border-radius:10px;font-size:13px}.block-modal__row{display:flex;gap:10px;margin-bottom:14px}.block-modal__row>div{min-width:0}.block-modal__freq-btns{display:flex;flex-wrap:wrap;gap:6px}.block-modal__freq-btn,.block-modal__weekday{cursor:pointer;justify-content:center;color:var(--t2)}.block-modal__freq-btn{border-radius:999px;padding:6px 12px}.block-modal__weekday{width:40px;padding:7px 0;font-size:11px}.block-modal__freq-btn.a,.block-modal__weekday.a{color:var(--t1)}.block-modal__result{display:flex;flex-direction:column;align-items:flex-start;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:8px 12px;cursor:pointer;text-align:left;color:var(--t1)}.block-modal__result:hover{background:var(--wash)}.block-modal__danger{color:var(--danger, #E05C5C)}.block-modal__footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.block-modal__save{margin-left:auto}.timer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.timer-overlay__card{width:340px;max-width:100%;background:linear-gradient(180deg,var(--g1),var(--g2)),var(--s1);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--hl),var(--shadow-lg);color:var(--t1);border-radius:20px;padding:28px;text-align:center}.timer-overlay__icon{width:52px;height:52px;border-radius:50%;background:var(--a-soft);border:1px solid var(--a-line);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--a);font-size:24px}.timer-overlay__title{font-size:18px;font-weight:600;margin-bottom:6px}.timer-overlay__text{font-size:13px;color:var(--t2);line-height:1.5;margin-bottom:20px}.timer-overlay__actions{display:flex;gap:8px;justify-content:center}.timer-overlay__btn{height:36px;border-radius:12px;font-size:13px;font-weight:500;padding:0 18px;cursor:pointer}.timer-overlay__btn--ghost{background:linear-gradient(180deg,var(--btn1),var(--btn2));border:1px solid var(--line);color:var(--t1)}.timer-overlay__btn--primary{background:var(--a);border:1px solid transparent;color:var(--a-ink);font-weight:600}@media (prefers-reduced-motion: reduce){.app *,.app *:before,.app *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
