.novel{z-index:500;font-size:clamp(.58rem,.62vh + .42vw,1.4rem);font-family:var(--font-friendly);position:fixed;inset:0}.novel[hidden],.novel-gate{display:none}html.course-opening .novel-gate{z-index:5000;background:var(--bg-deep);color:inherit;cursor:pointer;border:0;grid-template-rows:1fr auto;place-items:center;padding:0 0 12vh;transition:background .52s;display:grid;position:fixed;inset:0}html.course-opening .novel-gate:focus-visible{outline:none}html.course-opening .opening-ribbon text{cursor:pointer;user-select:none}.opening-flake{aspect-ratio:1301/1129;background:var(--nix-flake) center / contain no-repeat;width:min(46vmin,420px);animation:2s cubic-bezier(.65,0,.35,1) backwards opening-grow,2.3s backwards opening-turn}html.course-opening .opening-ribbon{clip-path:inset(-20% 50%);width:min(78vw,560px);animation:.7s cubic-bezier(.33,.9,.4,1) 1.9s forwards opening-unfurl}html.course-opening .novel-gate.leaving{background:0 0}.novel-gate.leaving .opening-ribbon{clip-path:none;animation:.52s cubic-bezier(.4,0,.9,.4) forwards opening-drop}@keyframes opening-grow{0%{scale:0}to{scale:1}}@keyframes opening-turn{0%{animation-timing-function:cubic-bezier(.65,0,.35,1);rotate:0deg}56.52%{animation-timing-function:cubic-bezier(.34,1.21,.64,1);rotate:380deg}to{rotate:360deg}}@keyframes opening-unfurl{0%{clip-path:inset(-20% 50%);translate:0 14px}to{clip-path:inset(-20% 0);translate:0}}@keyframes opening-drop{to{opacity:0;translate:0 40vh}}@media (prefers-reduced-motion:reduce){html.course-opening .opening-flake,html.course-opening .opening-ribbon{clip-path:none;animation:none}}.novel-scrim{opacity:0;backdrop-filter:blur(3px);background:#0f1110c2;transition:opacity .5s,clip-path .45s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.novel.lit .novel-scrim{opacity:1}.novel-stage{box-sizing:border-box;align-content:end;width:100%;height:100%;padding:0 2.4em 1.5em;display:grid;position:relative}.novel-cast{--cast-height:min(84vh, 54vw);height:var(--cast-height);bottom:0;right:calc(16vw - .75 * var(--cast-height));aspect-ratio:3/2;opacity:0;transform-origin:50% 24.5%;pointer-events:none;will-change:transform, opacity;transition:scale .72s cubic-bezier(.16,1,.3,1);position:absolute}.novel-cast.settled{opacity:1}.novel-cast.helmet-zoom{scale:1.32}.novel-cast .pose{object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.novel-cast .pose.showing{opacity:1}.novel-box{z-index:2;box-sizing:border-box;border-radius:var(--corner-card);background:var(--body);width:min(75em,100%);box-shadow:0 6px 0 var(--bg), 0 -20px 60px #00000073;justify-self:center;padding:2.3em 2.7em 2.15em;position:relative}.novel-box[hidden]{display:none}.novel-box.arriving{animation:.42s cubic-bezier(.2,.8,.2,1) both novel-arrives}.novel.sike .novel-box{box-shadow:0 6px 0 color-mix(in srgb, var(--red) 52%, var(--bg)), 0 -20px 70px #fb493438}.novel.sike .novel-speaker{background:var(--red);box-shadow:0 3px 0 color-mix(in srgb, var(--red) 52%, var(--bg))}.novel-speaker{border-radius:var(--corner-mark);background:var(--yellow);box-shadow:0 3px 0 color-mix(in srgb, var(--yellow) 52%, var(--bg));color:var(--bg);font:950 1em var(--font-friendly);letter-spacing:.13em;margin:0;padding:.4em .85em;transition:background .18s;position:absolute;top:0;left:2.7em;translate:0 -55%}.novel-say{display:grid}.novel-line{color:var(--text);font-family:var(--font-mono);visibility:hidden;grid-area:1/1;margin:0;font-size:1.63em;line-height:1.7}.novel-line.speaking{visibility:visible}.novel-line code{color:var(--teal)}.novel-line.speaking .typewriter-rest.caret:before{content:"";visibility:visible;background:currentColor;margin-right:-1ch;padding-left:1ch}.novel-choices{flex-wrap:wrap;gap:.8em;margin-top:1.2em;display:flex}.novel-choices[hidden]{display:none}.novel .novel-choice{gap:.58em;min-height:max(44px,3.2em);padding:.4em .93em .4em .8em;font-size:1.37em}.novel-glyph{color:var(--tint,var(--text-faint));transition:color var(--quick) ease;place-items:center;font-size:1.2em;display:inline-grid}.novel-mark{font:700 .85em var(--font-mono);letter-spacing:-.02em}.novel-actions{align-items:center;gap:1.28em;margin-top:1.44em;display:flex}.novel-pips{gap:.35em;margin-right:auto;display:flex}.pip{border-radius:var(--corner-pill);background:var(--surface-raised);width:1.3em;height:.5em;transition:background .3s}.pip.passed{background:var(--yellow)}.novel-leave{font:700 1.15em var(--font-friendly);padding:.49em .28em}.novel .novel-tip{gap:.5em;min-height:max(44px,3em);padding:.54em 1.2em;font-size:1.47em}.novel-tip svg{color:var(--green)}.novel .novel-continue{gap:.54em;min-height:max(44px,3em);padding:.54em 1.52em;font-size:1.47em}.novel-continue svg{transition:translate var(--quick) ease}.novel-continue:hover:enabled svg{translate:3px}.novel.aside{pointer-events:none}.novel-blocker{pointer-events:auto;display:none;position:absolute;inset:0}.novel.aside .novel-blocker{display:block}.novel.aside .novel-box{pointer-events:auto}.novel.aside .novel-line:not(.speaking){display:none}.novel.aside .novel-actions{flex-wrap:wrap;justify-content:flex-end}.novel.aside .novel-pips{flex:1 0 100%}.novel .novel-continue[hidden]{display:none}@keyframes novel-arrives{0%{opacity:0;transform:translateY(18px)}}@media (width<=760px),(orientation:portrait){.novel-stage{grid-template-rows:minmax(0,1fr) auto;align-content:stretch;padding:0 1.2em 1.2em}.novel-cast{aspect-ratio:auto;grid-row:1;align-self:end;width:100%;height:min(100%,100vw);position:relative;bottom:auto;right:auto;translate:none;container-type:size}.novel-cast .pose{object-position:calc(50% + 4cqh) 50%}.novel.aside .novel-cast{opacity:0;transition:opacity .3s}.novel-actions{flex-wrap:wrap}.novel-tip{flex:1 0 100%;order:2;justify-content:center}.novel-continue{flex:1 0 100%;order:3;justify-content:center}}@media (prefers-reduced-motion:reduce){.novel-scrim,.novel-cast,.novel-cast .pose,.pip{transition:none}.novel-box.arriving{animation:none}}
