@font-face{font-family:Monaspace Neon;src:url(/assets/MonaspaceNeonVar-CP9VIsie.woff2) format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0deg 11deg;font-display:block}@font-face{font-family:Monaspace Argon;src:url(/assets/MonaspaceArgonVar-wcj2KKfg.woff2) format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0deg 11deg;font-display:block}@font-face{font-family:Monaspace Xenon;src:url(/assets/MonaspaceXenonVar-DufifYI1.woff2) format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0deg 11deg;font-display:block}@font-face{font-family:Monaspace Radon;src:url(/assets/MonaspaceRadonVar-BnJn7aN6.woff2) format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0deg 11deg;font-display:block}@font-face{font-family:Monaspace Krypton;src:url(/assets/MonaspaceKryptonVar-DBNLSCsK.woff2) format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0deg 11deg;font-display:block}:root{--red-core: #ff3a2a;--red-bloom: #b02010;--grey-rule: #6d727c;--hairline: #24262c;--gold: #ffc53a;--gold-dim: rgba(255, 197, 58, .18);--silver: #c9ccd4;--silver-dim: #6d727c;--silver-soft: #9aa0ab;--purple: #a855f7;--purple-deep: #6d28d9;--prose: #f0eeeb;--manuscript-face: "Monaspace Argon";--chapter-face: "Monaspace Xenon";--scene-face: "Monaspace Xenon";--manuscript-weight: 400;--manuscript-font-size: 15.6px;--manuscript-line-height: 1.68;--paragraph-gap: 1.05em;--monaspace-features: "calt" 1, "liga" 1, "rlig" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1, "ss05" 1, "ss06" 1, "ss07" 1, "ss08" 1, "ss09" 1, "ss10" 1;--header-height: 56px;--tomes-width: 320px;--motion: .22s cubic-bezier(.22, .7, .24, 1)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--red-core) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--red-core);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ff6e5e}::-webkit-scrollbar-thumb:active{background:#ff9e91}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-button{display:none;width:0;height:0}html,body{height:100%;height:100dvh;overscroll-behavior:none}body{margin:0;background:#000;color:var(--silver);font-family:var(--manuscript-face),monospace;font-weight:var(--manuscript-weight);font-feature-settings:var(--monaspace-features);font-variant-ligatures:contextual common-ligatures;overflow:hidden;overscroll-behavior:none}#app{height:100%;height:100dvh;display:flex;flex-direction:column}header{height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));flex:none;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:5}.tomes-group{display:flex;align-items:center;gap:24px;min-width:0}.tomes-trigger{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--silver);background:none;border:0;padding:6px 10px;cursor:pointer;flex:none}.tomes-trigger:hover,.tomes-trigger:focus-visible{color:#fff;text-shadow:0 0 10px var(--purple);outline:none}.spells-trigger{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--silver);background:none;border:0;padding:6px 10px;cursor:pointer;flex:none;transition:color .14s,text-shadow .14s}.spells-trigger:hover,.spells-trigger:focus-visible{color:var(--red-core);text-shadow:0 0 10px var(--red-bloom);outline:none}.tabs{flex:1;display:flex;gap:2px;min-width:0;overflow:hidden}.tab{font-family:Monaspace Neon,monospace;font-feature-settings:var(--monaspace-features);font-size:12px;padding:7px 14px;color:var(--silver-dim);background:none;border:0;border-bottom:1px solid transparent;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:6px;min-width:0;max-width:200px}.tab:before{content:"";flex:none;width:16px;height:16px}.tab .name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}.tab:hover,.tab:focus-visible{color:var(--silver);outline:none}.tab.active{color:var(--silver);border-bottom-color:var(--grey-rule)}.tab .close{color:var(--silver-dim);font-size:11px;opacity:.45;display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;border-radius:2px}.tab:hover .close,.tab:focus-within .close{opacity:1}.tab .close:hover{color:#fff;background:#ffffff1a}.wordmark{flex:none;display:block;height:24px;width:auto;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent;transition:filter .18s ease-out}.wordmark rect{fill:var(--wordmark-fill, var(--red-bloom));transition:fill .18s ease-out}.wordmark{filter:var(--wordmark-filter, drop-shadow(0 0 3px rgba(255, 58, 42, .38)) drop-shadow(0 0 10px rgba(176, 32, 16, .45)))}.wordmark:focus,.wordmark:focus-visible,.wordmark:active{outline:none;box-shadow:none}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.canvas-wrap{position:absolute;inset:0;display:flex;justify-content:center;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;touch-action:pan-y;overscroll-behavior-y:contain}.canvas{width:800px;max-width:100%;padding:0 96px 0 48px}@media(max-width:800px){:root{--manuscript-font-size: 12px;--manuscript-line-height: 1.58;--paragraph-gap: .8em}.cm-editor .cm-scroller{font-size:var(--manuscript-font-size, 12px);line-height:var(--manuscript-line-height, 1.58)}.wordmark{height:18px}.tabs{display:none}.tomes-group{gap:12px}.canvas{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}input,textarea,select{font-size:16px}}body.threaded .canvas-wrap{padding-right:194px}@media(max-width:640px){body.threaded .canvas-wrap{padding-right:140px}}#editor{padding:54px 0 calc(50dvh + env(safe-area-inset-bottom,0px))}.cm-editor{background:transparent;color:var(--prose)}.cm-editor.cm-focused{outline:none}.cm-editor .cm-scroller{font-family:var(--manuscript-face),monospace;font-size:var(--manuscript-font-size);line-height:var(--manuscript-line-height);font-weight:var(--manuscript-weight);font-feature-settings:var(--monaspace-features);font-variant-ligatures:contextual common-ligatures;touch-action:pan-y}.cm-content{padding:0;caret-color:transparent}.cm-editor .cm-line{padding:0 0 var(--paragraph-gap)}.cm-editor .cm-line.block-heading1{padding-top:.75em;padding-bottom:.8em}.cm-editor .cm-line:first-child.block-heading1{padding-top:.4em}.cm-editor .cm-line.block-heading2{padding-top:.45em;padding-bottom:.7em}.cm-editor .cm-line:first-child.block-heading2{padding-top:.3em}.cm-editor .cm-line.block-heading1+.cm-line.block-heading2{padding-top:.25em}.cm-cursor,.cm-dropCursor{border:0;width:2px;background:var(--gold);box-shadow:0 0 5px var(--gold),0 0 14px #ffc53a99}.cm-editor.caret-idle .cm-cursor{animation:caret-breathe 1.6s ease-in-out infinite}@keyframes caret-breathe{0%,to{opacity:.35}50%{opacity:1}}.cm-selectionBackground,.cm-selectionLayer .cm-selectionBackground,.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground,.cm-editor.cm-focused>.cm-scroller>.cm-selectionLayer .cm-selectionBackground,.cm-content ::selection,.cm-editor ::selection{background:var(--gold-dim)!important}.cm-line.block-heading1{font-family:var(--chapter-face, "Monaspace Xenon");font-size:1.5em;letter-spacing:.04em;color:var(--prose)}.cm-line.block-heading2{font-family:var(--scene-face, "Monaspace Xenon");font-size:1.2em;letter-spacing:.06em;color:var(--prose)}.cm-line.block-part{font-size:1.8em;letter-spacing:.16em;text-transform:uppercase;color:var(--prose)}.cm-line.block-blockquote{padding-left:18px;border-left:1px solid var(--hairline);color:var(--silver)}.cm-line.block-pagebreak{color:var(--silver-dim);letter-spacing:.3em}.cm-line.block-listitem{padding-left:22px}.cm-mark-bold{font-weight:700}.cm-mark-italic{font-style:italic}.cm-mark-underline{text-decoration:underline}.empty-ellipsis{position:absolute;pointer-events:none;color:var(--gold);text-shadow:0 0 5px var(--gold),0 0 14px rgba(255,197,58,.6);letter-spacing:.2em}.empty-ellipsis[hidden]{display:none}.empty-ellipsis span{animation:ellipsis 1.4s ease-in-out infinite}.empty-ellipsis span:nth-child(2){animation-delay:.14s}.empty-ellipsis span:nth-child(3){animation-delay:.28s}.empty-ellipsis span:nth-child(4){animation-delay:.42s}.empty-ellipsis span:nth-child(5){animation-delay:.56s}@keyframes ellipsis{0%,to{opacity:.25}50%{opacity:.9}}.scar{display:block;width:100%;padding:10px 0 16px;background:none;border:0;cursor:pointer;text-align:left}.scar-line{display:block;height:9px;opacity:.75;background:repeating-linear-gradient(120deg,transparent 0 5px,var(--red-bloom) 5px 6px,transparent 6px 11px)}.scar span:last-child{display:block;margin-top:7px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7d5048}.chasm{--chasm-accent: var(--red-bloom);border:1px solid var(--chasm-accent);box-shadow:inset 0 0 14px -4px var(--chasm-accent);margin:22px 0 26px;overflow:hidden;max-width:100%;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features)}.chasm,.chasm *{scrollbar-width:thin;scrollbar-color:var(--chasm-accent) transparent}.chasm::-webkit-scrollbar-thumb,.chasm *::-webkit-scrollbar-thumb{background:var(--chasm-accent)}.chasm::-webkit-scrollbar-thumb:hover,.chasm *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--chasm-accent) 80%,#fff)}.chasm::-webkit-scrollbar-thumb:active,.chasm *::-webkit-scrollbar-thumb:active{background:#fff}.chasm-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#000;border-bottom:1px solid color-mix(in srgb,var(--chasm-accent) 24%,transparent)}.chasm h3{margin:0;padding:10px 14px;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11px;font-weight:400;letter-spacing:.22em;color:var(--chasm-accent)}.chasm-controls{display:flex;align-items:stretch;align-self:stretch}.chasm-controls button,.chasm-failed button{min-width:36px;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:13px;color:var(--silver-dim);background:transparent;border:0;border-left:1px solid color-mix(in srgb,var(--chasm-accent) 32%,transparent);cursor:pointer}.chasm-controls button:hover,.chasm-controls button:focus-visible,.chasm-failed button:hover,.chasm-failed button:focus-visible{color:#fff;text-shadow:0 0 10px var(--chasm-accent);outline:none}.chasm .chasm-body{padding:14px;font-size:13px;line-height:1.7;color:var(--silver-dim);max-height:calc(60vh - 38px);overflow-y:auto;overscroll-behavior:contain}.chasm .manuscript-excerpt{font-family:var(--manuscript-face),monospace;font-weight:var(--manuscript-weight)}.chasm-row{display:flex;gap:12px;align-items:baseline;padding:5px 0}.chasm-alias-input::-ms-clear,.chasm-alias-input::-ms-reveal{display:none}.chasm[data-chasm-id=cast] .chasm-row{animation:cast-resolve .18s ease-out both}.chasm[data-chasm-id=plot] .chasm-row{animation:plot-cascade .18s ease-out both}.chasm[data-chasm-id=openWarp] .chasm-row{animation:warp-enter .18s ease-out both}.chasm[data-chasm-id=openBones] .chasm-row{animation:bones-settle .18s ease-out both}.chasm-row:nth-child(2){animation-delay:25ms!important}.chasm-row:nth-child(3){animation-delay:50ms!important}@keyframes cast-resolve{0%{opacity:0;filter:blur(2px)}}@keyframes plot-cascade{0%{opacity:0;transform:translateY(-3px)}}@keyframes warp-enter{0%{opacity:0;transform:translate(-4px)}}@keyframes bones-settle{0%{opacity:0;transform:translateY(3px)}}.chasm-row .chasm-label{color:var(--silver);flex:1;min-width:0}.chasm-row .chasm-sub{display:block;font-size:11px;color:#55585f}.chasm-row .chasm-source{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:9.5px;letter-spacing:.2em;color:#55585f;flex:none}.chasm-row button,.chasm-detail button{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:transparent;border:0;border-left:2px solid var(--purple-deep);color:var(--silver-dim);padding:5px 10px;cursor:pointer;flex:none}.chasm-row button:hover,.chasm-row button:focus-visible,.chasm-detail button:hover,.chasm-detail button:focus-visible{color:#fff;border-left-color:var(--purple);text-shadow:0 0 12px var(--purple);outline:none}.chasm-empty{color:#55585f}.chasm-skeleton{display:grid;gap:9px;padding:4px 0}.chasm-skeleton-line{height:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--chasm-accent) 10%,transparent),color-mix(in srgb,var(--chasm-accent) 26%,transparent),color-mix(in srgb,var(--chasm-accent) 10%,transparent));background-size:220% 100%;animation:chasm-skeleton-sweep 1.15s ease-in-out infinite}.chasm-skeleton-line:nth-child(2){width:82%;animation-delay:90ms}.chasm-skeleton-line:nth-child(3){width:91%;animation-delay:.18s}.chasm-skeleton-line:nth-child(4){width:68%;animation-delay:.27s}@keyframes chasm-skeleton-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}.cast-view{display:grid;gap:10px}.cast-tabs{display:flex;gap:0;border-bottom:1px solid var(--hairline)}.cast-tab{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:transparent;border:0;border-bottom:2px solid transparent;color:#55585f;padding:7px 12px;margin-bottom:-1px;cursor:pointer}.cast-tab:hover,.cast-tab:focus-visible{color:#fff;text-shadow:0 0 12px var(--chasm-accent);outline:none}.cast-tab[aria-selected=true]{color:var(--silver);border-bottom-color:var(--chasm-accent)}.chasm-failed{display:flex;align-items:center;gap:10px;color:#d2564b}.chasm-failed button{margin-left:auto;padding:5px 10px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.chasm-failure-glyph{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor}.warp-view{display:grid;gap:12px}.warp-transport{display:flex;align-items:center;gap:8px}.warp-transport button,.warp-restore{min-height:34px;border:1px solid color-mix(in srgb,var(--chasm-accent) 45%,transparent);background:transparent;color:var(--chasm-accent)}.warp-stamp{margin-left:auto;color:var(--silver-dim);font-size:10px;letter-spacing:.08em}.warp-view input{min-height:36px;border:1px solid #363a43;background:#0b0c0f;color:var(--silver);padding:6px 9px;font:inherit}.warp-projection{white-space:pre-wrap;padding:18px;border:1px solid #292c33;color:var(--silver);line-height:1.75}.warp-projection mark{background:color-mix(in srgb,var(--chasm-accent) 35%,transparent);color:inherit}.warp-restore{justify-self:end;padding:6px 12px;text-transform:uppercase;letter-spacing:.1em}.chasm[data-chasm-id=openBones] .chasm-controls button[aria-pressed=true]{color:#000;background:var(--silver)}.chasm[data-chasm-id=openBones] .bones-spine{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 14px;border-left:0}.bones-core{position:relative;background:#0b0d10;cursor:pointer}.bones-core:focus-visible{outline:1px solid var(--gold)}.bones-core-seg{position:absolute;left:0;right:0;background:#c9ccd44d}.bones-core-seg.here{background:var(--gold);box-shadow:0 0 8px -1px #ffc53a8c}.bones-core-seg .scene-tick{position:absolute;left:0;right:0;border-top:1px solid #000}.bones-viewport{position:absolute;left:-3px;right:-3px;border:1px solid var(--silver);background:#c9ccd414;box-shadow:0 0 0 1px #000000e6,inset 0 0 0 1px #0006;z-index:10;pointer-events:none}.bones-list{min-width:0;overflow-y:auto;height:380px;scrollbar-width:thin;padding-right:8px}.bones-list .chasm-row{display:grid;grid-template-columns:14px 12px 1fr;align-items:center;gap:7px;padding:2px 0}.bones-list .chasm-row.chapter{cursor:pointer}.bones-list .chasm-row.chapter:hover .chasm-label{color:#fff}.bones-list .chasm-row.chapter:hover .chasm-twist{color:var(--silver)}.bones-list .chasm-grip{color:#3a3d45;cursor:grab;-webkit-user-select:none;user-select:none;font-size:12px;border:0!important;border-left:0!important;padding:0!important;background:none;text-shadow:none!important}.bones-list .chasm-twist{background:none;border:0!important;border-left:0!important;color:var(--silver-dim);font-family:Monaspace Krypton,monospace;font-size:10px;cursor:pointer;padding:0!important;text-shadow:none!important}.bones-list .chasm-twist:focus-visible{outline:1px solid var(--gold)}.bones-list .chasm-row button:hover,.bones-list .chasm-row button:focus-visible{border-left:0!important;text-shadow:none!important}.bones-list .chasm-cell{min-width:0}.bones-list .chasm-line{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:14px;align-items:baseline}.bones-list .chasm-label{color:var(--silver);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bones-list .chasm-sub{font-variant-numeric:tabular-nums;color:var(--silver-dim);font-size:11px;white-space:nowrap;text-align:left}.bones-list .chasm-row.chapter .chasm-label{color:var(--silver)}.bones-list .chasm-row.scene .chasm-label{color:var(--silver-dim);padding-left:18px}.bones-list .chasm-row.beat .chasm-label{color:#585c66;padding-left:36px}.bones-list .chasm-row.beat.done .chasm-label{color:var(--silver-dim)}.bones-list .chasm-row.here .chasm-label{color:var(--gold)}.bones-list .chasm-row.scene.has-beats{cursor:pointer}.bones-list .chasm-row.scene.has-beats:hover .chasm-label,.bones-list .chasm-row.scene.has-beats:hover .chasm-twist{color:var(--silver)}.bones-list .beat-mark{color:#4a4e57}.bones-list .chasm-row.beat.done .beat-mark{color:var(--gold)}.bones-shape{padding:16px 14px 14px}.bones-ribbon{display:flex;align-items:flex-end;gap:2px;height:150px;border-bottom:1px solid var(--hairline)}.bones-rb{flex:1 1 0;background:var(--silver);opacity:.8;min-width:2px}.bones-rb.here{background:var(--gold);opacity:1}.bones-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--silver-dim);margin-top:6px;font-variant-numeric:tabular-nums}.bones-refs-head{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-dim);margin:20px 0 10px;border-top:1px solid var(--hairline);padding-top:14px}.bones-refs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bones-ref h4{font-size:11px;font-weight:500;color:var(--silver);margin:0 0 2px}.bones-ref p{font-size:9px;color:var(--silver-dim);margin:0 0 6px;font-variant-numeric:tabular-nums}.bones-ref .bones-ribbon{height:54px}[hidden]{display:none!important}.cauldron-loader{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#000;pointer-events:auto}.cauldron-loader canvas{display:block;image-rendering:pixelated}@media(max-width:560px){.chasm-row{align-items:stretch;flex-wrap:wrap}.chasm-row .chasm-label{flex-basis:100%}.chasm-row button{min-height:44px}}@media(prefers-reduced-motion:reduce){.chasm .chasm-row,.chasm-skeleton-line{animation:none}.chasm *,.gutter,.chip,.cm-line{transition-duration:0ms!important}}.palette{position:absolute;width:320px;max-width:60vw;background:#050505;border:1px solid var(--purple-deep);box-shadow:0 0 22px -6px var(--purple);z-index:8;padding:4px 0;max-height:44vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--silver-dim) transparent}.palette::-webkit-scrollbar-thumb{background:var(--silver-dim);border-radius:3px}.palette::-webkit-scrollbar-thumb:hover{background:var(--silver)}.palette::-webkit-scrollbar-thumb:active{background:#fff}.palette button{display:flex;width:100%;justify-content:space-between;gap:14px;padding:6px 12px;font-family:inherit;font-size:12.5px;text-align:left;background:none;border:0;color:var(--silver-dim);cursor:pointer}.palette button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette button .query{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);color:var(--purple);flex:none}.palette button.active{background:#6d28d938;color:var(--silver)}.palette-hint{padding:8px 12px;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11.5px;letter-spacing:.04em;color:#55585f}.thread-bar{position:absolute;top:50%;left:min(calc(75% + 72.5px),calc(100% - 176px));transform:translateY(-50%);z-index:5;width:158px;max-height:calc(100% - 28px);display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;background:#050505;border:1px solid var(--purple-deep);box-shadow:0 0 22px -8px var(--purple);overflow-y:auto}@media(max-width:640px){.thread-bar{width:118px;left:calc(100% - 129px);padding:8px;gap:6px}}.thread-name{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);word-break:break-word}.thread-aperture{display:flex;align-items:center;justify-content:space-between;gap:4px;border-top:2px solid var(--purple-deep);padding-top:8px}.thread-aperture-btn{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11px;line-height:1;background:transparent;border:1px solid var(--purple-deep);color:var(--silver-dim);flex:none;width:18px;height:18px;padding:0;cursor:pointer}.thread-aperture-btn:hover,.thread-aperture-btn:focus-visible{color:#fff;border-color:var(--purple);text-shadow:0 0 12px var(--purple);outline:none}.thread-aperture-btn:disabled{color:#3a3d44;border-color:#2a2c31;cursor:default;text-shadow:none}.thread-aperture-label{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-dim);flex:1;text-align:center}.thread-exit{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:transparent;border:0;border-top:2px solid var(--purple-deep);color:var(--silver-dim);padding:8px 0 0;cursor:pointer}.thread-exit:hover,.thread-exit:focus-visible{color:#fff;border-top-color:var(--purple);text-shadow:0 0 12px var(--purple);outline:none}aside.tomes{position:absolute;top:0;right:0;bottom:0;width:var(--tomes-width);background:#000;transform:translate(100%);transition:transform var(--motion);display:flex;flex-direction:column;z-index:10;box-shadow:-18px 0 40px -18px #000,-2px 0 30px -10px #b0201073}body.tomes-open aside.tomes{transform:none}aside.tomes .edge{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--hairline)}aside.tomes .inner{padding:22px 20px;padding-top:max(22px,env(safe-area-inset-top,0px));padding-bottom:max(22px,env(safe-area-inset-bottom,0px));padding-right:max(20px,env(safe-area-inset-right,0px));font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);overflow-y:auto;flex:1}.tomes-storage{margin-top:24px;padding-top:16px;border-top:1px solid #23252b;display:flex;flex-direction:column;gap:10px}.tomes-storage .save-state{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver-soft);display:flex;align-items:center;gap:8px}.tomes-storage .save-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.tomes-storage .save-state[data-state=saved]{color:#4ade80}.tomes-storage .save-state[data-state=unsynced]{color:var(--silver-soft)}.backup-button{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-align:center;background:transparent;border:1px solid #363a43;color:var(--silver-soft);padding:8px 12px;cursor:pointer;transition:color .14s,border-color .14s}.backup-button:hover,.backup-button:focus-visible{color:#fff;border-color:var(--purple-deep);text-shadow:0 0 10px var(--purple);outline:none}.storage-warning{margin:0;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11px;line-height:1.4;color:#fca5a5}aside.tomes h2{margin:0 0 14px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--silver)}.tome{display:block;width:100%;padding:9px 11px;font-family:inherit;font-size:13px;text-align:left;background:none;border:0;border-left:2px solid transparent;color:var(--silver-soft);cursor:pointer}.tome.active{color:var(--silver);border-left-color:var(--purple);background:#6d28d91f}.tome-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tome small{display:block;margin-top:4px;font-size:12px;color:var(--silver-soft)}.fields{margin:22px 0;display:grid;gap:10px}.fields label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver)}.fields input{width:100%;padding:8px 10px;background:#060606;border:1px solid #23252b;color:var(--silver);font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:13px}.fields input:focus-visible{outline:none;border-color:var(--purple-deep)}.acts{display:grid;gap:9px;margin-top:8px}.acts button{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;text-align:left;background:transparent;border:0;border-left:2px solid var(--purple-deep);padding:11px 14px 11px 12px;color:var(--silver-soft);cursor:pointer;transition:color .14s,border-color .14s,text-shadow .14s,box-shadow .14s}.acts button:hover,.acts button:focus-visible{color:#fff;border-left-color:var(--purple);text-shadow:0 0 12px var(--purple);box-shadow:-8px 0 20px -12px var(--purple);outline:none}body.lens-on .character-mention{color:#ff4fa3;text-shadow:0 0 9px rgba(255,0,127,.7)}.cm-line.block-storybeat{color:#ffea00}body.lens-on .cm-line.block-storybeat{text-shadow:0 0 10px rgba(255,234,0,.55)}.gutter{position:absolute;width:78px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;opacity:0;pointer-events:none;transition:opacity .15s ease-out;z-index:6}.gutter.hot{opacity:1;pointer-events:auto}.gutter-bridge{position:absolute;width:18px}.chip{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;white-space:nowrap;background:transparent;cursor:pointer;transition:filter .13s}.chip.declared{color:currentColor;background:color-mix(in srgb,currentColor 16%,transparent);border:1px solid currentColor;box-shadow:0 0 10px -2px currentColor,inset 0 0 12px -6px currentColor;text-shadow:0 0 7px currentColor}.chip.observed{border:1px solid currentColor;box-shadow:0 0 9px -3px currentColor}.chip.proposed,.chip.unresolved{border:1px dashed currentColor;opacity:.62}.chip:hover,.chip:focus-visible,.chip.pinned{filter:brightness(1.6);outline:none}.chip .value{display:inline-block;max-width:0;overflow:hidden;opacity:0;vertical-align:bottom;transition:max-width .18s ease-out,opacity .14s ease-out}.chip:hover .value,.chip:focus-visible .value,.chip.pinned .value{max-width:150px;opacity:1}.evidence-row{display:flex;gap:12px;margin-bottom:7px}.evidence-row .key{flex:none;width:78px;padding-top:2px;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#55585f}.evidence-row .value{font-size:13px;color:var(--silver)}.evidence-row .value.quote{color:var(--silver-dim);font-style:italic}#status,#error{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.worgavision-layer{position:absolute;inset:0;pointer-events:none;z-index:6}.worgavision-layer .gutter{pointer-events:none}.worgavision-layer .gutter.hot{pointer-events:auto}.cm-line{transition:color .22s}.cm-line.lens-hot{color:#fff;transition:color .15s}.tool-outline{display:grid;gap:6px}.tool-group-chapter{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--chasm-accent);padding-top:8px}.tool-group-scene{display:grid;gap:2px;border-left:1px solid #2a2d34;padding-left:10px}.tool-group-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--silver-dim)}.chasm-grip{min-width:22px;min-height:22px;border:0;background:transparent;color:var(--silver-dim);cursor:grab;line-height:1}.chasm-grip:focus-visible{outline:1px solid var(--chasm-accent);color:var(--chasm-accent)}.chasm-row.drop-target{box-shadow:inset 0 2px 0 0 var(--chasm-accent)}.chasm-row.refused{animation:chasm-refuse .38s ease-out}@keyframes chasm-refuse{0%,to{background:transparent}40%{background:color-mix(in srgb,#d2564b 22%,transparent)}}@media(prefers-reduced-motion:reduce){.chasm-row.refused{animation:none;outline:1px solid #d2564b}}.chasm-row-group{display:grid;gap:0}.chasm-expand{min-width:24px;min-height:24px;border:0;background:transparent;color:var(--silver-dim)}.chasm-detail{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0 10px 38px}.chasm-detail input{flex:1 1 180px;min-height:32px;border:1px solid #363a43;background:#0b0c0f;color:var(--silver);padding:5px 8px;font:inherit}.chasm-add-beat{padding-top:10px}.chasm-add-beat input{width:100%;min-height:34px;border:1px dashed #3a3e47;background:transparent;color:var(--silver);padding:6px 9px;font:inherit}#pairing-panel{overflow:hidden;max-height:0;transition:max-height var(--motion)}#pairing-panel.open{max-height:600px}.pairing-card{display:grid;gap:10px;margin:4px 0 10px;padding:12px 0 4px 12px;border-left:2px solid var(--purple-deep);font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);color:var(--silver)}.pairing-card h3{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-soft)}.pairing-card p{margin:0;font-size:12px;line-height:1.6;color:var(--silver-soft)}.pairing-card canvas{background:#fff;padding:8px;justify-self:start}.pairing-card button{font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;justify-self:start;background:transparent;border:0;color:var(--silver-soft);padding:6px 0;cursor:pointer}.pairing-card button:hover,.pairing-card button:focus-visible{color:#fff;text-shadow:0 0 10px var(--purple);outline:none}.pairing-card input[type=text]{width:100%;min-height:34px;border:1px solid #363a43;background:#0b0c0f;color:var(--silver);padding:6px 9px;font:inherit;font-size:13px}.pairing-choices{display:inline-flex;gap:0;width:fit-content;border:1px solid #363a43}.pairing-choices label{display:flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--silver-soft);cursor:pointer;border-right:1px solid #363a43}.pairing-choices label:last-child{border-right:0}.pairing-choices label:has(input:checked){color:#fff;background:#6d28d947}.pairing-choices input{margin:0;width:9px;height:9px;accent-color:var(--purple)}.pairing-error{color:#ff8a8a;font-size:12px}.pairing-phrase{display:block;max-width:360px;word-break:break-all;color:var(--silver);font:inherit;font-size:12px;margin-top:10px}.library-entry{padding:6px 0;font-size:13px;color:var(--silver);border-bottom:1px solid #2a2d34}.recent-heading,aside.tomes h3{margin:18px 0 10px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--purple)}#recent-list{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}.recent{display:flex;align-items:stretch;gap:4px}.recent-open{flex:1;min-width:0;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:13px;letter-spacing:.04em;text-align:left;padding:7px 10px;background:transparent;border:1px solid #23252b;color:var(--silver-soft);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-open:hover,.recent-open:focus-visible{color:var(--silver);border-color:var(--purple-deep);outline:none}.recent-remove{flex:none;width:28px;font-size:13px;line-height:1;background:transparent;border:1px solid #23252b;color:var(--silver-dim);cursor:pointer}.recent-remove:hover,.recent-remove:focus-visible{color:#ff8a8a;border-color:#ff8a8a;outline:none}.find-view{display:grid;gap:12px}.find-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:600px){.find-inputs{grid-template-columns:1fr}}.find-search-input,.find-replace-input{min-height:36px;border:1px solid #363a43;background:#0b0c0f;color:var(--silver);padding:6px 10px;font-family:inherit;font-size:13px}.find-search-input:focus-visible,.find-replace-input:focus-visible{outline:none;border-color:var(--chasm-accent, #c6f135)}.find-status-bar{display:flex;justify-content:space-between;align-items:center;font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);padding:2px 0}.find-replace-all-button{font-family:Monaspace Krypton,monospace;font-feature-settings:var(--monaspace-features);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;background:transparent;border:1px solid var(--chasm-accent, #c6f135);color:var(--chasm-accent, #c6f135);padding:4px 10px;cursor:pointer;transition:background .12s,color .12s}.find-replace-all-button:hover,.find-replace-all-button:focus-visible{background:var(--chasm-accent, #c6f135);color:#000;outline:none}.find-results{display:grid;gap:2px;max-height:280px;overflow-y:auto}
