:root{--navy:#0c1524;--navy-2:#16233a;--blue:#0353e9;--blue-soft:#d9e4fb;--ink:#0c1524;--ink-2:#4a556b;--line:#d6dce8;--paper:#fff;--paper-2:#f4f6fa;--num:"Oswald", "Arial Narrow", sans-serif;--ja:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--ja);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;font-size:15px;line-height:1.5}body{flex-direction:column;min-height:100dvh;display:flex}body>*{flex:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}.topbar{padding:calc(var(--safe-top) + 10px) 16px 8px;background:var(--paper);justify-content:space-between;align-items:center;display:flex}.wordmark{font-family:var(--num);letter-spacing:.22em;color:var(--navy);align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.wordmark:before{content:"";background:var(--blue);width:10px;height:18px;display:inline-block;transform:skew(-14deg)}.topbar nav{gap:18px;display:flex}.topbar nav a,.topbar nav button{color:var(--ink-2);border-bottom:2px solid #0000;padding:4px 0;font-size:13px;font-weight:500}.topbar nav a:active,.topbar nav button:active{color:var(--blue)}.stage{background:var(--navy);flex:none;height:56dvh;position:relative;overflow:hidden}.stage video{object-fit:cover;background:var(--navy);width:100%;height:100%;display:block}.stage .guide{color:#fff;text-align:center;background:linear-gradient(#0c152400 40%,#0c1524b3 100%);flex-direction:column;justify-content:flex-end;align-items:center;padding:0 24px 28px;transition:opacity .4s;display:flex;position:absolute;inset:0}.stage .guide[hidden]{display:none}.stage .guide .mark{aspect-ratio:1/2.4;border:1.5px dashed #ffffff8c;width:46%;margin-bottom:18px}.stage .guide p{margin:0;font-size:14px;font-weight:500;line-height:1.7}.stage .guide small{opacity:.75;margin-top:8px;font-size:12px;display:block}.stage .overlay{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.stage .overlay[hidden]{display:none}.stage .overlay p{margin:0;font-size:14px}.stage .overlay.compact{pointer-events:none;justify-content:flex-end;align-items:flex-end;padding:12px}.stage .overlay.compact p{display:none}.stage .overlay.compact .btn{pointer-events:auto;background:#0c1524d9;padding:9px 18px;font-size:13px}.btn{font-family:var(--ja);letter-spacing:.04em;color:#fff;background:var(--blue);padding:13px 26px;font-size:15px;font-weight:700;transform:skew(-8deg)}.btn>span{display:inline-block;transform:skew(8deg)}.btn.ghost{background:0 0;border:1.5px solid #ffffffb3}.btn.dark{background:var(--navy)}.status{color:var(--ink-2);align-items:center;gap:10px;min-height:34px;padding:10px 16px 0;font-size:13px;font-weight:500;display:flex}.status .dot{background:var(--line);width:8px;height:8px;transform:skew(-14deg)}.status[data-state=waiting] .dot{background:var(--blue);animation:1.6s ease-in-out infinite pulse}.status[data-state=swing] .dot{background:var(--blue)}.status[data-state=analysing] .dot{background:var(--navy);animation:.5s ease-in-out infinite pulse}.status[data-state=result] .dot{background:var(--blue)}.status[data-state=error] .dot{background:#c8102e}@keyframes pulse{0%,to{opacity:1;transform:skew(-14deg)scale(1)}50%{opacity:.35;transform:skew(-14deg)scale(.7)}}.board-wrap{padding:10px 0 0;overflow:hidden}.board{background:var(--navy);color:#fff;margin:0 -24px 0 16px;padding:14px 40px 16px 26px;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s;position:relative;transform:skew(-8deg)}.board.enter{animation:.55s cubic-bezier(.2,.8,.2,1) slide-in}@keyframes slide-in{0%{opacity:.4;transform:skew(-8deg)translate(40px)}to{opacity:1;transform:skew(-8deg)translate(0)}}.board:before{content:"";background:var(--blue);width:5px;position:absolute;top:0;bottom:0;left:0}.board .inner{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:0 12px;display:grid;transform:skew(8deg)}.board .cell{flex-direction:column;min-width:0;display:flex}.board .label{font-family:var(--num);letter-spacing:.24em;color:#ffffff9e;margin-bottom:2px;font-size:11px;font-weight:500}.board .value{font-family:var(--num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(30px,9.5vw,40px);font-weight:600;line-height:1}.board .cell.main .value{color:#fff;font-size:clamp(52px,17vw,72px)}.board .unit{font-family:var(--num);letter-spacing:.18em;color:#ffffff9e;margin-top:4px;font-size:11px;font-weight:500}.board .value.empty{color:#ffffff47}.board .foot{font-family:var(--num);letter-spacing:.16em;color:#ffffff9e;border-top:1px solid #ffffff24;justify-content:space-between;margin-top:10px;padding-top:8px;font-size:11px;display:flex;transform:skew(8deg)}.clubs{scrollbar-width:none;scroll-snap-type:x proximity;gap:0;padding:14px 16px 6px;display:flex;overflow-x:auto}.clubs::-webkit-scrollbar{display:none}.clubs button{font-family:var(--num);letter-spacing:.06em;color:var(--ink-2);scroll-snap-align:center;border-bottom:3px solid #0000;flex:none;padding:6px 12px 8px;font-size:17px;font-weight:500}.clubs button[aria-pressed=true]{color:var(--navy);border-bottom-color:var(--blue);font-weight:600}.history{padding:6px 16px calc(var(--safe-bottom) + 14px);scrollbar-width:none;align-items:baseline;gap:14px;display:flex;overflow-x:auto}.history::-webkit-scrollbar{display:none}.history .h-label{font-family:var(--num);letter-spacing:.2em;color:var(--ink-2);flex:none;font-size:11px}.history .h-item{font-family:var(--num);color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;font-size:18px;font-weight:500}.history .h-item.latest{color:var(--blue);font-weight:600}.history .h-empty{color:var(--ink-2);font-size:12px}.sheet{z-index:20;background:#0c152473;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet[hidden]{display:none}.sheet .panel{background:var(--paper);width:100%;padding:18px 20px calc(var(--safe-bottom) + 20px);border-top:4px solid var(--navy);animation:.3s cubic-bezier(.2,.8,.2,1) sheet-up}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet h2{font-family:var(--num);letter-spacing:.22em;color:var(--navy);margin:0 0 14px;font-size:15px;font-weight:600}.sheet .row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.sheet .row .name{font-size:14px;font-weight:500}.seg{border:1.5px solid var(--navy);display:flex}.seg button{font-family:var(--num);letter-spacing:.06em;color:var(--navy);padding:6px 16px;font-size:14px}.seg button[aria-pressed=true]{background:var(--navy);color:#fff}.sheet .close{color:#fff;background:var(--navy);width:100%;margin-top:16px;padding:12px;font-weight:700}.file-row{align-items:center;gap:14px;padding:12px 16px 0;display:flex}.file-row .name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.progress{background:var(--line);height:3px;margin:10px 16px 0}.progress>i{background:var(--blue);width:0%;height:100%;transition:width .2s linear;display:block}.frames{scrollbar-width:none;gap:6px;padding:10px 16px 6px;display:flex;overflow-x:auto}.frames::-webkit-scrollbar{display:none}.frames figure{flex:none;width:72px;margin:0}.frames canvas{border:2px solid #0000;width:72px;height:128px;display:block}.frames figure.impact canvas{border-color:var(--blue)}.frames figcaption{font-family:var(--num);letter-spacing:.12em;color:var(--ink-2);text-align:center;margin-top:3px;font-size:10px}.frames figure.impact figcaption{color:var(--blue);font-weight:600}.note{color:var(--ink-2);padding:4px 16px 0;font-size:12px}@media (min-width:700px){body{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:430px;margin:0 auto}}
