@font-face{font-family:Satoshi;src:url(/fonts/satoshi/Satoshi-Variable.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi/Satoshi-VariableItalic.woff2) format("woff2");font-weight:300 900;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Variable.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-VariableItalic.woff2) format("woff2");font-weight:200 700;font-style:italic;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/fragment-mono/FragmentMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/fragment-mono/FragmentMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--font-primary: "Satoshi", sans-serif;--font-heading: "Satoshi", sans-serif;--font-mono: "Fragment Mono", monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tight: -.6px;--tracking-snug: -.48px;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .03em;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.6;--space-1: 1px;--space-2: 2px;--space-3: 3px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-22: 22px;--space-24: 24px;--space-26: 26px;--space-30: 30px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--space-80: 80px;--z-base: 0;--z-raised: 1;--z-sticky: 10;--z-header: 100;--z-overlay: 9999;--max-width-site: 1440px;--color-black: #000000;--color-white: #FFFFFF;--color-bg: #fdfdfd;--color-grey-mid: #444;--color-grey-muted: #888;--color-grey-light: #bbb;--color-header-bg: #131313;--color-card-closed: #191919;--color-card-active: #2a7e70;--color-card-open: #faf9fb;--color-card-tray: #000000;--color-active: #85d589;--color-active-text: #424242;--color-pending: #c0c0c0;--color-pending-text: #2e2e2e;--color-milestone: #7FE78C;--color-link-hover: #F6FF50;--color-cursor: #c0c82d;--color-link: #4384a5;--color-error: #E07070;--color-ws-management: #FF9F43;--color-ws-pr: #00E5FF;--color-ws-content: #FF4D8F;--color-ws-design: #A78BFA;--color-ws-website: #00FFAA;--color-ws-edm: #4D8BFF;--color-ws-social: #FF70F0;--color-ws-milestone: #F6FF50;--color-ws-physical: #AAFF00;--color-effort-1: #ffffff;--color-effort-3: #ffffff;--color-effort-5: #ffffff;--color-effort-10: #ffffff;--color-month-mar: #b0abfa;--color-month-apr: #b6fdbe;--color-month-may: #fbccaa;--color-month-jun: #a8f0fb;--color-month-jul: #f9a1ca;--color-month-aug: #c8fbb8;--shadow-header: 0 10px 20px 0 rgba(0, 0, 0, .33);--shadow-card: 6px 6px 10.6px rgba(0, 0, 0, .27);--shadow-card-mobile: 0 2px 6px rgba(0, 0, 0, .2);--shadow-card-inset: inset 5px -3px 4px rgba(0, 0, 0, .25);--shadow-soft: 0 2px 6px rgba(0, 0, 0, .15);--radius-card: 16px;--radius-card-mobile: 10px;--radius-month: 16px;--radius-header: 16px;--radius-header-mobile: 24px;--radius-pill: 999px;--radius-date: 8px;--color-surface: var(--color-bg);--color-text-primary: var(--color-black);--color-text-secondary: var(--color-grey-muted);--color-text-inverse: var(--color-white);--color-border: var(--color-grey-mid)}:root{--ease-out: cubic-bezier(0, 0, .2, 1);--ease-soft: cubic-bezier(.22, .61, .36, 1);--ease-standard: cubic-bezier(.25, .46, .45, .94);--duration-drawer: .6s;--duration-card-expand: .5s;--duration-card-color: .24s;--duration-filter: .3s;--duration-fast: .12s}@media(prefers-reduced-motion:reduce){:root{--duration-drawer: .01s;--duration-card-expand: .01s;--duration-card-color: .01s;--duration-filter: .01s;--duration-fast: .01s}*,*:before,*:after{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body,#root{height:100%;background-color:var(--color-bg)}@media(max-width:680px){html,body,#root{background-color:transparent}}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tl-wrap{position:relative;width:100%;padding:0 0 var(--space-64)}.tl-spacer{height:var(--space-24)}.tl-month-group{position:relative;border-radius:var(--radius-month);padding:var(--space-8) var(--space-12) var(--space-4);margin-bottom:var(--space-24);opacity:1;transition:opacity var(--duration-filter) var(--ease-standard),margin-bottom var(--duration-filter) var(--ease-standard),padding var(--duration-filter) var(--ease-standard)}.tl-month-group--hidden{display:none}.tl-month-label{display:block;font-family:var(--font-heading);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-black);text-transform:uppercase;letter-spacing:var(--tracking-tight);margin-bottom:var(--space-16);padding:var(--space-16) var(--space-16) var(--space-8)}.tl-month-empty{font-size:var(--text-sm);color:var(--color-grey-light);font-weight:var(--font-regular);padding:var(--space-8) 0 var(--space-16);font-style:italic}.tl-month-bar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-header);display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-16);transition:background-color .35s ease}.tl-month-bar-text{font-family:var(--font-heading);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-black);text-transform:uppercase;letter-spacing:var(--tracking-wide)}@media(max-width:680px){.tl-wrap{padding:0 0 var(--space-48) 0}.tl-month-group{border-radius:var(--radius-month);padding:var(--space-16) var(--space-12) var(--space-4);margin-bottom:var(--space-16);width:100svw;margin-left:calc((100svw - 100%)/-2)}.tl-month-label{padding:var(--space-12) var(--space-12) var(--space-8)}.tl-month-bar{padding:var(--space-10) var(--space-12)}.tl-month-bar-text{font-size:var(--text-base)}}.tl-item{position:relative;margin-bottom:var(--space-16);transition:opacity .15s ease,margin-bottom var(--duration-filter) var(--ease-standard)}.tl-item--hidden{display:none}.tl-card-placeholder{height:5.5rem;border-radius:var(--radius-card)}.tl-card{--card-text: var(--color-white);--divider-color: var(--color-black);position:relative;display:flex;flex-direction:column;background:var(--color-card-closed);border-radius:var(--radius-card);cursor:pointer;color:var(--card-text);transition:background var(--duration-card-color) ease-in-out,transform .15s ease,box-shadow .15s ease,color var(--duration-card-color) ease-in-out;overflow:hidden}.tl-card:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.tl-card--active:not(.tl-card--open){background:var(--color-card-active)}.tl-card--active,.tl-card--pending{margin-right:var(--space-30);width:calc(100% - var(--space-30))}.tl-card--open{--card-text: var(--color-black);--divider-color: var(--color-black);background:var(--color-card-open)}.tl-card-sidebar{position:absolute;right:0;top:0;bottom:0;width:40px;border-radius:0 var(--radius-card) var(--radius-card) 0;z-index:var(--z-base);display:flex;align-items:center;justify-content:center;padding-left:var(--space-8)}.tl-card-sidebar--active{background:var(--color-active)}.tl-card-sidebar--pending{background:var(--color-pending)}.tl-card-sidebar-label{writing-mode:vertical-rl;font-weight:var(--font-bold);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.tl-card-sidebar--active .tl-card-sidebar-label{color:var(--color-active-text)}.tl-card-sidebar--pending .tl-card-sidebar-label{color:var(--color-pending-text)}.tl-card-meta{position:absolute;top:0;left:0;display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-20);z-index:var(--z-raised)}.tl-card-content{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-20)}.tl-effort{flex-shrink:0;line-height:0;display:flex;align-items:center}.effort-shape--none circle{fill:var(--color-milestone)}.effort-shape--1 circle,.effort-shape--1 polygon{fill:var(--color-effort-1)}.effort-shape--3 circle,.effort-shape--3 polygon{fill:var(--color-effort-3)}.effort-shape--5 circle,.effort-shape--5 polygon{fill:var(--color-effort-5)}.effort-shape--10 circle,.effort-shape--10 polygon{fill:var(--color-effort-10)}.badge{display:inline-block;padding:var(--space-4) var(--space-16);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-pill);letter-spacing:var(--tracking-wide);line-height:var(--leading-normal)}.badge--cat{color:var(--color-black);border:none;transition:background var(--duration-card-color) ease-in-out}.tl-divider{width:var(--space-24);height:1px;background:var(--divider-color);opacity:0;margin-top:0;margin-bottom:0;transition:opacity 0s,margin var(--duration-card-expand) ease-in-out}.tl-divider--open{opacity:1;margin-top:var(--space-12);margin-bottom:var(--space-8);transition:opacity .2s ease-in-out var(--duration-card-expand),margin var(--duration-card-expand) ease-in-out}.tl-card-body{overflow:hidden}.tl-card-body-inner{padding:var(--space-4) 0 var(--space-24)}.tl-card-icon{flex-shrink:0;align-self:center;padding:var(--space-8) 0}.tl-hint-vertical{transition:opacity 0s}.tl-card--open .tl-card-icon .tl-hint-vertical{opacity:0;transition:opacity .15s ease-in-out .08s}@media(hover:hover)and (min-width:901px){.tl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);outline:1px solid transparent}}@media(max-width:680px){.tl-item{margin-bottom:var(--space-12)}.tl-card{border-radius:var(--radius-card-mobile)}.tl-card-content{padding:0 var(--space-14)}.tl-card-sidebar{width:32px}.tl-card--active,.tl-card--pending{margin-right:var(--space-24);width:calc(100% - var(--space-24))}.tl-card-meta{gap:var(--space-8);padding:0 var(--space-12)}.tl-card-meta .tl-effort{display:none}.tl-wrap--effort-active .tl-card-meta .tl-effort{display:flex}.tl-card-meta .tl-effort svg{width:26px;height:26px}.badge{font-size:var(--text-2xs);padding:var(--space-3) var(--space-10)}}.tl-card-date{display:block;width:fit-content;margin:0 auto var(--space-16);padding:var(--space-6) var(--space-24);font-weight:var(--font-medium);font-size:var(--text-lg);color:var(--color-black);background:var(--color-white);border:none;border-radius:0 0 var(--radius-date) var(--radius-date);line-height:var(--leading-snug)}.tl-card--open .tl-card-date{background:var(--color-white);color:var(--color-black)}.tl-card-title{margin:0;font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-xl);color:var(--card-text);line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--tracking-tight);transition:color var(--duration-card-color) ease-in-out}.tl-card-text{margin:0 0 var(--space-8);font-weight:var(--font-regular);font-size:var(--text-base);color:var(--card-text);line-height:var(--leading-normal);overflow-wrap:break-word;transition:color var(--duration-card-color) ease-in-out}.tl-card-link{display:inline-block;max-width:100%;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-link);text-decoration:none;border-bottom:1px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .15s}.tl-card-link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:2px}.tl-card-link:hover{border-bottom-color:var(--color-link-hover)}@media(max-width:680px){.tl-card-date{font-size:var(--text-xs);padding:var(--space-3) var(--space-12);margin-bottom:var(--space-10)}.tl-card-title{font-size:var(--text-md);letter-spacing:-.3px}.tl-card-text{font-size:var(--text-sm)}.tl-card-link{font-size:var(--text-xs)}}.skip-link{position:absolute;top:-100%;left:var(--space-16);z-index:var(--z-overlay);padding:var(--space-8) var(--space-16);background:var(--color-white);color:var(--color-black);font-weight:var(--font-medium);border-radius:var(--radius-pill);text-decoration:none}.skip-link:focus{top:var(--space-8)}.site{max-width:var(--max-width-site);width:100%;margin:0 auto;min-height:100vh;font-family:inherit}.app-header{position:sticky;top:0;z-index:var(--z-header);display:flex;flex-direction:column;background:var(--color-header-bg);padding:var(--space-24) 0 var(--space-8);border-radius:0 0 var(--radius-header) var(--radius-header);box-shadow:var(--shadow-header);cursor:pointer}.app-header-inner{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-12)}.app-title{margin:0;font-family:var(--font-heading);font-weight:var(--font-medium);font-size:var(--text-2xl);color:var(--color-white);letter-spacing:var(--tracking-tight);text-transform:uppercase}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8)}.filter-btn{padding:var(--space-4) var(--space-14);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-pill);border:1px solid var(--color-grey-mid);background:transparent;color:var(--color-grey-muted);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease;line-height:var(--leading-normal)}@media(hover:hover){.filter-btn:hover{background-color:var(--btn-color, var(--color-white))!important;border-color:var(--btn-color, var(--color-white))!important;color:var(--color-black)!important}}.filter-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.filter-btn--active{background:var(--color-white);color:var(--color-black);border-color:var(--color-white)}.effort-legend{display:flex;flex-direction:column;align-items:center;margin-top:var(--space-12);margin-bottom:var(--space-22)}.effort-label{display:block;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-white);letter-spacing:var(--tracking-wider);padding-top:var(--space-10);margin-bottom:var(--space-8);text-align:center;width:100%}.effort-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6)}.effort-btn{display:inline-flex;align-items:center;gap:var(--space-6);white-space:nowrap;padding:var(--space-4) var(--space-12);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-white);background:transparent;border:1px solid var(--color-white);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease;line-height:var(--leading-normal);letter-spacing:var(--tracking-wide)}@media(hover:hover){.effort-btn:hover{background:var(--color-white);color:var(--color-black)!important}}.effort-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.effort-btn--active{background:var(--color-white);color:var(--color-black)}.app-msg{text-align:center;padding:var(--space-80) var(--space-16);color:var(--color-grey-muted);font-size:var(--text-md);font-weight:var(--font-light)}.app-msg--err{color:var(--color-error)}.menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;flex-shrink:0;padding:var(--space-4);margin:var(--space-4) auto 0}.menu-toggle:focus-visible{outline:2px solid var(--color-white);outline-offset:2px;border-radius:var(--radius-pill)}.menu-toggle svg{display:block}.menu-collapsible{overflow:hidden}.menu-collapsible-inner{min-height:0}@media(max-width:900px){.app-header{padding:var(--space-16) var(--space-20)}.app-title{text-align:center;font-size:var(--text-xl)}.effort-legend{font-size:var(--text-xs);padding:0 var(--space-8)}}@media(max-width:680px){.app-header{width:96svw;margin:0 auto;padding:var(--space-8) var(--space-16) var(--space-10);border-radius:0 0 var(--radius-header-mobile) var(--radius-header-mobile);cursor:pointer}.app-title{font-size:var(--text-lg);text-align:center;padding:var(--space-8) 0 var(--space-2)}.app-header-inner{margin-bottom:0}.filter-bar{gap:var(--space-8)}.filter-btn{font-size:var(--text-xs);padding:var(--space-3) 11px}.effort-legend{font-size:var(--text-sm);padding:0 var(--space-6);margin-top:var(--space-8);margin-bottom:var(--space-12)}.effort-label{font-size:var(--text-base);padding-top:var(--space-8);margin-bottom:var(--space-6)}.effort-btn{font-size:var(--text-2xs);padding:var(--space-3) var(--space-10);gap:var(--space-4)}}
