@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-ext-400-normal-Bo67NYBq.woff2)format("woff2"),url(/assets/golos-text-cyrillic-ext-400-normal-D592xEk3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2)format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-ext-400-normal-BjKcJWKY.woff2)format("woff2"),url(/assets/golos-text-latin-ext-400-normal-BXgyX_iE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2)format("woff2"),url(/assets/golos-text-latin-400-normal-DOuJOmdK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-cyrillic-ext-500-normal-CLsu_eDI.woff2)format("woff2"),url(/assets/golos-text-cyrillic-ext-500-normal-InHNvB7v.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2)format("woff2"),url(/assets/golos-text-cyrillic-500-normal-hXinzVVQ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-latin-ext-500-normal-9vZPKadr.woff2)format("woff2"),url(/assets/golos-text-latin-ext-500-normal-BmtMVntR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-latin-500-normal-BznAvurO.woff2)format("woff2"),url(/assets/golos-text-latin-500-normal-BQo4s7Kn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-ext-600-normal-uuhKjiyO.woff2)format("woff2"),url(/assets/golos-text-cyrillic-ext-600-normal-rSWq63aw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2)format("woff2"),url(/assets/golos-text-cyrillic-600-normal-BgvEFMNR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-ext-600-normal-DLLCs_GQ.woff2)format("woff2"),url(/assets/golos-text-latin-ext-600-normal-C6iohuVX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-600-normal-Bhk8uV1U.woff2)format("woff2"),url(/assets/golos-text-latin-600-normal-B_o32mE8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f5f4;--card:#fff;--text:#15201c;--muted:#54615c;--line:#dde3e0;--line-strong:#c4cdc9;--accent:#0f6b4f;--accent-hover:#0c5940;--accent-soft:#e3f0eb;--doing-text:#8a3f06;--doing-bg:#fbebd9;--danger:#a3302a;--danger-soft:#f8e5e3;--radius:10px;--radius-sm:6px;--tap:44px;--shadow:0 1px 2px #15201c0f, 0 1px 1px #15201c0a;--focus:0 0 0 3px #0f6b4f47;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:Golos Text,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-width:360px}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:1.375rem}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus);outline:none}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:56px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--accent);margin-right:8px;font-size:1.125rem;font-weight:600}.tabs{gap:4px;display:flex}.tab{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.tab:hover{color:var(--text);background:var(--bg)}.tab[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.topbar .spacer{flex:1}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 16px 32px}.bottombar{display:none}@media (width<=720px){.topbar .tabs{display:none}.bottombar{z-index:20;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:sticky;bottom:0}.bottombar .tab{border-radius:0;flex:1;justify-content:center;min-height:56px;padding:0 4px;font-size:.875rem}.bottombar .tab[aria-current=page]{box-shadow:inset 0 3px 0 var(--accent);background:0 0}.main{padding:16px 16px 24px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:.875rem}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--card);color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger);background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg);border-color:#0000}.notice{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);padding:12px 16px}.notice.error{background:var(--danger-soft);color:var(--danger)}.placeholder{text-align:center;padding:48px 20px}.stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.stat{border-radius:var(--radius-sm);background:var(--bg);padding:12px}.stat b{font-size:1.25rem;font-weight:600;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spacer{flex:1}body.no-scroll{overflow:hidden}.link{min-height:var(--tap);color:var(--accent);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.link:hover{text-decoration:underline}.icon-btn{width:var(--tap);padding:0}.danger-hover{color:var(--muted)}.danger-hover:hover{color:var(--danger);background:var(--danger-soft)}.pill{background:var(--bg);min-height:28px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:.875rem;font-weight:500;display:inline-flex}.pill-achieved{background:var(--accent-soft);color:var(--accent)}input:not([type=checkbox]):not([type=radio]),textarea,select{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);width:100%;padding:8px 12px}textarea{resize:vertical;line-height:1.45}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:.875rem;font-weight:500}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=520px){.field-row{grid-template-columns:1fr}}.add-input{gap:8px;display:flex}.add-input input{flex:1;min-width:0}@media (width<=520px){.hide-sm{display:none}}.inline-text{width:100%;min-height:var(--tap);border-radius:var(--radius-sm);text-align:left;cursor:text;overflow-wrap:anywhere;white-space:pre-wrap;background:0 0;border:0;margin:0 -8px;padding:8px;display:block}.inline-text:hover{background:var(--bg)}.inline-text.empty{color:var(--muted)}.inline-input{margin:0 -8px;width:calc(100% + 16px)!important}.h1{font-size:1.375rem;font-weight:600;line-height:1.25}.h2{font-size:1.0625rem;font-weight:600}.date-chip{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius-sm);color:var(--text);white-space:nowrap;align-items:center;padding:0 10px;font-size:.875rem;display:inline-flex;position:relative}.date-chip:hover{background:var(--bg)}.date-chip.empty{color:var(--muted)}.date-chip.overdue{color:var(--danger);font-weight:500}.date-chip input[type=date]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.date-chip:focus-within{box-shadow:var(--focus)}.status-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%2354615C' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;background-clip:padding-box;font-size:.875rem;font-weight:500;width:auto!important;min-height:var(--tap)!important;border:4px solid #0000!important;border-radius:999px!important;padding:0 28px 0 10px!important}.status-select.status-todo{background-color:var(--bg);color:var(--muted)}.status-select.status-doing{background-color:var(--doing-bg);color:var(--doing-text)}.status-select.status-done{background-color:var(--accent-soft);color:var(--accent)}.check{width:var(--tap);height:var(--tap);cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.check input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.check-box{border:2px solid var(--line-strong);color:#0000;background:var(--card);border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.check:hover .check-box{border-color:var(--accent)}.check input:checked+.check-box{background:var(--accent);border-color:var(--accent);color:#fff}.check input:focus-visible+.check-box{box-shadow:var(--focus)}.progress{align-items:center;gap:12px;display:flex}.progress-track{background:var(--line);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress.compact .progress-track{height:4px}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.progress-text{white-space:nowrap;font-size:.9375rem;font-weight:600}.goal-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.sidebar{flex-direction:column;gap:12px;max-height:calc(100dvh - 104px);margin:-4px;padding:4px;display:flex;position:sticky;top:80px;overflow-y:auto}.sidebar-title{color:var(--muted);padding:0 4px;font-size:1rem}.goal-list{flex-direction:column;gap:16px;display:flex}.goal-group ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.goal-group-title{color:var(--muted);margin:0 0 6px 4px;font-size:.8125rem;font-weight:500}.goal-item{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--text);border:1px solid #0000;flex-direction:column;gap:6px;padding:10px 12px;text-decoration:none;display:flex}.goal-item:hover{background:var(--card);border-color:var(--line)}.goal-item.selected{background:var(--card);border-color:var(--accent);box-shadow:var(--shadow)}.goal-item-row{align-items:baseline;gap:8px;display:flex}.goal-item-title{overflow-wrap:anywhere;flex:1;font-weight:500}.goal-item-pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.goal-content{min-width:0}.mobile-goalbar{display:none}.drawer-backdrop{z-index:50;background:#15201c59;position:fixed;inset:0}.drawer{background:var(--bg);width:min(86vw,340px);padding:16px;padding-top:max(16px, env(safe-area-inset-top));flex-direction:column;gap:16px;animation:.18s ease-out slide-in;display:flex;position:absolute;inset:0 auto 0 0;overflow-y:auto;box-shadow:4px 0 24px #15201c1f}@keyframes slide-in{0%{transform:translate(-100%)}}@media (width<=900px){.goal-layout{grid-template-columns:minmax(0,1fr);gap:12px}.sidebar{display:none}.mobile-goalbar{align-items:center;gap:12px;min-width:0;display:flex}.mobile-goalbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}}.modal-backdrop{z-index:60;background:#15201c59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius);width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 12px 40px #15201c2e}.modal-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 0 20px;display:flex}.modal-body{padding:12px 20px 20px}.modal-actions{margin-top:4px}@media (width<=600px){.modal-backdrop{place-items:end stretch;padding:0}.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);animation:.18s ease-out slide-up}}@keyframes slide-up{0%{transform:translateY(100%)}}.goal-head{gap:12px}.goal-head-top{align-items:flex-start;gap:8px;display:flex}.goal-head-top .inline-text{flex:1}.goal-meta{gap:4px 12px}.why{flex-direction:column;gap:2px;display:flex}.why .inline-text{color:var(--text)}.subgoals{flex-direction:column;gap:16px;display:flex}.subgoal{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.subgoal.dragging{opacity:.5}.subgoal-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.subgoal-meta{align-items:center;gap:2px;display:flex}.pct{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:.875rem;font-weight:600}.drag-handle{width:32px;min-width:32px;height:var(--tap);border-radius:var(--radius-sm);color:var(--line-strong);cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover{color:var(--muted);background:var(--bg)}.drag-handle:active{cursor:grabbing}.tasks{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tasks-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);text-align:center;padding:12px}.task{border-top:1px solid var(--line);background:var(--card);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:0 4px;padding:2px 0;display:grid}.task:first-child{border-top:0}.task-title{padding-left:4px}.task-meta{align-items:center;gap:4px;display:flex}.task-done .task-title,.task-done .task-title-static{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.task-doing{box-shadow:inset 3px 0 0 var(--doing-text)}.drag-ghost{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:grabbing;align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:0 8px 24px #15201c29}.task-title-static{flex:1}.add-subgoal{padding:12px 16px}@media (width<=640px){.card{padding:16px}.subgoal{padding:8px 12px 12px}.subgoal-head{grid-template-columns:auto minmax(0,1fr)}.subgoal-meta{grid-column:2;justify-content:flex-start;margin-left:-10px}.pct{text-align:left}.task{grid-template-columns:auto auto minmax(0,1fr)}.task-meta{grid-column:3;margin-left:-6px;padding-bottom:4px}}.wrap{overflow-wrap:anywhere}.text{color:var(--text)}.saved{color:var(--accent);font-weight:500}.notice.soft{background:var(--doing-bg);color:var(--text);border:1px solid #f1d4b3}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}.scale{flex-direction:column;gap:8px;display:flex}.scale legend{margin-bottom:8px}.scale-buttons{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.scale-btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;font-variant-numeric:tabular-nums;place-items:center;min-height:52px;font-size:1.0625rem;font-weight:600;display:grid;position:relative}.scale-btn input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.scale-btn:hover{border-color:var(--muted)}.scale-btn:focus-within{box-shadow:var(--focus)}.scale-btn.on.neg{background:var(--doing-bg);border-color:var(--doing-text);color:var(--doing-text)}.scale-btn.on.zero{background:var(--bg);border-color:var(--muted)}.scale-btn.on.pos{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.scale-ends{justify-content:space-between;display:flex}.scale-current{min-height:1.45em;font-weight:500}.ribbon{flex-direction:column;gap:8px;display:flex}.ribbon-tip{min-height:1.45em;font-size:.9375rem}.ribbon-svg{width:100%;height:auto;display:block;overflow:visible}.ribbon-svg .grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4}.ribbon-svg .axis{stroke:var(--line-strong);stroke-width:1px}.ribbon-svg .bar-pos{fill:var(--accent)}.ribbon-svg .bar-neg{fill:var(--doing-text)}.ribbon-svg .bar-zero{fill:var(--muted)}.ribbon-svg .empty-dot{fill:var(--line-strong)}.ribbon-svg .hover-band{fill:var(--bg)}.ribbon-svg .tick{fill:var(--muted);font-size:12px}.ribbon-legend{flex-wrap:wrap;gap:16px;display:flex}.ribbon-legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;width:10px;height:10px;display:inline-block}.sw.pos{background:var(--accent)}.sw.neg{background:var(--doing-text)}.sw.none{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.question{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.question legend{float:left;width:100%;margin-bottom:10px;font-weight:500}.question legend+*{clear:both}.segmented{flex-wrap:wrap;gap:6px;display:flex}.seg{min-height:var(--tap);border:1px solid var(--line-strong);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;padding:0 14px;display:inline-flex;position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg:hover{border-color:var(--muted)}.seg:focus-within{box-shadow:var(--focus)}.seg.on{background:var(--accent);border-color:var(--accent);color:#fff}.own-summary{background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.own-counts{flex-wrap:wrap;gap:20px;display:flex}.own-counts b{margin-right:4px;font-size:1.25rem;font-weight:600}.own-actions{border-top:1px solid var(--line);gap:8px;padding-top:12px}.entries{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.entry{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding:12px 0;display:flex}.entry:first-child{border-top:0;padding-top:0}.entry-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.entry-date{font-weight:500}.entry-text{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:48px}.score-badge{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:38px;height:28px;font-size:.875rem;font-weight:600;display:inline-grid}.score-badge.score-pos{background:var(--accent-soft);color:var(--accent)}.score-badge.score-neg{background:var(--doing-bg);color:var(--doing-text)}.score-badge.score-zero{background:var(--bg);color:var(--muted)}@media (width<=520px){.entry-text{padding-left:0}}.network{flex-direction:column;gap:12px;height:calc(100dvh - 104px);min-height:440px;display:flex}.network-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.network-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.125rem;overflow:hidden}.network-legend{flex-wrap:wrap;gap:14px;display:flex}.network-legend span{align-items:center;gap:6px;display:inline-flex}.lg-solid,.lg-dashed{border-top:2px solid #9aa6a1;width:22px;display:inline-block}.lg-dashed{border-top:2px dashed var(--muted)}.lg-doing{background:var(--doing-bg);border:1px solid var(--doing-text);border-radius:3px;width:14px;height:10px;display:inline-block}.network-canvas{border:1px solid var(--line);border-radius:var(--radius);background:#fafbfa;flex:1;min-height:0;position:relative;overflow:hidden}.network-hint{pointer-events:none;max-width:calc(100% - 24px);margin:0;position:absolute;top:8px;left:12px}.network-toast{z-index:10;border-radius:var(--radius-sm);background:var(--text);color:#fff;box-shadow:var(--shadow);padding:10px 16px;position:absolute;top:40px;left:50%;transform:translate(-50%)}@media (width<=900px){.network{height:calc(100dvh - 201px);min-height:380px}.network-title{display:none}}.network-canvas .react-flow{--xy-node-border-radius:8px;font-family:inherit}.network-canvas .react-flow__node{cursor:grab}.network-canvas .react-flow__node:active{cursor:grabbing}.network-canvas .react-flow__controls{box-shadow:var(--shadow);border-radius:var(--radius-sm);overflow:hidden}.network-canvas .react-flow__controls-button{width:var(--tap);height:var(--tap);border-bottom:1px solid var(--line)}.network-canvas .react-flow__controls-button svg{max-width:14px;max-height:14px}.nf-node{min-height:var(--tap);background:var(--card);border:1px solid var(--line-strong);box-shadow:var(--shadow);color:var(--text);border-radius:8px;flex-direction:column;justify-content:center;gap:4px;padding:8px 12px;display:flex;position:relative}.network-canvas .react-flow__node.selected .nf-node{box-shadow:var(--focus)}.nf-title{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.3}.nf-sub{color:var(--muted);font-size:12px}.nf-from{color:var(--muted);text-transform:none;font-size:11px}.nf-goal{background:var(--accent);border-color:var(--accent);color:#fff;text-align:center;width:220px;min-height:64px}.nf-goal .nf-title{font-size:15px;font-weight:600}.nf-goal .nf-sub{color:#fffc}.nf-subgoal{border-left:4px solid var(--accent);width:200px;min-height:56px}.nf-subgoal .nf-title{font-weight:600}.nf-bar{background:var(--line);border-radius:99px;height:3px;overflow:hidden}.nf-bar span{background:var(--accent);height:100%;display:block}.nf-task{width:180px}.nf-task.nf-doing{background:var(--doing-bg);border-color:var(--doing-text);color:var(--doing-text)}.nf-task.nf-doing .nf-sub{color:var(--doing-text)}.nf-task.nf-done{opacity:.5;box-shadow:none}.nf-task.nf-done .nf-title{text-decoration:line-through}.nf-overdue{color:var(--danger);font-weight:500}.nf-external{background:#fbfcfb;border-style:dashed}.network-canvas .react-flow__handle.h-hidden{opacity:0;border:0;width:1px;min-width:0;height:1px;min-height:0;pointer-events:none!important}.network-canvas .react-flow__handle.h-in{opacity:0;background:0 0;border:0;border-radius:8px;pointer-events:none!important;width:100%!important;height:100%!important;inset:0!important;transform:none!important}.rf-connecting .react-flow__handle.h-in{pointer-events:all!important}.rf-connecting .react-flow__handle.h-in.connectingto,.rf-connecting .react-flow__handle.h-in.valid{opacity:1;outline:2px solid var(--accent);background:#0f6b4f1a}.network-canvas .react-flow__handle.h-out{background:var(--card);border:2px solid var(--accent);width:14px;height:14px;right:-8px}.network-canvas .react-flow__handle.h-out:before{content:"";border-radius:50%;position:absolute;inset:-15px}.network-canvas .react-flow__handle.h-out:hover{background:var(--accent)}.ef-composition{stroke:#b5c0bb!important;stroke-width:1.5px!important}.ef-influence{stroke-dasharray:6 4;stroke:var(--muted)!important;stroke-width:1.5px!important}.ef-label{pointer-events:all;font:inherit;border:1px solid var(--line-strong);background:var(--card);max-width:160px;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:4px 8px;font-size:12px;line-height:1.2;position:absolute;overflow:hidden}.ef-label:before{content:"";position:absolute;inset:-10px}.ef-label.empty{color:var(--muted);border-style:dashed;font-style:italic}.ef-label:hover{border-color:var(--accent)}.add-influence{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}@media (width<=600px){.add-influence{grid-template-columns:1fr}}.influence-row{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:4px;display:flex}.influence-main{min-width:0;min-height:var(--tap);text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:6px 12px;display:flex}.influence-main:hover{background:var(--bg)}.faint{font-style:italic}.edge-ends{grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;display:grid}.edge-arrow{color:var(--muted);padding-top:18px;font-size:1.25rem}.today{max-width:820px;margin:0 auto}.today-head{align-items:flex-end}.today-group{flex-direction:column;gap:4px;padding:12px 16px;display:flex}.today-group h2{padding:4px 0;font-size:1rem}.today-group .count{margin-left:4px;font-weight:500}.overdue-title{color:var(--danger)}.today-list{margin:0;padding:0;list-style:none}.today-item{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:4px 0;display:grid}.today-item:first-child{border-top:0}.today-main{flex-direction:column;min-width:0;padding:4px 0;display:flex}.today-title{overflow-wrap:anywhere;font-weight:500}.today-path{color:var(--muted);overflow-wrap:anywhere;align-items:center;min-height:28px;font-size:.875rem;text-decoration:none;display:inline-flex}.today-path:hover{color:var(--accent);text-decoration:underline}.today-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.today-date{color:var(--text);white-space:nowrap;font-size:.875rem}.today-date.overdue{color:var(--danger);font-weight:500}.pill-doing{background:var(--doing-bg);color:var(--doing-text)}.today-item.is-done .today-title{color:var(--muted);text-decoration:line-through}.today-item.is-done .today-date{color:var(--muted)}.reflect-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reflect-item{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin:0 -8px;padding:6px 8px;text-decoration:none;display:flex}.reflect-item:hover{background:var(--bg)}@media (width<=520px){.today-head .btn{width:100%}.today-item{grid-template-columns:auto minmax(0,1fr)}.today-meta{grid-column:2;justify-content:flex-start;padding-bottom:6px}}
