html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--bg:#10151c;--panel:#161d26;--line:#2a3542;--text:#dbe4ee;--muted:#8796a6;--accent:#7fc8ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,PingFang SC,sans-serif}#app{grid-template-rows:auto 1fr auto auto;height:100%;display:grid}header{align-items:baseline;gap:12px;padding:10px 16px;display:flex}header h1{letter-spacing:.01em;white-space:nowrap;margin:0;font-size:17px;font-weight:600}header p{color:var(--muted);margin:0;font-size:13px}header .brand{align-items:baseline;gap:10px;min-width:0;display:flex}.lv-signature{color:var(--muted);opacity:.85;letter-spacing:.02em;white-space:nowrap;font-size:11.5px;text-decoration:none}.lv-signature .lv-mark{color:var(--text);opacity:.8;font-size:13.5px;font-weight:600}.lv-signature:hover,.lv-signature:focus-visible{opacity:1}.has-ic .ic{display:none}.has-ic .ic svg{display:block}header .actions{align-items:center;gap:6px;margin-left:auto;display:flex}header .actions button{white-space:nowrap}@media (min-width:761px) and (max-width:1000px){header p{display:none}}.lang{color:var(--muted);align-items:center;gap:2px;margin-left:4px;display:inline-flex}.lang button{color:var(--muted);border-color:#0000;padding:5px 7px}.lang button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#7fc8ff14;font-weight:600}#toast{z-index:3;border:1px solid var(--accent);color:var(--text);opacity:0;pointer-events:none;background:#161d26f2;border-radius:8px;padding:6px 12px;font-size:13px;transition:opacity .18s,transform .18s;position:absolute;bottom:14px;left:50%;transform:translate(-50%,8px)}#toast.on{opacity:1;transform:translate(-50%)}.joint-labels{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.jl{white-space:nowrap;pointer-events:auto;cursor:default;color:#cfe8ff;text-shadow:0 0 3px #10151c,0 0 3px #10151c,0 0 6px #10151c;margin-top:-5px;padding:0 0 0 9px;font-size:11px;line-height:1;position:absolute;top:0;left:0}.jl:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;left:-3px;box-shadow:0 0 0 1.5px #10151c}.jl-rider{color:#ffd9b8}.jl-rider:before{background:#ffb27a}#about{background:var(--panel);width:min(760px,100vw - 24px);max-height:min(86vh,900px);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:0}#about::backdrop{background:#06090d99}#about .about-head{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:0;padding:12px 18px;display:flex;position:sticky;top:0}#about h2{margin:0;font-size:16px}#about .about-head button{padding:3px 9px;font-size:18px;line-height:1}#about .about-body{padding:4px 18px 18px;font-size:13px;line-height:1.6}#about h3{margin:18px 0 4px;font-size:14px}#about h4{color:var(--accent);margin:12px 0 2px;font-size:12px;font-weight:600}#about ul,#about ol{margin:4px 0;padding-left:20px}#about ol.sources{padding-left:0;list-style:none}#about ol.sources li{margin:3px 0}#about .key{color:var(--muted);font-variant-numeric:tabular-nums}#about .use,#about .muted{color:var(--muted)}#about a{color:var(--accent)}#stage{min-height:0;position:relative}#stage canvas{width:100%;height:100%;display:block}#panel{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;gap:6px;padding:8px 16px 10px;display:flex}.group{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.group .gtitle{white-space:nowrap;color:var(--accent);flex:0 0 150px;font-size:12px;font-weight:600}.group .sub{align-items:center;gap:6px;display:flex}.group .sub:before{content:"";background:var(--line);width:1px;height:18px;margin-right:8px}.playbar{align-items:center;gap:6px;display:flex}.playbar .label{color:var(--muted);margin-left:8px;font-size:12px}#sound{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}#sound .ico{flex:none;width:14px;height:14px}#sound[aria-pressed=false] .on,#sound[aria-pressed=true] .off{display:none}#sound[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.moments{flex-wrap:wrap;align-items:center;gap:4px;margin-left:10px;display:flex}.moments .label{margin-left:0}.moments button.bad{color:#ffb3b3;border-color:#ff8a8a}#moment-mark{z-index:2;pointer-events:none;white-space:nowrap;color:var(--text);border:1px solid var(--accent);background:#161d26eb;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;transform:translate(-100%,-50%)}#moment-mark.bad{color:#ffb3b3;border-color:#ff6b6b}.tabs{display:none}[hidden]{display:none!important}.buttons{flex-wrap:wrap;gap:4px;display:flex}#settings{z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(380px,100vw - 20px);max-height:calc(100vh - 56px);padding:10px 14px 12px;position:fixed;top:46px;right:10px;overflow-y:auto;box-shadow:0 8px 28px #00000080}#settings .set-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}#settings h2{margin:0;font-size:14px}#settings .set-head button{padding:2px 9px;font-size:18px;line-height:1}#settings .set-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 6px;padding:7px 0;display:flex}#settings .set-row>span:first-child{color:var(--muted);flex-basis:100%;font-size:12px}#settings .hint{margin:8px 0 0}button{color:var(--text);border:1px solid var(--line);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:5px 10px;font-size:13px}button:hover{border-color:var(--muted)}button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#7fc8ff14}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button[style*=--dot]:before{content:"";background:var(--dot);vertical-align:0;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.hint{color:var(--muted);margin-left:auto;font-size:12px}.slider{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.slider input{width:120px;accent-color:var(--accent)}#readout{z-index:1;color:var(--text);border:1px solid var(--line);font-variant-numeric:tabular-nums;pointer-events:auto;background:#161d26db;border-radius:8px;min-width:230px;max-width:380px;max-height:calc(100% - 20px);padding:8px 12px;font-size:12px;line-height:1.55;position:absolute;top:10px;right:14px;overflow-y:auto}#readout:empty{display:none}#readout .rbar{justify-content:flex-end;margin:-2px -4px 4px 0;display:flex}#readout .rbar button{color:var(--muted);padding:1px 8px;font-size:11px}#readout.collapsed{width:auto;min-width:0;overflow:hidden}#readout.collapsed .rbar{margin-bottom:2px}#readout.collapsed>:not(.rbar):not(#explain),#readout.collapsed #explain>:not(h2){display:none}#readout.collapsed #explain h2{margin:0;font-size:13px}#readout h2{margin:0 0 4px;font-size:12px;font-weight:600}#bone-card{z-index:5;background:var(--panel);width:260px;color:var(--text);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.45;position:absolute;box-shadow:0 4px 16px #0006}#bone-card h2{margin:0 18px 4px 0;font-size:13px;font-weight:600}#bone-card .joint{color:var(--muted);margin-bottom:4px}#bone-card p{margin:0}#bone-card .x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:16px;position:absolute;top:4px;right:6px}#readout .row+h2,#readout .note+h2{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}#readout h2.bad{color:#ff8a8a}#readout h2.good{color:#7fe0b0}#readout .row{justify-content:space-between;gap:14px;display:flex}#readout .row span:first-child{color:var(--muted)}#readout .note{color:var(--muted);margin-top:4px}#readout .swatch{vertical-align:middle;background:#ffe08a;width:10px;height:2px;margin-right:6px;display:inline-block}#readout .row .worse{color:#ff8a8a}#readout .effect{margin-top:4px}#readout{width:380px}#explain h2{margin:0 0 6px;font-size:14px}#explain h2.ok{color:#7ff0c4}#explain h2.bad{color:#ff8a8a}#explain p{font-variant-numeric:normal;margin:0 0 6px;font-size:13px;line-height:1.55}#explain .lbl{color:var(--muted);font-size:11px;display:block}#explain .key{color:var(--muted);margin-top:8px;font-size:11px}#explain .switched{color:var(--accent);border-left:2px solid var(--accent);background:#7fc8ff0f;margin-bottom:8px;padding:4px 8px;font-size:12px}#data{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}#first-hint{background:#7fc8ff1a;border:1px solid #7fc8ff66;border-radius:6px;align-items:flex-start;gap:10px;margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.5;display:flex}#first-hint button{flex:none;padding:2px 8px;font-size:12px}#data summary{cursor:pointer;color:var(--accent);font-size:12px}#data[open] summary{margin-bottom:6px}#data-circle:empty{display:none}#data-circle{margin-bottom:8px}#data-circle h2{margin:0 0 3px;font-size:12px}#data-circle.wrong h2{color:#ff8a8a}#data-circle.ok h2{color:#7ff0c4}#data-circle .facts{color:var(--muted);margin-top:4px}#readout .tag{color:var(--muted);margin-left:4px;font-size:10px}#readout .ghost-key{vertical-align:middle;background:#9fe6ff;width:10px;height:2px;margin-right:6px;display:inline-block}#readout .line-key{vertical-align:middle;background:#ffb27a;width:10px;height:2px;margin-right:6px;display:inline-block}#muscle-key{z-index:1;max-width:340px;color:var(--text);border:1px solid var(--line);pointer-events:none;background:#161d26db;border-left:4px solid #ff4d3d;border-radius:8px;padding:6px 10px;font-size:12px;line-height:1.5;position:absolute;bottom:10px;left:14px}#muscle-key:empty{display:none}#muscle-key h2{margin:0 0 2px;font-size:12px;font-weight:600}#muscle-key .on{color:#ff8a7d}#muscle-key .note{color:var(--muted);margin-top:3px;font-size:11px}#charts{border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap;gap:8px 36px;padding:8px 16px 6px;display:flex}#footfall{flex:520px;max-width:760px}#charts.jump #footfall{max-width:none}#saddle{flex:420px;max-width:620px}#charts canvas{width:100%;display:block}.ff-head{align-items:center;gap:16px;margin-bottom:4px;font-size:12px;display:flex}.ff-title{color:var(--text);font-weight:600}.ff-legend{color:var(--muted);gap:14px;display:flex}.ff-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}@media (max-width:760px),(max-width:1024px) and (orientation:portrait){html,body{height:auto}#app{flex-direction:column;height:auto;display:flex}#stage{order:1}#panel{order:2}#readout{order:3}#charts{order:4}header{padding:8px 10px;padding-top:max(8px, env(safe-area-inset-top));flex-wrap:wrap;gap:4px 10px}header h1{font-size:16px}header{flex-wrap:nowrap;align-items:center}header .brand{flex-direction:column;align-items:flex-start;gap:0}header p,.lv-signature .lv-studio{display:none}header .actions{gap:4px}header .actions button{padding:4px 8px;font-size:12px}.has-ic{place-items:center;width:34px;height:32px;display:inline-grid;position:relative;padding:0!important}.has-ic .ic{display:block}.has-ic .lbl{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#stage{touch-action:none;height:55vh;min-height:280px}#readout{border-width:1px 0 0;border-radius:0;grid-template-columns:1fr;gap:0;width:auto;min-width:0;max-width:none;margin:0;padding:6px 10px;font-size:11px;line-height:1.4;display:grid;position:static}#readout:empty{display:none}#readout h2{grid-column:1/-1}#readout .rbar{display:none}#readout .row{gap:6px}#readout .note{display:none}#muscle-key{max-width:60%;padding:4px 8px;font-size:11px;top:6px;bottom:auto;left:6px}#muscle-key .note{display:none}#charts{gap:8px;padding:6px 10px}#footfall,#saddle{flex:100%;max-width:none}.ff-head{flex-wrap:wrap;gap:4px 12px}#panel{padding:8px 10px calc(12px + env(safe-area-inset-bottom));gap:8px}.tabs{gap:4px;display:flex}.tabs button{flex:1}#panel[data-tab=horse] .group:not([data-tab=horse]),#panel[data-tab=ride] .group:not([data-tab=ride]),#panel[data-tab=show] .group:not([data-tab=show]),.group .gtitle,.group .sub:before{display:none}.group{width:100%}.buttons{flex-wrap:wrap}.playbar{flex-wrap:wrap;row-gap:6px}.playbar .moments{scrollbar-width:none;flex-wrap:nowrap;width:100%;margin-left:0;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.playbar .moments::-webkit-scrollbar{display:none}.playbar .moments>*{flex:none}button{padding:7px 10px}.slider input{width:150px}.hint{display:none}}@media (min-width:761px) and (max-height:760px){html,body{height:auto}#app{grid-template-rows:auto minmax(340px,calc(100vh - 170px)) auto auto;height:auto;min-height:100vh}#charts{gap:6px 24px;padding-top:6px}#footfall,#saddle{flex:340px}#readout{min-width:0;padding:5px 9px;font-size:11px;line-height:1.4;top:6px;right:8px}#readout .note{display:none}.ff-head{flex-wrap:wrap;gap:4px 10px;font-size:11px}.ff-legend{gap:8px}}@media (min-width:761px) and (min-height:761px) and (max-height:800px){html:has(#charts:not([hidden])){height:auto}html:has(#charts:not([hidden])) body{height:auto}#app:has(#charts:not([hidden])){grid-template-rows:auto 55vh auto auto;height:auto;min-height:100vh}}@media (max-width:480px){#sound-label{display:none}#sound{padding-left:9px;padding-right:9px}}.share{color:var(--muted);font-size:12px}.share.heavy{color:#ffd27a}.share.tooHeavy{color:#ff8a8a}@media (pointer:coarse){.has-ic{min-width:40px;min-height:40px}#readout-toggle{min-height:32px}#data>summary{align-items:center;min-height:32px;display:flex}.lv-signature{margin:-6px 0;padding:6px 0;display:inline-block}}
