.carousel{display:grid;gap:var(--space-3);min-width:0}.carousel__viewport{min-width:0;overflow:hidden;border-radius:var(--radius-m)}.carousel__track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;transition:opacity var(--dur-slow) var(--ease-out)}.carousel__slide[data-active=false]{opacity:.35}.carousel__controls{display:flex;align-items:center;gap:var(--space-2);min-width:0}.carousel__dots{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;min-width:0}.carousel__dot{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;background:none;border:0;cursor:pointer}.carousel__dot span{position:relative;display:block;width:.5rem;height:.25rem;overflow:hidden;border-radius:2px;background:var(--border-strong);transition:width .36s var(--ease-spring),background-color var(--dur-base) ease}.carousel__dot[aria-current=true] span{width:1.625rem}.carousel__dot[aria-current=true] span:after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:left}.carousel[data-playing=true] .carousel__dot[aria-current=true] span:after{animation:carousel-progress var(--carousel-ms) linear both}.carousel__dot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-s)}.carousel__arrows{display:flex;gap:var(--space-1)}.carousel__arrow,.carousel__play{position:relative;display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.carousel__arrow span{width:.55rem;height:.55rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-2px) rotate(45deg)}.carousel__arrow--prev span{transform:translate(2px) rotate(-135deg)}.carousel__play span[data-icon=pause]{width:.65rem;height:.75rem;border-left:3px solid currentColor;border-right:3px solid currentColor}.carousel__play span[data-icon=play]{width:0;height:0;margin-left:3px;border-top:.42rem solid transparent;border-bottom:.42rem solid transparent;border-left:.66rem solid currentColor}@media(hover:hover){.carousel__arrow:hover,.carousel__play:hover{color:var(--text);border-color:var(--text-dim)}.carousel__arrow--next:hover span{transform:translate(1px) rotate(45deg)}.carousel__arrow--prev:hover span{transform:translate(-1px) rotate(-135deg)}}@keyframes carousel-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.kinetic{margin:0}.kinetic__lines{display:block}.kinetic__line{display:block;overflow:hidden;padding-bottom:.08em}.kinetic__char{display:inline-block;white-space:pre;animation:kinetic-rise .72s var(--ease-out-expo) both;animation-delay:var(--k-delay)}.kinetic__char--em{color:var(--accent-contrast);background:var(--accent);animation-name:kinetic-rise-em}.kinetic__char--em:first-of-type,.kinetic__char:not(.kinetic__char--em)+.kinetic__char--em{padding-left:.08em;border-radius:var(--radius-xs) 0 0 var(--radius-xs)}.kinetic__char--em:has(+.kinetic__char:not(.kinetic__char--em)),.kinetic__char--em:last-child{padding-right:.08em;border-radius:0 var(--radius-xs) var(--radius-xs) 0}@keyframes kinetic-rise{0%{opacity:0;transform:translateY(105%) rotate(6deg);filter:blur(4px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:none;filter:none}}@keyframes kinetic-rise-em{0%{opacity:0;transform:translateY(105%);background-color:transparent;color:var(--text)}55%{opacity:1;transform:none;background-color:transparent;color:var(--text)}to{opacity:1;transform:none}}.rolling{display:inline-flex;overflow:hidden;line-height:inherit;vertical-align:bottom}.rolling__digit{display:inline-block;animation:rolling-in .52s var(--ease-spring) both;animation-delay:calc(var(--r-i) * 40ms)}@keyframes rolling-in{0%{opacity:0;transform:translateY(70%);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes stamp-in{0%{opacity:0;transform:scale(1.8);letter-spacing:.5em;filter:blur(6px)}55%{opacity:1;transform:scale(.94);letter-spacing:.06em;filter:none}to{opacity:1;transform:none}}[data-tone=good],[data-tone=S]{--tone: var(--grade-s-fg)}[data-tone=A]{--tone: var(--grade-a-fg)}[data-tone=warn],[data-tone=B]{--tone: var(--grade-b-fg)}[data-tone=bad],[data-tone=C]{--tone: var(--grade-c-fg)}[data-tone=plain],[data-tone=invalid]{--tone: var(--text-dim)}[data-tone=default]{--tone: var(--text)}.ring-gauge{position:relative;display:grid;place-items:center;width:7.5rem;aspect-ratio:1}.ring-gauge__svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-gauge__track{fill:none;stroke:var(--surface-alt);stroke-width:9}.ring-gauge__tick{stroke:var(--border-strong);stroke-width:1.2}.ring-gauge__value{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s var(--ease-out-expo) .12s}.ring-gauge[data-inview=true] .ring-gauge__value{stroke-dashoffset:calc(100 - var(--ring-value) * 100)}.ring-gauge[data-empty=true] .ring-gauge__value{opacity:0}.ring-gauge__center{position:relative;display:grid;justify-items:center;line-height:1}.ring-gauge__caption{margin-top:.3rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.meter{display:block;width:100%;min-width:3rem;height:.375rem;overflow:hidden;border-radius:3px;background:var(--surface-alt);box-shadow:var(--inset-well)}.meter__fill{display:block;height:100%;width:calc(var(--meter-value) * 100%);border-radius:inherit;background:var(--tone, var(--text));transform-origin:left;animation:meter-grow .9s var(--ease-out-expo) both;animation-delay:calc(var(--meter-i) * 70ms + 80ms)}.accordion__item[data-open=false] .meter__fill{animation:none}@keyframes meter-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stacked-bar{display:grid;gap:var(--space-2)}.stacked-bar__track{display:flex;gap:2px;height:.75rem;overflow:hidden;border-radius:4px;background:var(--surface-alt);box-shadow:var(--inset-well)}.stacked-bar__segment{flex:0 0 auto;width:calc(var(--seg-share) * 100% - 2px);min-width:3px;background:var(--tone);transform:scaleX(0);transform-origin:left}.stacked-bar[data-inview=true] .stacked-bar__segment{animation:meter-grow .7s var(--ease-out-expo) both;animation-delay:calc(var(--seg-i) * .14s)}.stacked-bar__legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-secondary)}.stacked-bar__legend li{display:inline-flex;align-items:baseline;gap:.35rem}.stacked-bar__legend li[data-empty=true]{opacity:.55}.stacked-bar__swatch{width:.55rem;height:.55rem;border-radius:2px;background:var(--tone);align-self:center}.stacked-bar__count{font-weight:800;font-stretch:80%;font-variant-numeric:tabular-nums;color:var(--text)}.stacked-bar__share{font-variant-numeric:tabular-nums;color:var(--text-dim)}.score-map{display:grid;gap:var(--space-2);margin:0;padding:var(--space-4) var(--space-4) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.score-map__bands{position:relative;display:grid;gap:var(--space-2)}.score-map__band{position:relative;height:2.25rem}.score-map__band-bar{position:absolute;top:0;bottom:0;left:var(--band-left);width:var(--band-width);border-radius:var(--radius-s);background:var(--accent-soft);border:1px solid var(--border-strong);transform:scaleX(0);transform-origin:left}.score-map__band[data-band=checkout] .score-map__band-bar{background:var(--grade-s-bg);border-color:var(--grade-s-fg)}.score-map__band[data-band=setup] .score-map__band-bar{background:var(--grade-a-bg);border-color:var(--grade-a-fg)}.score-map__band[data-band=training] .score-map__band-bar{background:repeating-linear-gradient(-45deg,var(--accent-soft) 0 6px,transparent 6px 12px)}.score-map__band-label{position:absolute;top:50%;left:calc(var(--band-left) + .55rem);display:inline-flex;align-items:baseline;gap:.4rem;font-size:var(--text-xs);white-space:nowrap;transform:translateY(-50%);opacity:0}.score-map__band-label strong{font-weight:800;font-stretch:82%;letter-spacing:.03em;color:var(--text)}.score-map__band-label span{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.score-map[data-inview=true] .score-map__band-bar{animation:meter-grow .9s var(--ease-out-expo) both;animation-delay:calc(var(--band-i) * .18s)}.score-map[data-inview=true] .score-map__band-label{animation:score-map-label .5s var(--ease-out) both;animation-delay:calc(var(--band-i) * .18s + .42s)}.score-map__axis{position:relative;height:1.25rem;border-top:1px solid var(--border-strong)}.score-map__tick{position:absolute;top:0;left:var(--tick-left);padding-top:.3rem;font-size:var(--text-2xs);font-weight:700;font-stretch:80%;font-variant-numeric:tabular-nums;color:var(--text-dim);transform:translate(-50%);opacity:0}.score-map__tick:before{content:"";position:absolute;top:-1px;left:50%;width:1px;height:.3rem;background:var(--border-strong)}.score-map__tick:first-child{transform:none}.score-map__tick:first-child:before{left:0}.score-map__tick:last-child{transform:translate(-100%)}.score-map__tick:last-child:before{left:auto;right:0}.score-map[data-inview=true] .score-map__tick{animation:score-map-label .4s var(--ease-out) both;animation-delay:calc(var(--tick-i) * 70ms + .3s)}.score-map__caption{font-size:var(--text-xs);line-height:1.6;color:var(--text-dim)}@keyframes score-map-label{0%{opacity:0;transform:translateY(calc(-50% + 4px))}to{opacity:1;transform:translateY(-50%)}}.score-map[data-inview=true] .score-map__tick{animation-name:score-map-tick}@keyframes score-map-tick{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}.accordion{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.accordion__item+.accordion__item{border-top:1px solid var(--border)}.accordion__heading{margin:0;font-size:inherit}.accordion__trigger{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-weight:700;text-align:left;color:var(--text);background:transparent;border:0;border-radius:0;cursor:pointer}.accordion__trigger:before{content:"";position:absolute;left:0;top:var(--space-3);bottom:var(--space-3);width:2px;background:var(--accent);transform:scaleY(0);transition:transform var(--dur-slow) var(--ease-out-expo)}.accordion__item[data-open=true]>.accordion__heading .accordion__trigger:before{transform:scaleY(1)}.accordion__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media(hover:hover){.accordion__trigger:hover{background:var(--surface-highlight)}}.accordion__title{min-width:0}.accordion__meta{font-size:var(--text-xs);font-weight:600;font-stretch:84%;font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap}.accordion__chevron{width:.6rem;height:.6rem;margin:0 .15rem .2rem;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(45deg);transition:transform var(--dur-slow) var(--ease-spring)}.accordion__item[data-open=true]>.accordion__heading .accordion__chevron{transform:translateY(.25rem) rotate(225deg)}.accordion__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--dur-slow) var(--ease-out-expo),visibility 0s linear var(--dur-slow)}.accordion__item[data-open=true]>.accordion__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--dur-slow) var(--ease-out-expo),visibility 0s}.accordion__inner{min-height:0;overflow:hidden}.accordion__content{padding:0 var(--space-4) var(--space-4);opacity:0;transform:translateY(-4px);transition:opacity var(--dur-base) ease,transform var(--dur-slow) var(--ease-out)}.accordion__item[data-open=true] .accordion__content{opacity:1;transform:none;transition-delay:60ms}.home{display:flex;flex-direction:column;gap:var(--space-6)}.home__hero{position:relative;display:grid;gap:var(--space-3);padding-top:var(--space-2);overflow:hidden}.home__eyebrow{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;font-size:var(--text-2xs);font-weight:800;font-stretch:var(--stretch-label);letter-spacing:.22em;color:var(--text-dim)}.home__eyebrow span{animation:eyebrow-in .9s var(--ease-out-expo) both}.home__eyebrow span:nth-child(2){animation-delay:.12s}.home__eyebrow span+span:before{content:"/";margin-right:var(--space-2);color:var(--border-strong)}.home__headline{position:relative;z-index:1;font-size:clamp(1.875rem,8.6vw,3.25rem);font-weight:850;line-height:1.12;letter-spacing:-.01em}.home__lead{position:relative;z-index:1;max-width:40rem;margin:0;font-size:var(--text-md);line-height:1.8;color:var(--text-secondary);animation:view-in .7s var(--ease-out-expo) .9s both}.home__ticker{position:absolute;top:0;right:calc(var(--space-2) * -1);display:grid;justify-items:end;pointer-events:none;font-size:clamp(3.5rem,22vw,8rem);font-weight:900;font-stretch:62%;font-variant-numeric:tabular-nums;line-height:.82;color:var(--text);opacity:.05}.home__ticker span{animation:ticker-drop 1.2s var(--ease-out-expo) both;animation-delay:calc(var(--tick-i) * .14s + .2s)}@keyframes eyebrow-in{0%{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.22em}}@keyframes ticker-drop{0%{opacity:0;transform:translateY(-40%)}to{opacity:1;transform:none}}.home__modes{display:grid;border-top:1px solid var(--border-strong)}.home__modes button{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"index label scope" "index sub sub";align-items:baseline;gap:var(--space-1) var(--space-4);min-width:0;padding:var(--space-4) var(--space-2) var(--space-4) var(--space-3);overflow:hidden;isolation:isolate;text-align:left;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;cursor:pointer;animation:mode-row-in .64s var(--ease-out-expo) both;animation-delay:calc(var(--mode-i) * 90ms + .5s)}.home__modes button:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface);transform:scaleX(0);transform-origin:left;transition:transform .42s var(--ease-out-expo)}.home__modes button:before{content:"";position:absolute;left:0;top:var(--space-4);bottom:var(--space-4);width:2px;background:var(--border-strong);transition:background-color var(--dur-base) var(--ease-out)}.home__mode-index{grid-area:index;align-self:start;padding-top:.35rem;font-size:var(--text-2xs);font-weight:800;font-stretch:80%;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--text-dim)}.home__mode-label{grid-area:label;font-size:clamp(1.75rem,8.4vw,2.25rem);font-weight:800;font-stretch:76%;letter-spacing:.005em;line-height:1;transition:letter-spacing .42s var(--ease-out-expo)}.home__mode-scope{grid-area:scope;font-size:var(--text-base);font-weight:600;font-stretch:84%;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.home__mode-sub{grid-area:sub;font-size:var(--text-sm);line-height:1.5;color:var(--text-dim)}.home__mode-arrow{position:absolute;right:var(--space-3);bottom:var(--space-4);width:.9rem;height:1px;background:var(--text-dim);transition:width .36s var(--ease-out-expo),background-color var(--dur-base) ease}.home__mode-arrow:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--text-dim);border-right:1px solid var(--text-dim);transform:rotate(45deg)}@media(hover:hover){.home__modes button:hover:after{transform:scaleX(1)}.home__modes button:hover:before{background:var(--accent)}.home__modes button:hover .home__mode-label{letter-spacing:.04em}.home__modes button:hover .home__mode-arrow{width:1.8rem;background:var(--text)}}.home__modes button:active:before{background:var(--accent)}.home__modes button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@keyframes mode-row-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.home__section{display:grid;gap:var(--space-3);min-width:0}.home__section-head{display:grid;gap:var(--space-1)}.home__section-head h2{margin:0;font-size:var(--text-lg);font-weight:750}.home__section-head p{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.home__examples-loading{height:11rem;border-radius:var(--radius-m);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-highlight) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.home-example{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"left route" "open open";align-items:center;gap:var(--space-3) var(--space-5);min-height:11rem;padding:var(--space-4) var(--space-5);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-md)}.home-example__left{grid-area:left;display:grid}.home-example__route{grid-area:route;display:grid;gap:var(--space-2);justify-items:start;min-width:0}.home-example__caption{font-size:var(--text-2xs);font-weight:800;letter-spacing:.12em;color:var(--text-dim)}.home-example__value{font-size:clamp(3.25rem,17vw,4.5rem);font-weight:850;font-stretch:70%;font-variant-numeric:tabular-nums;line-height:.9}.carousel__slide[data-active=true] .home-example__value{animation:example-number .7s var(--ease-out-expo) both}.home-example__darts{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none}.home-example__darts li{padding:.3rem .6rem;font-size:var(--text-lg);font-weight:800;font-stretch:78%;font-variant-numeric:tabular-nums;background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius-s);box-shadow:var(--inset-well)}.carousel__slide[data-active=true] .home-example__darts li{animation:chip-in .52s var(--ease-spring) both;animation-delay:calc(var(--chip-i) * .11s + .18s)}.home-example__grade{display:inline-flex;align-items:center;gap:.4rem;padding:.1rem .45rem;font-size:var(--text-sm);font-weight:800;color:var(--tone);background:var(--accent-soft);border-radius:var(--radius-xs)}.home-example__grade span{font-size:var(--text-xs);font-weight:650}.home-example__open{grid-area:open;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:750;color:var(--accent-contrast);background:var(--accent);border:0;border-radius:var(--radius-s);cursor:pointer}.home-example__arrow{position:relative;width:1rem;height:2px;background:currentColor;transition:width .32s var(--ease-out-expo)}.home-example__arrow:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}@media(hover:hover){.home-example__open:hover{background:var(--accent-hover)}.home-example__open:hover .home-example__arrow{width:1.6rem}}@keyframes example-number{0%{opacity:0;transform:translateY(30%) scale(.92);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes chip-in{0%{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:none}}.home__grades{display:grid;gap:var(--space-1);margin:0}.home__grades div{display:flex;align-items:baseline;gap:var(--space-3)}.home__grades dt{min-width:1.5rem;font-weight:850;text-align:center;color:var(--tone)}.home__grades dd{margin:0;color:var(--text-secondary)}.home__section .accordion__content p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.home__points{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2);font-size:var(--text-xs);line-height:1.7;color:var(--text-dim)}.home__more{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0}.home__history{min-width:0;min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer}.home__history:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(hover:hover){.home__history:hover{color:var(--text);border-color:var(--border-strong)}}@media(min-width:48rem){.home__modes{grid-template-columns:repeat(2,minmax(0,1fr))}.home__modes button{padding:var(--space-5) var(--space-4) var(--space-5) var(--space-5)}.home__modes button:nth-child(odd){border-right:1px solid var(--border)}.home__points{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.home-example{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"left route open";padding:var(--space-5) var(--space-6)}}@media(min-width:64rem){.home{gap:var(--space-7);padding-top:var(--space-2)}.home__lead{font-size:var(--text-base)}.home__modes{grid-template-columns:repeat(4,minmax(0,1fr))}.home__modes button{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"index" "label" "sub" "scope";align-items:start;min-height:13rem;padding:var(--space-5) var(--space-5) var(--space-5) var(--space-6);border-right:1px solid var(--border)}.home__modes button:last-child{border-right:0}.home__modes button:before{top:var(--space-5);bottom:auto;height:2.25rem}.home__mode-label{font-size:2.25rem}.home__mode-scope{font-size:var(--text-xl);font-weight:650;color:var(--text)}.home__mode-index{padding-top:0}.home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-7)}.home>*{grid-column:1 / -1}.home>.home__section:nth-of-type(2),.home>.home__section:nth-of-type(3){grid-column:auto}}.aim-area{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4) var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.aim-area__title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem var(--space-2)}.aim-area__kicker{font-size:var(--text-xs);font-weight:600;color:var(--text-dim)}.aim-area__name{font-size:var(--text-base);font-weight:750;color:var(--text)}.aim-area__caution{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--negative);border-radius:0 var(--radius-s) var(--radius-s) 0;background:var(--warn-bg);color:var(--warn-fg);font-size:var(--text-sm);font-weight:600;line-height:1.55}.aim-area__toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap);padding:0;font-size:var(--text-sm);font-weight:600;text-align:left;color:var(--text-secondary);background:none;border:0;border-top:1px solid var(--border);border-radius:0;cursor:pointer}.aim-area__toggle:after{content:"";width:.4rem;height:.4rem;margin-left:auto;margin-right:.2rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.1rem) rotate(45deg);transition:transform var(--dur-base) var(--ease-out)}.aim-area__toggle[aria-expanded=true]:after{transform:translateY(.1rem) rotate(-135deg)}@media(hover:hover){.aim-area__toggle:hover{color:var(--text)}}.aim-area__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.aim-area__details{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-3);animation:reveal var(--dur-base) var(--ease-out)}.aim-area__details[hidden]{display:none}.aim-area__lead{margin:0;font-size:var(--text-md);line-height:1.65;color:var(--text)}.aim-area__group-label{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:650;color:var(--text-secondary)}.aim-area__landings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.aim-area__landing{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--surface-alt);border-left:3px solid var(--border-strong);font-size:var(--text-sm);line-height:1.5}.aim-area__landing+.aim-area__landing{border-top:1px solid var(--border)}.aim-area__landing[data-kind=finish-next-dart]{border-left-color:var(--positive)}.aim-area__landing[data-kind=bust]{border-left-color:var(--negative)}.aim-area__dart{font-size:var(--text-md);font-weight:800;font-stretch:var(--stretch-numeral);color:var(--text)}.aim-area__outcome{color:var(--text);overflow-wrap:anywhere}.aim-area__kind{font-size:var(--text-xs);font-weight:700;color:var(--text-dim);white-space:nowrap}.aim-area__landing[data-kind=bust] .aim-area__kind{color:var(--negative)}.aim-area__landing[data-kind=finish-next-dart] .aim-area__kind{color:var(--positive)}.aim-area__tag{display:inline-block;margin-left:var(--space-1);padding:0 .3rem;border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:700;vertical-align:.1em}.aim-area__tag--standard{color:var(--text-secondary);border:1px solid var(--border-strong)}.aim-area__tag--preferred{color:var(--positive);background:var(--positive-bg)}.aim-area__notes{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);line-height:1.65;color:var(--text-secondary)}.dartboard{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.dartboard__svg{width:100%;max-width:min(100%,32rem);height:auto;display:block;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dartboard__backdrop{fill:var(--board-surround);stroke:var(--board-edge);stroke-width:2}.dartboard__segment{stroke:var(--board-wire);stroke-width:.9;stroke-linejoin:round;transition:opacity var(--dur-fast) ease-out,fill var(--dur-fast) ease-out}.dartboard__svg[aria-disabled=false] .dartboard__segment[role=button]{cursor:pointer}.dartboard__segment--dark{fill:var(--segment-dark)}.dartboard__segment--light{fill:var(--segment-light)}.dartboard__segment--red{fill:var(--segment-red)}.dartboard__segment--green{fill:var(--segment-green)}.dartboard__segment--miss{fill:var(--board-surround);stroke:none}.dartboard__segment[data-highlighted=true]{fill:var(--highlight-fill);stroke:var(--highlight-stroke);stroke-width:2.5;paint-order:stroke}.dartboard__segment[data-focused=true]{fill:var(--focus-fill);stroke:#ffe1a6;stroke-width:4;paint-order:stroke}.dartboard__segment:focus{outline:none}.dartboard__segment:focus-visible{stroke:var(--highlight-stroke);stroke-width:4;paint-order:stroke}@media(hover:hover){.dartboard__svg[aria-disabled=false] .dartboard__segment[role=button]:hover{stroke:var(--highlight-stroke);stroke-width:2;paint-order:stroke}}.dartboard__svg[aria-disabled=true] .dartboard__segment{opacity:.55;cursor:not-allowed}.dartboard__wires line,.dartboard__wires circle{fill:none;stroke:var(--board-wire);stroke-width:1.1;pointer-events:none}.dartboard__numbers text{fill:var(--board-number);font-family:var(--font-sans);font-size:21px;font-weight:700;font-stretch:84%;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none}.dartboard__disabled-reason{margin:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-s);background:var(--surface-alt);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;text-align:center;animation:reveal var(--dur-base) var(--ease-out)}.dartboard[data-mode=wedge] .dartboard__segments{pointer-events:none}.dartboard__wedge{fill:transparent;stroke:transparent;stroke-width:3;cursor:pointer}.dartboard__svg[aria-disabled=true] .dartboard__wedge{cursor:not-allowed}.dartboard__wedge[data-selected=true]{fill:color-mix(in srgb,var(--highlight-fill) 62%,transparent);stroke:var(--highlight-stroke);stroke-width:4}.dartboard__wedge:focus{outline:none}.dartboard__wedge:focus-visible{stroke:var(--highlight-stroke);stroke-width:4}@media(hover:hover){.dartboard__svg[aria-disabled=false] .dartboard__wedge:hover{fill:color-mix(in srgb,var(--highlight-fill) 30%,transparent);stroke:color-mix(in srgb,var(--highlight-stroke) 70%,transparent)}}.dartboard__markers{pointer-events:none}.dartboard__marker line{stroke:var(--highlight-stroke);stroke-width:2.4;stroke-linecap:round}.dartboard__marker-ring{fill:none;stroke:var(--highlight-stroke);stroke-width:2.4;stroke-dasharray:5 4}.dartboard__marker-halo{fill:#040912b8;stroke:#f5f8fc;stroke-width:1.6}.dartboard__marker-dot{fill:#ffd24a;stroke:#2b1d00;stroke-width:1}.dartboard__marker--past{opacity:.5}.dartboard__segment[data-focused=true]{animation:target-pulse 1.6s ease-in-out infinite}.dartboard__segment[data-highlighted=true]{animation:target-flash .9s var(--ease-out) backwards}@keyframes target-pulse{0%,to{stroke-width:4}50%{stroke-width:7}}@keyframes target-flash{0%{fill:var(--highlight-stroke)}}.next-target{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status undo" "body body";align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--inset-well)}.next-target__status{grid-area:status;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;min-width:0}.next-target__number{font-size:var(--text-3xl);font-weight:800;font-stretch:74%;font-variant-numeric:tabular-nums lining-nums;line-height:1;color:var(--text)}.next-target__number--small{font-size:var(--text-xl)}.next-target__unit{font-size:var(--text-2xs);font-weight:700;font-stretch:var(--stretch-label);letter-spacing:.08em;color:var(--text-dim)}.next-target__sep{margin:0 .2rem;color:var(--border-strong)}.next-target__route,.next-target__proposals,.next-target__message{grid-area:body}.next-target__route{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.next-target__label{font-size:var(--text-2xs);font-weight:700;font-stretch:var(--stretch-label);letter-spacing:.06em;line-height:1;color:var(--accent-contrast);background:var(--accent);border-radius:var(--radius-xs);padding:.3rem .4rem .25rem}.next-target__darts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.next-target__darts li{display:flex;align-items:center;font-size:var(--text-xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text)}.next-target__darts li+li:before{content:"";width:.38rem;height:.38rem;margin:0 var(--space-2) 0 0;border-top:1.5px solid var(--text-dim);border-right:1.5px solid var(--text-dim);transform:rotate(45deg)}.next-target__message{margin:0;padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:600;line-height:1.55;color:var(--text-secondary)}.next-target__undo{grid-area:undo;min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:650;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.next-target__undo:disabled{opacity:.4;cursor:not-allowed}.next-target__undo:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.next-target__proposals{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.next-target__proposals .next-target__label{align-self:flex-start}.next-target__proposal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.next-target__proposal-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:var(--space-2);row-gap:.1rem;padding:var(--space-2) 0}.next-target__proposal-list li+li{border-top:1px solid var(--border)}.next-target__proposal-route{font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);color:var(--text)}.next-target__proposal-leave{font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.next-target__proposal-note{grid-column:1 / -1;font-size:var(--text-xs);font-weight:500;color:var(--text-dim)}.route-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4) var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.route-card--primary{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-1);background:var(--surface-elevated);border-color:var(--border-strong);box-shadow:var(--inner-highlight),var(--shadow-md);animation:reveal var(--dur-slow) var(--ease-out)}.route-card--personal{border-color:var(--border-strong)}.route-card__header{display:flex;align-items:center;gap:var(--space-2);min-height:1.75rem}.route-card__badge{font-size:var(--text-2xs);font-weight:700;font-stretch:var(--stretch-label);letter-spacing:.06em;line-height:1;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:.3rem .4rem .25rem}.route-card--primary .route-card__badge{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.route-card__grade-group{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2)}.route-card__grade-context{color:var(--text-dim);font-size:var(--text-2xs);font-weight:600}.route-card__grade{display:grid;place-items:center;width:1.75rem;height:1.75rem;font-size:var(--text-md);font-weight:800;font-stretch:var(--stretch-label);line-height:1;border:1px solid currentColor;border-radius:var(--radius-xs)}.route-card__grade--S{background:var(--grade-s-bg);color:var(--grade-s-fg)}.route-card__grade--A{background:var(--grade-a-bg);color:var(--grade-a-fg)}.route-card__grade--B{background:var(--grade-b-bg);color:var(--grade-b-fg)}.route-card__grade--C{background:var(--grade-c-bg);color:var(--grade-c-fg)}.route-card__darts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);min-width:0}.route-card__darts li{display:flex;align-items:center;min-width:0}.route-card__darts li+li:before{content:"";flex:0 0 auto;width:.4rem;height:.4rem;margin:0 var(--space-2) 0 .1rem;border-top:1.5px solid var(--text-dim);border-right:1.5px solid var(--text-dim);transform:rotate(45deg)}.route-card__dart{display:inline-block;min-width:3rem;min-height:var(--tap);padding:0 .55rem;font-size:var(--text-lg);font-weight:750;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums lining-nums;line-height:calc(var(--tap) - 2px);text-align:center;white-space:nowrap;color:var(--text);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--inset-well);cursor:pointer}.route-card__dart:is([data-dart^=S],[data-dart^=D],[data-dart^=T]):not([data-dart=SB]):first-letter{font-size:.72em;font-weight:600;color:var(--text-secondary)}.route-card--primary .route-card__darts{gap:var(--space-1)}.route-card--primary .route-card__dart{min-width:4.25rem;min-height:3.5rem;padding:0 .7rem;font-size:clamp(1.75rem,8.6vw,2.25rem);font-weight:800;line-height:calc(3.5rem - 2px)}.route-card--primary .route-card__darts li{flex:1 1 0}.route-card--primary .route-card__darts li .route-card__dart{flex:1 1 auto}.route-card__dart[data-active=true]{color:var(--target);background:var(--target-soft);border-color:var(--target);box-shadow:none}.route-card__dart[data-active=true][data-dart]:not([data-dart=SB]):first-letter{color:inherit}@media(hover:hover){.route-card__dart:not([data-active=true]):hover{border-color:var(--border-strong)}}.route-card__dart:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-card__meta{margin:0;font-size:var(--text-sm);font-weight:650;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.route-card__headline{margin:0;max-width:var(--reading-max);font-size:var(--text-md);line-height:1.6;color:var(--text-secondary)}.route-card--primary .route-card__headline{color:var(--text)}.route-card__toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap);padding:0;font-size:var(--text-sm);font-weight:600;text-align:left;color:var(--text-secondary);background:none;border:0;border-top:1px solid var(--border);border-radius:0;cursor:pointer}.route-card__toggle:after{content:"";width:.4rem;height:.4rem;margin-left:auto;margin-right:.2rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.1rem) rotate(45deg);transition:transform var(--dur-base) var(--ease-out)}.route-card__toggle[aria-expanded=true]:after{transform:translateY(.1rem) rotate(-135deg)}@media(hover:hover){.route-card__toggle:hover{color:var(--text)}}.route-card__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.route-card__reasons{padding-bottom:var(--space-3);animation:reveal var(--dur-base) var(--ease-out)}.route-card__reasons ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.route-card__reasons li{position:relative;display:flex;flex-direction:column;gap:.1rem;padding:var(--space-2) 0 var(--space-2) 1.75rem;border-top:1px solid var(--border)}.route-card__reasons li:first-child{border-top:0}.route-card__reasons li:before{content:"";position:absolute;left:0;top:calc(var(--space-2) + .1rem);width:1.125rem;height:1.125rem;display:grid;place-items:center;font-size:var(--text-sm);font-weight:800;line-height:1;border-radius:var(--radius-xs);color:var(--text-dim);background:var(--surface-alt)}.route-card__reasons li[data-polarity=positive]:before{content:"+";color:var(--positive);background:var(--positive-bg)}.route-card__reasons li[data-polarity=negative]:before{content:"−";color:var(--negative);background:var(--warn-bg)}.route-card__reason-label{font-size:var(--text-xs);font-weight:600;color:var(--text-dim)}.route-card__reason-summary{font-size:var(--text-md);line-height:1.55;color:var(--text)}.route-card__reason-detail{font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}.route-card__reasons-inline{margin:0;padding:0 0 var(--space-3) 1.1rem;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}@media(max-width:22rem){.route-card{padding-inline:var(--space-3)}.route-card__dart{min-width:var(--tap);padding-inline:.4rem}.route-card--primary .route-card__dart{min-width:0;padding-inline:.4rem;font-size:1.6rem}.route-card__darts li+li:before{margin-right:var(--space-1)}}.route-card--primary{animation:card-wipe .56s var(--ease-out-expo) backwards}.route-card__darts li{animation:chip-pop .46s var(--ease-spring) backwards}.route-card__darts li:nth-child(2){animation-delay:70ms}.route-card__darts li:nth-child(3){animation-delay:.14s}.route-card__grade{animation:grade-stamp .52s var(--ease-spring) .18s backwards}.practice__list>.route-card:nth-child(-n+8){animation:list-in .42s var(--ease-out) backwards}.practice__list>.route-card:nth-child(2){animation-delay:50ms}.practice__list>.route-card:nth-child(3){animation-delay:.1s}.practice__list>.route-card:nth-child(4){animation-delay:.15s}.practice__list>.route-card:nth-child(5){animation-delay:.2s}.practice__list>.route-card:nth-child(6){animation-delay:.25s}.practice__list>.route-card:nth-child(7){animation-delay:.3s}.practice__list>.route-card:nth-child(8){animation-delay:.35s}.route-card__reasons:not([hidden]) li{animation:list-in .36s var(--ease-out) backwards}.route-card__reasons:not([hidden]) li:nth-child(2){animation-delay:40ms}.route-card__reasons:not([hidden]) li:nth-child(3){animation-delay:80ms}.route-card__reasons:not([hidden]) li:nth-child(n+4){animation-delay:.12s}@keyframes card-wipe{0%{clip-path:inset(0 0 100% 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes chip-pop{0%{opacity:0;transform:translateY(6px) scale(.86)}to{opacity:1;transform:none}}@keyframes grade-stamp{0%{opacity:0;transform:scale(1.7) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes list-in{0%{opacity:0;clip-path:inset(0 0 30% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.score-input{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.score-input__labels{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:var(--space-3);row-gap:.1rem;cursor:pointer}.score-input__label{font-size:var(--text-sm);font-weight:700;color:var(--text)}.score-input__hint{font-size:var(--text-xs);font-weight:500;line-height:1.4;color:var(--text-dim);font-variant-numeric:tabular-nums}.score-input__field{display:flex;align-items:center;min-height:5.25rem;padding:0 var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--inset-well);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.score-input__field:focus-within{border-color:var(--text);box-shadow:var(--inset-well),0 0 0 1px var(--text)}.score-input__input{flex:1;min-width:0;padding:0;font-size:clamp(3.25rem,17vw,4.25rem);font-weight:800;font-stretch:74%;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em;line-height:1.05;text-align:center;color:var(--text);background:transparent;border:0;caret-color:var(--text)}.score-input__input::placeholder{font-size:var(--text-lg);font-weight:500;font-stretch:100%;letter-spacing:.04em;color:var(--text-dim);opacity:.9}.score-input__input:focus,.score-input__input:focus-visible{outline:none}.score-input__error{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--negative)}.status-bar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--inset-well)}.status-bar__main{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.status-bar__left,.status-bar__darts{display:flex;flex-direction:column;gap:.1rem}.status-bar__darts{align-items:flex-end}.status-bar__caption{font-size:var(--text-2xs);font-weight:700;font-stretch:var(--stretch-label);letter-spacing:.08em;color:var(--text-dim)}.status-bar__value{font-size:clamp(3rem,15vw,3.75rem);font-weight:800;font-stretch:74%;font-variant-numeric:tabular-nums lining-nums;line-height:.95;color:var(--text)}.status-bar__value--small{font-size:var(--text-2xl);line-height:1}.status-bar__pips{display:flex;gap:3px;margin-top:var(--space-1)}.status-bar__pips span{width:.375rem;height:1rem;border-radius:1px;background:var(--border-strong);transition:background-color var(--dur-base) var(--ease-out)}.status-bar__pips span[data-filled=true]{background:var(--text)}.status-bar__status{margin:0;align-self:flex-start;padding:.1rem var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-md);font-weight:800;font-stretch:var(--stretch-label);letter-spacing:.06em;color:var(--negative);background:var(--warn-bg);transform-origin:left center;animation:stamp-in .62s var(--ease-out-expo) both}.status-bar[data-status=checkout] .status-bar__status,.status-bar--good .status-bar__status{color:var(--positive);background:var(--positive-bg)}.status-bar--warn{border-color:color-mix(in srgb,var(--negative) 55%,var(--border))}.status-bar--good{border-color:color-mix(in srgb,var(--positive) 55%,var(--border))}.status-bar__note{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-secondary)}.status-bar__pips span{transition:background-color var(--dur-base) var(--ease-out),transform .36s var(--ease-spring)}.status-bar__pips span:not([data-filled=true]){transform:scaleY(.45)}.visit-trail{display:flex;flex-direction:column;gap:var(--space-2)}.visit-trail__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.visit-trail__list li{display:flex;flex-direction:column;gap:.05rem;min-width:0;min-height:3.5rem;padding:var(--space-2);background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius-s)}.visit-trail__list li[data-filled=true]{background:var(--surface-alt);border-style:solid;border-color:var(--border);box-shadow:var(--inset-well);animation:reveal var(--dur-base) var(--ease-out)}.visit-trail__index{font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.visit-trail__dart{font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text)}.visit-trail__list li:not([data-filled=true]) .visit-trail__dart{color:var(--text-dim)}.visit-trail__after{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.visit-trail__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.visit-trail__actions button{flex:1 1 auto;min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:650;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.visit-trail__actions button:first-child:not(:disabled){color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.visit-trail__actions button:disabled{opacity:.4;cursor:not-allowed}.visit-trail__actions button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.practice__controls{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.practice__darts-choice{min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3)}.practice__darts-choice legend{float:left;font-size:var(--text-sm);font-weight:700;color:var(--text)}.practice__darts-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;background:var(--surface-alt);border:1px solid var(--border);border-radius:calc(var(--radius-s) + 3px);box-shadow:var(--inset-well)}.practice__darts-buttons button{min-width:0;min-height:var(--tap);font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-s);cursor:pointer}.practice__darts-buttons button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent);box-shadow:var(--shadow-sm)}.practice__darts-buttons button:disabled{opacity:.4;cursor:not-allowed}@media(hover:hover){.practice__darts-buttons button:not([aria-pressed=true]):not(:disabled):hover{color:var(--text);background:var(--surface-elevated)}}.practice__darts-buttons button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.practice__result{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.practice__note{margin:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-left:3px solid var(--negative);border-radius:0 var(--radius-s) var(--radius-s) 0;background:var(--warn-bg);color:var(--warn-fg);font-size:var(--text-md);line-height:1.6}.practice__board{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);animation:reveal var(--dur-base) var(--ease-out)}.practice__hint{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-dim)}.practice__recovery-toggle{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-height:3.5rem;padding:var(--space-2) 3.25rem var(--space-2) var(--space-4);text-align:left;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-m);cursor:pointer}.practice__recovery-toggle:before,.practice__recovery-toggle:after{content:"";position:absolute;right:1.25rem;top:50%;width:.875rem;height:1.5px;background:currentColor;transition:transform var(--dur-base) var(--ease-out)}.practice__recovery-toggle:after{transform:rotate(90deg)}.practice__recovery-toggle[aria-expanded=true]:after{transform:rotate(0)}.practice__recovery-toggle[aria-expanded=true]{background:var(--surface);border-color:var(--border)}@media(hover:hover){.practice__recovery-toggle:hover{background:var(--surface);border-color:var(--text-dim)}}.practice__recovery-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice__recovery-toggle-label{font-size:var(--text-base);font-weight:700}.practice__recovery-toggle-sub{font-size:var(--text-xs);line-height:1.4;color:var(--text-dim)}.practice__routes{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.practice__heading{margin:0;font-size:var(--text-sm);font-weight:650;color:var(--text-secondary)}.practice__list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}.practice__list>.route-card{border:0;border-radius:0;background:transparent;box-shadow:none}.practice__list>.route-card+.route-card{border-top:1px solid var(--border)}.practice__list>.route-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);row-gap:var(--space-2)}.practice__list>.route-card>*{grid-column:1 / -1}.practice__list>.route-card>.route-card__header{grid-column:2;grid-row:1;align-self:center}.practice__list>.route-card>.route-card__darts{grid-column:1;grid-row:1}.practice__more-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.practice__more{flex:1 1 12rem;min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}@media(hover:hover){.practice__more:hover{color:var(--text);border-color:var(--text-dim)}}.practice__more:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice__idle{margin:0;padding:var(--space-5) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-m);color:var(--text-secondary);font-size:var(--text-md);line-height:1.7;text-align:center}.practice__empty{margin:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-left:3px solid var(--negative);border-radius:0 var(--radius-s) var(--radius-s) 0;background:var(--warn-bg);color:var(--warn-fg);font-size:var(--text-md);line-height:1.65}.practice__tip{margin:0;padding:0 var(--space-1);color:var(--text-dim);font-size:var(--text-xs);line-height:1.6;text-align:center}.practice__grade-note{margin:0;color:var(--text-dim);font-size:var(--text-xs);line-height:1.55}@media(min-width:48rem){.practice__controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:end;column-gap:var(--space-5);padding:var(--space-4)}.practice__darts-choice{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.practice__darts-choice legend{float:none;padding:0;margin-bottom:var(--space-2)}.practice__idle,.practice__tip{max-width:var(--reading-max);margin-inline:auto;width:100%}}@media(min-width:64rem){.practice__result:has(>.practice__routes--others){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(10,auto) 1fr;column-gap:var(--space-6);row-gap:0;align-items:start}.practice__result:has(>.practice__routes--others)>*{grid-column:1;margin-bottom:var(--space-4)}.practice__result:has(>.practice__routes--others)>.practice__routes--others{grid-column:2;grid-row:1 / -1;margin-bottom:0}.practice__result:not(:has(>.practice__routes--others)){max-width:40rem;width:100%}}.modal{position:fixed;inset:0;z-index:100;display:grid;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) calc(var(--space-4) + env(safe-area-inset-right,0px)) calc(var(--space-4) + env(safe-area-inset-bottom,0px)) calc(var(--space-4) + env(safe-area-inset-left,0px));place-items:center}.modal__backdrop{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:modal-fade var(--dur-slow) var(--ease-out) both}.modal__panel{position:relative;display:flex;flex-direction:column;width:min(100%,26rem);max-height:100%;overflow:hidden;color:var(--text);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-lg);animation:modal-pop .28s var(--ease-spring) both}.modal__panel:focus{outline:none}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2) var(--space-5)}.modal__titles{display:grid;gap:.1rem;min-width:0}.modal__eyebrow{font-size:var(--text-2xs);font-weight:800;font-stretch:var(--stretch-label);letter-spacing:.16em;color:var(--text-dim)}.modal__title{margin:0;font-size:var(--text-lg);font-weight:750;line-height:var(--leading-tight)}.modal__close{position:relative;flex:0 0 auto;width:var(--tap);height:var(--tap);margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-s);cursor:pointer}.modal__close span:before,.modal__close span:after{content:"";position:absolute;left:50%;top:50%;width:1.125rem;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg);transition:transform var(--dur-base) var(--ease-out)}.modal__close span:after{transform:translate(-50%,-50%) rotate(-45deg)}@media(hover:hover){.modal__close:hover{color:var(--text);background:var(--surface-highlight)}.modal__close:hover span:before{transform:translate(-50%,-50%) rotate(135deg)}.modal__close:hover span:after{transform:translate(-50%,-50%) rotate(45deg)}}.modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-5) var(--space-4);font-size:var(--text-md);color:var(--text-secondary)}.modal__body p{margin:0 0 var(--space-2)}.modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border);background:var(--surface)}.modal__button{min-height:var(--tap);padding:0 var(--space-5);font-size:var(--text-sm);font-weight:700;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.modal__button--primary{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.modal__button--danger{color:#fff;background:var(--danger-solid);border-color:var(--danger-solid)}@media(hover:hover){.modal__button:not(.modal__button--primary):hover{background:var(--surface-highlight)}.modal__button--primary:not(.modal__button--danger):hover{background:var(--accent-hover)}}.modal--drawer{padding:0;place-items:stretch end}.modal--drawer .modal__panel{width:min(88vw,23rem);height:100%;max-height:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) 0;border-width:0 0 0 1px;border-radius:var(--radius-m) 0 0 var(--radius-m);animation:drawer-in .34s var(--ease-out-expo) both}.modal--drawer .modal__body{padding:0 var(--space-4) var(--space-5)}.modal[data-state=closing]{pointer-events:none}.modal[data-state=closing] .modal__backdrop{animation:modal-fade .2s ease-in reverse both}.modal[data-state=closing] .modal__panel{animation:modal-pop-out .2s ease-in both}.modal--drawer[data-state=closing] .modal__panel{animation:drawer-out .2s ease-in both}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes modal-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes drawer-out{0%{transform:none}to{transform:translate(100%)}}.radio-group{min-width:0;margin:0;padding:0;border:0}.radio-group__legend{margin-bottom:var(--space-2);padding:0;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.radio-group__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.radio-group__option{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;min-height:var(--tap);cursor:pointer;-webkit-tap-highlight-color:transparent}.radio-group__option:has(.radio-group__input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-s)}.radio-group__text{display:grid;min-width:0}.radio-group__label{font-size:var(--text-sm);font-weight:700;white-space:nowrap}.radio-group__description{font-size:var(--text-xs);color:var(--text-dim)}.radio-group--segmented .radio-group__options{position:relative;display:grid;grid-template-columns:repeat(var(--radio-count),minmax(0,1fr));gap:2px;padding:3px;background:var(--surface-alt);border:1px solid var(--border);border-radius:calc(var(--radius-s) + 3px);box-shadow:var(--inset-well)}.radio-group--segmented .radio-group__mark{display:none}.radio-group--segmented .radio-group__option{padding:0 var(--space-2);color:var(--text-dim);transition:color var(--dur-base) var(--ease-out)}.radio-group--segmented .radio-group__option[data-checked=true]{color:var(--accent-contrast)}.radio-group__thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px - (var(--radio-count) - 1) * 2px) / var(--radio-count));border-radius:var(--radius-s);background:var(--accent);box-shadow:var(--shadow-sm);transform:translate(calc(var(--radio-index) * (100% + 2px)));transition:transform .36s var(--ease-spring)}.radio-group[data-has-selection=false] .radio-group__thumb{opacity:0}@media(hover:hover){.radio-group--segmented .radio-group__option[data-checked=false]:hover{color:var(--text)}}.radio-group--cards .radio-group__options{display:grid;gap:var(--space-2)}.radio-group--cards .radio-group__option{justify-content:flex-start;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);transition:border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.radio-group--cards .radio-group__option[data-checked=true]{border-color:var(--accent);background:var(--surface-elevated)}.radio-group__mark{position:relative;flex:0 0 auto;width:1.125rem;height:1.125rem;border:2px solid var(--border-strong);border-radius:50%;transition:border-color var(--dur-base) var(--ease-out)}.radio-group__mark:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .32s var(--ease-spring)}.radio-group__option[data-checked=true] .radio-group__mark{border-color:var(--accent)}.radio-group__option[data-checked=true] .radio-group__mark:after{transform:scale(1)}.radio-group--cards .radio-group__label{white-space:normal}.select{display:grid;gap:var(--space-1);min-width:0}.select__label{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.select__control{position:relative;min-width:0}.select__native{width:100%;min-height:var(--tap);padding:0 2.5rem 0 var(--space-3);font-size:var(--text-md);font-weight:650;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius-s);box-shadow:var(--inset-well);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.select__native:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--inset-well),0 0 0 3px var(--accent-soft)}.select__native option{color:var(--text);background:var(--surface-elevated)}.select__chevron{position:absolute;right:.95rem;top:50%;width:.5rem;height:.5rem;margin-top:-.35rem;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(45deg);pointer-events:none;transition:transform var(--dur-base) var(--ease-spring)}.select__control:focus-within .select__chevron{transform:translateY(2px) rotate(45deg)}.select__hint{margin:0;font-size:var(--text-xs);color:var(--text-dim)}.training{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.training__setup{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.training__modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;background:var(--surface-alt);border:1px solid var(--border);border-radius:calc(var(--radius-s) + 3px);box-shadow:var(--inset-well)}.training__modes button,.training__settings fieldset button{min-width:0;min-height:var(--tap);padding:0 .2rem;overflow:hidden;font-size:clamp(.6875rem,3.2vw,.8125rem);font-weight:700;font-stretch:84%;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-s);cursor:pointer}.training__modes button[aria-pressed=true],.training__settings fieldset button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent);box-shadow:var(--shadow-sm)}@media(hover:hover){.training__modes button:not([aria-pressed=true]):hover,.training__settings fieldset button:not([aria-pressed=true]):hover{color:var(--text);background:var(--surface-elevated)}}.training__settings-toggle,.training__clear{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-1);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);background:none;border:0;border-radius:var(--radius-s);cursor:pointer}.training__settings-toggle:after{content:"";width:.38rem;height:.38rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.1rem) rotate(45deg);transition:transform var(--dur-base) var(--ease-out)}.training__settings-toggle[aria-expanded=true]:after{transform:translateY(.1rem) rotate(-135deg)}@media(hover:hover){.training__settings-toggle:hover,.training__clear:hover{color:var(--text)}}.training__settings{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--space-1) var(--space-1);border-top:1px solid var(--border);animation:reveal var(--dur-base) var(--ease-out)}.training__settings label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);font-weight:650;color:var(--text-secondary)}.training__range{display:flex;align-items:center;gap:var(--space-2);color:var(--text-dim)}.training__range input,.training__settings input[type=number]{width:5.5rem;min-height:var(--tap);padding:0 var(--space-2);font-size:var(--text-lg);font-weight:700;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--inset-well)}.training__range input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.training__settings fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;border:0}.training__settings legend{float:left;width:100%;margin-bottom:var(--space-1);padding:0;font-size:var(--text-xs);font-weight:650;color:var(--text-secondary)}.training__settings fieldset button{flex:0 0 auto;min-width:4rem;padding:0 var(--space-3);border:1px solid var(--border)}.training__settings fieldset button[aria-pressed=true]{border-color:var(--accent)}.training__settings .training__checkbox{flex-direction:row;align-items:center;gap:var(--space-2);min-height:var(--tap);font-size:var(--text-sm);font-weight:500;color:var(--text);cursor:pointer}.training__settings .training__checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--text)}.training__unusable{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--negative);border-radius:0 var(--radius-s) var(--radius-s) 0;background:var(--warn-bg);color:var(--warn-fg);font-size:var(--text-sm);font-weight:600;line-height:1.55}.training__start,.training__submit,.training__next{min-height:3.25rem;padding:0 var(--space-5);font-size:var(--text-base);font-weight:750;letter-spacing:.02em;color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-s);cursor:pointer}@media(hover:hover){.training__start:not(:disabled):hover,.training__submit:not(:disabled):hover,.training__next:hover{background:var(--accent-hover)}}.training__start:disabled,.training__actions button:disabled{opacity:.4;cursor:not-allowed}.training__start:focus-visible,.training__next:focus-visible,.training__actions button:focus-visible,.training__settings-toggle:focus-visible,.training__clear:focus-visible,.training__modes button:focus-visible,.training__settings fieldset button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.training__stage{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.training__board{min-width:0}.training__timer{margin:0;align-self:flex-start;padding:.1rem var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-md);font-weight:750;font-variant-numeric:tabular-nums;color:var(--negative);background:var(--warn-bg)}.training__progress{margin:0;font-size:var(--text-sm);font-weight:650;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.training__hint{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-dim)}.training__format-note{margin:0;font-size:var(--text-sm);font-weight:650;line-height:1.5;color:var(--text-secondary)}.training__answer{list-style:none;margin:0;padding:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:var(--space-1)}.training__answer li{display:grid;place-items:center;min-height:3.5rem;font-size:var(--text-xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--inset-well)}.training__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-2)}.training__actions button{min-height:3.25rem;font-size:var(--text-base);font-weight:650;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.training__actions .training__submit{font-weight:750;color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.training__result{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);animation:reveal var(--dur-slow) var(--ease-out)}.training__verdict{margin:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-left:4px solid currentColor;border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:var(--text-base);font-weight:700;line-height:1.55}.training__verdict{animation:verdict-in .56s var(--ease-out-expo) both}.training__verdict--ok{background:var(--positive-bg);color:var(--positive)}.training__verdict--ng{background:var(--warn-bg);color:var(--warn-fg)}.training__compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.training__compare-item{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-3);background:var(--surface-alt)}.training__compare-item+.training__compare-item{border-left:1px solid var(--border)}.training__compare-label{font-size:var(--text-xs);font-weight:650;color:var(--text-dim)}.training__compare-route{font-size:var(--text-xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1.15;color:var(--text);overflow-wrap:anywhere}.training__compare-outcome{font-size:var(--text-sm);line-height:1.55;color:var(--text-secondary)}.training__difference{margin:0;font-size:var(--text-md);line-height:1.7}.training__alternatives{font-size:var(--text-sm);border-top:1px solid var(--border)}.training__alternatives summary{display:flex;align-items:center;min-height:var(--tap);color:var(--text-secondary);font-weight:600;cursor:pointer}.training__alternatives ul{margin:0 0 var(--space-2);padding-left:1.1rem;color:var(--text-secondary)}.training__result .route-card{background:transparent}.training__finished{margin:0;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-m);color:var(--text-secondary);font-size:var(--text-md);text-align:center}.training__stats{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.training__stats h2{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text)}.training__stats dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));border-top:1px solid var(--border)}.training__stats dl div{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--border)}.training__stats dt{font-size:var(--text-xs);font-weight:600;color:var(--text-dim)}.training__stats dd{margin:var(--space-1) 0 0;font-size:var(--text-xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.training__grades,.training__weak{margin:0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.training__table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.training__table caption{padding-bottom:var(--space-2);font-size:var(--text-xs);font-weight:650;text-align:left;color:var(--text-secondary)}.training__table th,.training__table td{padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border);text-align:left;font-variant-numeric:tabular-nums}.training__table td{text-align:right}.training__table thead th:not(:first-child){text-align:right}.training__table thead th{font-size:var(--text-xs);font-weight:600;color:var(--text-dim)}.training__table tbody th{font-weight:600}.training__migration{margin:0;font-size:var(--text-xs);color:var(--text-secondary)}.training__context{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.training__context dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:var(--space-2) var(--space-3)}.training__context dl div{display:flex;flex-direction:column;gap:.1rem}.training__context dt{margin:0;font-size:var(--text-xs);color:var(--text-dim)}.training__context dd{margin:0;font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;color:var(--text)}.training__context-note{margin:0;font-size:var(--text-xs);color:var(--text-secondary)}@media(min-width:48rem){.training__setup{display:grid;grid-template-columns:minmax(0,1fr) 16rem;grid-template-areas:"modes start" "toggle toggle";align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4)}.training__modes{grid-area:modes}.training__start{grid-area:start}.training__settings-toggle{grid-area:toggle}.training__settings{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-6)}.training__unusable,.training__presets{grid-column:1 / -1}}@media(min-width:64rem){.training__stage{display:grid;grid-template-columns:minmax(0,32rem) minmax(0,1fr);grid-template-rows:repeat(12,auto) 1fr;column-gap:var(--space-7);row-gap:0;align-items:start}.training__stage>*{grid-column:2;margin-bottom:var(--space-3)}.training__stage>.training__board{grid-column:1;grid-row:1 / -1;position:sticky;top:var(--space-4);margin-bottom:0}}.training__presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-3)}.training__settings .training__radio legend{float:none;margin-bottom:var(--space-1)}.training__settings .training__radio{display:block}.training__radio .radio-group__options{max-width:22rem}@keyframes verdict-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.training__overview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-4)}.training__ring-value{display:inline-flex;align-items:baseline;font-size:var(--text-3xl);font-weight:850;font-stretch:72%;font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.training__ring-value small{margin-left:.1rem;font-size:var(--text-base);font-weight:700;color:var(--text-secondary)}.training__grade-mix{display:grid;gap:var(--space-2)}.training__subheading{margin:0;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.training__breakdown .accordion__content{padding-top:0}.training__accuracy-cell{display:grid;grid-template-columns:minmax(3rem,1fr) 3rem;align-items:center;gap:var(--space-2)}.training__table tbody tr{transition:background-color var(--dur-base) ease}@media(hover:hover){.training__table tbody tr:hover{background:var(--surface-highlight)}}.training__clear:disabled{opacity:.45;cursor:not-allowed}@media(max-width:47.99rem){.training__overview{grid-template-columns:minmax(0,1fr);justify-items:center}.training__overview dl{width:100%}}.simulation{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.simulation__lead{margin:0;max-width:var(--reading-max);color:var(--text-secondary);font-size:var(--text-md);line-height:1.75}.simulation__settings,.simulation__play,.simulation__review{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.simulation__field{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.simulation__field legend{float:left;width:100%;margin-bottom:var(--space-1);padding:0;color:var(--text);font-size:var(--text-md);font-weight:700}.simulation__choices{display:flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--surface-alt);border:1px solid var(--border);border-radius:calc(var(--radius-s) + 3px);box-shadow:var(--inset-well)}.simulation__choices button{flex:1 1 5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:3rem;padding:var(--space-2);color:var(--text);background:transparent;border:0;border-radius:var(--radius-s);font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.simulation__choices button>span{font-stretch:90%}.simulation__choices button small{color:var(--text-dim);font-size:var(--text-2xs);font-weight:500;line-height:1.35;text-align:center}.simulation__choices button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent);box-shadow:var(--shadow-sm)}.simulation__choices button[aria-pressed=true] small{color:var(--accent-contrast);opacity:.78}@media(hover:hover){.simulation__choices button:not([aria-pressed=true]):hover{background:var(--surface-elevated)}}.simulation__custom{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary)}.simulation__custom input{min-height:3rem;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-alt);box-shadow:var(--inset-well);color:var(--text);font-size:var(--text-xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums}.simulation__slider{display:flex;flex-direction:column;gap:var(--space-1)}.simulation__slider>span{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;font-stretch:var(--stretch-label);letter-spacing:.04em}.simulation__slider strong{color:var(--text);font-size:var(--text-2xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1}.simulation__slider input[type=range]{width:100%;min-height:var(--tap);accent-color:var(--text)}.simulation__hint{margin:0;color:var(--text-dim);font-size:var(--text-xs);line-height:1.65}.simulation__help{min-width:0;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);font-size:var(--text-sm);line-height:1.7}.simulation__field .simulation__help{border-radius:var(--radius-s);background:transparent}.simulation__help>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-3);color:var(--text-secondary);font-weight:600;list-style:none;cursor:pointer}.simulation__help>summary::-webkit-details-marker{display:none}.simulation__help>summary:after{content:"";width:.38rem;height:.38rem;margin-left:auto;margin-right:.2rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.1rem) rotate(45deg);transition:transform var(--dur-base) var(--ease-out)}.simulation__help[open]>summary:after{transform:translateY(.1rem) rotate(-135deg)}.simulation__help>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media(hover:hover){.simulation__help>summary:hover{color:var(--text)}}.simulation__section-heading{margin:0;padding:var(--space-3) var(--space-3);color:var(--text);font-size:var(--text-md);font-weight:700;border-bottom:1px solid var(--border)}.simulation__help[open]>summary{border-bottom:1px solid var(--border)}.simulation__help-list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin:0;padding:var(--space-3) var(--space-3) 0}.simulation__help-list dt{color:var(--text);font-weight:700;white-space:nowrap}.simulation__help-list dd{margin:0;color:var(--text-secondary)}.simulation__help-list--stacked{grid-template-columns:minmax(0,1fr);gap:.1rem;padding-bottom:var(--space-3)}.simulation__help-list--stacked dt{white-space:normal}.simulation__help-list--stacked dd+dt{margin-top:var(--space-2)}.simulation__help-criterion{margin:0;padding:var(--space-3);color:var(--text-secondary)}.simulation__help-criterion strong{color:var(--text)}.simulation__help-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));margin:0;padding:0 var(--space-3) var(--space-3);list-style:none}.simulation__help-rows li{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--border);color:var(--text-dim);font-variant-numeric:tabular-nums}.simulation__help-rows strong{min-width:2.5rem;color:var(--text);font-size:var(--text-md);font-stretch:var(--stretch-numeral)}.simulation__start{min-height:3.25rem;padding:0 var(--space-5);color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-s);font-size:var(--text-base);font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.02em;cursor:pointer}@media(hover:hover){.simulation__start:hover{background:var(--accent-hover)}}.simulation__progress{margin:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:650;font-stretch:var(--stretch-label);letter-spacing:.03em;text-align:center;font-variant-numeric:tabular-nums}.simulation__board-area{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.simulation__last{display:flex;align-items:stretch;gap:var(--space-2);width:100%;max-width:32rem;margin:0 auto}.simulation__last-throw{flex:1 1 auto;min-width:0;min-height:var(--tap);margin:0;display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;column-gap:var(--space-3);row-gap:.1rem;padding:var(--space-1) var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--inset-well);font-variant-numeric:tabular-nums}.simulation__last-empty{color:var(--text-dim);font-size:var(--text-xs);line-height:1.5}.simulation__last-caption{color:var(--text-dim);font-size:var(--text-xs);font-weight:600}.simulation__last-aim{color:var(--text);font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-label)}.simulation__last-hit{color:var(--text-secondary);font-size:var(--text-md);font-weight:650;font-stretch:var(--stretch-label)}.simulation__undo{flex:0 0 auto;min-height:var(--tap);min-width:5.5rem;padding:0 var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-s);font-size:var(--text-sm);font-weight:650;cursor:pointer}.simulation__undo:disabled{opacity:.4;cursor:not-allowed}.simulation__throws{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.simulation__throws li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);font-size:var(--text-sm);animation:reveal var(--dur-base) var(--ease-out)}.simulation__throws li+li{border-top:1px solid var(--border)}.simulation__throws:empty{display:none}.simulation__throw-dart{min-width:1.8rem;color:var(--text-dim);font-weight:700;font-variant-numeric:tabular-nums}.simulation__throw-aim{color:var(--text-secondary)}.simulation__throw-hit{color:var(--text);font-weight:700}.simulation__throw-flag{margin-left:auto;padding:0 var(--space-1);border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:800;letter-spacing:.05em;color:var(--text);border:1px solid var(--border-strong)}.simulation__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.simulation__actions button{flex:1 1 auto;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-s);background:transparent;color:var(--text);font-size:var(--text-sm);font-weight:600;cursor:pointer}.simulation__actions button:disabled{opacity:.4;cursor:not-allowed}.simulation__actions .simulation__quit{flex:0 1 8rem;color:var(--text-dim)}.simulation__entry{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-elevated);box-shadow:var(--inner-highlight),var(--shadow-md);animation:reveal var(--dur-slow) var(--ease-out)}.simulation__entry-title{margin:0;font-size:var(--text-lg);font-weight:750}.simulation__entry-title--ok{color:var(--positive)}.simulation__entry-title--ng{color:var(--negative)}.simulation__entry-note{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.65}.simulation__entry-field{display:flex;gap:var(--space-2)}.simulation__entry-field input{flex:1 1 auto;min-width:0;min-height:3.75rem;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-alt);box-shadow:var(--inset-well);color:var(--text);font-size:var(--text-3xl);font-weight:800;font-stretch:74%;text-align:center;font-variant-numeric:tabular-nums;caret-color:var(--text)}.simulation__entry-field input:focus-visible{outline:none;border-color:var(--text);box-shadow:var(--inset-well),0 0 0 1px var(--text)}.simulation__entry-field button,.simulation__entry button{min-height:3.25rem;padding:0 var(--space-5);border:1px solid var(--accent);border-radius:var(--radius-s);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-base);font-weight:750;cursor:pointer}.simulation__entry-field button{flex:0 0 auto;min-width:5.5rem;min-height:3.75rem;white-space:nowrap}.simulation__entry-undo{margin:0;color:var(--text-dim);font-size:var(--text-xs);line-height:1.6}.simulation__entry button:disabled{opacity:.4;cursor:not-allowed}.simulation__review-title{margin:0;font-size:var(--text-xl);font-weight:750}.simulation__review-status{margin:0;color:var(--text);font-size:var(--text-base);font-weight:600;line-height:1.6}.simulation__review-status[data-abandoned=true]{color:var(--warn-fg)}.simulation__result{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-elevated);box-shadow:var(--inner-highlight),var(--shadow-md)}.simulation__review-status strong,.simulation__result-checkout strong,.simulation__result-sub strong{color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}.simulation__result-checkout{margin:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.simulation__result-sub{margin:0;color:var(--text-dim);font-size:var(--text-xs);font-weight:600}.simulation__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--border)}.simulation__summary>div{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--border)}.simulation__summary>div:nth-child(2n){padding-left:var(--space-3);border-left:1px solid var(--border)}.simulation__summary dt{color:var(--text-dim);font-size:var(--text-xs);font-weight:600}.simulation__summary dd{margin:var(--space-1) 0 0;font-size:var(--text-2xl);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;line-height:1}.simulation__highlight{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:0 var(--radius-m) var(--radius-m) 0;background:var(--surface)}.simulation__highlight[data-tone=good]{border-left-color:var(--grade-s-fg)}.simulation__highlight[data-tone=warn]{border-left-color:var(--grade-b-fg)}.simulation__highlight[data-tone=bad]{border-left-color:var(--grade-c-fg)}.simulation__highlight h3{margin:0;font-size:var(--text-md);font-weight:700;color:var(--text)}.simulation__highlight-empty{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.65}.simulation__focus{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.simulation__focus-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.simulation__focus-head .simulation__review-verdict{margin-left:auto}.simulation__focus-aim{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem var(--space-3);font-size:var(--text-base);font-weight:700}.simulation__focus-hit{color:var(--text-dim);font-size:var(--text-xs);font-weight:500}.simulation__focus-alt{margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-alt);color:var(--text);font-size:var(--text-sm);font-weight:600;line-height:1.6}.simulation__focus-alt p{margin:0}.simulation__focus-alt .simulation__focus-app{margin-top:var(--space-1);color:var(--text-dim);font-weight:500}.simulation__focus-list{list-style:none;margin:0;display:flex;flex-direction:column;gap:0}.simulation__focus-list>li{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.simulation__focus-list>li:last-child{border-bottom:0}.simulation__next-focus{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font-size:var(--text-md);line-height:1.7}.simulation__next-focus strong{padding:.25rem .4rem .2rem;border-radius:var(--radius-xs);color:var(--accent-contrast);background:var(--accent);font-size:var(--text-xs);font-weight:700;line-height:1}.simulation__review-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.simulation__review-actions>button{flex:1 1 14rem;white-space:nowrap}.simulation__secondary{min-height:3.25rem;padding:0 var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:transparent;color:var(--text);font-size:var(--text-base);font-weight:650;cursor:pointer}@media(hover:hover){.simulation__secondary:hover{border-color:var(--text-dim)}}.simulation__start:focus-visible,.simulation__secondary:focus-visible,.simulation__undo:focus-visible,.simulation__actions button:focus-visible,.simulation__entry button:focus-visible,.simulation__choices button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.simulation__detail-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.simulation__verdict-counts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.simulation__verdict-counts li{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:650}.simulation__verdict-counts li strong{font-size:var(--text-md);font-weight:800;font-variant-numeric:tabular-nums}.simulation__verdict-counts li[data-tone=good],.simulation__review-throws li[data-tone=good] .simulation__review-verdict,.simulation__review [data-tone=good]>.simulation__focus .simulation__review-verdict{background:var(--grade-s-bg);color:var(--grade-s-fg)}.simulation__verdict-counts li[data-tone=warn],.simulation__review-throws li[data-tone=warn] .simulation__review-verdict,.simulation__review [data-tone=warn]>.simulation__focus .simulation__review-verdict{background:var(--grade-b-bg);color:var(--grade-b-fg)}.simulation__verdict-counts li[data-tone=bad],.simulation__review-throws li[data-tone=bad] .simulation__review-verdict,.simulation__review [data-tone=bad]>.simulation__focus .simulation__review-verdict{background:var(--grade-c-bg);color:var(--grade-c-fg)}.simulation__verdict-counts li[data-tone=plain],.simulation__review-throws li[data-tone=plain] .simulation__review-verdict,.simulation__review [data-tone=plain]>.simulation__focus .simulation__review-verdict{background:var(--surface-alt);color:var(--text-secondary)}.simulation__review-note{margin:0;color:var(--text-dim);font-size:var(--text-xs);line-height:1.65}.simulation__rounds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.simulation__round h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-strong);font-size:var(--text-md);font-weight:700}.simulation__round-left{color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.simulation__round-scored{margin-left:auto;font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums}.simulation__round-miss{margin:0 0 var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:var(--warn-bg);color:var(--warn-fg);font-size:var(--text-xs);font-weight:650}.simulation__review-throws{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.simulation__review-throws li{padding:var(--space-2) 0 var(--space-2) var(--space-3);border-left:3px solid var(--border-strong)}.simulation__review-throws li+li{margin-top:var(--space-1)}.simulation__review-throws li[data-tone=good]{border-left-color:var(--grade-s-fg)}.simulation__review-throws li[data-tone=warn]{border-left-color:var(--grade-b-fg)}.simulation__review-throws li[data-tone=bad]{border-left-color:var(--grade-c-fg)}.simulation__review-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs)}.simulation__review-dart{font-weight:700;color:var(--text)}.simulation__review-left{color:var(--text-secondary);font-variant-numeric:tabular-nums}.simulation__review-verdict{margin-left:auto;padding:.15rem var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:700;white-space:nowrap}.simulation__review-aim{margin:var(--space-1) 0 0;font-size:var(--text-md);font-weight:650}.simulation__review-explain{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.65}@media(min-width:48rem){.simulation__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"lead lead" "start ability" "direction ability" "maxmiss ability" ". go";grid-template-rows:auto auto auto 1fr auto;align-items:start;gap:var(--space-4)}.simulation__lead{grid-area:lead}.simulation__field:nth-of-type(1){grid-area:start}.simulation__field:nth-of-type(2){grid-area:ability}.simulation__field:nth-of-type(3){grid-area:direction}.simulation__field:nth-of-type(4){grid-area:maxmiss}.simulation__settings>.simulation__start{grid-area:go}.simulation__summary{grid-template-columns:repeat(4,minmax(0,1fr))}.simulation__summary>div{padding-left:var(--space-3);border-left:1px solid var(--border)}.simulation__summary>div:first-child{padding-left:0;border-left:0}}@media(min-width:64rem){.simulation__play{display:grid;grid-template-columns:minmax(0,34rem) minmax(0,1fr);grid-template-rows:repeat(5,auto) 1fr;column-gap:var(--space-7);row-gap:0;align-items:start}.simulation__play>*{grid-column:2;margin-bottom:var(--space-3)}.simulation__play>.simulation__board-area{grid-column:1;grid-row:1 / -1;margin-bottom:0}.simulation__play>.simulation__entry{order:1}.simulation__play>.simulation__actions{order:2}.simulation__review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6);row-gap:var(--space-4);align-items:start}.simulation__review>*{grid-column:1 / -1}.simulation__review>.simulation__highlight{grid-column:1}.simulation__review>.simulation__highlight+.simulation__highlight{grid-column:2}}.simulation__gameshot{overflow:hidden;padding:var(--space-2) 0;font-size:clamp(2.5rem,13vw,4.5rem);font-weight:900;font-stretch:68%;letter-spacing:.02em;line-height:.95;color:var(--grade-s-fg)}.simulation__gameshot .kinetic__char{animation-duration:.9s}.simulation__gameshot:after{content:"";display:block;height:2px;margin-top:var(--space-2);background:currentColor;transform-origin:left;animation:meter-grow .9s var(--ease-out-expo) .5s both}.simulation .stacked-bar{margin:var(--space-2) 0}.settings{display:flex;flex-direction:column;gap:var(--space-4);max-width:48rem;margin:0 auto}.settings__section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.settings__section h2{margin:0;font-size:var(--text-lg);font-weight:750;color:var(--text)}.settings__section h3{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:650;color:var(--text-secondary)}.settings__note,.settings__data{margin:0;font-size:var(--text-sm);line-height:1.7;color:var(--text-secondary)}.settings__data{padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-2)}.settings__note-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);line-height:1.65;color:var(--text-secondary)}.settings__note-list strong{color:var(--text);font-weight:650}.settings__theme{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.settings__theme button{min-width:0;min-height:4rem;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer}.settings__theme button[aria-checked=true]{color:var(--text);background:var(--surface-elevated);border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.settings__theme button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.settings__theme button>span:last-child{min-width:0;display:flex;flex-direction:column}.settings__theme strong{font-size:var(--text-md);font-weight:700}.settings__theme small{overflow:hidden;font-size:var(--text-2xs);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap}.settings__theme-swatch{flex:0 0 auto;width:2rem;height:2rem;border:1px solid var(--border-strong);border-radius:var(--radius-xs)}.settings__theme-swatch--light{background:linear-gradient(135deg,#f6f7f8 0 50%,#15181b 50% 100%)}.settings__theme-swatch--dark{background:linear-gradient(135deg,#1c2024 0 50%,#eeece7 50% 100%)}.settings__ranked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.settings__ranked li{display:grid;grid-template-columns:1.5rem 3.25rem minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--surface-alt)}.settings__ranked li+li{border-top:1px solid var(--border)}.settings__ranked .settings__empty{display:block;padding:var(--space-3);font-size:var(--text-sm);color:var(--text-dim)}.settings__rank{font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.settings__id{font-size:var(--text-lg);font-weight:800;font-stretch:var(--stretch-numeral);color:var(--text)}.settings__reason{font-size:var(--text-xs);line-height:1.45;color:var(--text-secondary)}.settings__move{display:flex;gap:2px}.settings__move button,.settings__grid button{min-width:var(--tap);min-height:var(--tap);font-size:var(--text-md);font-weight:700;font-stretch:var(--stretch-label);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer}.settings__move button:disabled{opacity:.35;cursor:not-allowed}.settings__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr));gap:var(--space-1)}.settings__grid button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}@media(hover:hover){.settings__grid button:not([aria-pressed=true]):hover,.settings__move button:not(:disabled):hover{border-color:var(--text-dim)}}.settings__move button:focus-visible,.settings__grid button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(max-width:22rem){.settings__theme button{flex-direction:column;align-items:flex-start}.settings__theme small{display:none}.settings__ranked li{grid-template-columns:1.4rem 2.8rem 1fr}.settings__reason{display:none}.settings__move{grid-column:1 / -1;justify-content:flex-end}}.version-history{display:flex;flex-direction:column;gap:.9rem;max-width:52rem;margin:0 auto;min-width:0}.version-history__bar{position:sticky;top:calc(var(--app-safe-top, 0px) + .35rem);z-index:3;display:flex;padding:.3rem 0;background:linear-gradient(to bottom,var(--background) 65%,color-mix(in srgb,var(--background) 60%,transparent))}.version-history__back{min-width:0;min-height:2.75rem;padding:0 .95rem;font-family:inherit;font-size:.76rem;font-weight:740;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.version-history__back:before{content:"";display:inline-block;width:.38rem;height:.38rem;margin-right:.5rem;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.05rem) rotate(45deg)}.version-history__back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.version-history__head{display:flex;flex-direction:column;gap:.3rem;padding:0 .25rem}.version-history__title{margin:0;font-size:clamp(1.2rem,5.5vw,1.5rem);font-weight:820;letter-spacing:-.01em;color:var(--text)}.version-history__lead{margin:0;font-size:.8rem;line-height:1.7;color:var(--text-secondary)}.version-history__list.accordion{display:flex;flex-direction:column;gap:.7rem;overflow:visible;background:none;border:0;border-radius:0}.version-history__list .accordion__item{min-width:0;overflow:hidden;scroll-margin-top:calc(var(--app-safe-top, 0px) + 4rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);transition:border-color var(--dur-base) ease,box-shadow var(--dur-slow) var(--ease-out)}.version-history__list .accordion__item+.accordion__item{border-top:1px solid var(--border)}.version-history__list .accordion__item[data-open=true]{border-color:var(--border-strong);box-shadow:var(--inner-highlight),var(--shadow-md)}.version-history__list .accordion__trigger{align-items:start;padding:.85rem .9rem}.version-history__list .accordion__content{display:grid;gap:.45rem;padding:0 .9rem .9rem}.version-history__jump{max-width:28rem}.version-history__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;min-width:0}.version-history__label{min-width:0;font-size:.94rem;font-weight:800;line-height:1.4;color:var(--text);overflow-wrap:anywhere}.version-history__badge{flex:0 0 auto;padding:.1rem .5rem;font-size:.62rem;font-weight:800;letter-spacing:.08em;color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-xs)}.version-history__date{flex:0 0 auto;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.version-history__summary{margin:0;font-size:.82rem;line-height:1.7;color:var(--text-secondary);overflow-wrap:anywhere}.version-history__changes{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.77rem;line-height:1.65;color:var(--text-dim)}.version-history__changes li{min-width:0;overflow-wrap:anywhere}.version-history__note{margin:0;padding:0 .25rem;font-size:.68rem;line-height:1.6;color:var(--text-dim)}@media(max-width:22rem){.version-history__list .accordion__trigger{padding:.75rem}}.references{display:flex;flex-direction:column;gap:.9rem;max-width:52rem;margin:0 auto;min-width:0}.references__bar{position:sticky;top:calc(var(--app-safe-top, 0px) + .35rem);z-index:3;display:flex;padding:.3rem 0;background:linear-gradient(to bottom,var(--background) 65%,color-mix(in srgb,var(--background) 60%,transparent))}.references__back{min-width:0;min-height:2.75rem;padding:0 .95rem;font-family:inherit;font-size:.76rem;font-weight:740;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.references__back:before{content:"";display:inline-block;width:.38rem;height:.38rem;margin-right:.5rem;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.05rem) rotate(45deg)}.references__back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.references__head{display:flex;flex-direction:column;gap:.25rem;padding:0 .25rem}.references__title{margin:0;font-size:clamp(1.2rem,5.5vw,1.5rem);font-weight:820;letter-spacing:-.01em;color:var(--text)}.references__lead{margin:.15rem 0 0;font-size:.8rem;line-height:1.7;color:var(--text-secondary)}.references__legend,.references__note{display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:.85rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.references__legend-title,.references__note-title{margin:0;font-size:.82rem;font-weight:800;color:var(--text)}.references__legend-list{margin:0;display:flex;flex-direction:column;gap:.4rem}.references__legend-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .5rem;min-width:0}.references__legend-item dt{flex:0 0 auto;margin:0}.references__legend-item dd{flex:1 1 14rem;margin:0;min-width:0;font-size:.74rem;line-height:1.6;color:var(--text-dim);overflow-wrap:anywhere}.references__note p{margin:0;font-size:.77rem;line-height:1.75;color:var(--text-secondary);overflow-wrap:anywhere}.references__section{display:flex;flex-direction:column;gap:.45rem;min-width:0}.references__section-title{margin:.35rem 0 0;padding:0 .25rem;font-size:.95rem;font-weight:820;color:var(--text)}.references__section-lead{margin:0;padding:0 .25rem;font-size:.74rem;line-height:1.65;color:var(--text-dim)}.references__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.references__item{display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m)}.references__item-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .4rem;min-width:0}.references__role{flex:0 0 auto;padding:.1rem .5rem;font-size:.6rem;font-weight:800;letter-spacing:.06em;border-radius:var(--radius-xs);white-space:nowrap}.references__role--source-of-truth{color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent)}.references__role--reference{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong)}.references__role--project-doc{color:var(--text-dim);background:transparent;border:1px dashed var(--border-strong)}.references__origin{flex:0 0 auto;font-size:.62rem;font-weight:700;color:var(--text-dim)}.references__item-title{margin:0;min-width:0;font-size:.9rem;font-weight:800;line-height:1.45;color:var(--text);overflow-wrap:anywhere}.references__link{display:inline-block;min-width:0;max-width:100%;font-size:.75rem;line-height:1.55;color:var(--text);text-decoration:underline;text-decoration-color:var(--text-dim);text-underline-offset:.18em;word-break:break-all;overflow-wrap:anywhere}.references__link-hint{color:var(--text-dim);word-break:normal}.references__link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:.35rem}.references__fields{margin:0;display:flex;flex-direction:column;gap:.35rem;min-width:0}.references__fields>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.references__fields dt{margin:0;font-size:.63rem;font-weight:800;letter-spacing:.06em;color:var(--text-dim)}.references__fields dd{margin:0;min-width:0;font-size:.77rem;line-height:1.7;color:var(--text-secondary);overflow-wrap:anywhere}.references__footnote{margin:0;padding:0 .25rem .25rem;font-size:.7rem;line-height:1.65;color:var(--text-dim);overflow-wrap:anywhere}@media(max-width:22rem){.references__item,.references__legend,.references__note{padding:.75rem}}.update-banner{position:sticky;top:var(--app-safe-top, 0px);z-index:4;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;min-width:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-md);animation:reveal var(--dur-slow) var(--ease-out)}.update-banner__text{flex:1 1 10rem;min-width:0;margin:0;font-size:clamp(.76rem,3vw,.88rem);font-weight:700;line-height:1.5;color:var(--text)}.update-banner__actions{flex:0 0 auto;display:flex;gap:.4rem}.update-banner__apply,.update-banner__dismiss{min-height:2.75rem;padding:0 1rem;font-size:var(--text-sm);font-weight:650;border-radius:var(--radius-s);cursor:pointer}.update-banner__apply{color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent)}.update-banner__dismiss{color:var(--text-secondary);background:transparent;border:1px solid var(--border-strong)}.update-banner__apply:focus-visible,.update-banner__dismiss:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.menu-toggle{grid-area:menu;display:inline-flex;align-items:center;gap:var(--space-2);min-width:var(--tap);min-height:var(--tap);padding:0 var(--space-3);color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-s);cursor:pointer}.menu-toggle__bars{position:relative;display:inline-block;width:1.125rem;height:.875rem}.menu-toggle__bars span{position:absolute;left:0;width:100%;height:2px;border-radius:1px;background:currentColor;transition:transform .32s var(--ease-spring),opacity var(--dur-base) ease,width .32s var(--ease-spring)}.menu-toggle__bars span:nth-child(1){top:0}.menu-toggle__bars span:nth-child(2){top:calc(50% - 1px);width:70%}.menu-toggle__bars span:nth-child(3){bottom:0}.menu-toggle[data-open=true] .menu-toggle__bars span:nth-child(1){transform:translateY(.375rem) rotate(45deg)}.menu-toggle[data-open=true] .menu-toggle__bars span:nth-child(2){opacity:0;transform:translate(-6px)}.menu-toggle[data-open=true] .menu-toggle__bars span:nth-child(3){transform:translateY(-.375rem) rotate(-45deg)}.menu-toggle__label{font-size:var(--text-2xs);font-weight:800;font-stretch:var(--stretch-label);letter-spacing:.14em}@media(hover:hover){.menu-toggle:hover{border-color:var(--text-dim)}.menu-toggle:hover .menu-toggle__bars span:nth-child(2){width:100%}}@media(max-width:22rem){.menu-toggle__label{display:none}}.app-menu{display:grid;gap:var(--space-2)}.app-menu>*,.app-menu li{animation:menu-item-in .42s var(--ease-out-expo) both;animation-delay:calc(80ms + var(--menu-i, 0) * 35ms)}.app-menu button{width:100%;text-align:left;color:var(--text);background:transparent;border:0;cursor:pointer}.app-menu button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app-menu__home{display:flex;align-items:center;gap:var(--space-3);min-height:3.25rem;padding:0 var(--space-3);font-size:var(--text-base);font-weight:750;border-radius:var(--radius-s)}.app-menu__mark{padding:.12rem .32rem .08rem;border-radius:var(--radius-xs);color:var(--accent-contrast);background:var(--accent);font-weight:800;font-stretch:var(--stretch-numeral)}.app-menu__group{margin:var(--space-3) 0 0;padding:0 var(--space-3);font-size:var(--text-2xs);font-weight:800;letter-spacing:.14em;color:var(--text-dim)}.app-menu__modes,.app-menu__more{display:grid;margin:0;padding:0;list-style:none}.app-menu__modes button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label scope" "sub sub";gap:0 var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-s)}.app-menu__mode-label{grid-area:label;font-size:var(--text-lg);font-weight:800;font-stretch:76%;line-height:1.1}.app-menu__mode-scope{grid-area:scope;align-self:center;font-size:var(--text-sm);font-weight:650;font-stretch:84%;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.app-menu__mode-sub{grid-area:sub;font-size:var(--text-xs);color:var(--text-dim)}.app-menu__more button{display:grid;padding:var(--space-2) var(--space-3);min-height:var(--tap);border-radius:var(--radius-s)}.app-menu__more-label{font-size:var(--text-md);font-weight:700}.app-menu__more-sub{font-size:var(--text-xs);color:var(--text-dim)}.app-menu [aria-current=page]{background:var(--accent-soft)}.app-menu__modes [aria-current=page]:before,.app-menu__more [aria-current=page]:before,.app-menu__home[aria-current=page]:before{content:"";position:absolute;left:0;top:var(--space-3);bottom:var(--space-3);width:3px;border-radius:2px;background:var(--accent)}.app-menu__more button,.app-menu__home{position:relative}@media(hover:hover){.app-menu button:not([aria-current=page]):hover{background:var(--surface-highlight)}}.app-menu__theme{margin-top:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s)}.app-menu__version{margin:var(--space-3) 0 0;padding:0 var(--space-3);font-size:var(--text-2xs);line-height:1.7;color:var(--text-dim)}.app-menu__version span{margin-left:.4rem}@keyframes menu-item-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.breadcrumbs{min-width:0;margin-top:calc(var(--space-2) * -1);overflow-x:auto;scrollbar-width:none}.breadcrumbs::-webkit-scrollbar{display:none}.breadcrumbs__list{display:flex;align-items:center;margin:0;padding:0;list-style:none;white-space:nowrap}.breadcrumbs__item{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:650;font-stretch:var(--stretch-label);letter-spacing:.02em;animation:crumb-in var(--dur-slow) var(--ease-out) both}.breadcrumbs__item+.breadcrumbs__item:before{content:"";flex:0 0 auto;width:.36rem;height:.36rem;margin:0 .55rem 0 .3rem;border-top:1.5px solid var(--text-dim);border-right:1.5px solid var(--text-dim);transform:rotate(45deg)}.breadcrumbs__link,.breadcrumbs__current{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 .3rem;border-radius:var(--radius-xs)}.breadcrumbs__link{position:relative;color:var(--text-secondary);background:none;border:0;cursor:pointer}.breadcrumbs__link:after{content:"";position:absolute;left:.3rem;right:.3rem;bottom:.3rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}@media(hover:hover){.breadcrumbs__link:hover{color:var(--text)}.breadcrumbs__link:hover:after{transform:scaleX(1)}}.breadcrumbs__current{color:var(--text);font-variant-numeric:tabular-nums}@keyframes crumb-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.app{--app-gutter-x: .75rem;--app-gutter-top: .75rem;--app-gutter-bottom: 1.5rem;--app-safe-top: env(safe-area-inset-top, 0px);--app-safe-right: env(safe-area-inset-right, 0px);--app-safe-bottom: env(safe-area-inset-bottom, 0px);--app-safe-left: env(safe-area-inset-left, 0px);min-height:100dvh;width:100%;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--app-gutter-top) var(--app-gutter-x) var(--app-gutter-bottom);padding-top:calc(var(--app-gutter-top) + var(--app-safe-top));padding-right:calc(var(--app-gutter-x) + var(--app-safe-right));padding-bottom:calc(var(--app-gutter-bottom) + var(--app-safe-bottom));padding-left:calc(var(--app-gutter-x) + var(--app-safe-left));max-width:var(--content-max);margin:0 auto}.app__header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title menu" "nav nav";align-items:center;gap:var(--space-2) var(--space-3);min-width:0}.app__title{grid-area:title;display:inline-flex;align-items:center;gap:.15rem;min-width:0;min-height:var(--tap);justify-self:start;padding:0 var(--space-1) 0 0;color:var(--text);background:none;border:0;border-radius:var(--radius-s);cursor:pointer;text-align:left;line-height:1.2}.app__mark{flex:0 0 auto;margin-right:.35rem;padding:.12rem .32rem .08rem;border-radius:var(--radius-xs);color:var(--accent-contrast);background:var(--accent);font-size:1rem;font-weight:800;font-stretch:var(--stretch-numeral);font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.15;animation:mark-flip .7s var(--ease-spring) 80ms both}@keyframes mark-flip{0%{opacity:0;transform:perspective(200px) rotateX(-90deg)}to{opacity:1;transform:none}}.app__name{min-width:0;overflow:hidden;font-size:clamp(.875rem,3.9vw,1rem);font-weight:650;font-stretch:var(--stretch-label);letter-spacing:.005em;text-overflow:ellipsis;white-space:nowrap}.app__nav{position:relative;grid-area:nav;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;min-width:0;background:var(--surface-alt);border:1px solid var(--border);border-radius:calc(var(--radius-s) + 3px);box-shadow:var(--inset-well)}.app__nav-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 12px)/4);border-radius:var(--radius-s);background:var(--accent);box-shadow:var(--shadow-sm);transform:translate(calc(var(--nav-index) * (100% + 2px)));transition:transform .42s var(--ease-spring),opacity var(--dur-base) ease}.app__nav[data-selected=false] .app__nav-thumb{opacity:0;transform:translate(calc(var(--nav-index) * (100% + 2px))) scaleX(.6)}.app__nav button{position:relative;z-index:1;min-width:0;min-height:var(--tap);padding:0 .15rem;overflow:hidden;font-size:clamp(.6875rem,3.3vw,.8125rem);font-weight:700;font-stretch:82%;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim);background:transparent;border:0;border-radius:var(--radius-s);cursor:pointer}.app__nav button[aria-pressed=true]{color:var(--accent-contrast)}@media(hover:hover){.app__nav button:not([aria-pressed=true]):hover{color:var(--text)}.app__title:hover .app__name{color:var(--text-secondary)}}.app__nav button:focus-visible,.menu-toggle:focus-visible,.app__title:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(min-width:64rem){.app__header{grid-template-columns:auto minmax(0,34rem) auto;grid-template-areas:"title nav menu";justify-content:space-between;column-gap:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}}.app__main{position:relative;z-index:0;flex:1;min-width:0}.app__view{animation:view-in .42s var(--ease-out-expo) both}.app__footer{padding-top:var(--space-3);border-top:1px solid var(--border)}.app__footer p{margin:0;font-size:var(--text-2xs);line-height:1.6;color:var(--text-dim)}@font-face{font-family:"Archivo 01AS";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/01ArrangementSupport/assets/archivo-latin-wdth-DY7AcnAa.woff2) format("woff2-variations"),url(/01ArrangementSupport/assets/archivo-latin-wdth-DY7AcnAa.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Archivo 01AS", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--stretch-numeral: 78%;--stretch-label: 92%;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-base: 1rem;--text-lg: 1.1875rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--leading-tight: 1.15;--leading-body: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 3rem;--radius-xs: 3px;--radius-s: 6px;--radius-m: 10px;--tap: 2.75rem;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--content-max: 76rem;--reading-max: 44rem}:root,:root[data-theme=dark]{color-scheme:dark;--background: #15181b;--background-deep: #15181b;--surface: #1c2024;--surface-alt: #111417;--surface-elevated: #23282d;--surface-highlight: #2b3137;--chip: #23282d;--text: #eeece7;--text-secondary: #b5b9be;--text-dim: #8e949b;--border: #2d3338;--border-strong: #434b53;--accent: #eeece7;--accent-hover: #ffffff;--accent-soft: rgba(238, 236, 231, .08);--accent-contrast: #15181b;--success: #6fd6a2;--success-soft: rgba(111, 214, 162, .12);--warning: #e8c46a;--warning-soft: rgba(232, 196, 106, .12);--danger: #f28b85;--danger-soft: rgba(242, 139, 133, .12);--danger-solid: #b3261e;--scrim: rgba(5, 7, 9, .62);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 6px 18px rgba(0, 0, 0, .32);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .42);--inner-highlight: inset 0 1px 0 rgba(255, 255, 255, .04);--inset-well: inset 0 1px 3px rgba(0, 0, 0, .45);--focus-ring: #eeece7;--positive: var(--success);--positive-bg: var(--success-soft);--negative: var(--danger);--warn-bg: var(--danger-soft);--warn-fg: #f6aca7;--caution-bg: var(--warning-soft);--caution-fg: #efd38c;--grade-s-bg: rgba(111, 214, 162, .13);--grade-s-fg: #7fdcac;--grade-a-bg: rgba(132, 182, 245, .13);--grade-a-fg: #97c1f7;--grade-b-bg: rgba(232, 196, 106, .13);--grade-b-fg: #ebcb7b;--grade-c-bg: rgba(242, 139, 133, .13);--grade-c-fg: #f5a19c;--target: #e3a64a;--target-soft: rgba(227, 166, 74, .14);--board-surround: #0d0f11;--board-edge: #3d444b;--board-wire: #b9bec4;--board-number: #eeece7;--segment-dark: #1d1f22;--segment-light: #eee2c4;--segment-red: #cd2c33;--segment-green: #17834a;--highlight-fill: #2a7aa1;--highlight-stroke: #8fd8fb;--focus-fill: #b37a1e}:root[data-theme=light]{color-scheme:light;--background: #e7e9ec;--background-deep: #e7e9ec;--surface: #f6f7f8;--surface-alt: #e0e3e6;--surface-elevated: #ffffff;--surface-highlight: #d6dade;--chip: #ffffff;--text: #15181b;--text-secondary: #444b53;--text-dim: #5b626b;--border: #ccd1d6;--border-strong: #a4abb3;--accent: #15181b;--accent-hover: #2b3036;--accent-soft: rgba(21, 24, 27, .06);--accent-contrast: #f6f7f8;--success: #11704a;--success-soft: rgba(17, 112, 74, .09);--warning: #7d5800;--warning-soft: rgba(176, 125, 0, .11);--danger: #b0271f;--danger-soft: rgba(176, 39, 31, .08);--danger-solid: #a3231c;--scrim: rgba(21, 24, 27, .42);--shadow-sm: 0 1px 2px rgba(21, 24, 27, .08);--shadow-md: 0 6px 18px rgba(21, 24, 27, .08);--shadow-lg: 0 16px 40px rgba(21, 24, 27, .12);--inner-highlight: inset 0 1px 0 rgba(255, 255, 255, .9);--inset-well: inset 0 1px 3px rgba(21, 24, 27, .12);--focus-ring: #15181b;--positive: var(--success);--positive-bg: var(--success-soft);--negative: var(--danger);--warn-bg: var(--danger-soft);--warn-fg: #a3231c;--caution-bg: var(--warning-soft);--caution-fg: #6e4e00;--grade-s-bg: rgba(17, 112, 74, .1);--grade-s-fg: #0f6a45;--grade-a-bg: rgba(31, 95, 184, .1);--grade-a-fg: #1c58ab;--grade-b-bg: rgba(125, 88, 0, .11);--grade-b-fg: #6e4e00;--grade-c-bg: rgba(176, 39, 31, .09);--grade-c-fg: #a3231c;--target: #845000;--target-soft: rgba(176, 112, 10, .12);--board-surround: #1a1d20;--board-edge: #5a626a;--board-wire: #d3d7dc;--board-number: #f6f7f8;--segment-dark: #212428;--segment-light: #f0e5c8;--segment-red: #c82c35;--segment-green: #147c45;--highlight-fill: #237ba8;--highlight-stroke: #b9ebff;--focus-fill: #b37a1e}*{box-sizing:border-box}html,body{margin:0;padding:0;min-width:0}html{background:var(--background)}body{min-height:100dvh;overflow-x:hidden;background:var(--background);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:var(--leading-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-synthesis:none;transition:background-color var(--dur-base) ease,color var(--dur-base) ease}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}button:not(:disabled){transition:color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:not(:disabled):active{transform:scale(.985)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes reveal{0%{opacity:0}to{opacity:1}}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}
