:root{--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--yellow-50: #fffbeb;--yellow-100: #fef3c7;--yellow-200: #fde68a;--yellow-300: #fcd34d;--yellow-400: #fbbf24;--yellow-500: #f59e0b;--yellow-600: #d97706;--yellow-700: #b45309;--yellow-800: #92400e;--yellow-900: #78350f;--green-50: #ecfdf5;--green-100: #d1fae5;--green-200: #a7f3d0;--green-300: #6ee7b7;--green-400: #34d399;--green-500: #10b981;--green-600: #059669;--green-700: #047857;--green-800: #065f46;--green-900: #064e3b;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--stone-50: #fafaf9;--stone-100: #f5f5f4;--stone-200: #e7e5e4;--stone-300: #d6d3d1;--stone-400: #a8a29e;--stone-500: #78716c;--stone-600: #57534e;--stone-700: #44403c;--stone-800: #292524;--stone-900: #1c1917;--content-width: 50rem;--guest-form-width: 28rem;--header-height: 4rem;--chapter-bar-height: 4rem}.planning{background-color:var(--yellow-50);border:1px solid var(--yellow-200);color:var(--yellow-700)}.planning .highlight{background-color:var(--yellow-100);color:var(--yellow-600)}.planning:hover{background-color:var(--yellow-100)}.writing{background-color:var(--stone-100);border:1px solid var(--stone-300);color:var(--stone-600)}.writing .highlight{background-color:var(--stone-200);color:var(--stone-800)}.writing:hover{background-color:var(--stone-200)}.editing{background-color:var(--green-50);border:1px solid var(--green-200);color:var(--green-700)}.editing .highlight{background-color:var(--green-100);color:var(--green-600)}.editing:hover{background-color:var(--green-100)}.light{background-color:var(--stone-200);border:1px solid var(--stone-400);color:var(--stone-400)}.dark{background-color:var(--stone-700);border:1px solid var(--stone-400);color:var(--stone-200)!important}.pillbox.event{background-color:var(--stone-100);border:1px solid var(--stone-200);border-left:3px solid #b5533c;border-radius:.4rem;color:var(--stone-600)}.danger{background-color:var(--red-600);border:none;color:#fff}body{background-color:var(--stone-50);color:var(--stone-700);font-family:sans-serif;-webkit-font-smoothing:antialiased}html.guest-bg,body.guest-bg{background-color:var(--stone-800);color:var(--stone-300)}.guest-bg main{background-color:var(--stone-800)}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:700;margin:0}h3{font-size:1.5rem;font-weight:600;text-align:center;margin:1rem}h4{color:var(--stone-500);font-size:1.2rem;font-weight:400;margin:.5rem 0;text-transform:uppercase}h5{font-size:1.2rem;font-weight:600;margin:1rem}p{margin-bottom:.5rem}a{color:inherit;text-decoration:none}p a{text-decoration:underline}a.pure{background-color:inherit;color:var(--stone-500);border:none!important;margin:.5rem 1rem}button{background-color:var(--stone-700);color:var(--stone-300);padding:.5rem 1rem;margin-top:1rem;align-items:flex-start;border-radius:.5rem}button:hover{color:var(--stone-100)!important}.dropdown-content{background-color:var(--stone-200);padding:1rem;border-radius:1rem}.dropdown-content a{display:block;color:var(--stone-700);padding:.5rem}input[type=checkbox]{width:-moz-fit-content;width:fit-content;background-color:var(--stone-800)}input:checked{background-color:var(--stone-800)}input[type=range]{margin:0;padding:0}select{padding:.5rem;background-color:inherit;border:1px solid var(--stone-500);border-radius:.5rem}@media(max-width:640px){h2{font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.switch{position:relative;display:inline-block;width:48px;height:26px;margin:.25rem}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--yellow-200);border-radius:26px;transition:background-color .2s}.slider.no-content{background-color:var(--stone-200)}.slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s}input:checked+.slider{background-color:var(--green-200)}input:checked+.slider:before{transform:translate(22px)}*,*:before,*:after{box-sizing:border-box}html,body{padding:0;margin:0}header{position:fixed;top:0;width:100%;height:var(--header-height);background-color:var(--stone-800);color:var(--stone-200);z-index:10}main{position:relative;top:var(--header-height);width:100%;height:calc(100vh - var(--header-height));background-color:var(--stone-50);padding:0 .5rem}.content{width:100%;max-width:var(--content-width);height:100%;padding:1rem 0;margin:0 auto}.guest-form{max-width:var(--guest-form-width);margin:0 auto}.toast{background:var(--yellow-100);border:1px solid var(--yellow-200);color:var(--yellow-700);width:-moz-fit-content;width:fit-content;padding:1rem;margin:0 auto;border-radius:1rem;text-align:center}.flex-justify{display:flex;justify-content:space-between;align-content:flex-start;gap:1rem}.flex-start{display:flex;justify-content:flex-start;gap:1rem;flex-wrap:wrap}.flex-justify button{align-self:flex-start}.sidebar .flex-start{flex-wrap:nowrap}.wrap{display:flex;flex-wrap:wrap}.align-centre{align-self:center}.create{text-decoration:underline;text-align:right;margin:1rem}.edit,.delete{color:var(--stone-700);margin:0 .5rem;align-self:center}.dark .edit,.dark .delete{color:var(--stone-400)}.section-title{display:flex;justify-content:space-between;border-top:1px solid var(--stone-300);margin:1rem 0 .5rem}label{display:block;color:var(--stone-500);margin-left:1rem;align-self:center}.modal{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;background-color:#00000080}.modal .content{background-color:var(--stone-800);padding:2rem;max-height:-moz-fit-content;max-height:fit-content;border-radius:2rem;color:var(--stone-200)}.card{display:flex;justify-content:space-between;gap:1rem;width:100%;padding:1rem;margin-bottom:.1rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.avatar-chip{background-color:var(--stone-500);color:var(--stone-100);border-radius:50%;height:2rem;width:2rem;padding:.35rem .4rem;margin:.2rem 1rem .2rem 0}.pillbox{min-width:0;padding:.5rem 1rem;margin:.3rem 0;border-radius:1rem;color:var(--stone-600)}.pillbox>div{display:flex;align-items:center}.sticky-note{background-color:var(--yellow-50);border:1px solid var(--yellow-200);border-top-left-radius:1rem;color:var(--stone-500);margin:.5rem 0;padding:1rem;flex-grow:1}@media(max-width:1000px){.card-actions{display:flex;flex-wrap:wrap}}nav{display:flex;justify-content:space-between;max-width:var(--content-width);margin:0 auto;padding:0;z-index:100}.book-title{padding:1.2rem;font-style:italic}nav button{display:flex;background-color:var(--stone-800);padding:.5rem 1rem;border:none;border-radius:.8rem}.hamburger{display:none}@media(max-width:1000px){nav .settings{display:none}.hamburger{display:block;padding:.6rem 0}.hamburger button{margin-top:0}.nav-mobile{position:fixed;top:var(--header-height);background-color:var(--stone-800);width:100%}.nav-mobile a{display:inline-block;width:100%;padding:1rem}.nav-options{border-top:solid 1px var(--stone-600)}.nav-options>div>div{padding:.5rem 1rem;color:var(--stone-400)}}.book-meta .card{display:flex;flex-direction:column;width:7rem;height:8rem;padding:.5rem;margin-bottom:.5rem}.book-meta .card svg{height:2.5rem;width:2.5rem;padding:.2rem;border-radius:.5rem}.book-meta .card .text{position:relative;font-size:1rem}.book-meta .card .text>:first-child{font-size:2rem}@media(min-width:640px){.book-meta .card{width:15rem;height:10rem;padding:1rem}}#titleInput{width:100%;text-align:center;background:transparent;border:none;outline:none;color:var(--stone-900);font-weight:600;font-size:1.8rem;font-family:Arial,Helvetica,sans-serif;padding:1rem}.chapter-editor,.part-editor{min-height:68vh;max-width:50rem;margin:0 auto;border:none;outline:none;padding:1rem 1rem 4rem;font-family:Georgia,"Source Serif 4",Inter,Times New Roman,serif;font-size:1.3rem;text-align:justify;color:var(--stone-700);resize:vertical;line-height:1.6;resize:none;background:transparent;box-shadow:none;caret-color:var(--stone-900);overflow:hidden;overflow-y:hidden}.chapter-editor p,.part-editor p{color:var(--stone-700)}form .chapter-editor p{padding:0}.chapter-editor hr,.part-editor hr{margin-top:3rem;border:none}#titleInput:focus,.chapter-editor:focus{border:none;outline:none;box-shadow:none}#titleInput::-moz-selection,.chapter-editor::-moz-selection{background:var(--blue-300)}#titleInput::selection,.chapter-editor::selection{background:var(--blue-300)}.editor-toolbar{display:flex;gap:.75rem;padding:.4rem 1rem;max-width:50rem;margin:0 auto;border-bottom:1px solid var(--stone-200)}.toolbar-group{display:flex;gap:.1rem;padding-right:.75rem;border-right:1px solid var(--stone-200)}.toolbar-group:last-child{border-right:none}.toolbar-btn{background:none;border:none;cursor:pointer;padding:.25rem .4rem;border-radius:.25rem;color:var(--stone-500);font-size:.8rem;font-weight:600;line-height:1;display:flex;align-items:center}.toolbar-btn svg{width:1rem;height:1rem}.toolbar-btn:hover{background:var(--stone-100);color:var(--stone-800)}.toolbar-btn--sm-a{font-size:.65rem}.toolbar-btn--lg-a{font-size:1.1rem}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.align-justify{text-align:justify}.text-sm{font-size:.8em}.text-lg{font-size:1.25em}.chapter-buttons{display:flex;justify-content:space-between;margin:0 4rem 5rem}.save-indicator{position:fixed;bottom:1rem;right:1rem;z-index:100;background-color:green;color:#fff;padding:.5rem 1rem;border-radius:.5rem;opacity:0;pointer-events:none}#chapter-bar{display:none}.sidebar{position:fixed;top:var(--header-height);bottom:0;display:flex;overflow-y:auto;z-index:5}#left-sidebar{left:0;background-color:var(--stone-200);color:var(--stone-500)}#right-sidebar{right:0;background-color:var(--stone-100);color:var(--stone-400)}button.sidebar-toggle{width:4rem;height:100%;background-color:var(--stone-100);margin:0;border:none}button.sidebar-toggle:hover{background-color:var(--stone-300)}#left-sidebar .sidebar-toggle{background-color:var(--stone-200)}#left-sidebar .sidebar-toggle:hover{background-color:var(--stone-300)}.sidebar-toggle::-webkit-scrollbar{display:none}.sidebar .bar{position:relative;height:100%;z-index:6;overflow-y:auto;width:20rem;margin:0 1rem;padding-bottom:2rem;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to bottom,transparent,black 12px,black calc(100% - 12px),transparent);mask-image:linear-gradient(to bottom,transparent,black 12px,black calc(100% - 12px),transparent)}.sidebar .bar::-webkit-scrollbar{display:none}#right-sidebar .bar{background-color:var(--stone-100)}#left-sidebar .bar{left:0}#right-sidebar summary{margin-top:1rem}.edit-meta{align-self:flex-end}.sidebar h4{font-size:1rem}.sidebar label{margin-left:0}.sidebar dl{margin:0;padding:0 .5rem 0 0rem}.sidebar dt{font-weight:600}.sidebar dd{margin:0;color:var(--stone-900)}.character-group+.character-group{border-top:solid 1px var(--stone-300)}.avatar-chip~div{align-self:center}.sidebar button.delete{background-color:transparent;border:none;padding:.5rem;align-self:center}.sidebar button.delete:hover{background-color:var(--stone-300)}.chapter-card{display:block;width:100%;padding:.5rem 0;gap:1rem}.chapter-card:hover{background-color:var(--stone-300)}.chapter-card-content{display:flex;border-left:solid 4px inherit;padding:.2rem 1rem}.chapter-card.ready .chapter-card-content{border-left:solid 4px var(--green-600)}.chapter-card-content a{display:flex;justify-content:space-between;padding-left:.5rem;width:100%}.chapter-title{color:var(--stone-700)}.chapter-card.activeChapter{background-color:var(--stone-300)}.chapter-title.not-included{color:var(--stone-400)}@media(max-width:1000px){#chapter-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;background-color:var(--stone-800);color:var(--stone-200);display:flex;justify-content:space-evenly}#chapter-bar button{background-color:var(--stone-800);border:none;color:var(--green-700)}#chapter-bar button.active{color:var(--green-200)}#chapter-bar svg{height:4rem;width:4rem;padding:.5rem}.sidebar-toggle{display:none}.overlay{position:fixed;top:var(--header-height);bottom:var(--chapter-bar-height);left:0;right:0;z-index:2;background-color:#00000080}}.view-switch{display:flex;border:1px solid var(--stone-300);border-radius:.5rem;overflow:hidden;margin:.75rem 0}.view-switch a,.view-switch span{flex:1;text-align:center;padding:.35rem .75rem;font-size:.9rem}.view-switch a{color:var(--stone-500)}.view-switch a:hover{background-color:var(--stone-300);color:var(--stone-700)}.view-switch span{background-color:var(--stone-300);color:var(--stone-700);cursor:default}.reader-notice{background-color:var(--stone-300);border:1px solid var(--store-400);border-radius:.5rem;width:-moz-fit-content;width:fit-content;padding:.5rem;margin:0 auto;text-align:center}ins{background-color:var(--green-300);text-decoration:none}del{background-color:var(--red-300)}.index-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.index .card{margin-bottom:.5rem}.index-title{width:25rem;margin-right:2rem}.index-primary{font-weight:600}.dark.index-primary{color:var(--stone-50)}.index-count-small{display:none}.group-title{text-transform:capitalize}@media(max-width:1000px){.index .card{max-width:100%}.index-title{width:16rem}.index-title.character{width:12rem}.index-count-small{display:block}.index-count-large{display:none}}#graph-container{position:relative;width:100%;height:100%;overflow:auto;top:0;left:0}.story-node{position:absolute;width:220px;box-sizing:border-box}.story-node .node-chapters{display:inline;font-style:italic;color:var(--stone-400)}.story-node.no-chapter{border:2px dashed var(--stone-300)}.link-handle{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#6366f1;border-radius:50%;cursor:crosshair;opacity:0;transition:opacity .2s}.story-node:hover .link-handle{opacity:1}.story-node.dragging,.story-node.dragging *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.graph-button{margin:2rem}.readiness{display:flex;justify-content:space-evenly;border-left:4px var(--stone-50)}.readiness.ready{border-left:solid 4px var(--green-600)}.readiness-chapter{width:20rem}.readiness-ready{width:2rem}.readiness-score{width:10rem}.readiness-senses{width:5rem}.chart-bar{background-color:var(--green-600);color:var(--blue-100);height:1.2rem;margin-top:.2rem;font-size:.6rem;text-align:center;border-radius:.5rem}.readiness-score .chart-bar{background-color:var(--blue-600);border:1px solid var(--stone-50)}@media(max-width:640px){.readiness{max-width:100%}.readiness-chapter{width:10rem;flex-shrink:1}.readiness-score,.readiness-senses{flex-shrink:0}}.gallery{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:1rem}.gallery img{max-width:50px;max-height:50px}.image-upload{display:flex;justify-content:space-between;gap:1rem}.image-upload div:nth-child(3) input{border:none;padding:.5rem}.image-upload button{align-self:flex-start}input,textarea{background-color:inherit;color:var(--stone-500);border:1px solid var(--stone-500);border-radius:.5rem;width:100%;max-width:100%;font-size:1rem;padding:1rem}.form-element input{margin:.5rem}input:focus,textarea:focus{border:1px solid var(--stone-600)}form button{margin-left:.5rem}.guest-bg .content{display:flex;flex-direction:column;justify-content:center}.guest-form{margin-bottom:1.5rem;width:var(--guest-form-width)}.guest-title{display:flex;justify-content:justify}.logo-text{font-style:italic}h1.logo-text{font-size:3rem;margin-top:.5rem}h3.logo-text{margin:0 0 1rem}.guest-form p{padding:1rem;color:var(--stone-600)}form p,form h2{padding:0 0 1rem 1rem}.guest-form .buttons a,.guest-form button{padding:.5rem 1rem;border:1px solid var(--stone-700);border-radius:.5rem}.guest-form a.button{background-color:var(--stone-700);align-self:flex-start}.welcome{padding-top:2rem;color:var(--stone-300)}.welcome-point{display:flex;justify-content:flex-start;align-items:flex-start;padding-top:1rem}.welcome-point h3{width:10rem!important;margin:0 1rem 0 0;text-align:right;flex-shrink:0}.welcome-point p{margin-top:0}@media(max-width:640px){.guest-form{width:100%}.guest-form .guest-title{display:block;width:100%;text-align:center}.guest-bg .content{justify-content:flex-start}}
