.wrap{max-width:820px}.stage{padding:14px}.turnbar{--tb-msg-lines:2;--tb-st-lines:1;--tb-rt:0}.message{margin:0;height:calc(var(--tb-msg-lines)*28px);min-height:calc(var(--tb-msg-lines)*28px);line-height:28px}.status{font-weight:700}#table{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.scores{display:flex;gap:12px;justify-content:space-between;margin:8px 0;font-variant-numeric:tabular-nums}.meter{position:relative;height:30px;background:var(--accent-soft);border:1px solid var(--line-strong);margin:10px 0;overflow:hidden}.target{position:absolute;left:75%;width:10%;height:100%;background:var(--ok);opacity:.55}.meter.flight .target{left:86%;width:8%}.marker{position:absolute;top:0;width:4px;height:100%;background:var(--ink)}.actions,.utility{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}#action{flex:1;min-width:150px}.detail{min-height:92px;margin:10px 0;font-variant-numeric:tabular-nums}.field{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.field select{min-height:44px;max-width:65%}.ad-gap{height:160px}.howto img{width:100%;height:auto}.howto{margin:24px 0}.article table{width:100%;border-collapse:collapse}.article td,.article th{padding:8px;border:1px solid var(--line)}@media(max-width:480px){.stage{padding:10px}.turnbar{--tb-msg-lines:3}.scores{font-size:14px}.utility .btn{padding-inline:10px}.detail{font-size:14px;min-height:100px}}
.wrap{max-width:720px}.ski-quality{max-width:640px;margin-inline:auto}.ski-quality .turnbar{--tb-msg-lines:2;--tb-st-lines:1}.ski-quality .message{height:56px;min-height:56px;font-size:15px;line-height:28px}.ski-quality .scores{display:block;margin:8px 0}.ski-score-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.ski-score-table th,.ski-score-table td{padding:4px;text-align:center;border-bottom:1px solid var(--line)}.ski-score-table th:first-child{text-align:left}.ski-score-table .current th{border-left:4px solid var(--accent)}
#ski-steps{display:flex;gap:8px;margin:8px 0;font-size:14px}#ski-steps>span{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:6px;padding:4px 0}#ski-steps b{font-size:14px}#ski-steps svg{width:36px;height:28px}#ski-steps .current{border:2px solid var(--accent);padding:3px 0;background:var(--accent-soft);font-weight:700}.ski-scene{position:relative}.ski-direct{position:absolute;inset:0;width:100%;border:0;border-radius:6px;background:transparent;cursor:pointer;touch-action:pan-y;outline-offset:-4px}.ski-direct:focus-visible,.ski-direct.armed{outline:3px solid var(--accent)}.ski-direct:disabled{cursor:default}.ski-quality[data-phase=paused] .ski-scene::after{content:'Ⅱ';position:absolute;right:12px;top:12px;background:var(--surface);color:var(--ink);padding:6px 12px;border:1px solid var(--line-strong);border-radius:6px;pointer-events:none}
.ski-quality .meter{height:36px;margin:4px 0 8px;border-radius:6px}.ski-quality .target{opacity:1;background:var(--ok);border:2px solid var(--ink);background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.3) 6px 8px)}.ski-quality .marker{width:5px;border:1px solid var(--surface);background:var(--ink);margin-left:-2px}.ski-quality #ski-meter-label{font-size:14px;min-height:20px;font-weight:700}.ski-quality .actions{margin:8px 0}.ski-quality #pause{min-width:88px}.ski-quality #action{min-height:48px}.ski-quality .utility{margin:8px 0 0;font-size:14px}.ski-quality #ski-result{border:1px solid var(--line);border-radius:6px;padding:10px;margin:8px 0;font-size:16px}.ski-quality #ski-result p{margin:4px 0}.ski-sum{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:6px 0;font-size:14px}.ski-sum span{display:flex;flex-direction:column;text-align:center}.ski-sum b{font-size:20px}.ski-sum i{font-style:normal}.ski-judges{display:flex;gap:6px;align-items:center;font-size:14px}.ski-judges>span:not(:first-child){flex:1;text-align:center}.ski-judges .discard{text-decoration:line-through;color:var(--ink-sub)}#ski-result small{display:block;font-size:14px;margin-top:4px}.ski-outcome.land{color:var(--ok)}.ski-outcome.fall{color:var(--ng)}
#setup select{font:inherit;font-size:16px;min-height:44px;min-width:140px;padding:8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink)}#setup select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.howto{max-width:420px;margin-inline:auto}.guide-picture{position:relative}.guide-picture img{display:block;width:100%;height:auto}.guide-picture>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.howto figcaption{font-size:16px;line-height:1.6;margin-top:8px}
@keyframes ski-flash{from{box-shadow:inset 0 0 0 4px var(--accent)}to{box-shadow:inset 0 0 0 0 transparent}}.ski-quality[data-effect=jump] .ski-scene,.ski-quality[data-effect=land] #ski-result,.ski-quality[data-effect=fall] #ski-result{animation:ski-flash 180ms ease-out}@media(prefers-reduced-motion:reduce){.ski-quality [id]{animation:none!important}}@media(max-width:480px){.ski-quality .message{font-size:14px}.ski-quality .utility .btn{font-size:16px}.ski-quality #ski-steps>span{gap:2px}.ski-quality #ski-steps svg{width:24px}.field{align-items:center}}
.ski-quality .status{min-height:28px}.ski-quality .message{height:42px;min-height:42px;line-height:21px}.ski-quality .ski-scene{max-width:520px;margin-inline:auto}@media(min-width:641px){.ski-quality[data-phase=result] .ski-scene,.ski-quality[data-phase=done] .ski-scene{max-width:380px}}
