:root{--bg:#0B0D12;--surface:#141821;--surface-2:#1B202B;--surface-3:#232936;--line:#242A37;--line-2:#333B4C;--ink:#E9ECF3;--ink-2:#98A0B2;--ink-3:#6A7283;--ok:#35C07A;--work:#6E7BFF;--bad:#F0555F;--warn:#E0A32E;--frozen:#616A7B;--idea:#A78BFA;--r:10px;--r-lg:14px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--work);outline-offset:2px;border-radius:6px}.muted{color:var(--ink-3)}.top{position:sticky;top:0;z-index:40;background:#0b0d12e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.top__in{max-width:1300px;margin:0 auto;padding:0 20px;height:58px;display:flex;align-items:center;gap:22px}.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.01em;flex:0 0 auto}.nav{display:flex;overflow-x:auto;scrollbar-width:none}.nav a{padding:18px 12px 16px;color:var(--ink-3);font-size:13.5px;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--ink-2)}.nav a.active{color:var(--ink);border-bottom-color:var(--work)}.sp{flex:1}.who{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:10px}.iconbtn{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--ink-3)}.iconbtn:hover{background:var(--surface-2);color:var(--ink-2)}.iconbtn.active{color:var(--ink);background:var(--surface-2)}@media (max-width:720px){.top__in{gap:10px;padding:0 12px}.logo span,.who .mail{display:none}}.wrap{max-width:1300px;margin:0 auto;padding:24px 20px 80px}@media (max-width:720px){.wrap{padding:18px 16px 60px}}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin:0 0 12px;flex-wrap:wrap}.eyebrow .n{font-weight:500;letter-spacing:0;text-transform:none;font-size:12px}.eyebrow i{width:7px;height:7px;border-radius:50%;display:block}.eyebrow .right{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500}.block{margin-bottom:30px}.empty{padding:18px 15px;color:var(--ink-3);font-size:13px}.badge{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}.badge svg{width:20px;height:20px;display:block}.badge.lg{width:52px;height:52px;border-radius:15px}.badge.lg svg{width:26px;height:26px}.badge.sm{width:30px;height:30px;border-radius:9px}.badge.sm svg{width:16px;height:16px}.mon{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));gap:10px}.mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 14px;display:block}a.mcard:hover{border-color:var(--line-2);background:var(--surface-2)}.mcard__top{display:flex;align-items:center;gap:8px;margin-bottom:2px}.mcard__name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard__val{font-size:12px;color:var(--ink-3);margin-left:auto;flex:0 0 auto}.mcard__st{font-size:11.5px;color:var(--ink-3)}.dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;display:block}.spark{display:flex;gap:1.6px;height:20px;align-items:flex-end;margin-top:9px}.spark i{flex:1;border-radius:1px;display:block;min-width:2px}.att{background:var(--surface);border:1px solid rgba(240,85,95,.3);border-radius:var(--r-lg);overflow:hidden}.att.calm{border-color:#35c07a4d}.att__h{padding:11px 15px;background:linear-gradient(180deg,#f0555f1f,#f0555f08);border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:#ff8a91}.att.calm .att__h{background:linear-gradient(180deg,#35c07a1f,#35c07a08);color:#6fdca3;border-bottom:0}.att__r{display:flex;gap:11px;align-items:center;padding:10px 15px;border-bottom:1px solid var(--line);font-size:13.5px}.att__r:last-child{border-bottom:0}.att__r:hover{background:var(--surface-2)}.att__r .w{color:var(--ink-2);flex:1;min-width:0;text-align:left}.att__r .w b{color:var(--ink);font-weight:600}.att__r .kind{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-3);flex:0 0 auto}.att__r .age{font-size:11.5px;color:var(--ink-3);flex:0 0 auto}.att__r .mini{font-size:11.5px;color:var(--ink-3);padding:3px 8px;border:1px solid var(--line-2);border-radius:7px;flex:0 0 auto}.att__r .mini:hover{color:var(--ink);border-color:var(--work)}@media (max-width:720px){.att__r{flex-wrap:wrap}.att__r .w{flex-basis:100%}}.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:9px}.qbtn{display:flex;flex-direction:column;gap:9px;padding:13px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:.15s}a.qbtn:hover{background:var(--surface-2);border-color:var(--line-2);transform:translateY(-2px)}.qbtn.off{opacity:.55;cursor:default}.qbtn .t{font-size:13px;font-weight:600}.qbtn .s{font-size:11.5px;color:var(--ink-3);margin-top:-6px}.load{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.lrow{display:flex;align-items:center;gap:12px;padding:10px 15px;border-bottom:1px solid var(--line)}.lrow:last-child{border-bottom:0}a.lrow:hover{background:var(--surface-2)}.lrow .nm{font-size:13.5px;font-weight:500;flex:0 0 190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lbars{display:flex;gap:3px;align-items:flex-end;height:26px;flex:1}.lbars i{flex:1;border-radius:2px;display:block;min-height:2px}.lrow .tot{font-size:12.5px;color:var(--ink-2);flex:0 0 120px;text-align:right}.lrow .tot b{color:var(--ink);font-weight:600}.lrow .tot .f{color:var(--bad);display:block;font-size:11px}.lhead{display:flex;gap:12px;padding:8px 15px;border-bottom:1px solid var(--line);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.lhead .nm{flex:0 0 190px}.lhead .mid{flex:1;display:flex;gap:3px}.lhead .mid span{flex:1;text-align:center}.lhead .tot{flex:0 0 120px;text-align:right}@media (max-width:720px){.lrow .nm,.lhead .nm{flex-basis:96px}.lrow .tot,.lhead .tot{flex-basis:78px}}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;align-items:center}.search{height:36px;padding:0 12px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface);min-width:240px;flex:1;max-width:360px}.search::placeholder{color:var(--ink-3)}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;background:var(--surface)}.seg button{padding:0 12px;height:34px;font-size:12.5px;color:var(--ink-3);border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button.on{background:var(--surface-3);color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));grid-auto-rows:118px;gap:12px}.tile{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:.15s}.tile:hover{background:var(--surface-2);border-color:var(--line-2);transform:translateY(-2px)}.tile__b{min-width:0;flex:1}.tile__n{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;margin-bottom:3px;min-width:0}.tile__n b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile__d{font-size:12.5px;color:var(--ink-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile__m{margin-top:8px;display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden}.tag{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-3);border:1px solid var(--line);white-space:nowrap;flex:0 0 auto}.tag.st{border:0;font-weight:600}.tag.bad{color:#ff8a91;background:#f0555f1f;border-color:transparent}.sheet{max-width:860px;margin:0 auto;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;overflow:hidden}.back{display:inline-flex;gap:6px;align-items:center;color:var(--ink-3);font-size:13px;margin-bottom:14px}.back:hover{color:var(--ink-2)}.sheet__h{display:flex;gap:15px;padding:21px 23px 17px;border-bottom:1px solid var(--line)}.sheet h2{margin:1px 0 4px;font-size:19.5px;font-weight:700;letter-spacing:-.015em}.sheet__t{font-size:13px;color:var(--ink-2);margin:0 0 9px}.sect{padding:17px 23px;border-bottom:1px solid var(--line)}.sect:last-child{border-bottom:0}.sect h3{margin:0 0 11px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);display:flex;align-items:center;gap:8px}.sect h3 .right{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500}@media (max-width:720px){.sheet__h,.sect{padding-left:16px;padding-right:16px}}.btns{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:7px;height:37px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface-2);font-size:13.5px;font-weight:500;white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn.p{background:var(--work);border-color:var(--work);color:#0b0d12;font-weight:600}.btn.p:hover{filter:brightness(1.08)}.btn.sm{height:30px;padding:0 10px;font-size:12.5px}.btn.ghost{background:transparent}.btn.danger{color:#ff8a91}.btn[disabled]{opacity:.5;cursor:default}.btn.static{cursor:default}.parts{display:flex;flex-direction:column;gap:7px}.part{display:flex;gap:10px;align-items:center;padding:9px 11px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}a.part:hover{border-color:var(--line-2)}.part .t{font-size:13px;font-weight:500}.part .s{font-size:11.5px;color:var(--ink-3)}.part .wf{margin-left:auto;text-align:right;font-size:11.5px;color:var(--ink-3);flex:0 0 auto}.links{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.links li{display:flex;gap:12px;padding:8px 12px;background:var(--surface-2);font-size:13px;border-bottom:1px solid var(--line)}.links li:last-child{border-bottom:0}.links .k{color:var(--ink-3);flex:0 0 138px;font-size:12.5px}.links .v{color:var(--ink-2);word-break:break-all}.links a.v{color:#aab4ff}.links a.v:hover{text-decoration:underline}.doc{font-size:13.5px;color:var(--ink-2);line-height:1.62}.doc h1,.doc h2,.doc h3,.doc h4{color:var(--ink);font-size:14.5px;margin:18px 0 6px}.doc h1:first-child,.doc h2:first-child,.doc h3:first-child{margin-top:0}.doc p{margin:0 0 10px}.doc ul,.doc ol{margin:0 0 10px;padding-left:20px}.doc strong{color:var(--ink)}.doc a{color:#aab4ff;text-decoration:underline}.doc code{background:var(--surface-3);padding:1px 5px;border-radius:5px;font-size:12.5px;color:#c9d2e6}.doc pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;overflow:auto}.doc pre code{background:none;padding:0}.doc table{border-collapse:collapse;font-size:12.5px;margin:0 0 10px}.doc td,.doc th{border:1px solid var(--line);padding:4px 8px;text-align:left}.note{margin-top:22px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);font-size:12.5px;color:var(--ink-3);line-height:1.6}.note b{color:var(--ink-2)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:12px;color:var(--ink-3)}.input,select.input,textarea.input{height:37px;padding:0 11px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface-2);width:100%}textarea.input{height:auto;min-height:90px;padding:9px 11px;resize:vertical;line-height:1.45}textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-height:420px}.input:focus{outline:none;border-color:var(--work)}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}.err{color:#ff8a91;font-size:13px;margin:8px 0}.ok-msg{color:#6fdca3;font-size:13px;margin:8px 0}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:min(360px,100%);background:var(--surface);border:1px solid var(--line-2);border-radius:18px;padding:26px}.login h1{font-size:18px;margin:0 0 18px;display:flex;align-items:center;gap:9px}.maprow{display:grid;grid-template-columns:1fr 280px;gap:14px;align-items:start}@media (max-width:1100px){.maprow{grid-template-columns:1fr}}.map{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}.map__in{position:relative;padding:20px;min-width:fit-content}.map__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}.lanes{position:relative;z-index:1;display:grid;gap:40px}.lane{border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:13px 12px 4px;background:#ffffff03;min-width:0}.lane.proj{border-color:#6e7bff59}.lane h4{margin:0 0 12px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);display:flex;justify-content:space-between}.node{display:flex;gap:10px;align-items:center;padding:11px 12px;margin-bottom:12px;width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);transition:opacity .15s,background .15s}.node:hover{background:var(--surface-3)}.node.on{border-color:var(--work);background:var(--surface-3);box-shadow:0 0 0 3px #6e7bff24}.node.dim{opacity:.28}.node .t{font-size:13.5px;font-weight:600;line-height:1.25}.node .s{font-size:11px;color:var(--ink-3);line-height:1.3}.node .dot{margin-left:auto}.node.small{padding:8px 10px;margin-bottom:8px}.node.small .t{font-size:12.5px}.side{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px;position:sticky;top:78px}.side h4{margin:0 0 4px;font-size:14.5px;font-weight:600;display:flex;gap:8px;align-items:center}.side .s{font-size:12.5px;color:var(--ink-3);margin:0 0 13px}.side .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:14px 0 8px}.chipl{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2)}a.chip:hover{border-color:var(--work)}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;font-size:12px;color:var(--ink-3)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:16px;height:2px;display:block;border-radius:2px}.cont{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.cont>span{display:flex;gap:7px;align-items:center;font-size:12.5px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink-2)}.kan{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:12px;align-items:start}@media (max-width:980px){.kan{grid-template-columns:1fr}}.col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px;min-height:190px;transition:border-color .15s}.col.wide{background:linear-gradient(180deg,rgba(110,123,255,.05),transparent 120px),var(--surface)}.col.over{border-color:var(--work)}.col h3{margin:0 0 4px;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.col h3 em{font-style:normal;background:var(--surface-3);border-radius:999px;padding:1px 8px;font-size:11px}.col .add{width:100%;text-align:left;font-size:12.5px;color:var(--ink-3);padding:7px 9px;margin:8px 0 10px;border:1px dashed var(--line-2);border-radius:8px;background:transparent}.col .add:hover,.col .add:focus{color:var(--ink-2);border-color:var(--work);outline:none}.col .cards{min-height:40px}.kcard{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--r);padding:11px 12px;margin-bottom:8px;cursor:grab;touch-action:none;position:relative}.kcard:hover{border-color:var(--line-2);background:var(--surface-3)}.kcard.dragging{opacity:.4}.kcard.overlay{box-shadow:0 18px 40px #00000080;cursor:grabbing}.kcard .t{font-size:13.5px;font-weight:500;margin-bottom:6px;line-height:1.35;padding-right:18px}.kcard .m{font-size:11.5px;color:var(--ink-3);display:flex;gap:7px;align-items:center;flex-wrap:wrap}.kcard .m .sys{color:var(--ink-2);font-weight:500}.kcard.bug{border-left-color:var(--bad)}.kcard.debt{border-left-color:var(--warn)}.kcard.task{border-left-color:var(--work)}.kcard.idea{border-left-color:var(--idea)}.kcard.p1{box-shadow:inset 0 0 0 1px #f0555f73}.kcard.p3{opacity:.82}.kcard .open{position:absolute;right:6px;top:6px;color:var(--ink-3);width:22px;height:22px;display:grid;place-items:center;border-radius:6px}.kcard .open:hover{background:var(--surface-3);color:var(--ink)}.kcard.static{cursor:default;margin:0}dialog.modal{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:var(--ink)}dialog.modal::backdrop{background:#06070bbd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal__box{width:min(560px,calc(100% - 32px));max-height:86vh;margin:7vh auto;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;overflow:auto;box-shadow:0 30px 70px #0009;padding:20px 22px}.modal__box h2{font-size:17px;margin:0 0 14px;display:flex;align-items:center}.modal__box h2 .iconbtn{margin-left:auto}.cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.panel h3{margin:0 0 12px;font-size:13.5px}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:13px}.kv span:nth-child(odd){color:var(--ink-3)}.table{width:100%;border-collapse:collapse;font-size:12.5px}.table td,.table th{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--ink-3);font-weight:500}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:720px){.mon{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mcard{padding:11px 12px}.mcard__top{flex-wrap:wrap}.mcard__val{margin-left:0;width:100%;order:3}.quick{grid-template-columns:repeat(3,minmax(0,1fr))}.qbtn{padding:11px}.grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.search{min-width:0;max-width:none;flex-basis:100%}}
