:root{--ink-blue:#2340d8;--ink-blue-2:#1a31b0;--paper:#fbf8f1;--paper-2:#f3eee2;--surface:#ffffff;--ink:#1f1d1a;--text:#3b3833;--muted:#7b756b;--rule:rgba(35,64,216,.09);--line:rgba(31,29,26,.1);--line-2:rgba(31,29,26,.18);--tram:#ffd84d;--shadow:0 1px 2px rgba(31,29,26,.06), 0 30px 60px -30px rgba(31,29,26,.35);--radius:18px;--wrap:1180px;--serif:"Instrument Serif", Georgia, serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--hand:"Caveat", "Bradley Hand", cursive;color-scheme:light}@media(prefers-color-scheme:dark){:root{--ink-blue:#6f86ff;--ink-blue-2:#8a9cff;--paper:#15161b;--paper-2:#1d1f26;--surface:#1c1e25;--ink:#f1eee8;--text:#d6d2ca;--muted:#9b968d;--rule:rgba(111,134,255,.1);--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.16);--tram:#c9a52e;--shadow:0 1px 2px rgba(0,0,0,.3), 0 30px 60px -30px rgba(0,0,0,.8);color-scheme:dark}}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:var(--ink-blue);text-decoration:none}h1,h2,h3{color:var(--ink);margin:0 0 .45em;line-height:1.02}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}h1{font-size:clamp(3rem,8vw,6.4rem)}h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}h3{font-size:1.1rem;font-weight:600;line-height:1.3}h1 em,h2 em{color:var(--ink-blue)}p{margin:0 0 1em}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.eyebrow{font:600 1.35rem var(--hand);color:var(--ink-blue);margin-bottom:.5em;transform:rotate(-2deg);display:inline-block}.lead{font-size:1.2rem;color:var(--muted);max-width:32em}.skip{position:absolute;left:-999px;top:8px;background:var(--ink-blue);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--ink-blue);outline-offset:3px;border-radius:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 1rem/1 var(--sans);padding:.9em 1.4em;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn--ink{background:var(--ink-blue);color:#fff;box-shadow:0 14px 28px -12px rgba(35,64,216,.7)}.btn--ink:hover{background:var(--ink-blue-2);color:#fff}.btn--ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn--ghost:hover{border-color:var(--ink);color:var(--ink)}.btn--light{background:#fff;color:#1a31b0}.btn--light:hover{color:#1a31b0}.btn--sm{padding:.6em 1.1em;font-size:.9rem}.btn--lg{padding:1em 1.6em;font-size:1.05rem}.nav{position:sticky;top:0;z-index:50;transition:background .25s,box-shadow .25s}.nav.is-scrolled{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.nav__inner{display:flex;align-items:center;height:72px}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:1.7rem/1 var(--serif)}.logo:hover{color:var(--ink)}.logo__mark{transform:rotate(-4deg);transition:transform .3s}.logo:hover .logo__mark{transform:rotate(4deg)scale(1.06)}.nav__menu{margin-left:auto;display:flex;align-items:center;gap:6px}.nav__menu>a:not(.btn){color:var(--text);font-weight:500;padding:8px 12px;border-radius:999px}.nav__menu>a:not(.btn):hover{background:var(--paper-2)}@media(max-width:560px){.nav__menu>a:not(.btn){display:none}}.hero{padding:56px 0 40px;overflow:hidden}.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr)minmax(0,.9fr);gap:56px;align-items:center}.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--muted);padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;margin-bottom:28px}.kicker .dot{width:8px;height:8px;border-radius:50%;background:#3cc46b;box-shadow:0 0 0 4px rgba(60,196,107,.2);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(60,196,107,0)}}.scribble{position:relative;color:var(--ink);white-space:nowrap}.scribble::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.15em;height:.5em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 30 2, 60 12, 90 5 S 115 6, 118 4' fill='none' stroke='%232340d8' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")no-repeat 50%/100% 100%}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.roll{position:relative;height:560px}.roll__paper{position:absolute;inset:0 8%;overflow:hidden;border-radius:6px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(3deg);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent)}.roll__track{animation:roll 38s linear infinite}.roll:hover .roll__track{animation-play-state:paused}@keyframes roll{to{transform:translateY(-50%)}}.roll__set{padding:28px 28px 8px;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,var(--rule) 31px 32px)}.roll__set .blk{font-size:.92rem}.mascot{position:absolute;z-index:2;top:-120px;right:-2%;width:150px;transform-origin:50% -120px;animation:swing 5s ease-in-out infinite;pointer-events:none;--thread:var(--ink-blue)}.mascot svg{width:100%;height:auto;overflow:visible}@keyframes swing{0%,100%{transform:rotate(4deg)}50%{transform:rotate(-4deg)}}@media(max-width:900px){.mascot{width:110px;right:2%;top:-60px}}.roll__note{position:absolute;right:0;bottom:18px;font:600 1.4rem var(--hand);color:var(--ink-blue);transform:rotate(-6deg)}@media(max-width:900px){.hero__grid{grid-template-columns:1fr;gap:24px}.roll{height:380px}}.day{font:600 1.25rem var(--hand);color:var(--ink-blue);margin:18px 0 4px}.day:first-child{margin-top:0}.blk{position:relative;margin:0 0 14px;padding:6px 10px 6px 14px;border-radius:8px;color:var(--text);transition:background .25s,opacity .3s,transform .3s}.blk p{margin:0}.blk.has-tags::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:4px;background:var(--mk)}.blk__tags{float:right;display:flex;gap:4px;margin:2px 0 4px 10px}.chip{font:600 .72rem var(--sans);padding:1px 7px;border-radius:999px;color:#1f1d1a;background:var(--c,#eee)}.chip--idea{--c:#ffd84d}.chip--book{--c:#ff9bbd}.chip--todo{--c:#8fe3a9}.chip--travel{--c:#8fcbff}mark{color:inherit;background:var(--mk);background-size:100% 62%;background-position:0 88%;background-repeat:no-repeat;padding:0 1px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}@media(prefers-color-scheme:dark){mark{color:#1f1d1a;background-size:100% 100%}}.sketch{margin:4px 0 0}.sketch svg{width:100%;max-width:320px;border-radius:8px;border:1px solid var(--line)}.sketch figcaption{font-size:.82rem;color:var(--muted);margin-top:6px}.audio{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);max-width:420px}.audio__play{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--ink-blue);color:#fff}.audio__wave{display:flex;align-items:center;gap:2px;height:26px;flex:auto;min-width:88px}.audio__wave i{min-width:2px}.audio__wave i{flex:1;height:var(--h);border-radius:2px;background:var(--ink-blue);opacity:.55}.audio__meta b,.link b{display:block;font-size:.85rem;color:var(--ink);line-height:1.3}.audio__meta span,.link span span{font-size:.78rem;color:var(--muted)}.audio__meta{min-width:0;flex:0 1 150px}.link{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:12px;border:1px dashed var(--line-2);max-width:420px}.link__icon{color:var(--ink-blue)}.why{padding:110px 0 80px}.why__grid{display:grid;grid-template-columns:minmax(0,1.1fr)minmax(0,.9fr);gap:64px;align-items:center}.why h2 s{text-decoration-color:#e8553d;text-decoration-thickness:3px;color:var(--muted)}.why__list{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:18px}.why__list li{counter-increment:s;position:relative;padding:18px 20px 18px 64px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.why__list li::before{content:counter(s);position:absolute;left:18px;top:12px;font:2.2rem/1 var(--serif);color:var(--ink-blue)}.why__list b{color:var(--ink)}@media(max-width:860px){.why__grid{grid-template-columns:1fr;gap:32px}}.try{padding:60px 0 100px}.section-head{text-align:center;margin-bottom:40px}.section-head p.muted{max-width:34em;margin:0 auto}.app{max-width:920px;margin:0 auto;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.app__bar{position:relative;display:flex;align-items:center;height:40px;padding:0 14px;background:var(--paper-2);border-bottom:1px solid var(--line)}.lights{display:flex;gap:7px}.lights i{width:12px;height:12px;border-radius:50%;background:#ff5f57}.lights i:nth-child(2){background:#febc2e}.lights i:nth-child(3){background:#28c840}.app__title{position:absolute;left:0;right:0;text-align:center;font-size:.82rem;font-weight:600;color:var(--muted);pointer-events:none}.app__toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.tagbar{display:flex;flex-wrap:wrap;gap:6px;margin-right:auto}.tagbtn{font:600 .88rem var(--sans);color:var(--ink);background:0 0;border:1.5px solid var(--c);border-radius:999px;padding:5px 12px;cursor:pointer;transition:background .2s,transform .15s}.tagbtn:hover{transform:translateY(-1px)}.tagbtn[aria-pressed=true]{background:var(--c);color:#1f1d1a}.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--paper-2);border:1px solid var(--line)}.seg button{font:600 .82rem var(--sans);color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 11px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.app__body{position:relative}.page,.extracts{padding:26px 28px 16px;min-height:420px;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,var(--rule) 31px 32px)}.page .blk.is-out{display:none}.page .day.is-out{display:none}.page .blk.is-match{background:color-mix(in srgb,var(--ink-blue) 5%,transparent)}.page .blk.is-flash{animation:flash 1.6s ease}@keyframes flash{0%,40%{background:color-mix(in srgb,var(--ink-blue) 18%,transparent)}}.extracts__head{font:1.6rem/1.1 var(--serif);color:var(--ink);margin-bottom:14px}.extracts ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}.extract{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);cursor:zoom-in;transition:border-color .2s,transform .2s;animation:pop .3s ease both;animation-delay:calc(var(--i) * 40ms)}.extract:hover{border-color:var(--ink-blue);transform:translateX(3px)}@keyframes pop{from{opacity:0;transform:translateY(6px)}}.extract__text{flex:1}.extract__src{flex:none;font:600 .78rem var(--sans);color:var(--ink-blue);background:0 0;border:1px solid var(--line-2);border-radius:999px;padding:4px 10px;cursor:pointer}.extract__src:hover{border-color:var(--ink-blue)}.status{margin:0;padding:10px 16px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);background:var(--paper-2)}@media(max-width:600px){.page,.extracts{padding:20px 16px 12px}.tagbar{margin-right:0;width:100%}}.features{padding:60px 0 100px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{padding:24px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px)rotate(-.4deg);box-shadow:var(--shadow)}.card__icon{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:14px;border-radius:12px;color:var(--ink-blue);background:color-mix(in srgb,var(--ink-blue) 10%,transparent)}.card:nth-child(4n+1) .card__icon{background:#ffd84d55}.card:nth-child(4n+2) .card__icon{background:#ff9bbd55}.card:nth-child(4n+3) .card__icon{background:#8fe3a955}.card:nth-child(4n) .card__icon{background:#8fcbff55}.card p{margin:0;color:var(--muted);font-size:.94rem}@media(max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.grid{grid-template-columns:1fr}}.notify{padding:20px 0 120px}.notify__box{position:relative;text-align:center;padding:72px 24px;border-radius:32px;color:rgba(255,255,255,.85);overflow:hidden;background:radial-gradient(500px 260px at 15% 110%,rgba(255,216,77,.35),transparent 70%),radial-gradient(500px 260px at 90% -10%,rgba(255,155,189,.35),transparent 70%),linear-gradient(140deg,#2340d8,#141f7a)}.notify__box h2{color:#fff}.notify__box h2 em{color:#ffd84d}.notify__box p{font-size:1.1rem;max-width:30em;margin:0 auto 28px}.hand{font:600 1.8rem var(--hand)!important;color:#ffd84d;transform:rotate(-4deg);margin-bottom:6px!important}.footer{border-top:1px solid var(--line);padding:44px 0 28px;font-size:.94rem}.footer__inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer__inner p{margin:10px 0 0}.footer__links{display:flex;gap:22px}.footer__links a{color:var(--text)}.footer__bottom{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem}.odometer{position:fixed;left:16px;bottom:16px;z-index:40;font-size:.8rem;color:var(--muted);background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;backdrop-filter:blur(8px);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.odometer.is-on{opacity:1;transform:none}.odometer b{color:var(--ink-blue);font-variant-numeric:tabular-nums}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--i,0) * 80ms)}.js .reveal.is-in{opacity:1;transform:none}@media(max-width:560px){.wrap{padding:0 16px}.notify__box{padding:52px 18px}.odometer{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.roll__track,.kicker .dot,.mascot{animation:none}.js .reveal{opacity:1;transform:none;transition:none}.extract{animation:none}}