:root,[data-theme=light]{--ground:#f7f5f0;--sheet:#fdfbf6;--inset:#efe9dd;--ink:#2a2622;--secondary:#6b6358;--faint:#9a9183;--hairline:#e3dccf;--baseline:#d8cdb8;--lamp:#d4763c;--lamp-rgb:212, 118, 60;--glow-base:.1;--ink-rgb:42, 38, 34;--plate-edge:#cdbfa6;--shadow:0 1px 2px #3c2e1c12, 0 8px 30px #3c2e1c0f;--lift:0 2px 4px #78461e1a, 0 14px 40px #78461e24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--ground:#1d1b18;--sheet:#272320;--inset:#15130f;--ink:#ece6da;--secondary:#a89e8d;--faint:#766d5e;--hairline:#3a342c;--baseline:#4a4234;--lamp:#e08a4a;--lamp-rgb:224, 138, 74;--glow-base:.14;--ink-rgb:236, 230, 218;--plate-edge:#4a4234;--shadow:0 1px 2px #0000004d, 0 10px 34px #0006;--lift:0 2px 6px #0006, 0 16px 48px #e08a4a1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--lamp-mult:1;--glow:rgba(var(--lamp-rgb), calc(var(--glow-base) * var(--lamp-mult)));--glow-2:rgba(var(--lamp-rgb), calc(var(--glow-base) * var(--lamp-mult) * 2));--glow-soft:rgba(var(--lamp-rgb), calc(var(--glow-base) * var(--lamp-mult) * .5));--glow-faint:rgba(var(--lamp-rgb), calc(var(--glow-base) * var(--lamp-mult) * .22));--lamp-line:rgba(var(--lamp-rgb), calc(.55 * var(--lamp-mult)));--serif:var(--font-serif-variable,"Newsreader", Georgia, "Times New Roman", serif);--ui:var(--font-sans-variable,"Inter", system-ui, -apple-system, sans-serif);--mono:var(--font-mono-variable,"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace);--measure:34rem;--reading-leading:1.62;--color-background:var(--ground);--color-surface:var(--sheet);--color-text:var(--ink);--color-primary:var(--ink);--color-secondary:var(--secondary);--color-accent:var(--lamp);--color-border:var(--hairline);--font-serif:var(--serif);--font-sans:var(--ui)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ground);max-width:100vw;overflow-x:hidden}body{color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1;line-height:1.6;transition:background-color .3s,color .3s}.serif,h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--ink);font-feature-settings:"onum" 1, "kern" 1, "liga" 1;font-variant-numeric:oldstyle-nums}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--ui);cursor:pointer;border:none;transition:background-color .15s,color .15s,box-shadow .15s,border-color .15s}button:focus-visible,a:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}.container{width:100%}.smallcaps{font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);white-space:nowrap;font-size:.72rem;font-weight:600}.smallcaps.lamp{color:var(--lamp)}.meta{font-family:var(--mono);letter-spacing:.01em;color:var(--faint);font-variant-numeric:tabular-nums;font-size:.72rem}.meta.lamp{color:var(--lamp)}.runhead{font-family:var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:500;overflow:hidden}.dropcap:first-letter{font-family:var(--serif);float:left;color:var(--ink);padding:.06em .12em 0 0;font-size:3.9em;font-weight:500;line-height:.82}.rule{border:0;border-top:1px solid var(--hairline);height:0;margin:0}.rule-base{border:0;border-top:1.5px solid var(--baseline);height:0;margin:0}.rule-pair{border:0;border-top:1.5px solid var(--baseline);border-bottom:1px solid var(--hairline);height:3px;margin:0}.rule-double{border:0;border-top:1px solid var(--baseline);border-bottom:1px solid var(--baseline);height:4px;margin:0}.lampline{background:var(--lamp-line);border-radius:2px;width:2px}.bracket{position:relative}.bracket:before,.bracket:after{content:"";pointer-events:none;width:14px;height:14px;position:absolute}.bracket:before{border-top:1.5px solid var(--baseline);border-left:1.5px solid var(--baseline);top:0;left:0}.bracket:after{border-bottom:1.5px solid var(--baseline);border-right:1.5px solid var(--baseline);bottom:0;right:0}.plate{background:var(--inset);border:1px solid var(--plate-edge);margin:2rem 0;position:relative}.plate-tab{background:var(--ground);align-items:center;gap:.5rem;padding:0 .55rem;display:inline-flex;position:absolute;top:-1px;left:1.4rem;transform:translateY(-50%)}.plate-body{padding:2rem 1.8rem 1.5rem}.plate-caption{border-top:1px solid var(--plate-edge);color:var(--secondary);justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 1.4rem;font-size:.82rem;display:flex}.plate-caption .serif{font-style:italic}.placeholder{background-color:var(--inset);background-image:repeating-linear-gradient(-45deg, transparent 0, transparent 9px, rgba(var(--ink-rgb), .045) 9px, rgba(var(--ink-rgb), .045) 10px);color:var(--faint);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.btn{font-family:var(--ui);color:var(--ink);border:1px solid var(--baseline);cursor:pointer;background:0 0;border-radius:2px;padding:.7rem 1.4rem;font-size:.92rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}.btn:hover{border-color:var(--lamp);color:var(--lamp)}.btn-primary{background:var(--ink);color:var(--ground);border:1px solid var(--ink)}.btn-primary:hover{background:var(--lamp);border-color:var(--lamp);color:#fff}.raised{box-shadow:var(--lift)}::selection{background:var(--glow-2)}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}.viz{pointer-events:none;place-items:center;display:grid;position:relative}.viz svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.viz-core{background:radial-gradient(circle at 50% 42%, rgba(var(--lamp-rgb), .95) 0%, var(--lamp) 42%, rgba(var(--lamp-rgb), .55) 100%);box-shadow:0 0 20px var(--glow), 0 0 46px var(--glow-soft);border-radius:50%;position:relative}.viz-core:after{content:"";background:radial-gradient(circle at 50% 38%, #ffeed6e6, rgba(var(--lamp-rgb), 0) 70%);mix-blend-mode:screen;border-radius:50%;position:absolute;inset:14%}.viz-ring{fill:none;stroke:var(--lamp);transform-origin:50%;animation:ripple var(--rdur,4.2s) ease-out infinite;opacity:0}@keyframes ripple{0%{opacity:0;transform:scale(.34)}18%{opacity:calc(.5 * var(--lamp-mult))}to{opacity:0;transform:scale(1)}}.viz[data-playing="0"] .viz-ring{animation-duration:calc(var(--rdur,4.2s) * 1.9)}.viz[data-playing="0"] .viz-core{animation:5.5s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scale(.97)}50%{transform:scale(1.03)}}.viz[data-playing="1"] .viz-core{animation:2.4s ease-in-out infinite breathe}.wave-bar{fill:var(--lamp);transform-origin:50%}.viz[data-playing="1"] .wave-bar{animation:wob var(--wd,1s) ease-in-out infinite alternate}@keyframes wob{0%{transform:scaleY(.28)}to{transform:scaleY(1)}}.viz-bloom{background:radial-gradient(circle, var(--glow) 0%, var(--glow-soft) 22%, var(--glow-faint) 44%, rgba(var(--lamp-rgb), 0) 72%);border-radius:50%;animation:5.4s ease-in-out infinite bloom;position:absolute;inset:-42%}.viz[data-playing="1"] .viz-bloom{animation-duration:2.8s}@keyframes bloom{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:.66;transform:scale(1.06)}}.verbs{font-family:var(--serif);color:var(--lamp);font-style:italic;display:inline-block;position:relative}.verbs span{animation:verbfade var(--vdur,2.1s) ease-in-out infinite}@keyframes verbfade{0%,to{opacity:.25}45%,55%{opacity:1}}.transport{justify-content:center;align-items:center;gap:2.2rem;display:flex}.tbtn{cursor:pointer;color:var(--secondary);background:0 0;border:0;flex-direction:column;align-items:center;gap:.5rem;padding:.4rem;transition:color .2s;display:flex}.tbtn:hover{color:var(--ink)}.tbtn svg{width:22px;height:22px}.play{cursor:pointer;background:radial-gradient(circle at 50% 38%, var(--lamp), #bb6230);color:#fff;border:0;border-radius:50%;place-items:center;width:84px;height:84px;transition:transform .18s cubic-bezier(.3,.8,.4,1.2);display:grid;position:relative}[data-theme=dark] .play{background:radial-gradient(circle at 50% 38%, #f0a061, var(--lamp))}.play:hover{transform:scale(1.045)}.play:active{transform:scale(.97)}.play svg{width:30px;height:30px}.fade-in{animation:.5s both fadeIn}@keyframes fadeIn{0%{transform:translateY(7px)}to{transform:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}
