@font-face{font-family:Inter;font-style:normal;font-weight:100 900;src:url(/static/media/Inter-VariableFont_opsz,wght.e05c5f3d1fa6a3893d84.ttf) format("truetype")}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recursive-item-container{align-items:stretch;display:flex;gap:15px;height:auto;min-height:0;overflow:hidden;transition:all .3s ease-in-out;width:fit-content}.recursive-item{animation:fade-in .3s ease-in-out;background-color:initial;cursor:pointer;line-height:1.5em;padding:10px 5px;transition:all .3s ease-in-out;width:400px}.guideline:hover,.guideline:hover~.recursive-item-children .highest-level-item .guideline,.guideline:hover~.recursive-item-children .highest-level-item .recursive-item,.highest-level-item:hover .guideline,.highest-level-item:hover .recursive-item,.highest-level-item:hover~.recursive-item-children .highest-level-item .guideline,.highest-level-item:hover~.recursive-item-children .highest-level-item .recursive-item{background-color:#fff;margin:0}.recursive-item--zoomed-out .recursive-item-label,.recursive-item--zoomed-out .recursive-item-text{opacity:.1;transition:all .2s ease}.recursive-item-title{font-weight:700;opacity:0;position:absolute;transition:all .2s ease;width:400px}.recursive-item-title--zoomed-out{font-size:2em;line-height:1.2;margin:.2em 0;opacity:1}.recursive-item-label{font-weight:700;transition:all .2s ease}.recursive-item-text{margin:0;transition:opacity .2s ease}.recursive-item-hint{animation:none;opacity:.5;transition:opacity .2s ease}.recursive-item-hint.recursive-item--zoomed-out .recursive-item-label,.recursive-item-hint.recursive-item--zoomed-out .recursive-item-text,.recursive-item-hint.recursive-item--zoomed-out .recursive-item-title{opacity:0}.recursive-item-hint--loading{animation:pulse-opacity 1.5s ease-in-out infinite;opacity:.7}@keyframes pulse-opacity{0%{opacity:.3}50%{opacity:.8}to{opacity:.3}}.recursive-item-children{animation:fade-in .3s ease-in-out;flex-direction:column;gap:10px}.highest-level-item,.recursive-item-children{display:flex;height:auto;min-height:0;overflow:hidden;transition:all .3s ease-in-out}.highest-level-item{flex:1 1 auto;flex-direction:column}.guideline{background-color:#0000000d;border-bottom-left-radius:400px;flex:1 1;margin:0 5px;min-height:0;transition:all .3s ease-in-out}.recursive-item-container.is-loading{opacity:1!important;pointer-events:none}.recursive-item.is-loading{opacity:.7;pointer-events:none}.recursive-item-children{opacity:1;transition:opacity .3s ease}.recursive-item-container.is-loading .recursive-item-children{opacity:.7}.placeholder-guideline{opacity:.3}.placeholder-rect{animation:placeholder-shimmer 1.5s linear infinite;background:linear-gradient(90deg,#ccc,#e0e0e0 50%,#ccc);background-size:200% 100%;border-radius:4px;height:200px;margin:8px 0;opacity:.3;width:400px}@keyframes placeholder-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.placeholder-rect--zoomed-out{transform:none}.placeholder-expanding-text{align-items:center;animation:pulse-opacity 1.5s ease-in-out infinite;color:#0009;display:flex;font-weight:700;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.placeholder-children{position:relative}.canvas-container{background-color:#f0f0f0;height:10000px;overflow:hidden;width:10000px}.canvas-container.dragging{cursor:grabbing}.canvas-item{transform-origin:0 0;transition:transform .1s ease-out}.canvas-item.dragging{transition:none}.canvas-date{padding:0 5px}.toc-item{margin:8px 0;position:relative}.toc-item-container{align-items:flex-start;display:flex}.toc-guideline{align-self:stretch;background-color:#0000001a;width:1px}.toc-item-content{flex:1 1}.toc-item-title{border-radius:4px;cursor:pointer;padding:4px 8px;transition:background-color .2s}.toc-item-title:hover{background-color:#0000000d}.toc-item-children{margin-left:8px}.table-of-contents{animation:slide-in .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffffb3;border-radius:12px;font-size:.8em;left:10px;max-height:80vh;overflow-y:auto;padding:20px;position:fixed;top:10px;width:200px;z-index:1000}.toc-header{font-weight:600;margin:0 0 16px}.table-of-contents:hover{background-color:#fffc}.table-of-contents::-webkit-scrollbar{width:8px}.table-of-contents::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.table-of-contents::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.table-of-contents::-webkit-scrollbar-thumb:hover{background:#0000004d}.about-container{animation:slide-in .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffffb3;border-radius:12px;cursor:pointer;font-size:.8em;padding:15px 20px;position:fixed;right:10px;top:10px;transition:all .3s ease-out;width:40px;z-index:1000}.about-container.expanded{width:300px}.about-text{margin:0;white-space:nowrap}.nonfiction-link{color:inherit;font-weight:600;text-decoration:none}.nonfiction-link:hover{text-decoration:underline}@keyframes slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.mobile-modal-overlay{align-items:center;animation:fade-in .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffffb3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.mobile-modal{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:80%;padding:30px;text-align:center}.mobile-modal h2{font-size:1.2em;font-weight:600;margin:0 0 10px}.mobile-modal p{color:#666;font-size:.9em;margin:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
/*# sourceMappingURL=main.ad465324.css.map*/