@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-400-normal-CKu2TFQr.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-400-normal-D9eUeF-O.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-400-normal-a0AnQzuD.woff2) format("woff2"),url(/assets/fira-sans-latin-400-normal-66xCkunx.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-500-normal-CXfldnQ8.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-500-normal-Daski1k2.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-500-normal-Bvbxc8ch.woff2) format("woff2"),url(/assets/fira-sans-latin-500-normal-Bkfzcwmr.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-cyrillic-600-normal-JSBvCpTs.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-600-normal-CJ5P9t7t.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-latin-600-normal-CXKlxLG9.woff2) format("woff2"),url(/assets/fira-sans-latin-600-normal-DtSgd811.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-700-normal-Bl-HczEO.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-700-normal-KyW5QH4H.woff) format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-700-normal-CRhwpWTq.woff2) format("woff2"),url(/assets/fira-sans-latin-700-normal-DgqLm3Fi.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-cyrillic-400-normal-UC0NFL4U.woff2) format("woff2"),url(/assets/fira-code-cyrillic-400-normal-dc1q3VD7.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2) format("woff2"),url(/assets/fira-code-latin-400-normal-C-QZfXAs.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-cyrillic-500-normal-CX35h3Mg.woff2) format("woff2"),url(/assets/fira-code-cyrillic-500-normal-Bu7VCL72.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-latin-500-normal-B6gioGu8.woff2) format("woff2"),url(/assets/fira-code-latin-500-normal-aMLC2AMm.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-cyrillic-600-normal-CPRdbepc.woff2) format("woff2"),url(/assets/fira-code-cyrillic-600-normal-BD56RyRT.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-latin-600-normal-CvYZpPHg.woff2) format("woff2"),url(/assets/fira-code-latin-600-normal-BmSSHshu.woff) format("woff")}:root{--bg: #08090a;--surface: #121316;--surface-2: #1a1c1f;--surface-hover: #17181b;--border: #26282c;--border-strong: #383a40;--text: #ededf0;--muted: #8b8f98;--accent: #5b93f5;--accent-ink: #05070a;--danger: #ef4444;--st-active: #2dd4bf;--st-paused: #fbbf24;--st-done: #94a3b8;--st-idea: #a78bfa;--font-sans: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--radius: 4px;--radius-sm: 3px;--speed: .16s}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.icon{display:block;flex-shrink:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.container{max-width:1200px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:14px;cursor:pointer;transition:background var(--speed) ease,border-color var(--speed) ease,color var(--speed) ease}.btn:hover{border-color:var(--border-strong);background:var(--surface-hover)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn--primary:hover{background:#6ea0f7;border-color:#6ea0f7}.btn--block{width:100%;justify-content:center}.btn--danger{color:var(--danger);border-color:var(--border);background:transparent}.btn--danger:hover{border-color:var(--danger);background:#ef444414}.btn--icon{min-height:0;padding:8px;color:var(--muted)}.btn--icon:hover{color:var(--text)}.btn--ghost{background:transparent}.field{display:block;margin-bottom:16px}.field__label{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--muted)}.field input{width:100%;min-height:42px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:15px;transition:border-color var(--speed) ease}.field input:focus{outline:none;border-color:var(--accent)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login__card{width:100%;max-width:360px;padding:32px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.login__brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px;color:var(--accent)}.login__title{margin-bottom:2px;font-size:22px;font-weight:700;text-align:center;letter-spacing:-.01em}.login__tagline{margin-bottom:24px;font-family:var(--font-mono);font-size:12px;text-align:center;color:var(--muted);letter-spacing:.04em}.login__error{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:9px 11px;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius);font-size:13px;color:var(--danger)}.header{border-bottom:1px solid var(--border);background:var(--surface);padding-top:env(safe-area-inset-top)}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}.header__title-block{display:flex;flex-direction:column;gap:3px}.header__title{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:-.01em}.header__title .icon{color:var(--accent)}.header__by{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.03em}.header__last-sync{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.header__right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header__metrics{display:flex;gap:10px}.metric{min-width:88px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.metric__value{display:block;font-family:var(--font-mono);font-size:20px;font-weight:600;line-height:1.1;color:var(--text)}.metric__value--accent{color:var(--accent)}.metric__label{display:block;margin-top:3px;font-size:11px;color:var(--muted);white-space:nowrap}.filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 16px}.filters__statuses{display:flex;gap:6px;flex-wrap:wrap}.chip-btn{padding:6px 13px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-family:inherit;font-size:13px;cursor:pointer;transition:color var(--speed) ease,border-color var(--speed) ease,background var(--speed) ease}.chip-btn:hover{color:var(--text);border-color:var(--border-strong)}.chip-btn--active{border-color:var(--accent);color:var(--accent);background:#5b93f514}.filters__right{display:flex;align-items:center;gap:10px}.viewtoggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.viewtoggle__btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:background var(--speed) ease,color var(--speed) ease}.viewtoggle__btn+.viewtoggle__btn{border-left:1px solid var(--border)}.viewtoggle__btn:hover{color:var(--text)}.viewtoggle__btn--active{background:#5b93f51a;color:var(--accent)}.graph{border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 50% 40%,rgba(91,147,245,.04),transparent 60%),var(--surface);overflow:hidden}.graph__legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}.graph__legend-item{display:inline-flex;align-items:center;gap:6px}.graph__dot{width:8px;height:8px;border-radius:50%}.graph__hint{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.graph__canvas-wrap{width:100%;height:540px;touch-action:none}.graph__canvas-wrap canvas{display:block}@media (max-width: 720px){.graph__canvas-wrap{height:440px}.graph__hint{display:none}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}.card{display:flex;flex-direction:column;min-width:0;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--speed) ease,background var(--speed) ease}.card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.card--stale{opacity:.62}.card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.card__name{min-width:0;font-size:16px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card__badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.card__focus{margin-bottom:16px;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card__progress-row{margin-top:auto}.card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--muted)}.card__meta .mono{color:var(--text)}.card__updated{display:inline-flex;align-items:center;gap:5px}.card__stack{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 8px;border:1px solid;border-radius:999px;font-family:var(--font-mono);font-size:11px;white-space:nowrap}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge--active{color:var(--st-active);border-color:#2dd4bf66}.badge--paused{color:var(--st-paused);border-color:#fbbf2466}.badge--done{color:var(--st-done);border-color:#94a3b866}.badge--idea{color:var(--st-idea);border-color:#a78bfa66}.badge--stale{color:var(--muted);border-color:var(--border);background:var(--surface-2)}.chip{padding:3px 9px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;color:var(--muted)}.chip--link{cursor:pointer;color:var(--accent);border-color:#5b93f54d;font-family:var(--font-sans);transition:border-color var(--speed) ease,background var(--speed) ease}.chip--link:hover{border-color:var(--accent);background:#5b93f514}.relations{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.relations__label{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--muted);min-width:96px}.relations__items{display:flex;gap:6px;flex-wrap:wrap}.progress{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:999px;transition:width var(--speed) ease}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:10}.panel{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);background:var(--surface);border-left:1px solid var(--border);padding:22px;overflow-y:auto}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel__title{font-size:18px;font-weight:600;letter-spacing:-.01em}.panel__status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.panel__updated{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.panel__progress{display:flex;align-items:center;gap:12px;margin-bottom:4px}.panel__progress .progress{flex:1}.panel__progress-label{font-family:var(--font-mono);font-size:13px;color:var(--text);min-width:40px;text-align:right}.panel__section{margin-top:22px}.panel__section h3{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.panel__section h3 .icon{color:var(--muted)}.panel__section p{font-size:14px;color:var(--text)}.panel__steps li{position:relative;padding:7px 0 7px 18px;border-bottom:1px solid var(--border);font-size:14px}.panel__steps li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.panel__steps li:last-child{border-bottom:none}.panel__blockers li{position:relative;padding:7px 0 7px 18px;border-bottom:1px solid var(--border);font-size:14px;color:var(--st-paused)}.panel__blockers li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--st-paused)}.panel__blockers li:last-child{border-bottom:none}.panel__links{display:flex;gap:10px;flex-wrap:wrap}.panel__links .btn{font-size:13px}.history{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.history__row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border)}.history__row:last-child{border-bottom:none}.history__time{font-family:var(--font-mono);font-size:12px;color:var(--muted);min-width:118px}.history__progress{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--text)}.panel__delete{margin-top:26px}.activity{margin:34px 0 44px;padding-top:20px;border-top:1px solid var(--border)}.activity__title{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:600}.activity__title .icon{color:var(--accent)}.activity__list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.activity__row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.activity__row:last-child{border-bottom:none}.activity__time{font-family:var(--font-mono);color:var(--muted);min-width:118px}.activity__project{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity__progress{margin-left:auto;font-family:var(--font-mono);color:var(--muted)}.alert{display:flex;align-items:center;gap:8px;margin:16px 0;padding:11px 14px;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius);color:var(--danger);font-size:13px}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin:40px auto;max-width:360px;text-align:center;color:var(--muted);font-size:14px}.empty .icon{color:var(--border-strong)}.empty--inline{margin:20px auto}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}.skeleton-card{height:172px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);position:relative;overflow:hidden}.skeleton-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(148,163,184,.06),transparent);transform:translate(-100%);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width: 720px){.grid,.skeleton-grid{grid-template-columns:1fr}.header__inner{flex-direction:column;align-items:flex-start;gap:12px}.header__right{width:100%;justify-content:space-between}.metric{min-width:0;flex:1}.panel{width:100%;border-left:none}.history__time,.activity__time{min-width:84px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
