:root{--ink:#ffffffc7;--ink-dim:#ffffff73;--surface:#0c0c0cd1;--line:#ffffff1f;--tick:#ffffff8c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#000;margin:0;font:11px/1.4 system-ui,sans-serif;overflow:hidden}canvas{display:block}#projection{--unit:min(calc(var(--strip) * 1vw), .66vh);right:calc(7 * var(--unit));bottom:calc(7 * var(--unit));max-width:calc(var(--strip) * 100vw - 14 * var(--unit));align-items:flex-start;gap:calc(1.5 * var(--unit));font:400 calc(4.2 * var(--unit)) / 1.3 "Cascadia Mono", ui-monospace, monospace;pointer-events:none;flex-direction:column;display:none;position:absolute}body.projection #projection{display:flex}#projection p{color:#0000;margin:0}#projection .logo{width:calc(52 * var(--unit));aspect-ratio:1161/401;margin-bottom:calc(2 * var(--unit))}#projection .subtitle{margin-bottom:calc(2 * var(--unit));font-size:calc(7 * var(--unit));font-weight:700;line-height:1.15}#projection .scan{align-items:center;gap:calc(4 * var(--unit));margin:calc(3 * var(--unit)) 0;display:flex}#projection .caption{font-size:calc(7 * var(--unit));font-weight:700}#projection .qr svg{width:calc(28 * var(--unit));height:calc(28 * var(--unit));display:block}#projection a{color:inherit;text-underline-offset:.2em;pointer-events:auto}#projection>.body+.caption,#projection>.caption+.instagram{margin-top:calc(4.2 * 1.3 * var(--unit))}body.portrait #projection{--unit:min(1vw, .5vh);left:0;right:0;bottom:calc(6 * var(--unit) + env(safe-area-inset-bottom));align-items:center;gap:calc(3 * var(--unit));text-align:center;max-width:none}body.portrait #projection>:is(.body,.caption,.scan,.instagram,.credit),body:not(.portrait) #projection>:is(.book,.about){display:none}body.portrait #projection .subtitle{font-size:calc(5.2 * var(--unit))}#projection :is(.book,.about){padding:calc(1.5 * var(--unit));color:#0000;text-underline-offset:.2em;pointer-events:auto;border:0;text-decoration:underline}#projection .book{font-size:calc(4.8 * var(--unit));font-weight:700}#projection .about{font-size:calc(4.2 * var(--unit))}#about{-webkit-backdrop-filter:blur(8px);color:#fff;text-align:center;cursor:pointer;opacity:0;visibility:hidden;background:#0009;justify-content:center;align-items:center;padding:24px;font:400 clamp(13px,2.1vh,19px)/1.65 Cascadia Mono,ui-monospace,monospace;transition:opacity .3s,visibility 0s .3s;display:flex;position:fixed;inset:0}body.about #about{opacity:1;visibility:visible;transition:opacity .3s}body:not(.portrait) #about{display:none}#about .text{opacity:.85;cursor:auto;flex-direction:column;align-items:center;gap:1.4em;max-width:36em;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;transform:scale(.96)}body.about #about .text{transform:none}#about p{margin:0}#projection>*{transition:opacity .3s}body.portrait.about #projection>*{opacity:0}#about .instagram{color:#fff;align-items:center;gap:8px;text-decoration:none;display:inline-flex}#about .instagram svg{width:24px;height:24px}#loading{pointer-events:none;background:#000;place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}#loading:before{content:"";aspect-ratio:1161/401;background:#fff;width:min(40vw,220px);animation:1.4s ease-in-out infinite alternate breathe;-webkit-mask:url(/data/logo-wordmark.png) 50%/contain no-repeat;mask:url(/data/logo-wordmark.png) 50%/contain no-repeat}#loading.done{opacity:0}@keyframes breathe{0%{opacity:.2}}body:not(.dev) #panel,body:not(.dev) #timeline{display:none}.controls{background:var(--surface);border:1px solid var(--line);border-radius:6px;position:fixed}body.presentation #panel,body.presentation #timeline{display:none}body.presentation{cursor:none}#panel{width:220px;max-height:calc(100% - 84px);padding:10px 12px;top:12px;right:12px;overflow-y:auto}h1{margin:0 0 6px;font-size:12px;font-weight:600}label{margin:4px 0;display:block}label span{float:right;color:var(--ink-dim);font-variant-numeric:tabular-nums}input[type=range]{accent-color:#bbb;width:100%;margin:2px 0 0;display:block}.readout{color:var(--ink-dim);margin:2px 0}.hint{color:var(--ink-dim);margin:4px 0}.keys{margin-top:12px}button,select{color:var(--ink);border:1px solid var(--line);font:inherit;background:0 0;border-radius:4px;padding:3px 8px}select option{background:#111}#timeline{align-items:center;gap:10px;padding:6px 10px;display:flex;bottom:12px;left:12px;right:12px}#play{width:56px}.time{font-variant-numeric:tabular-nums;color:var(--ink-dim);white-space:nowrap}.scrub{flex:1;padding-top:31px;position:relative}#scrubber{margin:0}#partBands,#postureBands,#trackMarks{height:5px;position:absolute;inset:0 0 auto}#partBands{height:12px}#postureBands{top:15px}#trackMarks{height:7px;top:22px}#trackMarks button{cursor:ew-resize;touch-action:none;background:#d9b36a;border:0;border-radius:1px;width:7px;height:7px;padding:0;position:absolute;top:0;transform:translate(-3.5px)rotate(45deg)scale(.8)}#trackMarks .pov{background:#5b8def}#trackMarks .selected{outline-offset:1px;outline:1px solid #fff}#trackLabel{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#000;border-radius:3px;padding:0 4px;font-size:10px;position:absolute;bottom:9px;transform:translate(-50%)}h2{margin:12px 0 4px;font-size:11px;font-weight:600}#cameraKeys{font-variant-numeric:tabular-nums;width:100%;margin:6px 0 4px;padding:2px;display:block}.buttons{flex-wrap:wrap;gap:4px;margin:4px 0;display:flex}.buttons button{padding:2px 6px}#partBands button{border:0;border-left:1px solid var(--tick);height:12px;color:var(--ink-dim);text-align:left;white-space:nowrap;cursor:pointer;background:#ffffff14;border-radius:0;padding:0 4px;font-size:9px;line-height:12px;position:absolute;top:0;overflow:hidden}#postureBands button{cursor:pointer;background:var(--tick);border:0;min-width:1px;height:5px;padding:0;position:absolute;top:0}#postureBands .stand{background:#ffffff1a}#postureBands .walk{background:#fff6}#postureBands .bend{background:#d9b36a}#postureBands .squat{background:#e0763c}#postureBands .sit_meditation{background:#5b8def}#postureBands .sit_prelie{background:#4cc3c9}#postureBands .lie{background:#a874e8}
