:root{--log:#c9a36b;--log-end:#e3c99a;--log-edge:#7a5c1e;--sweat:#8ec5e8;--night:#e6e1f0;--blanket-shade:#1c1b181a;--bubble:var(--surface);--bubble-ink:var(--ink);--face:#1c1b18;--cheek:#e0787859;--c-jarvis:#a8740f;--c-scout:#3f5566;--c-scribe:#2c7a4b;--c-auditor:#b23a48;--c-ledger:#7a5c1e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--log:#8e6a2a;--log-end:#b08a45;--log-edge:#3e2e10;--night:#221f2c;--blanket-shade:#00000040;--bubble:#f0ece3;--bubble-ink:#1c1b18;--face:#15130f;--cheek:#f08c8c4d;--c-jarvis:#d9a441;--c-scout:#7f9bb0;--c-scribe:#5db07f;--c-auditor:#e07482;--c-ledger:#b89150}}:root[data-theme=dark]{--log:#8e6a2a;--log-end:#b08a45;--log-edge:#3e2e10;--night:#221f2c;--blanket-shade:#00000040;--bubble:#f0ece3;--bubble-ink:#1c1b18;--face:#15130f;--cheek:#f08c8c4d;--c-jarvis:#d9a441;--c-scout:#7f9bb0;--c-scribe:#5db07f;--c-auditor:#e07482;--c-ledger:#b89150}.crew-stage{aspect-ratio:1/1.08;width:100%;position:relative}.crew-stage .crew-svg,.crew-stage svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.crew-bubble{background:var(--bubble);width:max-content;max-width:min(190px,44vw);color:var(--bubble-ink);border:1px solid var(--rule);text-align:left;z-index:2;border-radius:12px;padding:7px 10px;font-size:12.5px;line-height:1.35;position:absolute;bottom:86%;left:50%;transform:translate(-50%);box-shadow:0 4px 14px -6px #00000059}.crew-bubble:after{content:"";background:var(--bubble);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.crew-bubble.ask{background:var(--gold-soft);color:var(--ink)}.crew-bubble.ask:after{background:var(--gold-soft)}.crew-bubble[hidden],.crew-badge[hidden]{display:none}.crew-badge{background:var(--ink);color:var(--paper);border-radius:999px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;top:4%;right:6%}.bob{transform-origin:50% 100%;animation:1.6s ease-in-out infinite bob}.breathe{transform-origin:50% 100%;animation:3.6s ease-in-out infinite breathe}.z{opacity:0;animation:3s ease-in infinite z}.z.z2{animation-delay:1s}.z.z3{animation-delay:2s}.wave{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out infinite wave}.sweat{animation:2.2s ease-in infinite sweat}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.035)}}@keyframes z{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(14px,-30px)scale(1.1)}}@keyframes wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(14deg)}}@keyframes sweat{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(10px)}}.work-scan .face{transform-box:fill-box;transform-origin:50% 60%;animation:4s ease-in-out infinite scan}@keyframes scan{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.ball.flash,.led.flash{animation:.35s ease-out flash}@keyframes flash{0%{fill:var(--gold);r:7}to{fill:var(--face);r:5}}.work-point .led{animation:1.6s ease-in-out infinite led}@keyframes led{0%,to{opacity:.35}50%{opacity:1}}.work-point .hand{transform-box:fill-box;transform-origin:0 0;animation:1.6s ease-in-out infinite point}@keyframes point{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}.work-write .quill-hand{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out infinite write}@keyframes write{0%,to{transform:translate(-10px)rotate(-6deg)}50%{transform:translate(6px)rotate(4deg)}}.held{transform-box:fill-box;transform-origin:50%}.work-inspect~.held,.work-inspect .held,.crew-stage[data-pose=working][data-slug=auditor] .held{animation:3s ease-in-out infinite inspect}@keyframes inspect{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.glint{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite glint}@keyframes glint{0%,60%,to{opacity:0;transform:translate(-6px)}80%{opacity:.85;transform:translate(4px)}}.crew-stage[data-pose=working][data-slug=ledger] .drop{transform-box:fill-box;transform-origin:50%;animation:2s ease-in infinite drop}@keyframes drop{0%{opacity:0;transform:translateY(-14px)}30%{opacity:1}55%,to{opacity:1;transform:translateY(0)}}.crew-stage[data-pose=stuck] .log{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out wobble}@keyframes wobble{0%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.bob,.breathe,.z,.wave,.sweat,.work-scan .face,.work-point .led,.work-point .hand,.work-write .quill-hand,.held,.glint,.drop,.log,.ball.flash,.led.flash{animation:none!important}.z{opacity:.8}.glint{opacity:.6}}svg[data-pose=working][data-slug=auditor] .held{animation:3s ease-in-out infinite inspect}svg[data-pose=working][data-slug=ledger] .drop{transform-box:fill-box;transform-origin:50%;animation:2s ease-in infinite drop}svg[data-pose=stuck] .log{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out wobble}.work-write .quill-hand{animation:1.2s ease-in-out infinite write}.flame{transform-box:fill-box;transform-origin:50% 100%}.f1{animation:.9s ease-in-out infinite alternate fl1}.f2{animation:.7s ease-in-out infinite alternate fl2}.f3{animation:.5s ease-in-out infinite alternate fl3}.glow{animation:2.6s ease-in-out infinite glowpulse}.spark{opacity:0;animation:2.4s linear infinite spark}.spark.s2{animation-duration:3.1s;animation-delay:.8s}.spark.s3{animation-duration:2.8s;animation-delay:1.6s}@keyframes fl1{0%{transform:scale(1)skew(0)}50%{transform:scale(.96,1.06)skew(3deg)}to{transform:scale(1.04,.94)skew(-3deg)}}@keyframes fl2{0%{transform:scale(1.03,.95)skew(-4deg)}to{transform:scale(.95,1.08)skew(4deg)}}@keyframes fl3{0%{transform:scale(.94,1.1)skew(5deg)}to{transform:scale(1.06,.92)skew(-5deg)}}@keyframes glowpulse{0%,to{opacity:.85}50%{opacity:1}}@keyframes spark{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:.9}to{opacity:0;transform:translate(-10px,-58px)scale(.4)}}#fire[data-embers="1"] .f1,#fire[data-embers="1"] .f2,#fire[data-embers="1"] .spark{display:none}@media (prefers-reduced-motion:reduce){.flame,.glow,.spark,svg[data-pose] .held,svg[data-pose] .drop,svg[data-pose] .log{animation:none!important}.spark{opacity:.7}}.camp-page{max-width:520px;margin:0 auto;padding-block:4px 40px}@media (width>=760px){.camp-page{max-width:1140px}}svg[data-scene=wide]{display:none}@media (width>=760px){svg[data-scene=portrait]{display:none}svg[data-scene=wide]{display:block}}.camp-bubble text{pointer-events:none}
