:root{--cream: #fffdfa;--cream-2: #f6f1ea;--cream-3: #ece5da;--ink: #2b2416;--ink-2: #655847;--ink-3: #96856f;--rule: #e5dccf;--accent: #d46a3a;--accent-deep: #8b3f1d;--accent-green: #8a9f5a;--sidebar-w: 226px;--shadow: 0 1px 1px rgba(0, 0, 0, .04), 0 16px 30px -16px rgba(60, 45, 15, .26);--font-sans: "DM Sans", system-ui, sans-serif;--font-hand: "Caveat", cursive;--font-serif: "Fraunces", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--cream);background-image:radial-gradient(circle at 20% 10%,rgba(0,0,0,.025),transparent 35%),radial-gradient(circle at 80% 30%,rgba(212,106,58,.06),transparent 28%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' seed='6'/><feColorMatrix values='0 0 0 0 0.81 0 0 0 0 0.81 0 0 0 0 0.81 0 0 0 0.03 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>")}a{color:inherit}button,input{font:inherit}.fn-app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.fn-sidebar{position:sticky;top:0;height:100vh;align-self:start;padding:18px 14px 24px;background:#fffdfaeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:18px;z-index:20}.fn-brand{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px dashed var(--rule)}.fn-brand-mark{display:grid;place-items:center;background:linear-gradient(145deg,#1b150f,#2a1f15);color:var(--accent);box-shadow:inset 0 1px #ffffff14;transform:rotate(-4deg)}.fn-brand-word,.fn-section-head h2,.fn-note h2,.fn-note h3{font-family:var(--font-serif)}.fn-brand-word{font-size:18px;font-weight:600;letter-spacing:-.02em}.fn-brand-sub,.fn-overline,.fn-stat-label,.fn-note-kicker,.fn-note-time,.fn-status-row{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.fn-brand-sub{color:var(--ink-3);font-size:11px}.fn-nav-group,.fn-sidebar-topics-list{display:flex;flex-direction:column;gap:6px}.fn-nav-btn,.fn-sidebar-topic,.fn-chip,.fn-plan-chip,.fn-btn{border:1px solid transparent;background:transparent;border-radius:12px;color:var(--ink-2);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.fn-nav-btn,.fn-sidebar-topic{display:flex;align-items:center;gap:10px;text-decoration:none;padding:10px 12px}.fn-nav-btn.is-active,.fn-sidebar-topic.is-on,.fn-chip.is-active,.fn-plan-chip.is-active{background:var(--ink);color:var(--cream)}.fn-sidebar-topics,.fn-sidebar-links{padding-top:14px;border-top:1px dashed var(--rule)}.fn-sidebar-topics-label{color:var(--ink-3);font-size:11px;margin-bottom:8px}.fn-sidebar-links-list{display:grid;gap:6px}.fn-sidebar-link{display:flex;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--rule);background:#ffffff73;text-decoration:none;color:var(--ink-2)}.fn-topic-icon{width:18px;text-align:center}.fn-main{min-width:0;padding:30px 40px 70px}.fn-header{display:flex;justify-content:flex-end;align-items:flex-start;gap:28px;border-bottom:1px dashed var(--rule);padding-bottom:22px;margin-bottom:24px}.fn-overline{color:var(--accent-deep);font-size:11px;margin-bottom:10px}.fn-header-stats{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:12px}.fn-header-stats>div,.fn-timer-stat{background:#ffffff8f;border:1px solid var(--rule);border-radius:2px;padding:14px 16px}.fn-header-stats strong,.fn-timer-stat strong{display:block;margin-top:6px;font-size:24px;font-family:var(--font-serif)}.fn-hero-grid{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.9fr);gap:22px;margin-bottom:28px}.fn-note{position:relative;break-inside:avoid;background:var(--paper, #fffef9);color:var(--ink-color, var(--ink));border:1px solid var(--edge, var(--rule));border-radius:2px;padding:18px 18px 14px;box-shadow:0 1px 1px #0000000a,0 8px 20px -8px #3c2d0f2e,inset 0 1px #ffffff6b;overflow:hidden;transform:rotate(var(--rot, 0deg));transform-origin:center top}.fn-note:after{content:"";position:absolute;inset:auto 0 0 0;height:44px;background:linear-gradient(to bottom,#fff0,#ffffff14);pointer-events:none}.fn-note-paper:before{content:"";position:absolute;top:14px;bottom:14px;left:30px;width:1px;background:#c2544061;pointer-events:none}.fn-note-tape{position:absolute;top:10px;left:50%;width:54px;height:18px;border-radius:4px;background:#ffffff61;border:1px solid rgba(120,110,94,.12);box-shadow:0 1px 2px #3c2d0f14;transform:translate(-50%) rotate(-3deg)}.fn-note-fold{position:absolute;right:0;bottom:0;width:24px;height:24px;background:linear-gradient(135deg,transparent 0 49%,rgba(0,0,0,.08) 50%,rgba(255,255,255,.5) 100%);clip-path:polygon(100% 0,0 100%,100% 100%);pointer-events:none}.fn-index-lines{position:absolute;top:52px;right:14px;bottom:16px;left:14px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 23px,rgba(99,132,192,.14) 23px,rgba(99,132,192,.14) 24px);pointer-events:none;opacity:.85}.fn-note-kicker,.fn-note-time,.fn-source,.fn-note-linkline{font-size:11px}.fn-note h2,.fn-note h3{margin:8px 0 12px;line-height:1.05;letter-spacing:-.03em;position:relative;z-index:1}.fn-note h2{font-size:clamp(1.8rem,3vw,2.6rem)}.fn-note h3{font-size:1.65rem}.fn-note-copy{margin:0;color:color-mix(in srgb,currentColor 78%,#6f6251 22%);line-height:1.62;position:relative;z-index:1}.fn-note-paper .fn-note-copy{font-family:var(--font-hand);font-size:1.35rem;line-height:1.28}.fn-plan-row,.fn-inline-filters,.fn-chip-row,.fn-note-actions{display:flex;gap:10px;flex-wrap:wrap}.fn-plan-row{margin:18px 0}.fn-plan-chip,.fn-chip,.fn-btn{padding:10px 14px;border-color:var(--rule);background:#ffffff8f;border-radius:999px}.fn-timer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.fn-progress{height:12px;background:#2b241614;border-radius:999px;overflow:hidden;margin-bottom:18px}.fn-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#f0b05d)}.fn-btn.is-primary{background:var(--ink);color:var(--cream);border-color:var(--ink)}.fn-checklist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.fn-checklist li{padding-left:22px;position:relative}.fn-checklist li:before{content:"•";position:absolute;left:6px;color:var(--accent)}.fn-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.fn-section-head h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}.fn-search{display:flex;align-items:center;gap:10px;border:1px solid var(--rule);background:#ffffffb8;border-radius:16px;padding:12px 14px}.fn-topbar{display:grid;gap:12px;margin-bottom:18px}.fn-topbar-meta{display:flex;justify-content:space-between;gap:12px;color:var(--ink-3);font-size:11px}.fn-search-wide{margin-bottom:14px}.fn-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;color:inherit}.fn-status-row{display:flex;justify-content:space-between;gap:12px;color:var(--ink-3);font-size:11px;margin-bottom:18px}.fn-wall{column-count:3;column-gap:22px}.fn-note-article{margin-bottom:22px}.fn-note-timer,.fn-note-highlight,.fn-note-topline,.fn-note-footer,.fn-plan-row,.fn-timer-grid,.fn-note-actions{position:relative;z-index:1}.fn-note-topline,.fn-note-footer{display:flex;justify-content:space-between;gap:14px}.fn-note-topline{align-items:center}.fn-note-footer{align-items:end;margin-top:18px;padding-top:12px;border-top:1px dashed rgba(76,63,44,.24)}.fn-source{font-weight:700}.fn-note-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:9px 12px;font-size:13px}.fn-empty-state{margin-top:22px;display:inline-block;background:#f8ebb1;padding:16px 18px;border:1px solid #dfcb79;border-radius:14px;font-family:var(--font-hand);font-size:1.35rem;transform:rotate(-1.5deg)}.fn-empty-state button{border:none;background:transparent;text-decoration:underline;cursor:pointer;color:inherit;padding:0}.fn-mobile-menu-btn,.fn-sidebar-scrim{display:none}@media (hover: hover){.fn-nav-btn:hover,.fn-sidebar-topic:hover,.fn-chip:hover,.fn-plan-chip:hover,.fn-btn:hover,.fn-note-link:hover{transform:translateY(-1px);border-color:var(--ink-3);color:var(--ink)}.fn-note:hover{transform:rotate(0) translateY(-2px)}}@media (max-width: 1080px){.fn-hero-grid,.fn-header{grid-template-columns:1fr;display:grid}.fn-header-stats,.fn-timer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fn-wall{column-count:2}}@media (max-width: 900px){.fn-app-shell{grid-template-columns:1fr}.fn-mobile-menu-btn{display:inline-flex;position:fixed;top:calc(16px + env(safe-area-inset-top));left:16px;z-index:30;border:1px solid var(--rule);background:#ffffffe6;border-radius:12px;padding:10px;cursor:pointer}.fn-sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,320px);transform:translate(-100%);transition:transform .2s ease;box-shadow:16px 0 32px #00000029}.fn-sidebar.is-open{transform:translate(0)}.fn-sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:#19140e47;opacity:0;pointer-events:none;z-index:15}.fn-sidebar-scrim.is-open{opacity:1;pointer-events:auto}.fn-main{padding:calc(74px + env(safe-area-inset-top)) 20px 44px}.fn-header-stats,.fn-timer-grid,.fn-hero-grid,.fn-section-head,.fn-status-row,.fn-topbar-meta{grid-template-columns:1fr;display:grid}.fn-inline-filters,.fn-chip-row{overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}.fn-wall{column-count:1}}@media (max-width: 640px){.fn-timer-grid,.fn-header-stats{grid-template-columns:1fr}.fn-note{padding:20px 18px 16px}.fn-note-paper .fn-note-copy{font-size:1.2rem}}.fn-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e180c94;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:40px 20px;overflow-y:auto;animation:fn-fade .2s ease}@keyframes fn-fade{0%{opacity:0}}.fn-modal{max-width:640px;width:100%;background:var(--bg, var(--cream));color:var(--ink-color, var(--ink));border-radius:2px;padding:36px 40px 28px;position:relative;box-shadow:0 40px 80px -20px #00000061,0 10px 20px -5px #0000002e;transform:rotate(-.4deg);animation:fn-pop .22s cubic-bezier(.3,1.4,.5,1);background-image:repeating-linear-gradient(transparent,transparent 23px,rgba(100,130,210,.1) 23px,rgba(100,130,210,.1) 24px);background-attachment:local;border-left:3px solid var(--edge, rgba(194, 84, 64, .28))}@keyframes fn-pop{0%{opacity:0;transform:rotate(-.4deg) translateY(20px) scale(.96)}}.fn-modal-tape{position:absolute;top:-14px;left:50%;transform:translate(-50%) rotate(-2deg);width:90px;height:22px;background:#ffffff85;border:1px solid rgba(255,255,255,.62);box-shadow:0 1px 3px #0000001a;border-radius:2px}.fn-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#00000014;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--ink-color, var(--ink));z-index:2;transition:background .15s}@media (hover: hover){.fn-modal-close:hover{background:#0000002e}}.fn-modal-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.fn-modal-source-pill{font-family:var(--font-sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;padding:3px 9px;border-radius:999px;white-space:nowrap}.fn-modal-cat{font-family:var(--font-sans);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.6}.fn-modal-time{font-family:var(--font-mono);font-size:10px;opacity:.55;display:inline-flex;align-items:center;gap:4px;margin-left:auto}.fn-modal-title{font-family:var(--font-serif);font-weight:500;font-size:28px;line-height:1.15;letter-spacing:-.02em;margin:0 0 16px;text-wrap:balance}.fn-modal-body{font-family:var(--font-sans);font-size:15px;line-height:1.68;margin:0 0 18px;opacity:.88}.fn-modal-body p{margin:0 0 14px}.fn-modal-body p:last-child{margin-bottom:0}.fn-modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.fn-modal-tag{font-family:var(--font-mono);font-size:11px;opacity:.65;border:1px dashed rgba(0,0,0,.22);padding:3px 8px;border-radius:999px}.fn-modal-rule{border:none;border-top:1px dashed rgba(0,0,0,.18);margin:0 0 18px}.fn-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fn-modal-spec{display:flex;align-items:center;gap:10px;min-width:0}.fn-modal-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-sans);font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.fn-modal-spec-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.fn-modal-spec-name{font-family:var(--font-sans);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fn-modal-spec-date{font-family:var(--font-mono);font-size:10px;opacity:.55}.fn-modal-actions{display:flex;gap:8px;flex-wrap:wrap}.fn-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid rgba(0,0,0,.18);background:#ffffff47;color:var(--ink-color, var(--ink));border-radius:6px;font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}@media (hover: hover){.fn-btn:hover{background:#ffffff85;border-color:#00000052}}.fn-btn-primary{background:var(--ink-color, var(--ink));color:var(--bg, var(--cream))!important;border-color:var(--ink-color, var(--ink))}@media (hover: hover){.fn-btn-primary:hover{opacity:.85}}.fn-note-clickable{cursor:pointer}@media (hover: hover){.fn-note-clickable:hover{transform:rotate(var(--rot, 0deg)) translateY(-3px) scale(1.012);box-shadow:0 1px 1px #0000000a,0 16px 38px -12px #3c2d0f52,inset 0 1px #ffffff6b}.fn-note-clickable:has(.fn-note-appstore-link:hover),.fn-note-clickable:has(.fn-note-appstore-link:focus-visible){transform:rotate(var(--rot, 0deg));box-shadow:0 1px 1px #0000000a,0 8px 20px -8px #3c2d0f2e,inset 0 1px #ffffff6b}}.fn-appstore-link{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-top:auto;border-radius:8px;border:1px solid var(--rule);background:#ffffff73;text-decoration:none;font-family:var(--font-sans);transition:background .15s}@media (hover: hover){.fn-appstore-link:hover{background:#ffffffb8}}.fn-appstore-label{display:flex;flex-direction:column;gap:1px}.fn-appstore-super{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.5}.fn-appstore-name{font-size:13px;font-weight:600;color:var(--ink)}#blog .fn-section-head{margin-top:0}.fn-appstore-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:20px;border-radius:10px;border:1px solid var(--rule);background:#ffffff8c;text-decoration:none;font-family:var(--font-sans);transition:background .15s}@media (hover: hover){.fn-appstore-banner:hover{background:#ffffffd1}}.fn-appstore-banner-super{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.5;color:var(--ink)}.fn-appstore-banner-name{font-size:14px;font-weight:700;color:var(--ink)}.fn-appstore-banner-arrow{margin-left:auto;opacity:.4}.fn-note-appstore-link{display:flex;align-items:center;gap:5px;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.12);font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--ink);opacity:.55;text-decoration:none;transition:opacity .15s}@media (hover: hover){.fn-note-appstore-link:hover{opacity:.9}}.fn-info-page{min-height:100vh;padding:28px 20px 60px}.fn-info-shell{width:min(940px,100%);margin:0 auto;display:grid;gap:18px}.fn-info-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.fn-info-back,.fn-info-appstore{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--rule);border-radius:999px;background:#ffffff8f;text-decoration:none}.fn-info-appstore{margin-left:auto}.fn-info-hero{margin:0}.fn-info-title{margin:8px 0 12px;font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.8rem);line-height:.98;letter-spacing:-.04em}.fn-info-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;color:var(--ink-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.fn-info-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fn-info-section{margin:0}.fn-info-list{margin:12px 0 0;padding-left:18px;display:grid;gap:8px;line-height:1.55}.fn-info-faq{display:grid;gap:10px;margin-top:12px}.fn-info-faq details{padding:12px 14px;border:1px solid rgba(76,63,44,.14);border-radius:12px;background:#ffffff6b}.fn-info-faq summary{cursor:pointer;font-weight:700}.fn-info-faq p{margin:10px 0 0;line-height:1.55}@media (hover: hover){.fn-sidebar-link:hover,.fn-info-back:hover,.fn-info-appstore:hover{background:#ffffffc7}}@media (max-width: 820px){.fn-info-sections{grid-template-columns:1fr}}@media (max-width: 640px){.fn-modal{padding:28px 22px 22px}.fn-modal-title{font-size:22px}.fn-info-topbar{flex-wrap:wrap}.fn-info-appstore{margin-left:0}}
