:root{--hue: 235}::selection{background:var(--accent-line);color:var(--ink)}:root{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}.app{overflow:clip}.topbar__meta{gap:var(--s3)}.topbar{position:relative;z-index:31}.stage{justify-content:center;gap:var(--s5);padding-bottom:clamp(0px,5vh,44px);transition:transform var(--d-slow) var(--ease-o)}.prompt{margin-block:0;transition:opacity var(--d-mid) var(--ease);min-height:2.5em}.prompt b{font-weight:800;color:var(--accent)}.field{position:relative;width:var(--field, 320px);height:var(--field, 320px);flex:0 0 auto;touch-action:none;cursor:grab}.field:active{cursor:grabbing}.field canvas{width:100%;height:100%;border-radius:2px}.grip{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;border:0;padding:0;border-radius:var(--r-full);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-2);cursor:grab;transition:opacity var(--d-mid) var(--ease),transform var(--d-fast) var(--ease);will-change:transform}.grip:after{content:"";position:absolute;inset:-14px;border-radius:inherit}.grip:active{transform:scale(.9)}.grip:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.grip[data-hint]:before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--accent);animation:ping 2.2s var(--ease-o) infinite}@keyframes ping{0%{transform:scale(1);opacity:.85}70%{transform:scale(2.15);opacity:0}to{transform:scale(2.15);opacity:0}}@media (prefers-reduced-motion: reduce){.grip[data-hint]:before{display:none}}.basis{margin:0;font-size:var(--t-xs);font-weight:500;color:var(--ink-3);text-align:center;transition:opacity var(--d-mid) var(--ease)}.tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);min-height:40px}.tools .hintbtn{white-space:nowrap}.tools .numfield{margin-left:auto}.tools .numfield__unit{white-space:nowrap}.dock .hint{margin:0 0 var(--s2)}.sheet{max-height:80dvh;overflow:auto;overscroll-behavior:contain}.sheet .dock{padding-top:var(--s4)}.factor{margin-bottom:2px}.beat{margin:0}.dist__note,.factor__dir{color:var(--ink-2)}.tally{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--s2) var(--s4);align-items:end;padding:var(--s3) 0 var(--s4);margin-top:var(--s3);border-bottom:1px solid var(--line)}.tally__cell{display:grid;gap:1px;min-width:0}.tally__cell--you{text-align:right}.tally__cell--you .tally__sw{justify-self:end}.tally__sw{width:22px;height:8px;border-radius:2px;border:1px solid var(--line-strong);margin-bottom:3px}.tally__sw[data-sw=a]{background:color-mix(in srgb,var(--ink) 16%,transparent)}.tally__sw[data-sw=b]{background:color-mix(in srgb,var(--accent) 42%,transparent);border-color:var(--accent)}.tally__sw[data-sw=you]{background:transparent;border:1px dashed var(--accent)}.tally__name{font-size:var(--t-xs);font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tally__num{font-size:var(--t-lg);font-weight:650;letter-spacing:var(--tight);font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.tally__num i{font-style:normal;font-size:var(--t-xs);font-weight:600;color:var(--ink-2);margin-left:3px}.sheet .napkin p{margin:0}.done{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s6) var(--s4) 118px;background:var(--paper);overflow:hidden;animation:rise var(--d-slow) var(--ease-o) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.done>*{flex:0 0 auto}.done__label{margin:0;font-size:var(--t-xs);font-weight:500;color:var(--ink-3)}.done .mega{margin:0;color:var(--ink)}.done .mega .unit{margin-left:2px}.done__sub{margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--ink-2)}.summary{max-width:320px;margin-inline:auto}.srow{padding:var(--s3) 0}.srow__f[data-dir=spot]{color:var(--good);font-size:var(--t-sm)}.done .dock{position:absolute;left:var(--s4);right:var(--s4);bottom:max(var(--s5),env(safe-area-inset-bottom));max-width:320px;margin-inline:auto}.done .share{width:100%}.toast{position:absolute;left:50%;bottom:92px;z-index:40;transform:translate(-50%,8px);margin:0;padding:9px var(--s4);border-radius:var(--r-full);background:var(--ink);color:var(--paper);font-size:var(--t-sm);font-weight:600;opacity:0;pointer-events:none;transition:opacity var(--d-mid) var(--ease),transform var(--d-mid) var(--ease-o)}.toast[data-on]{opacity:1;transform:translate(-50%)}.app[data-phase=reveal] .prompt,.app[data-phase=reveal] .basis{opacity:0}.app[data-phase=reveal] .grip{opacity:0;pointer-events:none}.app[data-phase=reveal]>.dock{opacity:0;pointer-events:none}.app>.dock{transition:opacity var(--d-mid) var(--ease)}@media (max-height: 620px){.stage{gap:var(--s3);padding-bottom:0}.prompt{min-height:0}.tools{min-height:34px}.done{padding-top:var(--s4);padding-bottom:92px;gap:var(--s1)}.done__sub{margin-bottom:var(--s2)}.srow{padding:var(--s2) 0}.sheet{padding-top:var(--s4);padding-bottom:max(var(--s4),env(safe-area-inset-bottom))}.factor{font-size:var(--t-xl)}.beat{font-size:var(--t-xs)}.tally{padding:var(--s2) 0;margin-top:var(--s2)}.tally__num{font-size:var(--t-md)}.dist{margin:var(--s2) 0}.napkin{margin-top:var(--s2);padding:var(--s2) var(--s3);line-height:1.45}.sheet__src{margin-top:var(--s2)}.sheet .dock{padding-top:var(--s2)}}@media (min-width: 900px){html[data-hero] .prompt{font-size:clamp(1.9rem,3.2vw,2.7rem)}html[data-hero] .stage{gap:var(--s3)}}.app[data-phase=done] .brandbar,.app[data-phase=done] .topbar{position:relative;z-index:31}.done{padding-top:140px}.rvax{position:absolute;left:0;right:0;z-index:2;pointer-events:none;background:color-mix(in oklab,var(--paper) 92%,transparent);box-shadow:0 -10px 12px -6px color-mix(in oklab,var(--paper) 92%,transparent)}.rvax svg{position:absolute;left:0;top:0;overflow:visible}.rvax__axis,.rvax__tick{stroke:var(--line-strong);stroke-width:1}.rvax__tick.is-major{stroke:var(--ink-3)}.rvax__tl{font-size:11px;font-weight:500;fill:var(--ink-3);font-variant-numeric:tabular-nums}.rvax__gap{stroke:var(--accent);stroke-width:3;stroke-linecap:round;opacity:.55}.rvax__gap.is-spot{stroke:var(--good)}.rvax__real{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.rvax__du{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linejoin:round}.rvax__du.is-spot{stroke:var(--good)}.rvax__them{fill:none;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:1.5 3;stroke-linecap:round}.rvax__ring{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5}.rvax__dots circle{fill:var(--accent);opacity:.32}.rvax__dots circle.is-du{opacity:1}.rvax__dots.is-anim circle{animation:hw-crowd-in .34s var(--ease-o) both;animation-delay:calc(20ms + var(--d, 0ms));transform-box:fill-box;transform-origin:center}.rvax__dots.is-anim circle.is-du{animation-name:hw-crowd-in-du}@keyframes hw-crowd-in{0%{opacity:0;transform:translateY(6px) scale(.4)}}@keyframes hw-crowd-in-du{0%{opacity:0;transform:translateY(6px) scale(.4)}to{opacity:1}}@media (prefers-reduced-motion: reduce){.rvax__dots.is-anim circle{animation:none}}.rvp{position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;gap:4px;padding:3px 9px 4px;border-radius:var(--r-full);white-space:nowrap;font-size:var(--t-xs);font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums}.rvp b{font-weight:600;opacity:.78}.rvp i{font-style:normal}.rvp--real{background:var(--ink);color:var(--paper);z-index:3}.rvp--du{background:var(--accent);color:var(--accent-ink);z-index:2}.rvp--du.is-spot{background:var(--good);color:#fff}.rvp--them{padding:0;gap:6px;align-items:center;background:transparent;color:var(--ink-2);z-index:1}.rvp--them b{opacity:1;display:inline-block;max-width:7.5em;overflow:hidden;text-overflow:ellipsis;padding:3px 8px 4px;border-radius:var(--r-full);background:var(--ink-2);color:var(--paper)}.rvp--them i{font-weight:650;background:var(--paper);border-radius:4px;padding:0 2px}.rvp[hidden]{display:none}.field .vs--float{z-index:6}.sheet{max-height:none;overflow:visible}.sheet .tally,.sheet .dist,.sheet .napkin{display:none}.sheet__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);align-items:baseline}.sheet__body>*{grid-column:1 / -1}#factor{margin:0}#factor.factor--spot>span:first-child{white-space:nowrap;font-size:min(var(--t-mega),11.5vw)}.sheet__body>.egg{margin:var(--s2) 0 0;font-size:var(--t-md);font-weight:500;line-height:1.35;text-wrap:balance}#beat,#srcs{margin:var(--s4) 0 0;padding-top:var(--s3);border-top:1px solid var(--line);align-self:start}#beat{grid-column:1;font-size:var(--t-sm);line-height:1.35;padding-right:var(--s4);color:var(--ink-2)}#srcs{grid-column:2;text-align:right;max-width:11em}#srcs .sheet__src{white-space:normal;text-wrap:balance;font-size:var(--t-sm);line-height:1.35;min-height:0;padding:0;margin:0}.sheet .dock{padding-top:var(--s5)}@media (max-width: 899px){.sheet__body>.egg{font-size:var(--t-sm);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media (min-width: 900px){.sheet__body{grid-template-columns:auto 1fr auto;column-gap:var(--s5);row-gap:var(--s1);align-items:end}#factor{grid-column:1;grid-row:1}.sheet__body>.egg{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;font-size:var(--t-md);max-width:36ch}#beat{grid-column:1;grid-row:2;margin:0;padding:0;border:0;font-size:var(--t-md)}#srcs{grid-column:3;grid-row:1;align-self:start;margin:0;padding:0;border:0;max-width:none;white-space:nowrap}#factor.factor--spot>span:first-child{font-size:calc(var(--t-mega) * .8)}}.sheet:not([data-open]){transition:transform .28s cubic-bezier(.5,0,.75,0),visibility 0s linear .28s}.stage.is-leave>:is(.prompt,.field,.basis){opacity:0!important;transform:translateY(-8px);transition:opacity .22s var(--ease),transform .22s var(--ease)}.stage.is-enter>:is(.prompt,.field,.basis){animation:hw-enter .38s var(--ease-o) both}.stage.is-enter>.field{animation-delay:60ms}.stage.is-enter>.basis{animation-delay:.1s}@keyframes hw-enter{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion: reduce){.stage.is-leave>*,.stage.is-enter>*{transition:none;animation:none}}body:has(.app[data-rv]) .infodot,body:has(.stage.is-leave) .infodot{visibility:hidden}body:has(.stage.is-enter) .infodot{animation:hw-fade .38s var(--ease-o) .12s both}@keyframes hw-fade{0%{opacity:0}}.app .done{position:static;inset:auto;z-index:auto;flex:1 1 auto;min-height:min-content;justify-content:flex-start;align-items:stretch;gap:var(--s2);padding:var(--s2) 0 0;overflow:visible;background:none}.app .done .dock{position:static;max-width:none;margin:0}.done .done__label,.done .done__sub{display:none}.done .summary{max-width:none;width:100%;margin:0;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.ladder{position:relative;flex:1 1 auto;min-height:220px;width:100%;margin-top:30px}@media (max-height: 800px){.ladder{min-height:170px}}.ladder svg{position:absolute;inset:0;overflow:visible}.lad__ax,.lad__grid{stroke:var(--line-strong);stroke-width:1}.lad__tl{position:absolute;left:0;transform:translateY(-50%);text-align:right;font-size:var(--t-xs);font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.lad__gap{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.lad__row.is-spot .lad__gap{stroke:var(--good)}.lad__row.is-dim .lad__gap{stroke:var(--line-strong);stroke-width:1.5}.lad__row.is-on .lad__gap{stroke-width:3}.lad__you{fill:var(--accent);stroke:var(--paper);stroke-width:2.5;paint-order:stroke}.lad__row.is-spot .lad__you{fill:var(--good)}.lad__row.is-dim .lad__you{fill:var(--ink-3)}.lad__echt{stroke:var(--ink);stroke-width:1.5;stroke-linecap:round}.lad__item{position:absolute;transform:translate(-50%,-50%);appearance:none;border:0;padding:0;margin:0;background:transparent;font:inherit;cursor:pointer;display:flex;align-items:center;color:var(--ink)}.lad__pk{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;background:var(--paper);border-radius:50%}.lad__pk svg{width:32px;height:32px}.lad__pk path{fill:color-mix(in oklab,var(--ink) 55%,transparent)}.lad__item.is-on .lad__pk path{fill:var(--accent)}.lad__item.is-dim .lad__pk svg{opacity:.45}.lad__f{position:absolute;left:calc(50% + 20px);top:50%;transform:translateY(-50%);font-size:var(--t-sm);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.lad__item.is-dim .lad__f{color:var(--ink-3);font-weight:500}.lad__item.is-spot .lad__f{color:var(--good)}.ladder.is-eng .lad__f{left:50%;top:calc(50% + 20px);transform:translate(-50%);font-size:var(--t-xs)}.ladder:not(.is-eng) .lad__f{max-width:var(--lad-fw, none);white-space:normal;text-wrap:balance;line-height:1.1}.lad__item:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:50%}.lad__row,.lad__item{transition:opacity var(--d-fast) var(--ease)}.lad__pill{position:absolute;transform:translateY(-50%);padding:2px 8px 3px;border-radius:var(--r-full);font-size:var(--t-xs);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;z-index:3}.lad__pill--real{background:var(--ink);color:var(--paper)}.lad__pill--you{background:var(--accent);color:var(--accent-ink)}.lad__pill--you.is-spot{background:var(--good)}.lad__title{position:absolute;left:50%;top:-28px;transform:translate(-50%);background:var(--paper-2);padding:3px 12px 4px;border-radius:var(--r-full);font-size:var(--t-sm);font-weight:600;color:var(--ink);white-space:nowrap;pointer-events:none;z-index:3;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media (min-width: 900px){.lad__pk{width:42px;height:42px}.lad__pk svg{width:38px;height:38px}.lad__f{left:calc(50% + 24px)}}.ladder.is-switch .lad__row.is-on :is(.lad__echt,.lad__gap){stroke-dasharray:1;animation:hw-lad-draw .38s var(--ease-o) both}.ladder.is-switch .lad__row.is-on .lad__gap{animation-delay:.12s}.ladder.is-switch .lad__row.is-on .lad__you{animation:hw-lad-pop .3s var(--ease-o) .2s both;transform-box:fill-box;transform-origin:center}.ladder.is-switch .lad__item.is-on .lad__pk svg{animation:hw-lad-fade .26s var(--ease-o) both}.ladder.is-switch :is(.lad__pill,.lad__title){animation:hw-lad-pill .28s var(--ease-o) .16s both}@keyframes hw-lad-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes hw-lad-pop{0%{opacity:0;transform:scale(.3)}}@keyframes hw-lad-fade{0%{opacity:.35}}@keyframes hw-lad-pill{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.ladder.is-switch *{animation:none!important}}.pips .pip[data-hot]{transform:scale(1.8)}.pips .pip{transition:transform var(--d-mid) var(--ease-o)}.done .totalblock{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:var(--s3);row-gap:0}.done .totalblock .mega{font-size:var(--t-xl);margin:0}.done .totalblock .daybeat{margin:0}.rvax__mehr{font-size:11px;font-weight:650;fill:var(--ink-3);font-variant-numeric:tabular-nums}.lad__th{fill:var(--paper);stroke:var(--ink-2);stroke-width:2}.lad__thgap{fill:none;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:2 3}.lad__pill--them{background:var(--ink-2);color:var(--paper);max-width:11em;overflow:hidden;text-overflow:ellipsis}.rvax__mp{fill:var(--paper);stroke:var(--ink-3);stroke-width:1.3}.rvax__mp.is-ok{stroke:var(--good)}.rvax__mpst{fill:none;stroke:var(--line-strong);stroke-width:1}.rvax__mpst.is-ok{stroke:var(--good);opacity:.6}.rvp--mp{appearance:none;border:1px solid var(--line-strong);margin:0;cursor:pointer;pointer-events:auto;font:inherit;padding:2px 8px 3px;background:var(--paper);color:var(--ink-2);font-size:var(--t-micro);font-weight:600;z-index:1;animation:hw-mp-in .28s var(--ease-o) both}.rvp--mp b{opacity:1;font-weight:600;max-width:7.5em;overflow:hidden;text-overflow:ellipsis}.rvp--mp i{display:inline-block;max-width:0;overflow:hidden;vertical-align:bottom;white-space:nowrap;opacity:0;transition:max-width .26s var(--ease-o),opacity .2s var(--ease)}.rvp--mp.is-open{z-index:4;box-shadow:var(--shadow-1)}.rvp--mp.is-open i{max-width:9em;opacity:1}.rvp--mp.is-ok{background:var(--good);border-color:var(--good);color:#fff}@keyframes hw-mp-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.rvp--mp,.rvp--mp i{animation:none;transition:none}}.rvax__hit{position:absolute;left:0;right:0;bottom:8px;height:26px;pointer-events:auto;z-index:1;touch-action:manipulation}.rvp--mp{z-index:2}.rvp--mp.is-open,.rvp--mp.is-los{z-index:6;box-shadow:var(--shadow-1)}.rvax__mpst.is-on{stroke:var(--ink-3)}
