@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;500;700&display=swap";@layer js-classes{.hide{display:none!important}.screen-readers-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.screen-reader-focusable:is(:active,:hover){clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:normal;width:auto}.no-pointer-events{pointer-events:none}.square{display:block;--_size: 24px;width:var(--_size);height:var(--_size)}.timestamp-input--reset{display:flex;animation:timestamp-reset-shake .5s ease-in-out,timestamp-reset-flash .6s ease-in-out;animation-iteration-count:1}}@layer normalization{@media (prefers-reduced-motion: reduce){*,:before,:after{animation:none!important;transition:none!important}}#root{display:grid;grid-template-rows:[header-start] auto [header-end main-start] 1fr [main-end footer-start] auto [footer-end];min-height:100svh;grid-auto-rows:0%;color:var(--color-primary);background-color:var(--bg-primary)}:is(input,textarea,select):is(:-moz-autofill,:-webkit-autofill,:autofill):is(:focus,:not(:focus)){box-shadow:0 0 0 100vmax var(--bg-primary) inset;-webkit-text-fill-color:var(--color-primary);caret-color:var(--color-primary)!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}*::-moz-selection{background-color:var(--bg-primary);color:var(--color-primary)}*::selection{background-color:var(--color-primary);color:var(--bg-primary)}html{scroll-behavior:smooth;scroll-padding-top:50%;color-scheme:dark light;scrollbar-gutter:stable;touch-action:manipulation}html:has(:modal){overflow:hidden}html:has(:modal) .header{opacity:0}body{display:flex;flex-direction:column;min-height:100svh;overflow-x:hidden;transition:background-color .35s ease-in-out,filter .35s ease-in-out,color .35s ease-in-out;interpolate-size:allow-keywords}:is(ul,ol,menu){list-style-type:none}button{border-color:transparent;background-color:transparent;font-family:inherit;color:var(--color-primary);display:grid;grid-template-areas:"stack";justify-items:stretch}button>*{grid-area:stack}button:hover{cursor:pointer}button:hover:disabled{cursor:not-allowed}input{font-family:inherit;border-color:transparent}input:focus{border-color:transparent;outline:transparent}textarea{font-family:inherit;border-color:transparent}textarea:focus{border-color:transparent;outline:transparent}a{text-decoration:none;color:inherit}a:visited{color:currentColor}label:hover{cursor:pointer}fieldset{border-color:transparent}legend{position:static}dialog{position:fixed;border:transparent;margin:0;padding:0;z-index:0;translate:-50% -50%;top:50%;right:50%;bottom:50%;left:50%}select{border:transparent;font-family:inherit}select:hover{cursor:pointer}option{font-family:inherit}:empty:is(p,h1,h2,h3,h4,h5,h6,span){display:none}img,picture,svg{display:block;max-width:100%}input{--_caret-color: currentColor;caret-color:var(--_caret-color)}input[type=text]:hover{cursor:text}input[type=checkbox],input[type=radio]{--_color: initial;--_appearance: auto;--_moz-appearance: initial;accent-color:var(--_color);-webkit-appearance:var(--_appearance);appearance:var(--_appearance);-moz-appearance:var(--_moz-appearance)}input[type=button]:hover{cursor:pointer}input[type=date]{--_calendar-color: initial}input[type=date]::-webkit-calendar-picker-indicator{background-color:var(--_calendar-color)}input[type=date]:hover,input[type=datetime]:hover{cursor:text}input[type=datetime-local]{--_calendar-color: initial}input[type=datetime-local]::-webkit-calendar-picker-indicator{background-color:var(--_calendar-color)}input[type=datetime-local]:hover,input[type=email]:hover{cursor:text}input[type=month]{--_calendar-color: initial}input[type=month]::-webkit-calendar-picker-indicator{background-color:var(--_calendar-color)}input[type=month]:hover{cursor:text}input[type=week]{--_calendar-color: initial}input[type=week]::-webkit-calendar-picker-indicator{background-color:var(--_calendar-color)}input[type=week]:hover,input[type=password]:hover,input[type=tel]:hover,input[type=time]:hover{cursor:text}input[type=time]{--_calendar-color: initial}input[type=time]::-webkit-calendar-picker-indicator{background-color:var(--_calendar-color)}input[type=url]:hover{cursor:text}input[type=submit]:hover,input[type=reset]:hover,input[type=image]:hover,input[type=hidden]:hover,input[type=file]:hover{cursor:pointer}input[type=file]{--_file-selector-display: initial;--_file-selector-width: 80px;--_file-selector-height: 21px}input[type=file]::file-selector-button{display:var(--_file-selector-display);height:var(--_file-selector-height);width:var(--_file-selector-width)}input[type=color]:hover{cursor:pointer}input[type=color]{background-color:transparent;border:transparent;outline:2px solid currentColor;padding:0;--_color-swatch-display: inline-block;--_color-swatch-height: 100%;--_color-swatch-border-width: 0px;--_color-swatch-border-color: transparent;--_color-swatch-border-radius: 0px;border-radius:var(--_color-swatch-border-radius)}input[type=color]::-moz-color-swatch{display:var(--_color-swatch-display);height:var(--_color-swatch-height);border:var(--_color-swatch-border-width) solid var(--_color-swatch-border-color);border-radius:var(--_color-swatch-border-radius)}input[type=color]::-webkit-color-swatch{display:var(--_color-swatch-display);height:var(--_color-swatch-height);border:var(--_color-swatch-border-width) solid var(--_color-swatch-border-color);border-radius:var(--_color-swatch-border-radius)}input[type=search]:hover{cursor:text}input[type=search]{--_reset-button-display: initial}input[type=search]::-webkit-clear-button{display:var(--_reset-button-display)}input[type=search]{--_cancel-button-display: initial}input[type=search]::-webkit-search-cancel-button{display:var(--_cancel-button-display)}input[type=search]{--_results-button-display: initial}input[type=search]::-webkit-search-results-button{display:var(--_results-button-display)}input[type=number]:hover{cursor:text}input[type=number]{--_inner-spin-appearance: auto;--_inner-spin-hover-cursor: pointer;--_outer-spin-appearance: auto;--_outer-spin-hover-cursor: pointer;--_moz-appearance: initial;-moz-appearance:var(--_moz-appearance)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:var(--_inner-spin-appearance);-moz-appearance:var(--_inner-spin-appearance);appearance:var(--_inner-spin-appearance)}input[type=number]::-webkit-inner-spin-button:hover{cursor:var(--_inner-spin-hover-cursor)}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:var(--_outer-spin-appearance);-moz-appearance:var(--_outer-spin-appearance);appearance:var(--_outer-spin-appearance)}input[type=number]::-webkit-outer-spin-button:hover{cursor:var(--_outer-spin-hover-cursor)}input[type=range]:not([data-range-style=overflowing-thumb]):hover{cursor:grab}input[type=range]:not([data-range-style=overflowing-thumb]):active{cursor:grabbing}input[type=range]:not([data-range-style=overflowing-thumb]){border-radius:var(--_thumb-border-radius);--_track-width: 160px;--_track-height: 20px;--_track-appearance: none;--_track-bg: #e9e9ed;--_track-bg-image: none;background-color:var(--_track-bg);background-image:var(--_track-bg-image);-webkit-appearance:var(--_track-appearance);-moz-appearance:var(--_track-appearance);appearance:var(--_track-appearance);overflow:hidden}input[type=range]:not([data-range-style=overflowing-thumb])::-webkit-slider-runnable-track{background-color:var(--_track-bg);width:var(--_track-width);height:var(--_track-bg)}input[type=range]:not([data-range-style=overflowing-thumb])::-moz-range-track{background-color:var(--_track-bg);width:var(--_track-width);height:var(--_track-bg)}input[type=range]:not([data-range-style=overflowing-thumb]){--_thumb-appearance: none;--_thumb-bg: #484851;--_thumb-border-color: white;--_thumb-border-width: 2px;--_thumb-border-radius: 100vmax;--_thumb-width: 15px;--_thumb-height: 15px;--_inner-track-size: calc(var(--_track-width));--_inner-track-offset: calc(-1 * var(--_track-width) - var(--_thumb-width) / 2);--_inner-track-bg: #2374ff}input[type=range]:not([data-range-style=overflowing-thumb])::-webkit-slider-thumb{-moz-appearance:var(--_thumb-appearance);appearance:var(--_thumb-appearance);-webkit-appearance:var(--_thumb-appearance);background-color:var(--_thumb-bg);color:var(--_thumb-bg);border:var(--_thumb-border-width) solid var(--_thumb-border-color);border-radius:var(--_thumb-border-radius);width:var(--_thumb-width);height:var(--_thumb-height);box-shadow:var(--_inner-track-offset) 0 0 var(--_inner-track-size) var(--_inner-track-bg)}input[type=range]:not([data-range-style=overflowing-thumb])::-moz-range-thumb{-moz-appearance:var(--_thumb-appearance)!important;-webkit-appearance:var(--_thumb-appearance)!important;appearance:var(--_thumb-appearance)!important;background-color:var(--_thumb-bg);border:var(--_thumb-border-width) solid var(--_thumb-border-color);border-radius:var(--_thumb-border-radius);width:var(--_thumb-width);height:var(--_thumb-height);box-shadow:var(--_inner-track-offset) 0 0 var(--_inner-track-size) var(--_inner-track-bg)}input[type=range][data-range-style=overflowing-thumb]{align-items:center;display:flex;--_progress-bg: red;--_range-bg: rgba(0, 0, 0, 25%);--_range-height: 5px;--_input-interaction-zone-height: 35px;--_progress-border-radius: 100vmax;--_webkit-progression-width: 50%;--_thumb-size: 15px;--_thumb-border-radius: 50%;--_thumb-bg: var(--_progress-bg);border-radius:var(--_progress-border-radius);height:var(--_input-interaction-zone-height);background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range][data-range-style=overflowing-thumb]:hover{cursor:grab}input[type=range][data-range-style=overflowing-thumb]:active{cursor:grabbing}input[type=range][data-range-style=overflowing-thumb]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--_thumb-border-radius);background:var(--_thumb-bg);height:var(--_thumb-size);width:var(--_thumb-size);--_middle: calc(-1 * (var(--_thumb-size) - var(--_range-height)) / 2);translate:0% var(--_middle, 0%);border:none}input[type=range][data-range-style=overflowing-thumb]::-webkit-slider-runnable-track{border-radius:inherit;height:var(--_range-height);background-image:linear-gradient(90deg,var(--_progress-bg) var(--_webkit-progression-width),var(--_range-bg) var(--_webkit-progression-width))}input[type=range][data-range-style=overflowing-thumb]::-webkit-slider-container{border-radius:inherit;height:var(--_range-height)}input[type=range][data-range-style=overflowing-thumb]::-moz-range-thumb{background-color:var(--_progress-bg);height:var(--_thumb-size);width:var(--_thumb-size);border:none;border-radius:var(--_thumb-border-radius)}input[type=range][data-range-style=overflowing-thumb]::-moz-range-progress{background-color:var(--_progress-bg);border-radius:inherit;height:var(--_range-height)}input[type=range][data-range-style=overflowing-thumb]::-moz-range-track{height:var(--_range-height);border-radius:inherit;background-color:var(--_range-bg)}}@layer typograhy{body{font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}}@layer scrollbar{*{--_scrollbar-bg: transparent;--_scrollbar-track-bg: var(--scrollbar-track);--_scrollbar-border-radius: 100vmax;--_scrollbar-width: 5px;--_scrollbar-height: auto;--_scrollbar-moz-width: thin;--_scrollbar-margin-block: 0px;--_scrollbar-margin-inline: 0px;--_scrollbar-thumb-border: 2px solid var(--scrollbar-track);--_scrollbar-thumb-border-radius: var(--_scrollbar-border-radius);--_scrollbar-thumb-bg: currentColor;--_scrollbar-thumb-bg-hover: currentColor;--_scrollbar-thumb-bg-active: currentColor;--_scrollbar-thumb-bg-clip: border-box}*::-webkit-scrollbar{background:var(--_scrollbar-bg)}*::-webkit-scrollbar:horizontal{height:var(--_scrollbar-height)}*::-webkit-scrollbar:vertical{width:var(--_scrollbar-width)}*::-webkit-scrollbar-track:horizontal{margin-inline:var(--_scrollbar-margin-inline)}*::-webkit-scrollbar-track:vertical{margin-block:var(--_scrollbar-margin-block)}*::-webkit-scrollbar-track{background:var(--_scrollbar-track-bg);border-radius:var(--_scrollbar-border-radius)}*::-webkit-scrollbar-thumb{background:var(--_scrollbar-thumb-bg);border:var(--_scrollbar-thumb-border);border-radius:var(--_scrollbar-thumb-border-radius);background-clip:var(--_scrollbar-thumb-bg-clip)}*::-webkit-scrollbar-thumb:hover{background:var(--_scrollbar-thumb-bg-hover)}*::-webkit-scrollbar-thumb:active{background:var(--_scrollbar-thumb-bg-active)}*::-webkit-scrollbar-corner{background-color:transparent;border-top:none;border-left:none}@supports (scrollbar-color: black white) and (not selector(::-webkit-scrollbar)){*{--_scrollbar-bg: rgba(0, 0, 0, 15%);--_scrollbar-thumb-bg: blue;--_scrollbar-thumb-bg-hover: var(--bg-secondary);--_scrollbar-thumb-bg-active: var(--bg-secondary);scrollbar-width:var(--_scrollbar-moz-width);scrollbar-color:var(--_scrollbar-thumb-bg) var(--_scrollbar-track-bg)}}}.theme-toggle{display:flex;align-items:center;gap:1rem;border-radius:8px;flex-wrap:wrap}.theme-toggle label{font-weight:600;color:var(--color-primary)}.theme-toggle select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--color-primary);cursor:pointer;transition:all .2s ease}.theme-toggle select:hover{background:var(--bg-hover)}.theme-toggle select:focus{outline:2px solid var(--color-blue-500);outline-offset:2px}.theme-toggle .theme-buttons{display:flex;gap:.5rem}.theme-toggle .theme-buttons button{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--color-primary);cursor:pointer;font-size:1.2rem;transition:all .2s ease}.theme-toggle .theme-buttons button:hover{background:var(--bg-hover);transform:translateY(-2px)}.theme-toggle .theme-buttons button:active{background:var(--bg-active);transform:translateY(0)}.theme-toggle .theme-buttons button.active{background:var(--color-blue-500);border-color:var(--color-blue-600);box-shadow:0 2px 8px #0095ff4d}.theme-toggle .theme-buttons button:focus{outline:2px solid var(--color-blue-500);outline-offset:2px}.header{grid-row:header;padding:20px}.header__title{text-align:center}.footer{grid-row:footer;display:flex;justify-content:space-between;align-items:center;padding:10px}.app-layout{display:grid;grid-template-columns:auto 1fr;min-height:100svh;overflow:hidden;background:var(--bg-primary)}@media screen and (width <= 768px){.app-layout{grid-template-columns:1fr}}.app-content{display:flex;flex-direction:column;max-height:100svh;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-gutter:stable}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.app-header .theme-switcher{max-width:200px}main{flex:1;min-height:0}.index{grid-row:main}@view-transition{navigation: auto;}:root.dark{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-hover: #2a2a2a;--bg-active: #333333;--color-primary: #cdcdcd;--color-primary--hover: #bfbfbf;--color-primary--active: #a3a3a3;--color-secondary: #848484;--editor-bg-color: #181818;--editor-pieces-bg-color: #454442;--semi-transparent-bg: rgba(0, 0, 0, 70%);--border-color: #242424;--scrollbar-track-bg-color: black;--scrollbar-thumb-bg-color: #ababab;--scrollbar-thumb-bg-color--hover: #8a8a8a;--scrollbar-thumb-bg-color--active: #4f4f4f}:root.dark ::backdrop{--backdrop-bg-color: rgba(0, 0, 0, .5);--scrollbar-track-bg-color: black;--scrollbar-thumb-bg-color: #ababab;--scrollbar-thumb-bg-color--hover: #8a8a8a;--scrollbar-thumb-bg-color--active: #4f4f4f}:root.light{--bg-primary: white;--bg-secondary: #f9f9f9;--bg-hover: #f0f0f0;--bg-active: #e8e8e8;--color-primary: #323232;--color-primary--hover: #3c3c3c;--color-primary--active: #474747;--color-secondary: #757575;--semi-transparent-bg: rgba(255, 255, 255, 70%);--border-color: #DBDBDB;--scrollbar-track-bg-color: white;--scrollbar-thumb-bg-color: #545454;--scrollbar-thumb-bg-color--hover: #757575;--scrollbar-thumb-bg-color--active: #b0b0b0;--timeline-space: 100px}:root.light ::backdrop{--backdrop-bg-color: rgba(255, 255, 255, .5);--scrollbar-track-bg-color: white;--scrollbar-thumb-bg-color: #545454;--scrollbar-thumb-bg-color--hover: #757575;--scrollbar-thumb-bg-color--active: #b0b0b0}.three-scene{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.loading-spinner{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.loading-spinner__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080}.loading-spinner__icon{position:relative;z-index:1;color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}:root{--bg-active: #81818126}:root{--color-black-100: #0d0d0e;--color-black-90: rgba(13, 13, 14, 90%);--color-black-80: rgba(13, 13, 14, 80%);--color-black-70: rgba(13, 13, 14, 70%);--color-black-60: rgba(13, 13, 14, 60%);--color-black-50: rgba(13, 13, 14, 50%);--color-black-40: rgba(13, 13, 14, 40%);--color-black-30: rgba(13, 13, 14, 30%);--color-black-20: rgba(13, 13, 14, 20%);--color-black-10: rgba(13, 13, 14, 10%);--color-white-100: #ffffff;--color-white-90: rgba(255, 255, 255, 90%);--color-white-80: rgba(255, 255, 255, 80%);--color-white-70: rgba(255, 255, 255, 70%);--color-white-60: rgba(255, 255, 255, 60%);--color-white-50: rgba(255, 255, 255, 50%);--color-white-40: rgba(255, 255, 255, 40%);--color-white-30: rgba(255, 255, 255, 30%);--color-white-20: rgba(255, 255, 255, 20%);--color-white-10: rgba(255, 255, 255, 10%)}:root{--color-grey-900: #1c1f20;--color-grey-800: #22292b;--color-grey-700: #374343;--color-grey-600: #515d5d;--color-grey-500: #6e7e7e;--color-grey-400: #9fadad;--color-grey-300: #d4d9d9;--color-grey-200: #e5eaea;--color-grey-100: #f3f6f6;--color-grey-50: #f9fbfb;--color-red-900: #522b33;--color-red-800: #622632;--color-red-700: #9d213b;--color-red-600: #bc1f40;--color-red-500: #d41f45;--color-red-400: #e13559;--color-red-300: #e76c86;--color-red-200: #f292a6;--color-red-100: #f9cad4;--color-red-50: #fdf0f3;--color-green-900: #1c4d27;--color-green-800: #256533;--color-green-700: #308242;--color-green-600: #3da755;--color-green-500: #43b75d;--color-green-400: #69c57d;--color-green-300: #81cf92;--color-green-200: #a9deb4;--color-green-100: #c5e9cd;--color-green-50: #ecf8ef;--color-yellow-900: #6b4700;--color-yellow-800: #8c5e00;--color-yellow-700: #b57900;--color-yellow-600: #e89b00;--color-yellow-500: #ffaa00;--color-yellow-400: #ffbb33;--color-yellow-300: #ffc654;--color-yellow-200: #ffd88a;--color-yellow-100: #ffe5b0;--color-yellow-50: #fff7e6;--color-blue-900: #003f6b;--color-blue-800: #00528c;--color-blue-700: #006ab5;--color-blue-600: #0088e8;--color-blue-500: #0095ff;--color-blue-400: #33aaff;--color-blue-300: #54b8ff;--color-blue-200: #8aceff;--color-blue-100: #b0deff;--color-blue-50: #e6f4ff}:root{--box-shadow-100: 0px 2px 8px 0px rgba(13, 13, 14, .06);--box-shadow-200: 0px 4px 12px 0px rgba(13, 13, 14, .08);--box-shadow-300: 0px 4px 16px 0px rgba(19, 25, 39, .08);--box-shadow-400: 0px 4px 12px 0px rgba(13, 13, 14, .1);--box-shadow-500: 0px 4px 16px -2px rgba(13, 13, 14, .12);--box-shadow-600: 0px 4px 18px 0px rgba(13, 13, 14, .12);--box-shadow-700: 0px 6px 22px 0px rgba(13, 13, 14, .12);--box-shadow-800: 0px 8px 28px 0px rgba(13, 13, 14, .12)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes chapter-highlight-overlay{0%{opacity:0;scale:1}15%{opacity:.6;scale:1.02}85%{opacity:.6;scale:1.02}to{opacity:0;scale:1}}@keyframes timestamp-reset-shake{0%,to{translate:0 0}10%,30%,50%,70%,90%{translate:-2px 0}20%,40%,60%,80%{translate:2px 0}}@keyframes timestamp-reset-flash{0%{background-color:transparent}25%{background-color:#ef44441a}75%{background-color:#ef44441a}to{background-color:transparent}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.index-page{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%}.index-page__content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px}.index-page__title{font-size:24px;font-weight:600}.index-page__description{font-size:16px;color:var(--color-text-secondary, #666)}.index-page__scene-container{width:100%;flex:1;min-height:400px;position:relative;overflow:hidden}
