/* Page flow: section dock, work index, heading decode, pointer light. */
.dock{position:fixed;left:50%;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;height:26px;padding:0 3px;background:#090a09c7;border:1px solid #ffffff14;border-radius:5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translate(-50%,calc(100% + 30px));opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.dock.dock-on{transform:translate(-50%,0);opacity:1}
.dock ol{display:flex;margin:0;padding:0;list-style:none}
/* The bar is 26px tall; each link keeps a 44px-tall target that extends past it. */
.dock a{display:flex;align-items:center;justify-content:center;height:44px;margin:-9px 0;min-width:32px;padding:0 5px;font:10px/1 CourierPrime,monospace;letter-spacing:.1em;text-transform:uppercase;color:#87928c;white-space:nowrap}
.dock ol a:before{content:'';flex:none;width:1px;height:8px;background:#76807a;transition:height .3s,background .3s,margin .3s}
.dock ol a span{display:block;max-width:0;overflow:hidden;opacity:0;transition:max-width .4s cubic-bezier(.2,.8,.2,1),opacity .25s}
.dock ol a[aria-current=true]{color:#ebf1ed}
.dock ol a[aria-current=true]:before{height:13px;background:#ebf1ed;margin-right:7px}
.dock ol a[aria-current=true] span{max-width:90px;opacity:1}
@media(hover:hover) and (pointer:fine){.dock ol a:hover{color:#ebf1ed}.dock ol a:hover:before{margin-right:7px;background:#ebf1ed}.dock ol a:hover span{max-width:90px;opacity:1}}
.dock a:focus-visible{outline:2px solid #dbe6e0;outline-offset:-12px}
.dock ol a:focus-visible span{max-width:90px;opacity:1}.dock ol a:focus-visible:before{margin-right:7px}
.dock-top{min-width:28px!important}
.dock-top svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2}
.dock-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#b7cabf;transform-origin:left;transform:scaleX(var(--progress,0));pointer-events:none}

.cursor-light{position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;background:radial-gradient(circle,#8cb09b1f,#8cb09b0a 38%,transparent 66%);mix-blend-mode:screen;pointer-events:none;z-index:6;opacity:0;transition:opacity .6s;will-change:transform}
.cursor-light.light-on{opacity:1}

.wk-index{margin:0 0 70px}
.wk-index .eyebrow{margin-bottom:16px}
.wk-index ol{margin:0;padding:0;list-style:none;border-top:1px solid #53635a}
.wk-index a{display:grid;grid-template-columns:34px minmax(0,1.25fr) 84px minmax(0,1.2fr) 18px;gap:6px 18px;align-items:baseline;padding:13px 10px 12px 0;border-bottom:1px solid #434c4766;position:relative;transition:padding .35s cubic-bezier(.2,.8,.2,1),color .2s}
.wk-index a:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#8cb09b26,transparent 70%);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.wk-index a:hover:before,.wk-index a:focus-visible:before{transform:scaleX(1)}
.wk-index a:hover,.wk-index a:focus-visible{padding-left:14px}
.wk-index a:focus-visible{outline:2px solid #dbe6e0;outline-offset:-2px}
.wk-no{font:10px/1 CourierPrime,monospace;color:#919d96}
.wk-index strong{font:400 clamp(17px,1.7vw,22px)/1.25 CourierPrime,monospace;letter-spacing:-.03em;color:#ebf1ed}
.wk-index em{font:normal 11px/1.4 CourierPrime,monospace;letter-spacing:.06em;text-transform:uppercase;color:#9eaaa3}
.wk-fact{font:13px/1.45 Arial,sans-serif;color:#c1cbc5}
.wk-index svg{width:12px;height:12px;stroke:#b7cabf;fill:none;stroke-width:2;align-self:center;transition:transform .3s;opacity:.6}
.wk-index a:hover svg,.wk-index a:focus-visible svg{transform:translateY(3px);opacity:1}

.earlier-section{border-top:1px solid #2e3330}
.earlier-section .side-grid{margin-top:20px!important;padding-top:0!important;border-top:0!important}
.work-entry:target .work-body h4,.sc-arcade:target .sc-head h3,.market-module:target .market-intro h3{animation:flow-arrive 1.6s ease-out}
@keyframes flow-arrive{0%{text-shadow:0 0 0 #d6e3db00}25%{text-shadow:0 0 34px #d6e3db}100%{text-shadow:0 0 0 #d6e3db00}}
.sc-play{will-change:transform;translate:var(--mx,0) var(--my,0)}

@media(max-width:820px){.wk-index{margin-bottom:46px}.wk-index a{grid-template-columns:26px minmax(0,1fr) auto;gap:3px 12px;padding:12px 4px 11px 0}.wk-index em{grid-column:3;grid-row:1;text-align:right}.wk-fact{grid-column:2/-1;grid-row:2}.wk-index svg{display:none}.cursor-light{display:none}}
.motion-paused .cursor-light{display:none}.motion-paused .dock,.motion-paused .dock ol a:before,.motion-paused .dock ol a span,.motion-paused .wk-index a,.motion-paused .wk-index a:before{transition:none}
.motion-paused .work-entry:target .work-body h4,.motion-paused .sc-arcade:target .sc-head h3,.motion-paused .market-module:target .market-intro h3{animation:none}.motion-paused .sc-play{translate:none}
@media(prefers-reduced-motion:reduce){.cursor-light{display:none}.dock,.dock ol a:before,.dock ol a span,.wk-index a,.wk-index a:before,.wk-index svg{transition:none}.work-entry:target .work-body h4,.sc-arcade:target .sc-head h3,.market-module:target .market-intro h3{animation:none}.sc-play{translate:none}}
@media print{.dock,.cursor-light{display:none}}
