:root{--paper:#EFEDE4;--ink:#23231F;--grey:#6B6B62;--vermilion:#CE4B33;--slate:#6E8FC4;--slate-deep:#3F5F93;--hair:rgba(35,35,31,.2);--hair-soft:rgba(35,35,31,.12);--card:rgba(255,255,255,.42);--mark-empty:rgba(35,35,31,.3);--tape:rgba(206,75,51,.28);--btn-2:#8F3323;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:22px;--s6:26px;--s7:34px;--s8:44px;--s9:64px;--t-label:9px;--t-meta:11px;--t-small:12.5px;--t-body:13.5px;--t-body-lg:15px;--t-hand:15.5px;--t-hand-lg:17px;--t-head:21px;--t-head-lg:27px;--t-num-s:34px;--t-num:52px;--t-num-xl:104px;--tilt-a:-1.1deg;--tilt-b:.8deg;--dur:.12s;--ease:cubic-bezier(.2,0,0,1)}[data-theme=night]{--paper:#1B1B18;--ink:#E8E6DD;--grey:#8C8C82;--vermilion:#E0624A;--slate:#7E9CCB;--slate-deep:#9DB6DC;--hair:rgba(232,230,221,.18);--hair-soft:rgba(232,230,221,.1);--card:rgba(232,230,221,.05);--mark-empty:rgba(232,230,221,.28);--tape:rgba(224,98,74,.3);--btn-2:var(--vermilion)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.55 "Inter",sans-serif}.grain{min-height:100vh;background-color:var(--paper);background-image:radial-gradient(rgba(35,35,31,.075) .5px,transparent .6px),radial-gradient(rgba(35,35,31,.05) .5px,transparent .6px);background-size:3px 3px,5px 5px;background-position:0 0,1px 2px;background-attachment:fixed}[data-theme=night] .grain{background-image:radial-gradient(rgba(232,230,221,.055) .5px,transparent .6px),radial-gradient(rgba(232,230,221,.035) .5px,transparent .6px)}*:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.page{max-width:560px;margin:0 auto;padding:var(--s4) var(--s6) var(--s9);position:relative}@media (min-width: 1024px){.page{max-width:680px;margin:0 0 0 260px;padding-left:48px}.shell{max-width:1100px;margin:0 auto;position:relative}}.rail{display:none}@media (min-width: 1024px){.rail{display:block;position:absolute;left:0;top:56px;width:220px}}.lbl,.meta{font-family:JetBrains Mono,monospace;text-transform:uppercase;color:var(--grey);margin:0;font-weight:400}.lbl{font-size:var(--t-label);letter-spacing:.26em}.meta{font-size:var(--t-meta);letter-spacing:.18em}.lbl.em{color:var(--ink)}.head{font:500 var(--t-head)/1.2 "Space Grotesk",sans-serif;letter-spacing:-.015em;margin:0}.head-lg{font-size:var(--t-head-lg)}.hand{font:400 var(--t-hand)/1.45 "Space Grotesk",sans-serif;letter-spacing:-.01em;white-space:pre-wrap}.num{font:500 var(--t-num)/.85 "Space Grotesk",sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--vermilion)}.num-xl{font-size:var(--t-num-xl)}.tab{font-variant-numeric:tabular-nums}.block{margin-top:var(--s8)}.stack>*+*{margin-top:var(--s4)}.row{display:flex;align-items:center;gap:var(--s3)}.grow{flex:1;min-width:0}.right{text-align:right}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--s3);border-bottom:1px solid var(--hair);min-height:44px}.brand{font:400 var(--t-label)/1 "JetBrains Mono",monospace;letter-spacing:.44em;text-transform:uppercase}.footer{margin-top:var(--s9);padding-top:var(--s3);border-top:1px solid var(--hair);display:flex;justify-content:space-between}.spine{position:absolute;right:12px;top:90px;writing-mode:vertical-rl;font:400 10px JetBrains Mono,monospace;letter-spacing:.3em;text-transform:uppercase;color:var(--vermilion)}.page.spined{padding-right:calc(var(--s6) + 22px)}@media (min-width: 1024px){.spine{right:auto;left:-30px}.page.spined{padding-right:var(--s6)}}.link{background:none;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;cursor:pointer;color:var(--ink);text-decoration:none}.link.quiet{color:var(--grey)}.link:hover{text-decoration:underline}.btn{font:400 10px/1 JetBrains Mono,monospace;letter-spacing:.24em;text-transform:uppercase;padding:13px var(--s5);min-height:44px;cursor:pointer;border-radius:0}.btn.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.btn.secondary{background:transparent;color:var(--btn-2);border:1px solid var(--vermilion)}.btn:disabled{opacity:.4;cursor:default}.field{display:block}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0;color:var(--ink);padding:var(--s2) 0;font:400 var(--t-body)/1.45 "Inter",sans-serif;min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-bottom:1px solid var(--ink)}.field.written input,.field.written textarea{font:400 var(--t-hand)/1.45 "Space Grotesk",sans-serif}.field textarea{resize:vertical;min-height:96px}::placeholder{color:var(--grey)}.list-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--hair-soft);min-height:44px}button.list-row{width:100%;background:none;border-top:0;border-left:0;border-right:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.marks{display:flex;gap:var(--s4)}.markbtn{background:none;border:0;padding:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.markbtn:disabled{cursor:default}.mark{width:9px;height:9px;display:block}.mark.kept{background:var(--ink)}.mark.today{background:var(--vermilion)}.mark.missed{border:1.5px solid var(--vermilion)}.mark.ahead{border:1px solid var(--mark-empty)}.grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px}.grid .mark{width:auto;height:auto;aspect-ratio:1}.grid button{all:unset;display:block;cursor:pointer}.grid button.sel .mark{outline:1px solid var(--ink);outline-offset:2px}.legend{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s3)}.legend span{display:inline-flex;align-items:center;gap:6px}.card{border:1px solid var(--hair);background:var(--card);padding:16px 18px;position:relative}.card.a{transform:rotate(var(--tilt-a))}.card.b{transform:rotate(var(--tilt-b))}.card.tape:before{content:"";position:absolute;top:-8px;left:20px;width:44px;height:14px;background:var(--tape);transform:rotate(-3deg)}.sensitive-hide{filter:blur(6px);cursor:pointer;-webkit-user-select:none;user-select:none}.index-row{display:flex;align-items:baseline;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--hair-soft);text-decoration:none;color:var(--ink);min-height:44px}.index-row .no{width:24px}.sq{display:inline-block;width:7px;height:7px;background:var(--vermilion);margin-right:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.toast{position:fixed;left:var(--s6);right:var(--s6);bottom:var(--s6);background:var(--ink);color:var(--paper);padding:var(--s3) var(--s4);font:400 var(--t-meta)/1.4 "JetBrains Mono",monospace;letter-spacing:.08em;z-index:5}.toast.fade{animation:fade 2.5s var(--ease) forwards}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}.screen{animation:in var(--dur) var(--ease)}@keyframes in{0%{opacity:0}to{opacity:1}}
