@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&display=swap");@font-face{font-family:Newsreader;font-style:normal;font-weight:400;src:url(/fonts/Newsreader_14pt-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;src:url(/fonts/Newsreader_14pt-Italic.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;src:url(/fonts/Newsreader_14pt-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader;font-style:italic;font-weight:300;src:url(/fonts/Newsreader_14pt-LightItalic.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 24pt;font-style:normal;font-weight:400;src:url(/fonts/Newsreader_24pt-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 24pt;font-style:italic;font-weight:400;src:url(/fonts/Newsreader_24pt-Italic.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 36pt;font-style:normal;font-weight:400;src:url(/fonts/Newsreader_36pt-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 36pt;font-style:italic;font-weight:300;src:url(/fonts/Newsreader_36pt-LightItalic.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 60pt;font-style:normal;font-weight:400;src:url(/fonts/Newsreader_60pt-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 60pt;font-style:normal;font-weight:300;src:url(/fonts/Newsreader_60pt-Light.ttf) format("truetype");font-display:swap}@font-face{font-family:Newsreader\ 60pt;font-style:italic;font-weight:300;src:url(/fonts/Newsreader_60pt-LightItalic.ttf) format("truetype");font-display:swap}:root{--paper:#f1efe8;--paper-2:#e9e5d8;--paper-3:#ddd7c3;--ink:#141413;--ink-2:#2a2a27;--muted:#6b6963;--muted-2:#8e8b82;--rule:#c7c2b0;--rule-soft:#d9d4c2;--indigo:#534ab7;--indigo-ink:#3c3489;--indigo-soft:#eeedfe;--indigo-light:#c7c0f5;--st-done:#534ab7;--st-review:#8c84d6;--st-progress:#b07a2e;--st-planned:#c7c2b0;--done:var(--st-done);--review:var(--st-review);--progress:var(--st-progress);--planned:var(--st-planned);--serif:"Newsreader",Georgia,serif;--serif-display:"Newsreader 60pt","Newsreader",Georgia,serif;--serif-large:"Newsreader 36pt","Newsreader",Georgia,serif;--serif-medium:"Newsreader 24pt","Newsreader",Georgia,serif;--sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"Geist Mono",ui-monospace,Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--indigo);color:var(--paper)}a{color:var(--indigo);text-decoration:none}a:hover{color:var(--indigo-ink)}main{max-width:1080px;margin:0 auto;padding:40px 32px 80px}.login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}.loginbox{width:100%;max-width:380px}.loginbox .brandrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}.loginbox .logo{height:24px}.loginbox h1{font:300 clamp(34px,5vw,48px)/.95 var(--serif-display);letter-spacing:-.025em;margin:0}.loginbox h1 em{font-style:italic;color:var(--indigo)}.logintag{font:500 11.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:12px 0 24px}.loginform{gap:14px}.loginform,.loginform label{display:flex;flex-direction:column}.loginform label{gap:6px}.loginform label span{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.loginform input{font:400 15px/1 var(--sans);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:11px 12px}.loginform input:focus{outline:none;border-color:var(--indigo)}.loginform button{margin-top:6px;font:500 13px/1 var(--sans);color:var(--paper);background:var(--ink);border:none;border-radius:2px;padding:13px 18px;cursor:pointer;transition:background .15s}.loginform button:hover{background:var(--indigo)}.loginerr{font:400 13px/1.4 var(--sans);color:#9b2c2c;margin:0}header.page{margin-bottom:8px}.brandrow{display:flex;align-items:center;gap:14px;margin-bottom:18px}.brandrow .logo{height:26px;width:auto}.topright{margin-left:auto;display:flex;align-items:center;gap:18px}.logout{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:none;border:none;padding:0;cursor:pointer}.logout:hover{color:var(--indigo)}.refreshbtn{display:inline-flex;align-items:center;gap:7px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.refreshbtn svg{display:block}.refreshbtn:hover:not(:disabled){border-color:var(--indigo);color:var(--indigo)}.refreshbtn:disabled{color:var(--muted);cursor:default}.spin{animation:spin .8s linear infinite;transform-origin:center}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{position:fixed;inset:0;background:rgba(20,20,19,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:28px 28px 24px;max-width:380px;width:100%;box-shadow:0 24px 60px rgba(20,20,19,.28)}.modal h3{font:400 24px/1.1 var(--serif-medium);letter-spacing:-.01em;margin:0 0 10px;color:var(--ink)}.modal h3+p{font:400 14px/1.5 var(--sans);color:var(--muted);margin:0 0 22px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}.modal-actions .btn-ghost{font:500 13px/1 var(--sans);background:none;border:1px solid var(--rule);color:var(--ink);border-radius:2px;padding:11px 16px;cursor:pointer}.modal-actions .btn-ghost:hover{border-color:var(--ink)}.modal-actions .btn-primary{font:500 13px/1 var(--sans);background:var(--ink);color:var(--paper);border:none;border-radius:2px;padding:11px 18px;text-decoration:none}.modal-actions .btn-primary:hover{background:var(--indigo)}.subrow{justify-content:space-between;gap:16px;margin-top:14px;flex-wrap:wrap}.subactions,.subrow{display:flex;align-items:center}.subactions{gap:8px}.cyclesel{position:relative}.cyclesel summary{list-style:none;cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:8px 12px;white-space:nowrap}.cyclesel summary::-webkit-details-marker{display:none}.cyclemenu{position:absolute;right:0;margin-top:4px;min-width:180px;background:var(--paper);border:1px solid var(--rule);border-radius:2px;box-shadow:0 6px 18px rgba(20,20,19,.12);z-index:10;display:flex;flex-direction:column}.cyclemenu a{padding:9px 14px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule-soft)}.cyclemenu a:last-child{border-bottom:none}.cyclemenu a:hover{background:var(--paper-2);color:var(--ink)}.cyclemenu a.active{color:var(--indigo)}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}header.page h1{font:300 clamp(40px,6vw,72px)/.95 var(--serif-display);letter-spacing:-.025em;margin:0;color:var(--ink)}header.page h1 em{font-style:italic;color:var(--indigo);font-weight:300}.sub{font:500 11.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px}.livestat{white-space:nowrap}.livedot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:baseline}.livedot.ok{background:#3aa657;box-shadow:0 0 0 0 rgba(58,166,87,.6);animation:livepulse 2.4s ease-out infinite}.livedot.down{background:#c0392b}@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(58,166,87,.5)}70%{box-shadow:0 0 0 6px rgba(58,166,87,0)}to{box-shadow:0 0 0 0 rgba(58,166,87,0)}}.tabs{display:flex;gap:4px;margin-top:22px;border-bottom:1px solid var(--rule)}.tabs a{padding:10px 18px;color:var(--muted);font:500 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active,.tabs a:hover{color:var(--ink)}.tabs a.active{border-bottom-color:var(--indigo)}section{margin:40px 0}section h2{font:400 clamp(26px,3vw,36px)/1.05 var(--serif-large);letter-spacing:-.015em;color:var(--ink);margin:0 0 18px;padding-top:18px;border-top:1px solid var(--rule)}section h2 em{font-style:italic;color:var(--indigo)}.card{background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:22px 24px}.hero{justify-content:space-between;margin-bottom:18px;gap:16px}.hero,.herofig{display:flex;align-items:flex-end}.herofig{gap:18px}.huge{font:300 clamp(52px,8vw,88px)/.82 var(--serif-display);letter-spacing:-.03em;color:var(--ink);font-feature-settings:"lnum" 1,"tnum" 1}.herolabel{font:500 11px/1.55 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:13px}.herolabel b{display:block;color:var(--ink);font-weight:600}.heropct{font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:13px}.bar{position:relative;height:14px;border-radius:2px;background:var(--rule);overflow:visible;display:flex}.bar>span{display:block;height:100%}.bar .done{background:var(--st-done)}.bar .review{background:var(--st-review)}.bar .progress{background:var(--st-progress)}.bigbar{height:36px;margin:14px 0}.bigbar .seg,.spillbar .seg{display:flex;align-items:center;justify-content:center;height:100%;min-width:0;overflow:hidden}.bigbar .seg:first-child,.spillbar .seg:first-child{border-radius:2px 0 0 2px}.bigbar .seg:last-child,.spillbar .seg:last-child{border-radius:0 2px 2px 0}.seglabel{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:0 8px}.target-marker{position:absolute;top:-7px;bottom:-7px;width:0;border-left:1.5px dashed var(--ink)}.target-marker span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font:500 10px/1 var(--mono);color:var(--ink);background:var(--paper);padding:0 5px}.legend,.target-marker span{letter-spacing:.12em;text-transform:uppercase}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font:500 11px/1 var(--mono);color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:1px;margin-right:7px;vertical-align:middle}.hint{font:400 13.5px/1.5 var(--sans);color:var(--muted);margin:6px 0 0}.hint b{color:var(--ink);font-weight:500}.legendline{font:400 12.5px/1.5 var(--sans);color:var(--muted);margin:0 0 16px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.legendline b{color:var(--ink);font-weight:500}.toggle{display:inline-flex;border:1px solid var(--rule);border-radius:2px;overflow:hidden;margin-bottom:16px}.toggle a{padding:8px 16px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);border-right:1px solid var(--rule)}.toggle a:last-child{border-right:none}.toggle a:hover{color:var(--ink)}.toggle a.active{background:var(--indigo);color:var(--paper)}.rel{font:500 9.5px/1 var(--mono);letter-spacing:.1em;padding:3px 7px;border-radius:2px;margin-right:9px;vertical-align:middle;text-transform:uppercase;border:1px solid transparent}.rel.mvp{background:var(--indigo-soft);color:var(--indigo);border-color:var(--indigo-light)}.rel.r1{background:var(--paper-3);color:var(--muted);border-color:var(--rule)}.pill{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:2px;white-space:nowrap}.pill.done{background:rgba(83,74,183,.12);color:var(--indigo)}.pill.inReview{background:rgba(140,132,214,.18);color:#5b51b0}.pill.inProgress{background:rgba(176,122,46,.15);color:#8a5e1f}.pill.planned{background:hsla(45,4%,40%,.12);color:var(--muted)}details.epic{background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;margin-bottom:10px;transition:border-color .2s,transform .2s}details.epic[open]{background:var(--paper)}details.epic summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}details.epic summary::-webkit-details-marker{display:none}details.epic summary:before{content:"+";color:var(--indigo);font:400 16px/1 var(--mono);margin-right:6px}details.epic[open] summary:before{content:"×"}details.epic summary:hover .etitle{color:var(--indigo)}.etitle{font:400 19px/1.25 var(--serif-medium);color:var(--ink);flex:1 1;transition:color .15s}.emeta{display:flex;gap:16px;align-items:center;white-space:nowrap}.emeta .sp{font:500 12px/1 var(--mono);letter-spacing:.06em;color:var(--ink)}.emeta .count{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ebody{padding:0 18px 16px}.targetline{font:400 12.5px/1.4 var(--sans);color:var(--muted);margin:2px 0 10px}.targetline b{color:var(--ink);font-weight:600}.ebody .jira{display:inline-block;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);margin:0 0 10px}.epic ul{list-style:none;margin:0;padding:0}.epic li{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--rule-soft);font-size:14px}.epic li:first-child{border-top:none}.epic li>a{font:500 12px/1 var(--mono);color:var(--indigo);letter-spacing:.02em}.epic li .sm{flex:1 1;color:var(--ink-2)}.epic li .childsp,.epic li .muted-inline{color:var(--muted)}.epic li .childsp{font:500 11px/1 var(--mono)}.tag-carry{font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);border-radius:2px;padding:2px 6px}table.grid{width:100%;border-collapse:collapse;background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;overflow:hidden;font-size:14px}table.grid td,table.grid th{text-align:left;padding:11px 16px;border-top:1px solid var(--rule-soft);vertical-align:top;color:var(--ink-2)}table.grid thead th{border-top:none;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--paper-3)}table.grid td.num,table.grid th.num{text-align:right;font-family:var(--mono);font-feature-settings:"lnum" 1,"tnum" 1;white-space:nowrap}table.grid td a{font:500 12px/1 var(--mono);color:var(--indigo)}table.grid tr.totalrow td{font-weight:600;color:var(--ink);border-top:1.5px solid var(--rule);background:var(--paper-3)}.yes{color:var(--indigo)}.no,.yes{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.no{color:var(--muted)}.spill{padding:4px 0}.splane{margin:0}.splabel{font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.spillbar{height:32px}.spcomp{font:400 12.5px/1.4 var(--sans);color:var(--muted);margin-top:8px}.spgap{display:flex;align-items:center;gap:10px;margin:14px 0 16px;padding-left:8px}.sparrow{font-size:18px;line-height:1}.sparrow,.spnote{color:var(--st-progress)}.spnote{font:400 italic 13px/1.3 var(--sans)}.spkey{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.spkey i{display:inline-block;width:9px;height:9px;border-radius:1px;margin-right:7px;vertical-align:middle}.flowtable{border:1px solid var(--rule);border-radius:2px;overflow:hidden;background:var(--paper-2)}.flowcounted,.flowhead,.flowrow summary,.flowtotal,.frepic{display:grid;grid-template-columns:2fr 58px 52px 70px 52px 64px;grid-gap:10px;gap:10px;align-items:center}.flowhead{padding:9px 16px;background:var(--paper-3);font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.flowcounted .num,.flowhead .num,.flowrow summary .num,.flowtotal .num,.frepic .num{text-align:right}details.flowrow{border-top:1px solid var(--rule)}details.flowrow summary{list-style:none;cursor:pointer;padding:12px 16px}details.flowrow summary::-webkit-details-marker{display:none}details.flowrow summary:hover{background:rgba(83,74,183,.04)}.frlabel{font:500 14px/1.35 var(--sans);color:var(--ink)}.flowrow summary .frlabel:before{content:"▸";color:var(--indigo);margin-right:9px;display:inline-block;transition:transform .15s ease}details.flowrow[open] summary .frlabel:before{transform:rotate(90deg)}.flowrow summary .num{font:500 12px/1 var(--mono);color:var(--ink)}.frbody{background:var(--paper);padding:2px 16px 8px}.frbody ul{list-style:none;margin:0;padding:0}.frbody li{display:flex;align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--rule-soft);font-size:14px}.frbody li:first-child{border-top:none}.frbody li>a{font:500 12px/1 var(--mono);color:var(--indigo)}.frbody li .sm{flex:1 1;color:var(--ink-2)}.frbody li .childsp{font:500 11px/1 var(--mono);color:var(--muted)}.frepic{padding:7px 0;border-top:1px solid var(--rule-soft)}.frepic:first-child{border-top:none}.frepic .frlabel{font:400 13px/1.3 var(--sans);color:var(--ink-2);padding-left:18px}.frepic .frlabel a{font:500 11px/1 var(--mono);color:var(--indigo);margin-right:8px}.frepic .num{font:500 11px/1 var(--mono);color:var(--muted)}.flowtotal{padding:12px 16px;background:var(--paper-3);border-top:2px solid var(--rule)}.flowtotal .frlabel{font-weight:600}.flowtotal .num{font:600 12px/1 var(--mono);color:var(--ink)}.flowcounted{padding:12px 13px;background:var(--paper-3);border-top:1px solid var(--rule);border-left:3px solid var(--indigo)}.flowcounted .frlabel{font-weight:600;color:var(--indigo)}.flowcounted .num{font:600 12px/1 var(--mono);color:var(--indigo)}footer{margin-top:48px;border-top:1px solid var(--rule);padding-top:18px;font:500 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tablewrap>.flowtable,.tablewrap>table.grid{min-width:560px}.loading{display:flex;min-height:60vh;align-items:center;justify-content:center;font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase}.empty,.loading{color:var(--muted)}.empty{background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:28px 24px;font:400 15px/1.5 var(--sans);text-align:center}@media (max-width:720px){main{padding:24px 16px 56px}header.page h1{font-size:40px}.sub{font-size:10.5px}.tabs{overflow-x:auto;flex-wrap:nowrap;gap:2px}.tabs a{padding:9px 12px;white-space:nowrap}.subrow{gap:10px}.hero .huge{font-size:56px}section h2{font-size:24px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}