@font-face{font-family:Departure;src:url(/fonts/DepartureMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Bough Display;src:url(/fonts/display.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Bough Mono;src:url(/fonts/body-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Bough Mono;src:url(/fonts/body-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{--ground: #f6f1e4;--raised: #efe7d4;--sunk: #e5dac0;--rule: #d6c9a8;--leaf: #7c8a46;--deep: #4a5522;--bark: #6b4f2f;--bark-lo: #8a6a44;--warm: #be6a31;--warm-text: #9c5122;--ink: #241f17;--ink-mid: #6b6151;--ink-low: #6e6455;--grid: rgba(74, 85, 34, .05);--grid-big: rgba(74, 85, 34, .08);--pixel: "Departure", ui-monospace, "Cascadia Mono", Consolas, monospace;--display: "Bough Display", Georgia, "Iowan Old Style", serif;--mono: "Bough Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.32, .72, .28, 1);--page: 68rem;color-scheme:light}*{box-sizing:border-box}html{background:var(--ground);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:99px;border:3px solid var(--ground)}::-webkit-scrollbar-thumb:hover{background:var(--bark-lo)}body{margin:0;background:var(--ground);color:var(--ink);font:400 15px/1.65 var(--mono);-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a{color:var(--deep);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--warm-text)}code{font-family:var(--mono)}.marker{margin:0 0 1.2rem;font:400 .78rem/1 var(--pixel);letter-spacing:.14em;text-transform:uppercase;color:var(--deep)}.hero{position:relative;min-height:100svh;display:grid;grid-template-rows:auto 1fr;padding:1.6rem 1.6rem 2rem;overflow:hidden}.masthead,.hero-body{width:100%;max-width:84rem;margin-inline:auto}.hero-body{position:relative;display:grid;grid-template-columns:minmax(19rem,24rem) 1fr;align-items:center;gap:clamp(2rem,4vw,3.5rem);min-height:0}.grid{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:linear-gradient(var(--grid-big) 1px,transparent 1px),linear-gradient(90deg,var(--grid-big) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,#000 35%,transparent 100%);pointer-events:none}.masthead{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem}.masthead img{image-rendering:pixelated;display:block}.masthead-links{display:flex;gap:1.4rem;font:400 .8rem var(--pixel);letter-spacing:.06em;text-transform:uppercase}.masthead-links a{display:inline-flex;align-items:center;gap:.42rem;text-decoration:none;color:var(--ink-mid);transition:color .12s var(--ease)}.masthead-links a:hover{color:var(--warm-text)}.masthead-links svg{width:16px;height:16px;display:block;fill:currentColor}.hero-copy{position:relative;max-width:30rem}.hero-copy h1{margin:0;font:600 clamp(1.9rem,3.2vw,2.7rem)/1.1 var(--display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}.hero-copy p{margin:1rem 0 0;color:var(--ink-mid);text-wrap:pretty}.hero-aside{margin-top:.9rem!important;font-size:.78rem;color:var(--ink-low)!important}.install{display:flex;align-items:stretch;width:100%;max-width:30rem;margin-top:1.8rem;border:1px solid var(--rule);border-radius:8px;background:var(--raised);overflow:hidden}.install code{flex:1 1 auto;padding:.7rem .9rem;font:400 .78rem/1.4 var(--pixel);color:var(--ink);white-space:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;min-width:0}.install code::-webkit-scrollbar{display:none}.install button{flex:0 0 auto;margin-left:auto;padding:0 .95rem;font:400 .72rem var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);background:var(--sunk);border:0;border-left:1px solid var(--rule);cursor:pointer;transition:color .12s var(--ease),background .12s var(--ease)}.install button:hover{color:var(--ground);background:var(--leaf)}.hero-figure{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0}.diagram{width:100%;height:auto;max-height:min(68vh,42rem);overflow:visible}.hero-figure figcaption{min-height:3.4rem;margin-top:.6rem;padding:.55rem .9rem;max-width:36rem;border-radius:7px;font-size:.8rem;line-height:1.5;text-align:center;color:var(--ink);background:transparent;border:1px solid transparent;transition:background .14s var(--ease),border-color .14s var(--ease)}.hero-figure figcaption.on{background:var(--raised);border-color:var(--rule)}.hero-figure figcaption b{display:block;font:400 .68rem var(--pixel);letter-spacing:.06em;color:var(--ink-low);margin-bottom:.2rem}.hint{font:400 .72rem var(--pixel);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-low)}.spine{stroke:var(--ink);stroke-width:1.6;opacity:.55}.spine-cap{fill:var(--ink);opacity:.55}.spine-arrow{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.wire{stroke:var(--ink);stroke-width:1.2;opacity:.42}.twig{stroke:var(--ink);stroke-width:1;opacity:.26}.wire,.twig{transition:stroke .12s var(--ease),opacity .12s var(--ease)}.wire.lit,.twig.lit{stroke:var(--deep);opacity:1}.link{fill:none;stroke:var(--bark);stroke-width:1.4;opacity:.55;stroke-dasharray:4 4}.day-node,.task-node,.prompt{stroke-width:1.6;fill:var(--ground);cursor:pointer;transition:fill .12s var(--ease),stroke .12s var(--ease)}.day-node{fill:var(--bark);stroke:var(--bark);stroke-width:2}.task-node{stroke:var(--deep);stroke-width:1.8}.prompt{stroke:var(--leaf)}.task.hard .task-node,.task.hard .prompt{stroke:var(--warm)}.prompt.lit{fill:var(--leaf)}.task-node.lit{fill:var(--deep)}.day-node.lit{fill:var(--deep);stroke:var(--deep)}.task.hard .prompt.lit,.task.hard .task-node.lit{fill:var(--warm);stroke:var(--warm-text)}.hit{fill:transparent;stroke:none;cursor:pointer}.day-date{font:600 12px var(--display);fill:var(--ink-mid);paint-order:stroke;stroke:var(--ground);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.reading,.limits{max-width:var(--page);margin:0 auto;padding:clamp(4rem,12vh,8rem) 1.6rem 0}.parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2.4rem}.parts article{margin:0}.parts svg{width:32px;height:32px;display:block;margin-bottom:.9rem}.k-day{fill:var(--bark);stroke:var(--bark);stroke-width:2}.k-task{fill:none;stroke:var(--deep);stroke-width:2}.k-prompt{fill:none;stroke:var(--leaf);stroke-width:2}.parts h3{margin:0 0 .4rem;font:600 1.02rem/1.35 var(--display);color:var(--ink)}.parts p,.second-half p,.not p,.honest li{margin:0;color:var(--ink-mid);text-wrap:pretty}.second-half{margin-top:clamp(4rem,10vh,7rem);max-width:42rem}.second-half p{font-size:1.02rem}.limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:3rem}.not p code{padding:.1rem .35rem;border-radius:4px;background:var(--raised);font-size:.88em}.honest ul{margin:0;padding-left:1.1rem}.honest li{margin-bottom:.7rem}.honest li::marker{color:var(--leaf)}.foot{max-width:var(--page);margin:clamp(5rem,14vh,9rem) auto 0;padding:2rem 1.6rem 3rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1.2rem}.foot .local{margin:0;max-width:34rem;font-size:.82rem;color:var(--ink-low)}.foot nav{display:flex;gap:1.4rem;font:400 .76rem var(--pixel);letter-spacing:.08em;text-transform:uppercase}.foot nav a{text-decoration:none;color:var(--ink-mid)}.foot nav a:hover{color:var(--warm-text)}@media(max-width:62rem){.hero{min-height:auto}.hero-body{grid-template-columns:1fr;gap:2rem;padding:2.5rem 0 1rem}.hero-copy{max-width:36rem;order:2}.hero-figure{order:1}.diagram{max-height:52vh}}@media(max-width:40rem){.hero{padding:1.1rem 1.1rem 1.6rem}.hero-body{padding-top:1.6rem}.diagram{max-height:46vh}.install code{font-size:.72rem}}
