:root{--slate:#14201a;--slate-ink:#14201a;--slate-2:#2e3238;--slate-3:#24272c;--slate-4:#1b1d21;--ball:#d7f23a;--ball-dim:#c9e52c;--ball-ink:#5d6d00;--court-blue:#3f5e8c;--court-green:#0f5b3a;--bg:#f4f1ea;--panel:#fbfaf6;--line:#d9d4c7;--line-strong:#b9b3a4;--text:#14201a;--muted:#4f564f;--chip:#ebe7dd;--v-bg:#1d2024;--v-panel:#252930;--v-panel-2:#2c3139;--v-line:#363c45;--v-text:#eceef0;--v-muted:#9aa1ab;--ok:#3f9a5b;--warn:#d99a29;--danger:#d9493f;--info:#3f5e8c;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #14181e0f, 0 4px 16px #14181e0f;--shadow-lg:0 10px 40px #0a0c1047;--font:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;--font-display:var(--font);--font-serif:var(--font);--mono:var(--font)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:14px;line-height:1.6}button,input,select{font:inherit;color:inherit}a{color:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--ball-dim);outline-offset:2px}.brand{color:inherit;align-items:center;gap:10px;min-width:0;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:22px;height:22px}.brand-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-name{letter-spacing:0;white-space:nowrap;font-size:19px;font-weight:700}.brand-name b{font-weight:700}.brand-by{font-family:var(--font-serif);color:#ffffff9e;letter-spacing:.04em;font-size:11.5px}.app-header{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:64px;color:var(--text);padding:0 20px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));box-shadow:0 1px 0 var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.hdr-icon{color:var(--muted)}.app-header.dark .hdr-icon{color:#fffc}.app-header.dark .hdr-icon:hover{background:#ffffff1f}.app-header.dark .user-chip{color:#fffc}.app-header.dark{background:var(--slate-4);color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px #00000040}.header-right{align-items:center;gap:10px;display:flex}.user-chip{color:var(--muted);align-items:center;gap:8px;max-width:280px;font-size:12.5px;display:flex}.user-chip .email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{background:var(--court-green);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.emu-flag{letter-spacing:.06em;color:var(--slate);background:var(--ball);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--chip)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--ball);border-color:var(--ball);color:var(--slate)}.btn-primary:hover{background:var(--ball-dim);border-color:var(--ball-dim)}.btn-ball{background:var(--ball);border-color:var(--ball);color:var(--slate-4)}.btn-ball:hover{background:var(--ball-dim)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:#0000000d}.btn-danger{color:var(--danger)}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-icon{width:36px;padding:0}.btn-sm.btn-icon{width:30px}.btn .ico{flex:none;width:16px;height:16px}.on-dark .btn,.btn.on-dark{color:var(--v-text);background:#ffffff0f;border-color:#ffffff1f}.on-dark .btn:hover{background:#ffffff1f}.on-dark .btn-ball{background:var(--ball);border-color:var(--ball);color:var(--slate-4)}.on-dark .btn-ball:hover{background:var(--ball-dim)}.on-dark .btn-ghost{background:0 0;border-color:#0000}.on-dark .btn.active{color:var(--ball);background:#ddff2429;border-color:#ddff2480}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.badge{letter-spacing:.02em;white-space:nowrap;background:var(--chip);height:22px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.badge.ready{color:#3d6b10;background:#e7f4d0}.badge.processing,.badge.queued{color:var(--court-blue);background:#e3eaf5}.badge.processing .dot{animation:1.2s ease-in-out infinite pulse}.badge.uploading{color:#8a6212;background:#f6efd9}.badge.failed{color:#a8342b;background:#f9e1df}@keyframes pulse{50%{opacity:.25}}.progress{background:var(--chip);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--court-green), var(--ball-dim));border-radius:inherit;height:100%;transition:width .3s;display:block}.progress.indeterminate>span{animation:1.4s ease-in-out infinite indet;width:35%!important}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(300%)}}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.notice.error{color:#8f2b23;background:#fdf1f0;border-color:#efc2bd}.notice.warn{color:#7a5710;background:#fdf7e8;border-color:#efd9a8}.notice.info{color:#2f4a70;background:#f1f5fb;border-color:#cfdaeb}.toast-host{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,460px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--slate-3);color:#fff;box-shadow:var(--shadow-lg);border-left:3px solid var(--ball);border-radius:8px;padding:10px 16px;font-size:13px;animation:.18s ease-out toastIn}.toast.error{border-left-color:var(--danger)}.toast{align-items:center;gap:14px;display:flex}.toast span{flex:1}.toast-action{color:var(--ball);cursor:pointer;background:0 0;border:1px solid #ddff2480;border-radius:6px;flex:none;height:28px;padding:0 12px;font-size:12.5px;font-weight:700}.toast-action:hover{background:#ddff241f}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}.modal-backdrop{z-index:80;background:#0c0e129e;place-items:center;padding:16px;animation:.12s ease-out fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal{background:var(--panel);width:min(480px,100%);color:var(--text);box-shadow:var(--shadow-lg);border-radius:14px;padding:22px 22px 18px}.modal h2{margin:0 0 6px;font-size:17px}.modal p{color:var(--muted);margin:0 0 14px;font-size:13px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--muted);font-size:12.5px;font-weight:600}.input,.select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;width:100%;height:40px;padding:0 12px;font-size:14px}.input:focus,.select:focus{border-color:var(--slate);outline:none;box-shadow:0 0 0 3px #393e4624}.copy-row{gap:8px;display:flex}.copy-row .input{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}.page{max-width:1120px;margin:0 auto;padding:28px 20px 80px}.page-title{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 16px;display:flex}.page-title h1{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:26px;font-weight:700}.page-title .sub{color:var(--muted);font-size:13px}.section-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;margin:28px 0 10px;font-size:12px;font-weight:700;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.center-fill{min-height:calc(100vh - 58px);color:var(--muted);place-items:center;padding:24px;display:grid}.auth{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;align-items:center;gap:18px;padding:40px 20px 32px;display:flex}.auth-brand{color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);padding:30px 28px 24px;box-shadow:0 18px 50px -32px #14201a59}.auth-card h1{margin:0;font-size:24px;line-height:1.35}.auth-sub{color:var(--muted);margin:6px 0 0;font-size:14px}.auth-card>.btn:first-of-type,.auth-google{margin-top:22px}.auth-wide{border-radius:8px;gap:10px;width:100%;height:48px;font-size:15px}.btn-line{border:1.5px solid var(--text);color:var(--text);background:0 0}.btn-line:hover{background:#14201a0d}.g-badge{background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.auth .btn:focus-visible,.auth a:focus-visible{outline:3px solid var(--court-green);outline-offset:2px}.auth .input{background:#fff;height:46px;font-size:16px}.auth .input:focus{border-color:var(--court-green);box-shadow:0 0 0 3px #0f5b3a2e}.auth .input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #d9493f24}.auth .field label{color:var(--text);font-size:13.5px;font-weight:700}.field-error{color:#b3362d;margin:2px 0 0;font-size:13px;font-weight:500}.divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--line-strong);flex:1;height:1px}.auth-help{color:var(--muted);margin:10px 0 0;font-size:12.5px;line-height:1.6}.auth-error{margin-top:16px}.auth-status{color:var(--muted);align-items:center;gap:10px;margin:22px 0 4px;display:flex}.auth-sent{margin-top:18px}.auth-sent-icon{background:var(--ball);width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.auth-sent h2{margin:0 0 6px;font-size:18px}.auth-sent p{color:var(--muted);margin:0 0 16px;font-size:14px}.auth-addr{color:var(--text);word-break:break-all}.auth-invite{color:var(--muted);margin:16px 0 0;font-size:12px}.auth-invite:before{content:"";background:var(--ball-dim);vertical-align:2px;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.auth-dev{color:var(--muted);margin:8px 0 0;font-size:11.5px}.auth-sent .auth-dev{margin:-8px 0 14px}.auth-terms{max-width:420px;color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.7}.auth-terms a,.auth-back{color:var(--text);text-underline-offset:3px;text-decoration:underline}.auth-back{color:var(--muted);font-size:13px;text-decoration:none}.auth-back:hover{color:var(--text)}@media (width<=480px){.auth{gap:14px;padding:22px 16px 24px}.auth-brand{margin-bottom:0}.auth-card{padding:22px 18px 18px}.auth-card h1{font-size:22px}.auth-google{margin-top:18px}.divider{margin:14px 0}}.dropzone{border:1.5px dashed var(--line-strong);background:linear-gradient(var(--panel), var(--panel)) padding-box;cursor:pointer;border-radius:14px;align-items:center;gap:22px;padding:26px 24px;transition:border-color .15s,background .15s;display:flex;position:relative}.dropzone:hover{border-color:var(--slate)}.dropzone.drag{border-color:var(--court-green);background:#f3f9ec}.dropzone .dz-icon{flex:none;width:64px;height:64px}.dropzone .dz-text{flex:1;min-width:0}.dropzone .dz-title{margin:0 0 2px;font-size:16px;font-weight:700}.dropzone .dz-sub{color:var(--muted);margin:0;font-size:12.5px}.upload-items{flex-direction:column;gap:8px;margin-top:12px;display:flex}.upload-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:12px 14px;display:grid}.upload-item .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.upload-item .meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:10px;font-size:12px;display:flex}.upload-item .progress{grid-column:1/-1}.match-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.match-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.match-card.clickable{cursor:pointer}.match-card.clickable:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 2px 4px #14181e14,0 12px 28px #14181e1f}.mc-visual{background:linear-gradient(#34465e,#33463d);height:108px;position:relative;overflow:hidden}.mc-visual .court{position:absolute;inset:0}.mc-visual .mc-thumb{aspect-ratio:16/9;opacity:.85;background-position:50%;background-size:cover;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.mc-visual .mc-shade{background:linear-gradient(#0000 30%,#14161ad9);position:absolute;inset:0}.mc-visual .mc-dur{color:#fff;background:#0000008c;border-radius:4px;padding:1px 6px;font-size:11.5px;position:absolute;top:10px;left:10px}.mc-strip{background:#ffffff1a;border-radius:3px;height:10px;position:absolute;bottom:10px;left:10px;right:10px;overflow:hidden}.mc-strip i{background:var(--ball);min-width:1.5px;position:absolute;top:0;bottom:0}.mc-center{color:#ffffffd9;place-items:center;font-size:12.5px;display:grid;position:absolute;inset:0}.mc-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px;display:flex}.mc-title{text-overflow:ellipsis;-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;margin:0;font-size:14.5px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.mc-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.mc-stats{color:var(--muted);gap:14px;font-size:12px;display:flex}.mc-stats b{color:var(--text);font-size:15px;font-family:var(--font-display);margin-right:2px}.mc-err{color:#a8342b;font-size:12px}.mc-actions{z-index:2;position:absolute;top:8px;right:8px}.mc-menu-btn{color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.mc-menu-btn:hover{background:#000000b3}.menu{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:5;border-radius:8px;min-width:150px;padding:4px;position:absolute;top:32px;right:0}.menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:8px 10px;font-size:13px;display:block}.menu button:hover{background:var(--chip)}.menu button.danger{color:var(--danger)}.empty{border:1px solid var(--line);background:var(--panel);text-align:center;color:var(--muted);border-radius:14px;padding:40px 24px}.empty svg{width:120px;height:72px;margin-bottom:12px}.empty h3{color:var(--text);margin:0 0 4px;font-size:16px}.empty p{margin:0;font-size:13px}.how-steps{text-align:left;grid-template-columns:repeat(3,1fr);gap:12px;max-width:820px;margin:22px auto 0;padding:0;list-style:none;display:grid}.how-steps li{background:var(--bg);border-radius:10px;gap:10px;padding:12px;font-size:12.5px;line-height:1.55;display:flex}.how-steps b{background:var(--slate);width:24px;height:24px;color:var(--ball);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.how-steps strong{color:var(--text);margin-bottom:2px;font-size:13.5px;display:block}@media (width<=720px){.how-steps{grid-template-columns:1fr}}.skeleton{background:linear-gradient(90deg, var(--chip), #f7f8f5, var(--chip));background-size:200% 100%;border-radius:12px;height:220px;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.viewer-shell{background:var(--v-bg);color:var(--v-text);min-height:100dvh}.vshell{background:var(--v-bg);height:100dvh;color:var(--v-text);flex-direction:column;display:flex;overflow:hidden}.viewer-shell .notice,.vshell .notice{background:var(--v-panel);border-color:var(--v-line);color:var(--v-text)}.vshell .notice.error,.viewer-shell .notice.error{color:#ffd2cd;background:#3a2224;border-color:#6b3531}.vshell .notice.warn,.viewer-shell .notice.warn{color:#ffe6a8;background:#3a3220;border-color:#6b5a2c}.vtop{background:var(--slate-4);border-bottom:1px solid var(--v-line);flex:none;align-items:center;gap:10px;height:50px;padding:0 12px;display:flex;position:relative}.vtop:after{content:"";background:var(--ball);width:52px;height:2px;position:absolute;bottom:-1px;left:0}.vtop .home{color:#fff;flex:none;align-items:center;gap:8px;text-decoration:none;display:flex}.vtop .home .brand-mark{width:26px;height:26px}.vtop .home .brand-name{font-size:16px}.vtop .sep{background:var(--v-line);flex:none;width:1px;height:22px}.title-wrap{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.vtitle{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:18px;font-weight:700;overflow:hidden}.vtitle-input{font-family:var(--font-display);background:var(--v-panel);border:1px solid var(--v-line);color:var(--v-text);border-radius:6px;width:100%;max-width:520px;padding:2px 8px;font-size:17px;font-weight:700}.vmeta{color:var(--v-muted);white-space:nowrap;gap:10px;font-size:12px;display:flex}.vactions{flex:none;align-items:center;gap:6px;display:flex}.vtop .avatar{width:26px;height:26px;font-size:12px}.vbanner{flex-direction:column;flex:none;gap:6px;padding:6px 12px 0;display:flex}.save-state{color:var(--v-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.mobile-only{display:none!important}.save-state .dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.save-state.dirty .dot,.save-state.saving .dot{background:var(--warn)}.save-state.error .dot,.save-state.conflict .dot{background:var(--danger)}.vcore{flex-direction:column;flex:1;min-height:0;display:flex}.vpanes{flex:1;grid-template:"list video insp"minmax(0,1fr)"list transport insp""list timeline insp"/clamp(220px,19vw,300px) minmax(0,1fr) clamp(264px,22vw,340px);min-height:0;display:grid}.readonly .vpanes{grid-template-columns:clamp(220px,20vw,320px) minmax(0,1fr);grid-template-areas:"list video""list transport""list timeline"}.pane-list{border-right:1px solid var(--v-line);background:var(--v-panel);grid-area:list;min-height:0;display:flex}.pane-inspector{border-left:1px solid var(--v-line);background:var(--v-panel);grid-area:insp;min-height:0;display:flex}.pane-timeline{grid-area:timeline;min-width:0}.player{background:#000;grid-area:video;min-width:0;min-height:0;position:relative;overflow:hidden}.player video{object-fit:contain;background:#000;width:100%;height:100%;display:block;position:absolute;inset:0}.player .overlay{color:var(--v-muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.player-hud{pointer-events:none;gap:6px;display:flex;position:absolute;top:8px;left:10px}.hud-chip{color:#fff;background:#0009;border-radius:4px;padding:2px 8px;font-size:12px}.hud-chip.rally{color:var(--slate-4);background:#ddff24eb;font-weight:700}.transport{background:var(--slate-3);border-top:1px solid var(--v-line);flex-wrap:wrap;grid-area:transport;align-items:center;gap:10px;min-width:0;padding:6px 12px;display:flex;container-type:inline-size}.tp-rate-select{border:1px solid var(--v-line);background:var(--v-bg);height:26px;color:var(--v-text);font-family:var(--mono);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 4px;font-size:11.5px;display:none}.tp-group{align-items:center;gap:2px;display:flex}.tp-btn{width:32px;height:30px;color:var(--v-text);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.tp-btn:hover{background:#ffffff14}.tp-btn.tp-play{background:var(--ball);width:38px;height:32px;color:var(--slate-4);margin:0 3px}.tp-btn.tp-play:hover{background:var(--ball-dim)}.tp-rates{background:var(--v-bg);border-radius:6px;gap:1px;padding:2px;display:flex}.tp-rates button{color:var(--v-muted);font-family:var(--mono);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:4px;height:24px;padding:0 6px;font-size:11px}.tp-rates button.on{background:var(--court-blue);color:#fff}.tp-spacer{flex:1}.tp-chip{border:1px solid var(--v-line);min-width:30px;height:26px;color:var(--v-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.tp-chip:hover{color:var(--v-text);border-color:#4a515b}.tp-chip.on{color:var(--ball);background:#ddff2424;border-color:#ddff248c}.tp-time{color:var(--v-text);white-space:nowrap;font-size:12.5px}.tp-time span{color:var(--v-muted)}@container (width<=920px){.tp-rates{display:none}.tp-rate-select{display:inline-block}}@container (width<=560px){.tp-btn{width:28px}}.tl-card{background:var(--slate-3);border-top:1px solid var(--v-line);padding:6px 12px 8px}.tl-head{color:var(--v-muted);justify-content:space-between;align-items:center;gap:10px;height:24px;margin-bottom:5px;font-size:11.5px;display:flex}.tl-title{color:var(--v-muted);font-size:11.5px}.tl-head .legend{white-space:nowrap;flex:1;gap:12px;display:flex;overflow:hidden}.tl-head .legend i{border-radius:2px;width:12px;height:8px;margin-right:5px;display:inline-block}.tl-head .btn{height:24px;padding:0 8px;font-size:11.5px}.tl-head .btn-icon{width:26px;padding:0}.tl-overview{cursor:pointer;touch-action:none;border-radius:4px;width:100%;display:block}.tl-detail{cursor:crosshair;touch-action:none;border-radius:4px;width:100%;margin-top:6px;display:block}.tip{pointer-events:none;z-index:60;background:var(--slate-4);border:1px solid var(--v-line);color:var(--v-text);box-shadow:var(--shadow-lg);border-radius:8px;padding:6px;font-size:12px;position:fixed}.tip .thumb{background-color:#000;background-repeat:no-repeat;border-radius:4px;margin-bottom:4px;display:block}.tip .t{font-family:var(--mono);font-variant-numeric:tabular-nums;padding:0 2px}.tip .r{color:var(--ball);padding:0 2px}.rally-panel{flex-direction:column;width:100%;min-height:0;display:flex}.rp-head{border-bottom:1px solid var(--v-line);flex:none;justify-content:space-between;align-items:baseline;padding:10px 12px 8px;display:flex}.rp-head b{font-size:14px}.rp-head span{color:var(--v-muted);font-size:12px}.rally-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:4px;list-style:none;overflow-y:auto}.rally-item{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex;position:relative}.rally-item:hover{background:var(--v-panel-2)}.rally-item.sel{background:#3f5e8c8c;border-color:#8fb6ff59}.rally-item.playing:before{content:"";background:#ff5a4f;border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:0}.ri-status{text-align:center;flex:none;width:16px;font-size:11px}.ri-status.ok{color:var(--ball)}.ri-status.manual{color:#8fb6ff;font-weight:700}.ri-status.del{color:var(--v-muted)}.ri-main{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.ri-top{align-items:center;gap:6px;font-size:13px;display:flex}.ri-dur{color:var(--v-muted);margin-left:auto;font-size:11.5px}.ri-range{color:var(--v-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.rally-item .tag{border:1px solid var(--v-line);color:var(--v-muted);border-radius:3px;padding:0 4px;font-size:10px}.rally-item .tag.edited{color:#ffd98a;border-color:#6b5a2c}.rally-item.deleted .ri-top b,.rally-item.deleted .ri-range{opacity:.55;text-decoration:line-through}.rally-empty{text-align:center;color:var(--v-muted);padding:24px 12px;font-size:12.5px}.rp-foot{border-top:1px solid var(--v-line);flex-direction:column;flex:none;gap:5px;padding:8px 12px 10px;font-size:12px;display:flex}.rp-filters{color:var(--v-muted);flex-wrap:wrap;gap:12px;display:flex}.rp-filters label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.rp-stats{color:var(--v-muted);justify-content:space-between;font-size:11.5px;display:flex}.rp-stats.good{color:#7ed491}.inspector{flex-direction:column;width:100%;min-height:0;display:flex}.ins-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:11px;min-height:0;padding:12px 14px 14px;display:flex;overflow-y:auto}@media (height<=800px) and (width>=901px){.ins-scroll{gap:8px;padding:10px 12px}.ins-note,.ins-dir{display:none}}.ins-header{justify-content:space-between;align-items:center;display:flex}.ins-header h2{font-size:17px;font-family:var(--font-display);margin:0}.ins-status{border-radius:4px;padding:1px 7px;font-size:11px;font-weight:700}.ins-status.ok{color:var(--ball);background:#ddff2424}.ins-status.manual{color:#9fc3ff;background:#8fb6ff29}.ins-status.del{color:var(--v-muted);background:#9aa1ab2e}.ins-meta{grid-template-columns:auto auto auto auto;justify-content:space-between;gap:3px 8px;margin:0;font-size:12.5px;display:grid}.ins-meta dd{white-space:nowrap}.ins-meta dt{color:var(--v-muted);align-self:center;font-size:11.5px;font-weight:700}.ins-meta dd{margin:0}.inspector hr{border:none;border-top:1px solid var(--v-line);margin:0}.ins-sec{flex-direction:column;gap:6px;display:flex}.ins-sec.boxed{background:#ffffff09;border-radius:8px;padding:8px}.ins-sec-head{justify-content:space-between;align-items:baseline;display:flex}.ins-sec-head b{font-size:13px}.lbl-short{display:none}.ins-keys{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#6f7782;white-space:pre;font-size:11px}.ins-row2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ins-btn{border:1px solid var(--v-line);background:var(--v-panel-2);height:32px;color:var(--v-text);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;font-weight:600;display:inline-flex}.ins-btn:hover{background:#353b44;border-color:#4a515b}.ins-btn:active{transform:translateY(1px)}.ins-btn.wide{width:100%}.ins-btn kbd,.ins-check kbd{font-size:10px}.ins-deleted-note{color:#ffd98a;margin:0;font-size:11.5px}.ins-note{color:#6f7782;margin:0;font-size:11px}.ins-dir{color:var(--v-muted);justify-content:space-between;padding:0 2px;font-size:10.5px;display:flex}.ins-steps{align-items:center;gap:3px;display:flex}.ins-steps button{border:1px solid var(--v-line);background:var(--v-panel-2);min-width:0;height:26px;color:var(--v-text);font-family:var(--mono);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:5px;flex:1;padding:0;font-size:11.5px}.ins-steps button:hover{background:#353b44}.ins-steps i{background:var(--v-line);flex:none;width:1px;height:20px;margin:0 3px}.ins-toggles{flex-direction:column;gap:8px;display:flex}.ins-check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.ins-check span{flex:1}.ins-check input{width:15px;height:15px;accent-color:var(--ball-dim)}.ins-empty{text-align:center;color:var(--v-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:220px;display:flex}.ins-empty b{color:var(--v-text);font-size:15px}.ins-empty p{margin:0 0 6px;font-size:12.5px}.ins-foot{border-top:1px solid var(--v-line);flex:none;gap:4px;padding:8px 10px;display:flex}.ins-mini{border:1px solid var(--v-line);height:26px;color:var(--v-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex:1;padding:0 4px;font-size:11.5px}.ins-mini:hover:not(:disabled){color:var(--v-text);background:var(--v-panel-2)}.ins-mini:disabled{opacity:.4;cursor:default}kbd{font-family:var(--mono);font-variant-numeric:tabular-nums;border:1px solid var(--v-line);color:var(--v-muted);background:var(--v-bg);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:10.5px}.statusbar{border-top:1px solid var(--v-line);height:26px;color:var(--v-muted);font-size:11.5px;font-family:var(--mono);font-variant-numeric:tabular-nums;background:#16181b;flex:none;align-items:center;gap:12px;padding:0 12px;display:flex}.sb-msg{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sb-right{white-space:nowrap;align-items:center;gap:12px;display:flex}.keys-table{border-collapse:collapse;width:100%;font-size:13px}.keys-table th{text-align:left;white-space:nowrap;width:1%;padding:5px 12px 5px 0}.keys-table td{color:var(--muted);padding:5px 0}.keys-table tr+tr{border-top:1px solid var(--line)}.keys-table .keys-group th{letter-spacing:.06em;color:var(--muted);border-top:none;padding:12px 0 4px;font-size:11.5px}.keys-table tbody:first-child .keys-group th{padding-top:4px}.modal .keys-table kbd{background:var(--chip);color:var(--text);border-color:var(--line-strong);font-size:11.5px}.state-card{background:var(--v-panel);border:1px solid var(--v-line);text-align:center;border-radius:14px;max-width:560px;margin:8vh auto;padding:28px}.state-card h2{margin:10px 0 6px;font-size:18px}.state-card p{color:var(--v-muted);margin:0 0 16px;font-size:13px}.state-card .progress{background:var(--v-bg);margin:14px 0 6px}.stage-list{text-align:left;flex-direction:column;gap:6px;margin:18px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.stage-list li{color:var(--v-muted);align-items:center;gap:10px;display:flex}.stage-list li .mark{border:1.5px solid var(--v-line);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.stage-list li.done{color:var(--v-text)}.stage-list li.done .mark{background:var(--court-green);border-color:var(--court-green);color:#fff}.stage-list li.cur{color:var(--ball)}.stage-list li.cur .mark{border-color:var(--ball)}.share-banner{color:var(--v-muted);white-space:nowrap;font-size:12px}@media (width<=1180px){.vmeta{display:none}}@media (width<=1080px){.vtop .home .brand-text,.vactions .btn .label{display:none}}@media (width<=900px){.vshell{height:auto;min-height:100dvh;overflow:visible}.vtop{z-index:20;gap:6px;height:48px;padding:0 8px;position:sticky;top:0}.vtop .sep{display:none}.vpanes,.readonly .vpanes{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"video""transport""insp""timeline""list"}.readonly .vpanes{grid-template-areas:"video""transport""timeline""list"}.player{aspect-ratio:16/9;z-index:10;position:sticky;top:48px}.transport{gap:6px;padding:6px 8px}.tp-spacer{display:none}.tp-time{margin-left:auto}.pane-list{border-right:none;border-top:1px solid var(--v-line)}.rally-list{max-height:55vh}.pane-inspector{border-left:none;border-top:1px solid var(--v-line)}.ins-scroll{gap:8px;padding:10px;overflow:visible}.ins-meta{grid-template-columns:repeat(4,auto);justify-content:start;gap:2px 8px;font-size:12px}.ins-dir,.ins-note,.ins-sec.boxed .ins-sec-head .ins-keys,.inspector hr{display:none}.ins-sec,.ins-sec.boxed{background:0 0;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:6px;padding:0;display:grid}.ins-sec-head b{color:var(--v-muted);font-size:11.5px;line-height:1.25}.ins-sec-head .ins-keys,.lbl-long,.pane-inspector kbd{display:none}.lbl-short{display:inline}.ins-steps button,.ins-btn{height:34px}.ins-row2 .ins-btn kbd{display:none}.ins-toggles{flex-direction:row;gap:14px}.ins-check{font-size:12.5px}.ins-check span{flex:none}.ins-check kbd{display:none}.ins-empty{min-height:0;padding:8px 0}.ins-empty svg,.ins-empty p,.statusbar{display:none}.mobile-only{display:inline-flex!important}}@media (width<=600px){.app-header{height:54px;padding:0 12px}.brand-name{font-size:17px}.user-chip .email{display:none}.page{padding:18px 12px 60px}.page-title h1{font-size:22px}.dropzone{text-align:center;flex-direction:column;gap:12px;padding:22px 16px}.match-grid{grid-template-columns:1fr}.vtitle{font-size:16px}.vactions .btn{padding:0 9px}.vtop .avatar,.vtop .emu-flag{display:none}.tp-rates button{padding:0 4px}.tl-head .legend{display:none}}.digest-facts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.digest-facts div{background:var(--chip);border-radius:8px;padding:8px 12px}.digest-facts b{font-family:var(--font-display);font-size:22px;line-height:1.1;display:block}.digest-facts span{color:var(--muted);font-size:11.5px}.digest-note{color:var(--muted);margin:10px 0 0!important;font-size:12px!important}.digest-note.warn{color:#8a6212}.digest-status{margin-top:6px;font-size:12.5px}.digest-done{background:#eef6e3;border:1px solid #cfe3b3;border-radius:8px;margin-top:14px;padding:10px 12px}.digest-done b{color:#3d6b10;margin-right:8px}.digest-done span{color:var(--muted);font-size:12.5px}.btn .dot-live{background:var(--ball);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pulse}.sb-expiry{color:#c9b27a}.step-dots{flex:none;align-items:center;gap:4px;display:inline-flex}.step-dots i{background:var(--chip);border:1px solid var(--line,#0000001f);border-radius:50%;width:6px;height:6px}.step-dots i.done{background:var(--court-green);border-color:var(--court-green)}.step-dots i.cur{background:var(--ball-dim);border-color:var(--court-green);border-radius:999px;width:14px}.notify-ask{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.notify-ask>span{flex:240px}.player .overlay.player-placeholder{text-align:center;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.ph-box{max-width:420px;color:var(--v-text,#e8eae6);flex-direction:column;align-items:center;gap:10px;font-size:14px;display:flex}.ph-box p{margin:0}.ph-box .ph-sub{color:var(--v-muted,#9aa09a);font-size:12px}.sb-proxy{color:var(--ball,#ddff24);align-items:center;gap:6px;display:inline-flex}.sb-proxy.failed{color:#ffb4ad}.mc-proxy{color:var(--muted);margin-top:4px;font-size:12px}
