@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_c1b2fe70-module__bLCjkG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_c1b2fe70-module__bLCjkG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.p.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.p.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_749dba4d-module__djLPIG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_749dba4d-module__djLPIG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:pragmatica;src:url(../media/pragmatica_next_medium-s.p.1z6sww9r_xvtd.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:pragmatica Fallback;src:local(Arial);ascent-override:88.91%;descent-override:23.39%;line-gap-override:0.0%;size-adjust:106.87%}.pragmatica_8cf043db-module__lNU4Lq__className{font-family:pragmatica,pragmatica Fallback;font-weight:500}.pragmatica_8cf043db-module__lNU4Lq__variable{--font-pragmatica:"pragmatica", "pragmatica Fallback"}
:root{--ovo-black:#0c0c0c;--ovo-ink:#000;--ovo-white:#fff;--ovo-grey-1:#f7f7f7;--ovo-grey-2:#c8c8c8;--ovo-grey-3:#727272;--ovo-red:#e41f2c;--ovo-grey-panel:#e1e1e1;--ovo-grey-placeholder:#d9d9d9;--text:var(--ovo-black);--text-2:var(--ovo-grey-3);--text-inverse:var(--ovo-white);--page:var(--ovo-grey-1);--sheet:var(--ovo-white);--muted:var(--ovo-grey-1);--line:var(--ovo-grey-2);--line-strong:var(--ovo-grey-3);--ink:var(--ovo-ink);--accent:var(--ovo-red);--font-display:var(--font-pragmatica),var(--font-inter),-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains),ui-monospace,"SF Mono",Menlo,monospace;--s-4:4px;--s-8:8px;--s-16:16px;--s-24:24px;--s-32:32px;--s-40:40px;--s-48:48px;--s-56:56px;--s-64:64px;--frame:24px;--content:48px;--tick:12px;--ease:cubic-bezier(.2,0,0,1);--t-reveal:.6s;--t-layer:.4s;--t-exit:.3s;--rail-w:224px}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--page);color:var(--text);font:500 13px/1.45 var(--font-mono);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:500;line-height:1.1}h1{font-size:32px}h2{font-size:20px}h3{font-size:16px}p{margin:0}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}::selection{background:var(--ovo-black);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:var(--rail-w) 1fr;min-height:100vh;display:grid}.rail{padding:var(--s-40) var(--s-24) var(--s-24) var(--s-32);gap:var(--s-32);z-index:30;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.rail .top{justify-content:space-between;align-items:center;display:flex}.rail .burger{display:none}.rail .body{gap:var(--s-32);flex-direction:column;flex:1;min-height:0;display:flex}.rail .logo{width:150px;height:auto;display:block}.rail nav{gap:var(--s-24);flex-direction:column;display:flex}.rail .group{flex-direction:column;gap:2px;display:flex}.rail .group-label{color:var(--text-2);margin-bottom:6px;font-size:11px}.rail .item{color:var(--text);justify-content:space-between;align-items:baseline;padding:5px 0;font-size:14px;display:flex}.rail .item span{border-bottom:2px solid #0000;line-height:1.2}.rail .item:hover span,.rail .item.active span{border-bottom-color:var(--accent)}.rail .item .ptype{color:var(--text-2);white-space:nowrap;margin-left:4px;font-size:12px;font-style:normal}.rail .item.proj{gap:4px}.rail .item.proj .n{margin-left:auto}.rail .item .n{color:var(--text-2);font-size:11px}.rail .foot{color:var(--text-2);flex-direction:column;gap:6px;margin-top:auto;font-size:12px;display:flex}.rail .foot b{color:var(--text);font-weight:500}.rail .foot button{all:unset;cursor:pointer;color:var(--text-2)}.rail .foot button:hover{color:var(--accent)}.sheet{background:var(--sheet);margin:var(--s-16) var(--s-16) var(--s-16) 0;min-width:0;position:relative}.sheet:before{content:"";inset:var(--frame);border:1px solid var(--ink);pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) 33.333% 0/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 50% 0/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 66.666% 0/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 33.333% 100%/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 50% 100%/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 66.666% 100%/1px var(--tick) no-repeat, linear-gradient(var(--ink),var(--ink)) 0 33.333%/var(--tick) 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 0 50%/var(--tick) 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 0 66.666%/var(--tick) 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 33.333%/var(--tick) 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 50%/var(--tick) 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 66.666%/var(--tick) 1px no-repeat;position:absolute}.sheet-in{padding:var(--content);min-height:calc(100vh - 32px);position:relative}.head{justify-content:space-between;align-items:flex-end;gap:var(--s-24);margin-bottom:var(--s-32);flex-wrap:wrap;display:flex}.head .sub{color:var(--text-2);max-width:72ch;margin-top:6px}.eyebrow{color:var(--text-2);margin-bottom:8px;font-size:12px}.actions{gap:var(--s-8);flex-wrap:wrap;align-items:center;display:flex}.ruler{height:var(--tick);margin:var(--s-32) 0 var(--s-16);background:linear-gradient(var(--ink),var(--ink)) 0 0/100% 1px no-repeat, linear-gradient(var(--ink),var(--ink)) 33.333% 0/1px 100% no-repeat, linear-gradient(var(--ink),var(--ink)) 50% 0/1px 100% no-repeat, linear-gradient(var(--ink),var(--ink)) 66.666% 0/1px 100% no-repeat, linear-gradient(var(--ink),var(--ink)) 100% 0/1px 100% no-repeat}.section{margin-bottom:var(--s-40)}.section-h{margin-bottom:var(--s-16);justify-content:space-between;align-items:baseline;display:flex}.section-h h2{font-size:18px}.btn{border:1px solid var(--ink);background:var(--sheet);cursor:pointer;white-space:nowrap;transition:background var(--t-exit) var(--ease);align-items:center;gap:8px;padding:8px 14px;font-size:13px;line-height:1.2;display:inline-flex}.btn:hover{background:var(--ovo-grey-1);color:var(--text)}.btn.primary{background:var(--ovo-black);color:#fff;border-color:var(--ovo-black)}.btn.primary:hover{color:#fff;background:#262626}.btn.ghost{border-color:#0000;padding-left:0;padding-right:0}.btn.ghost:hover{color:var(--accent);background:0 0}.btn.sm{padding:4px 10px;font-size:12px}.btn.danger{color:var(--accent);border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-2);font-size:12px}.input,.select,.textarea{border:1px solid var(--line);background:var(--sheet);border-radius:0;width:100%;min-width:0;padding:8px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);outline:none}.input.mono{font-variant-numeric:tabular-nums}.textarea{resize:vertical;min-height:80px}.form{gap:var(--s-16);display:grid}.form.cols-2{grid-template-columns:1fr 1fr}.form.cols-3{grid-template-columns:1fr 1fr 1fr}.form .full{grid-column:1/-1}.form-foot{gap:var(--s-8);margin-top:var(--s-8);align-items:center;display:flex}.error{color:var(--accent);font-size:12px}.check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.check input{accent-color:var(--ovo-black);width:14px;height:14px;margin:0}.toolbar{gap:var(--s-16);margin-bottom:var(--s-16);flex-wrap:wrap;align-items:center;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--text-2);background:var(--sheet);white-space:nowrap;align-items:center;padding:4px 10px;font-size:12px;line-height:1.2;display:inline-flex}a.chip:hover,button.chip:hover,.chip.on{color:var(--text);border-color:var(--ink)}.chip.red{color:var(--accent);border-color:var(--accent)}.chip.ink{background:var(--ovo-black);color:#fff;border-color:var(--ovo-black)}.chip.mute{background:var(--ovo-grey-1);border-color:#0000}.tag{border:1px solid var(--line);color:var(--text-2);white-space:nowrap;margin-right:4px;padding:1px 6px;font-size:11px;display:inline-block}.sep{background:var(--line);width:1px;height:18px}.tablewrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-weight:400}.table th{text-align:left;color:var(--text-2);border-bottom:1px solid var(--ink);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .muted{color:var(--text-2)}.table tr.group td{background:var(--ovo-grey-1);padding:6px 10px;font-weight:500}.table tr.link{cursor:pointer}.table tr.link:hover td,.table .row-form td{background:var(--ovo-grey-1)}.table td .input,.table td .select{padding:5px 8px}.grid-2{gap:var(--s-32);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--s-24);grid-template-columns:repeat(3,1fr);display:grid}.grid-home{gap:var(--s-40);grid-template-columns:1.4fr 1fr;display:grid}@media (max-width:1100px){.grid-2,.grid-3,.grid-home{grid-template-columns:1fr}}.card{border:1px solid var(--line);padding:var(--s-16)}.card.ink{border-color:var(--ink)}.cards{gap:var(--s-16);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.pcard{border:1px solid var(--line);padding:var(--s-16);min-height:150px;transition:border-color var(--t-exit) var(--ease);flex-direction:column;gap:10px;display:flex}.pcard:hover{border-color:var(--ink);color:var(--text)}.pcard .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;line-height:1.15}.pcard .meta{color:var(--text-2);justify-content:space-between;margin-top:auto;font-size:12px;display:flex}.pcard.archived{opacity:.5}.kv{grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--text-2)}.kv dd{margin:0}.now{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid}.now>div{background:var(--sheet);color:var(--text-2);padding:12px 14px;font-size:12px}.now b{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-top:4px;font-size:26px;line-height:1;display:block}.now b.red{color:var(--accent)}.avatar{border:1px solid var(--ink);place-items:center;width:22px;height:22px;font-size:10px;line-height:1;display:inline-grid}.avatars{gap:4px;display:inline-flex}.link-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.link-row:last-child{border-bottom:0}.link-row .k{border:1px solid var(--ink);flex:none;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.link-row .t{flex-direction:column;min-width:0;display:flex}.link-row .t small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.feed .item{border-bottom:1px solid var(--line);padding:10px 0;font-weight:400}.feed .item:last-child{border-bottom:0}.feed .who{color:var(--text-2);margin-bottom:2px;font-size:12px;font-weight:500}.hint{color:var(--text-2);margin-top:10px;font-size:12px;font-weight:400}.empty{padding:var(--s-40) 0;color:var(--text-2);font-weight:400}.kanban{gap:var(--s-16);grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;display:grid}.kanban.stages{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.col{border-top:1px solid var(--ink);min-height:160px;padding-top:10px}.col.over{background:var(--ovo-grey-1)}.col-more{font-family:var(--font-mono);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:11px;display:flex}.col h3{font-family:var(--font-mono);color:var(--text-2);letter-spacing:-.01em;justify-content:space-between;margin-bottom:12px;font-size:12px;font-weight:500;display:flex}.col h3 .d{color:var(--ovo-grey-2);margin-top:2px;font-size:11px;display:block}.prog{background:var(--line);height:2px;margin:-4px 0 12px}.prog i{background:var(--ovo-black);height:100%;display:block}.task{border:1px solid var(--line);background:var(--sheet);cursor:grab;transition:border-color var(--t-exit) var(--ease);margin-bottom:8px;padding:10px 12px;display:block}.task:hover{border-color:var(--ink);color:var(--text)}.task.dragging{opacity:.35}.task .s{color:var(--text-2);margin-bottom:4px;font-size:11px}.task .t{margin-bottom:8px;font-weight:500}.task .m{color:var(--text-2);justify-content:space-between;align-items:center;font-size:11px;display:flex}.task.client{border-left:3px solid var(--ovo-black)}.task.late .due{color:var(--accent)}.task .cnt{margin-left:6px}.gantt{border:1px solid var(--line);margin-bottom:8px;padding-bottom:12px;position:relative;overflow-x:auto}.gantt-in{min-width:100%}.grow{border-bottom:1px solid var(--line);grid-template-columns:240px auto;display:grid}.grow:last-child{border-bottom:0}.grow .lab{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--line);background:var(--sheet);z-index:2;padding:8px 12px;font-size:12px;font-weight:400;position:sticky;left:0;overflow:hidden}.grow.stg .lab{background:var(--ovo-grey-1);font-weight:500}.grow.h .lab{color:var(--text-2);box-sizing:border-box;height:28px;padding:0 12px;line-height:28px}.grow.h{height:28px}.lane{background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:28px 100%;height:34px;position:relative}.grow.stg .lane{background-color:var(--ovo-grey-1)}.bar{border:1px solid var(--ink);background:var(--sheet);white-space:nowrap;box-sizing:border-box;height:16px;color:var(--text);padding:0 6px;font-size:11px;line-height:14px;position:absolute;top:9px;overflow:hidden}.bar.stg{background:var(--ovo-black);color:#fff;border-color:var(--ovo-black);height:20px;line-height:18px;top:7px}.bar.done{background:var(--ovo-grey-2);border-color:var(--ovo-grey-2)}.bar.late{border-color:var(--accent);color:var(--accent)}.bar-tail{white-space:nowrap;color:var(--text-2);pointer-events:none;font-size:11px;line-height:14px;position:absolute;top:10px}.bar-tail.stg{color:var(--text);font-weight:500}.bar-tail.late{color:var(--accent)}.today{background:var(--accent);z-index:1;width:2px;position:absolute;top:0;bottom:0}.months{height:100%;position:relative}.months span{border-left:1px solid var(--line);box-sizing:border-box;color:var(--text-2);font-size:11px;line-height:28px;position:absolute;top:0;bottom:0;overflow:hidden}.months span i{padding-left:6px;font-style:normal;position:sticky;left:244px}.days{height:100%;position:relative}.days span{color:var(--text-2);text-align:center;border-left:1px solid var(--line);box-sizing:border-box;font-size:10px;line-height:28px;position:absolute;top:0;bottom:0}.days span.we{background:var(--ovo-grey-1)}.days span.td{color:var(--accent);font-weight:600}.login{min-height:100vh;padding:var(--s-24);place-items:center;display:grid}.login .box{background:var(--sheet);width:min(380px,100%);padding:var(--s-40);position:relative}.login .box:before{content:"";border:1px solid var(--ink);pointer-events:none;position:absolute;inset:12px}.login .box>*{position:relative}.login h1{margin:var(--s-24) 0 var(--s-8);font-size:24px}.login .sub{color:var(--text-2);margin-bottom:var(--s-24)}.ptabs{gap:var(--s-24);border-bottom:1px solid var(--ink);margin-bottom:var(--s-32);flex-wrap:wrap;display:flex}.ptabs a{border-bottom:4px solid #0000;margin-bottom:-1px;padding:8px 0 10px;font-size:13px}.ptabs a.active,.ptabs a:hover{border-bottom-color:var(--accent);color:var(--text)}.phead{justify-content:space-between;align-items:flex-end;gap:var(--s-24);margin-bottom:var(--s-16);flex-wrap:wrap;display:flex}.phead .meta{color:var(--text-2);gap:var(--s-16);flex-wrap:wrap;margin-top:6px;font-size:12px;display:flex}.phead .meta i{border-left:2px solid var(--accent);padding-left:8px;font-style:normal}.comments .c{border-top:1px solid var(--line);padding:10px 0;font-weight:400}.comments .w{color:var(--text-2);margin-bottom:2px;font-size:12px;font-weight:500}.photos{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;max-width:520px;margin-top:8px;display:grid}.ph{aspect-ratio:1;border:1px solid var(--line);background:var(--ovo-grey-1);display:block;overflow:hidden}.ph img,.ph video{object-fit:cover;width:100%;height:100%;display:block}.ph:hover{border-color:var(--ink)}.spin{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn.busy{opacity:.85}.notice{border:1px solid var(--accent);color:var(--accent);margin-bottom:var(--s-16);padding:8px 12px;font-size:12px}.ok{color:var(--text-2)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.ph-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.ph-x{background:var(--ovo-black);color:#fff;cursor:pointer;border:0;width:14px;padding:0;font-size:10px;line-height:14px;position:absolute;top:0;right:0}.lb{z-index:50;color:#fff;background:#0c0c0ceb;place-items:center;display:grid;position:fixed;inset:0}.lb-top{color:#c8c8c8;justify-content:space-between;align-items:center;padding:12px 20px;font-size:12px;display:flex;position:absolute;top:0;left:0;right:0}.lb-top a{color:#fff}.lb-img{object-fit:contain;cursor:pointer;background:#000;max-width:92vw;max-height:86vh}.lb-btn{color:#fff;cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:28px;line-height:1}.lb-btn:hover{color:var(--accent)}.lb-prev,.lb-next{padding:20px;font-size:48px;position:absolute;top:50%;transform:translateY(-50%)}.lb-prev{left:8px}.lb-next{right:8px}.rail .item.proj span{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:150px;display:block;overflow:hidden}.rail .item.more span{color:var(--text-2);font-size:12px}img.avatar{object-fit:cover;vertical-align:middle;background:var(--ovo-grey-1);display:inline-block}@media (max-width:860px){:root{--frame:10px;--content:22px;--tick:8px}.shell{grid-template-columns:1fr}.rail{height:auto;padding:10px var(--s-16);gap:var(--s-16);background:var(--page);z-index:20;border-bottom:1px solid var(--line);position:sticky;top:0}.rail .logo{width:120px}.rail .burger{all:unset;cursor:pointer;color:var(--text);border-bottom:2px solid var(--accent);font-size:13px;line-height:1.2}.rail .body{gap:var(--s-24);max-height:calc(100vh - 64px);padding-bottom:var(--s-8);display:none;overflow:auto}.rail.open .body{display:flex}.rail .item{padding:7px 0;font-size:15px}.rail .item.proj span{max-width:none}.rail .foot{margin-top:var(--s-8)}.sheet{margin:0}.sheet-in{min-height:auto}h1{font-size:24px}.head{align-items:flex-start;gap:var(--s-16);margin-bottom:var(--s-24);flex-direction:column}.head .actions{width:100%}.form.cols-2,.form.cols-3,.cards{grid-template-columns:1fr}.now{grid-template-columns:1fr 1fr}.kanban,.kanban.stages{gap:var(--s-16);scroll-snap-type:x mandatory;padding-bottom:var(--s-8);display:flex;overflow-x:auto}.kanban .col{scroll-snap-align:start;flex:0 0 80vw}.grow{grid-template-columns:110px 1fr}.kv{grid-template-columns:1fr;gap:2px 0}.kv dd{margin:0 0 8px}.table{font-size:13px}.table th,.table td{padding:8px 6px}.table td.num,.table th.num,.now b{white-space:nowrap}.tablewrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.card .kv dd.num{white-space:nowrap}.toolbar{gap:var(--s-8)}.ptabs{gap:var(--s-16);margin-bottom:var(--s-24);row-gap:0}.ptabs a{padding:6px 0 8px}.section-h{flex-direction:column;align-items:flex-start;gap:4px}.section-h .actions{width:100%}.form-foot{flex-wrap:wrap}.phead{gap:var(--s-16)}.link-row{flex-wrap:wrap}.link-row .t{flex:60%}.link-row .t small{white-space:normal}}.help{max-width:72ch;font-weight:400;line-height:1.55}.help h2{margin:28px 0 10px;font-size:18px}.help p{margin:0 0 10px}.help ul,.help ol{margin:0 0 12px;padding-left:22px}.help li{margin-bottom:6px}.help code{background:var(--ovo-grey-1);padding:1px 5px;font-size:12px}.table tr.inv-head td{border-top:2px solid var(--text-2)}.rsearch{position:relative}.rsearch .input{width:100%;padding-right:38px;font-size:13px}.rsearch-k{color:var(--text-2);border:1px solid var(--line);pointer-events:none;padding:2px 4px;font:11px/1 inherit;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.rsearch-pop{background:var(--sheet);border:1px solid var(--line);z-index:40;width:420px;max-height:70vh;padding:6px 0;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #00000014}.rsearch-g+.rsearch-g{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.rsearch-gl{color:var(--text-2);padding:4px 12px;font-size:11px}.rsearch-hit,.srch-hit{color:var(--text);flex-direction:column;gap:1px;padding:6px 12px;font-size:13px;display:flex}.rsearch-hit b,.srch-hit b{font-weight:500}.rsearch-hit .muted,.srch-hit .muted{font-size:12px}.rsearch-hit .snip,.srch-hit .snip{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.rsearch-hit.cur,.rsearch-hit:hover{background:var(--ovo-grey-1)}.rsearch-hit .tag,.srch-hit .tag{margin-left:6px;font-style:normal}.rsearch-empty{color:var(--text-2);padding:8px 12px;font-size:12px}.rsearch-all{color:var(--text-2);border-top:1px solid var(--line);margin-top:4px;padding:8px 12px;font-size:12px;display:block}.rsearch-all:hover{color:var(--accent)}.srch-list{flex-direction:column;display:flex}.srch-hit{border-bottom:1px solid var(--line);padding:8px 0}.srch-hit:hover b{color:var(--accent)}mark{background:var(--ovo-yellow,#ffe98a);color:inherit;padding:0 1px}@media (max-width:860px){.rsearch-pop{width:auto;max-height:none;box-shadow:none;border-width:0 0 1px;margin-top:6px;padding:0 0 6px;position:static}.rsearch-k{display:none}}.rail .foot a[href=\/whats-new]{white-space:nowrap}.wn-new:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.wn-day+.wn-day{margin-top:var(--s-24)}.help .wn-day h2{margin:0 0 6px}.bday{border:1px solid var(--ink);background:linear-gradient(90deg,#fff3f4 0%,var(--sheet) 45%,#fff8e1 100%);box-shadow:4px 4px 0 var(--accent);align-items:center;gap:16px;margin-bottom:24px;padding:14px 48px 14px 18px;display:flex;position:relative}.bday .avatar{border:2px solid var(--accent);flex:none}.bday-t{flex-direction:column;gap:2px;min-width:0;display:flex}.bday-t b{letter-spacing:-.01em;font-size:18px;font-weight:600}.bday-t span{color:var(--text-2);font-size:13px;font-weight:400}.bday-conf{flex:none;font-size:26px;animation:2.4s ease-in-out infinite bday-bob}.bday-conf:last-of-type{animation-delay:1.2s}.bday-x{color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:6px;right:8px}.bday-x:hover{color:var(--accent)}@keyframes bday-bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-4px)rotate(6deg)}}@media (max-width:720px){.bday{gap:10px;padding:12px 40px 12px 12px}.bday-conf{display:none}.bday-t b{font-size:15px}}.kb-pending{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.kb-pending a{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--sheet);padding:10px 14px;font-weight:400;display:block}.kb-group{margin-bottom:24px}.kb-group h3{border-bottom:1px solid var(--ink);margin-bottom:6px;padding-bottom:6px;font-size:15px}.kb-fact{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;scroll-margin-top:80px;display:flex}.kb-fact:target{background:#fff8e1}.kb-fact.old .kb-text{color:var(--text-2);text-decoration:line-through}.kb-text{white-space:pre-wrap;min-width:0;font-weight:400}.kb-meta{color:var(--text-2);white-space:nowrap;flex:none;align-items:baseline;gap:10px;font-size:11px;display:flex}.kb-meta .btn{padding-top:0;padding-bottom:0;font-size:11px}.kb-old{margin-top:8px}.thumbs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.thumbs img{object-fit:cover;border:1px solid var(--line);width:64px;height:64px;display:block}.thumbs a:hover img{border-color:var(--ink)}.thumbs video{object-fit:cover;border:1px solid var(--line);background:#000;width:64px;height:64px;display:block}.thumb-video{display:block;position:relative}.thumb-docs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.thumb-doc{border:1px solid var(--line,var(--ovo-grey-2));white-space:nowrap;text-overflow:ellipsis;max-width:320px;color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;text-decoration:none;display:inline-flex;overflow:hidden}.thumb-doc:hover{border-color:var(--ink)}.mt-doc{margin-top:6px}.thumb-video span,.ph-play{color:#fff;text-shadow:0 1px 4px #000000b3;pointer-events:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;inset:0}.kb-old summary{cursor:pointer;color:var(--text-2);margin-bottom:8px;font-size:12px}.kb-form{border:1px solid var(--line);background:var(--sheet);margin:0 0 24px;padding:14px}.kb-form-row{grid-template-columns:220px 1fr;gap:8px;display:grid}.mt-entry{border-bottom:1px solid var(--line);white-space:pre-wrap;grid-template-columns:48px 1fr;gap:10px;padding:8px 0;font-weight:400;display:grid}.mt-time{color:var(--text-2);padding-top:2px;font-size:11px}.mt-photo{margin-top:6px;display:block}.mt-photo img{border:1px solid var(--line);max-width:280px;max-height:200px;display:block}.mt-video{border:1px solid var(--line);background:#000;max-width:320px;max-height:240px;margin-top:6px;display:block}.mi-row{border-bottom:1px solid var(--line);grid-template-columns:20px 1fr;gap:10px;padding:10px 0;display:grid}.mi-row.off .mi-body{opacity:.45}.mi-check{accent-color:var(--ovo-black);width:15px;height:15px;margin-top:9px}.mi-body{flex-direction:column;gap:6px;min-width:0;display:flex}.mi-text{min-height:0;font-weight:400}.mi-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mi-fields .select,.mi-fields .input{width:auto;min-width:140px;padding:5px 8px;font-size:12px}@media (max-width:720px){.kb-fact{flex-direction:column;gap:4px}.kb-meta{white-space:normal;flex-wrap:wrap}.kb-form-row{grid-template-columns:1fr}.mi-fields .select,.mi-fields .input{flex:140px}}.tip{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--sheet);align-items:flex-start;gap:14px;margin-bottom:24px;padding:14px 44px 10px 16px;display:flex;position:relative}.tip-i{flex:none;margin-top:2px;font-size:20px;line-height:1}.tip-t{flex-direction:column;gap:4px;min-width:0;display:flex}.tip-h{color:var(--text-2);font-size:11px}.tip-t p{max-width:72ch;font-size:13px;font-weight:400}.tip-t p a{text-underline-offset:2px;text-decoration:underline}.tip-a{gap:16px;margin-top:2px;display:flex}.tip-a .btn{padding-left:0;padding-right:0}.tip-x{color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.tip-x:hover{color:var(--accent)}@media (max-width:720px){.tip{gap:10px;padding:12px 36px 8px 12px}}.cb-obj{background:var(--sheet);border:1px solid var(--line);border-left:4px solid var(--accent);margin-top:12px;padding:12px 14px}.cb-obj.open{border:2px solid var(--accent);border-left-width:4px;padding:14px 16px}.cb-obj-h{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cb-num{background:var(--accent);color:#fff;letter-spacing:.02em;white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600}
