:root{color-scheme:light;--white: #ffffff;--light: #f5f5f5;--rule: #e5e5e5;--edge: #d1d1d1;--grey: #808080;--grey-text: #767676;--dark: #3b3b3b;--black: #000000;--s-half: 4px;--s1: 8px;--s-onehalf: 12px;--s2: 16px;--s3: 24px;--s4: 32px;--s5: 48px;--s6: 64px;--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .58, 1);--t-instant: .1s;--t-fast: .16s;--t-normal: .24s;--t-display: 3.9rem;--t-h2: 2rem;--t-h3: 1.25rem;--t-body: 1rem;--t-small: .8125rem;--t-label: .6875rem;--font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;background:var(--white);color:var(--black);font-family:var(--font);font-size:var(--t-body);font-weight:400;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:400;letter-spacing:.02em;line-height:1.25;color:var(--black)}h1{font-size:clamp(2.5rem,7vw,var(--t-display))}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3)}.label{font-size:var(--t-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-text)}.small{font-size:var(--t-small);line-height:1.5;color:var(--dark)}.shell{min-height:100vh}.shell-body{min-width:0}.wrap{max-width:1080px;margin:0 auto;padding:0 var(--s3) var(--s6)}.wrap.narrow{max-width:min(46rem,100% - var(--s4))}.wrap.narrow .caption{max-width:34rem}.wrap.list{max-width:min(58rem,100% - var(--s4))}.wrap.board-wide{max-width:min(1800px,100% - var(--s5))}@media (max-width: 859px){.wrap.board-wide{max-width:100%}}.loading{padding:var(--s6) 0;color:var(--grey-text);font-size:var(--t-small)}.topbar{position:sticky;top:0;z-index:15;background:var(--white);border-bottom:1px solid transparent;transition:border-color var(--t-normal) var(--ease)}.topbar.stuck{border-bottom-color:var(--rule)}.topbar-in{display:flex;align-items:center;gap:var(--s2);min-height:56px;padding-top:0;padding-bottom:0}.topbar-title{flex:1;min-width:0;text-align:center;font-size:var(--t-small);color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity var(--t-normal) var(--ease)}.topbar.stuck .topbar-title{opacity:1}.topbar-actions{display:flex;gap:var(--s1);align-items:center;margin-left:auto}.topbar-lead{display:flex;align-items:center;min-width:0}.up{display:inline-flex;align-items:center;gap:var(--s-half);min-height:44px;padding:0 var(--s1) 0 0;font-size:var(--t-small);color:var(--grey-text);text-decoration:none;white-space:nowrap}.up:hover{color:var(--black)}.up svg{flex:none}.page-head{padding:var(--s3) 0 var(--s3)}.page-head.bare{padding-top:var(--s5)}.shell-body .page-head h1{font-size:var(--t-h2)}.page-head .label{margin-bottom:var(--s-onehalf)}.page-head .page-sub{margin:var(--s-onehalf) 0 0}.page-head .page-brief{margin:var(--s2) 0 0}.sidebar{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--white);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tabbar .nav-item{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;gap:var(--s1);border-top:var(--s-half) solid transparent;margin-top:calc(var(--s-half) * -1)}.shell-body .wrap{padding-bottom:calc(var(--s5) + 52px)}.nav-item{font-size:var(--t-small);color:var(--grey-text);text-decoration:none;padding:var(--s-onehalf);position:relative;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.nav-item:hover{color:var(--black)}.nav-item.active{color:var(--black);font-weight:600}.tabbar .nav-item.active{border-top-color:var(--black)}.nav-item:focus-visible{outline:2px solid var(--black);outline-offset:-2px}.nav-badge{font-size:var(--t-label);font-weight:600;color:var(--white);background:var(--black);min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}@media (min-width: 860px){.shell{display:grid;grid-template-columns:240px minmax(0,1fr)}.tabbar{display:none}.shell-body .wrap{padding-bottom:var(--s6)}.sidebar{display:flex;flex-direction:column;gap:2px;position:sticky;top:0;align-self:start;height:100vh;padding:var(--s3) var(--s2);background:var(--light);border-right:1px solid var(--rule)}.sidebar-mark{font-size:var(--t-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-text);padding:var(--s1) var(--s-onehalf);margin-bottom:var(--s3)}.sidebar .nav-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:44px;border-left:var(--s-half) solid transparent}.sidebar .nav-item:hover{background:var(--white)}.sidebar .nav-item.active{border-left-color:var(--black);background:var(--white)}.wrap.board-wide{max-width:min(1600px,100%)}.page-head{padding:var(--s4) 0 var(--s4)}.page-head.bare{padding-top:var(--s6)}}.label{display:block;font-size:var(--t-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-text)}.label .plain{text-transform:none;letter-spacing:0;font-weight:400}.note{font-size:var(--t-small);line-height:1.5;color:var(--grey-text)}.note.error{color:var(--black)}.prose{margin:0}h1.at-h2{font-size:var(--t-h2)}.rows{border:1px solid var(--rule);background:var(--white)}.rows+.rows{margin-top:var(--s3)}.row{display:flex;align-items:flex-start;gap:var(--s2);min-height:56px;padding:var(--s2) var(--s3);color:inherit;text-decoration:none;border-left:var(--s-half) solid transparent}.row+.row{border-top:1px solid var(--rule)}.row-main{flex:1;min-width:0}.row-eyebrow{font-size:var(--t-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-text);margin-bottom:2px}.row-title{font-size:var(--t-body);line-height:1.4;color:var(--black)}.row-sub{margin-top:var(--s-half);font-size:var(--t-small);line-height:1.45;color:var(--grey-text)}.row-trail{flex:none;display:flex;align-items:center;gap:var(--s1);align-self:center}.row-chev{flex:none;align-self:center;color:var(--edge);display:flex}a.row:hover{background:var(--light)}a.row:hover .row-chev{color:var(--grey)}a.row:active{background:var(--rule)}.row:focus-visible{outline:2px solid var(--black);outline-offset:-2px}.row.pending{border-left-color:var(--black)}.row.pending .row-title{font-weight:600}.row-flag{font-size:var(--t-label);font-weight:600;color:var(--black);white-space:nowrap}.rows-head{padding:var(--s-onehalf) var(--s3);background:var(--light);border-bottom:1px solid var(--rule);display:flex;align-items:baseline;justify-content:space-between;gap:var(--s1) var(--s2);flex-wrap:wrap}.rows-empty{padding:var(--s3)}.card{background:var(--white);border:1px solid var(--rule)}.card+.card{margin-top:var(--s3)}.card-head{padding:var(--s-onehalf) var(--s3);border-bottom:1px solid var(--rule);background:var(--light)}.card-body{padding:var(--s3)}.card-body+.card-body{border-top:1px solid var(--rule)}.card-link{display:block;color:inherit;text-decoration:none}.card-link:hover{border-color:var(--edge)}.card-link:focus-visible{outline:2px solid var(--black);outline-offset:1px}.decide{padding:var(--s3);background:var(--light);border-top:2px solid var(--rule)}.decide .label{margin-bottom:var(--s2)}.decide .btn{background:var(--white)}input,textarea{width:100%;padding:var(--s-onehalf) var(--s2);margin:var(--s1) 0 var(--s2);border:1px solid var(--edge);background:var(--white);color:var(--black);font-family:inherit;font-size:var(--t-body);line-height:1.5;transition:border-color var(--t-fast) var(--ease)}input:hover,textarea:hover{border-color:var(--grey)}textarea{min-height:18rem;resize:vertical}input:focus-visible,textarea:focus-visible{outline:2px solid var(--black);outline-offset:1px}.btn{display:block;width:100%;min-height:48px;padding:var(--s-onehalf) var(--s2);text-align:center;font:inherit;font-size:var(--t-body);font-weight:600;text-decoration:none;background:var(--white);color:var(--black);border:1px solid var(--edge);cursor:pointer}.btn.primary{border-color:var(--black)}.btn:hover:not(:disabled){background:var(--black);color:var(--white);border-color:var(--black)}.btn:active:not(:disabled){background:var(--dark);border-color:var(--dark);color:var(--white)}.btn:disabled{color:var(--grey);cursor:default}.btn+.btn{margin-top:var(--s1)}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1);margin-top:var(--s1)}.btn-row.three{grid-template-columns:1fr}@media (min-width: 600px){.btn-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.btn-row .btn+.btn{margin-top:0}.btn.compact{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:36px;padding:0 var(--s2);font-size:var(--t-small)}.btn.compact svg{display:block}.btn[aria-disabled=true]{color:var(--edge);border-color:var(--rule);pointer-events:none}.seg{display:inline-flex;border:1px solid var(--edge)}.seg button{min-height:40px;padding:0 var(--s3);background:var(--white);border:0;color:var(--dark);font:inherit;font-size:var(--t-small);cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.seg button+button{border-left:1px solid var(--edge)}.seg button:hover{background:var(--light)}.seg button[aria-pressed=true]{background:var(--black);color:var(--white);font-weight:600}.seg button:focus-visible{outline:2px solid var(--black);outline-offset:2px}.seg a{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s3);background:var(--white);color:var(--dark);text-decoration:none;font-size:var(--t-small);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.seg a+a{border-left:1px solid var(--edge)}.seg a:hover{background:var(--light)}.seg a[aria-current=page]{background:var(--black);color:var(--white);font-weight:600}.seg a:focus-visible{outline:2px solid var(--black);outline-offset:2px}.week-steps{margin:0 0 var(--s3)}.topic-actions{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s-onehalf)}.topic-actions .btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:40px;padding:0 var(--s2);font-size:var(--t-small)}.topic-actions .btn+.btn{margin-top:0}.topic-edit{margin-top:var(--s-onehalf)}.topic-edit input,.topic-edit textarea{margin:0 0 var(--s1)}.topic-edit textarea{min-height:5rem}.decide-out{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--rule);display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}.linkish{min-height:44px;display:inline-flex;align-items:center;background:none;border:0;padding:0;margin:0;font:inherit;font-size:var(--t-small);color:var(--grey-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.linkish:hover:not(:disabled){color:var(--black)}.linkish:disabled{color:var(--edge);cursor:default;text-decoration:none}.tick{display:flex;gap:var(--s2);align-items:center;min-height:44px;padding:var(--s-half) var(--s2);border:1px solid var(--rule);background:var(--white);cursor:pointer}.tick+.tick{margin-top:var(--s1)}.tick:hover{border-color:var(--grey)}.tick input[type=checkbox]{width:20px;height:20px;flex:none;margin:0;accent-color:var(--black)}.tick:focus-within{outline:2px solid var(--black);outline-offset:2px}.back{display:inline-flex;align-items:center;gap:var(--s-half);min-height:44px;padding:var(--s-onehalf) 2px;font-size:var(--t-small);color:var(--grey-text);text-decoration:none}.back:hover{color:var(--black)}.btn:focus-visible,.back:focus-visible,.linkish:focus-visible{outline:2px solid var(--black);outline-offset:2px}.board{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}@media (min-width: 860px){.board{grid-template-columns:repeat(7,minmax(0,1fr))}}.day{background:var(--white);padding:var(--s-onehalf);display:flex;flex-direction:column;gap:var(--s1)}@media (min-width: 860px){.day{min-height:136px;padding:var(--s2) var(--s-onehalf)}}.day.over{background:var(--light)}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s1);padding-bottom:var(--s1);margin-bottom:var(--s-half);border-bottom:1px solid var(--rule)}.day-name{font-size:var(--t-label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-text)}.day-count{font-size:var(--t-label);font-weight:600;color:var(--white);background:var(--black);min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.chip{display:block;width:100%;text-align:left;font:inherit;border:1px solid var(--rule);background:var(--white);padding:var(--s-onehalf);color:inherit;text-decoration:none;cursor:pointer}.chip:hover{border-color:var(--edge)}.chip:focus-visible{outline:2px solid var(--black);outline-offset:1px}.chip:active{border-color:var(--black)}.chip.dragging{opacity:.35}.chip .s{font-size:var(--t-label);line-height:1.35;color:var(--grey-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip .w{margin-top:2px;font-size:var(--t-small);line-height:1.35;color:var(--dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chip.pending{border-left:var(--s-half) solid var(--black);padding-left:var(--s1)}.chip.pending .w{font-weight:600;color:var(--black)}.chip.settled{padding:var(--s1) var(--s-onehalf);border-color:transparent;background:transparent}.chip.settled:hover{border-color:var(--rule);background:var(--light)}.needs{font-size:var(--t-label);font-weight:600;color:var(--black)}.who{font-size:var(--t-label);color:var(--grey-text);border:1px solid var(--rule);padding:2px var(--s1);white-space:nowrap}.warn{display:flex;gap:var(--s2);align-items:baseline;padding:var(--s-onehalf) var(--s2);margin-bottom:var(--s3);border:1px solid var(--edge);border-left:3px solid var(--black);background:var(--light);font-size:var(--t-small);color:var(--dark)}.warn strong{color:var(--black);font-weight:600}.warn.failure{border-left-width:5px;color:var(--black)}.warn button{margin-left:auto;flex:none;min-height:44px;padding:0 var(--s-onehalf);background:none;border:1px solid var(--edge);font:inherit;font-size:var(--t-small);color:var(--dark);cursor:pointer}.warn button:hover{background:var(--white);border-color:var(--grey)}.stat{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);font-size:var(--t-small);color:var(--grey-text)}.stat b{font-weight:600;color:var(--dark)}.draft{white-space:pre-wrap;line-height:1.6;margin:0}.caption{max-width:34em}.caption-line{white-space:pre-wrap;line-height:1.5;margin:0}.caption-gap{height:.9em}.btn,.chip,.back,.up,.tick,.row,.linkish,.card-link,.row-chev{transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn:active,.chip:active,.row:active{transition-duration:var(--t-instant)}
