:root{--bg:#0f172a;--panel:#1e293b;--line:#334155;--txt:#e2e8f0;--dim:#94a3b8;--acc:#0e7490;--acc2:#7dd3fc}body{background:var(--bg);color:var(--txt);margin:0;font-family:-apple-system,sans-serif}button{font-family:inherit}#home{max-width:1100px;margin:0 auto;padding:34px 40px}#home h1{color:var(--acc2);margin:0 0 6px;font-size:20px}#home .sub{color:var(--dim);margin-bottom:22px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:14px;padding:18px 20px}.card:hover{border-color:var(--acc)}.card h3{word-break:break-all;margin:0 0 8px;font-size:15px}.badge{vertical-align:2px;border-radius:9px;margin-left:8px;padding:2px 9px;font-size:11px}.badge.live{background:#7f1d1d}.badge.done{background:#14532d}.badge.dev{background:#b45309}.card .stats{color:var(--dim);font-size:12.5px;line-height:1.8}#app{height:100vh;display:flex}#list{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;width:330px;display:flex;overflow-y:auto}#listHead{padding:12px 16px 8px}#back{color:var(--acc2);cursor:pointer;margin-bottom:6px;font-size:12.5px;display:inline-block}#gameTitle{word-break:break-all;font-size:14px;font-weight:700}#counts{color:var(--dim);padding:0 16px 10px;font-size:12px}#rows{flex:1;overflow-y:auto}.it{cursor:pointer;border-bottom:1px solid #263449;padding:9px 16px;font-size:12.5px}.it:hover{background:#263449}.it.sel{background:var(--acc)}.it .t{color:var(--dim);font-size:11px}.it .st{float:right;border-radius:9px;padding:1px 7px;font-size:10.5px}.st.pending{background:#854d0e}.st.hold{background:#7f1d1d}.st.stale{background:#9d174d}.st.accepted,.st.relabeled,.st.non_shot{background:#14532d}.st.escalated{background:#5b21b6}.st.proposed{background:#155e75}#main{flex:1;padding:18px 28px 90px;overflow-y:auto}#title{margin:0 0 12px;font-size:16px}video{background:#000;border-radius:10px;width:100%;max-width:960px}#tl{max-width:960px;margin:10px 0 4px}#tlbar{cursor:pointer;background:#1e293b;border-radius:7px;height:34px;position:relative;overflow:hidden}.seg{color:#fff9;white-space:nowrap;justify-content:center;align-items:center;font-size:10.5px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.seg.swing{background:#b91c1c}.seg.ball_tracking{background:#b45309}.seg.preparation{background:#475569}.seg.reaction{background:#047857}.seg.other{background:#334155}#playhead{pointer-events:none;background:#fff;width:2px;position:absolute;top:0;bottom:0}#tlLegend{color:var(--dim);margin-top:4px;font-size:11px}#tlLegend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin:0 4px 0 10px;display:inline-block}#actions{gap:8px;max-width:960px;margin:12px 0;display:flex}#actions button{color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:13.5px}#actions .b1{background:#15803d}#actions .b3{background:#475569}#actions .bh{background:#7f1d1d}#actions .be{background:#5b21b6}#fields{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:960px;margin:10px 0;padding:10px 14px}#fields .frow{align-items:center;margin:2px 22px 2px 0;display:inline-flex}#fields label{color:var(--dim);margin-right:7px;font-size:12px}#fields input{border:1px solid var(--line);background:var(--bg);width:120px;color:var(--txt);border-radius:7px;padding:5px 8px;font-size:13px}#fields input.num{width:54px}#fields input.edited{color:#fbbf24;border-color:#fbbf24}#fields .orig{color:var(--dim);cursor:pointer;margin-left:6px;font-size:11px}#fields .hint{color:var(--dim);margin-top:6px;font-size:11px}#vctl{max-width:960px;color:var(--dim);margin:6px 0 0;font-size:12px}#vctl button{color:var(--txt);cursor:pointer;background:#263449;border:none;border-radius:6px;margin-right:5px;padding:3px 9px;font-size:12px}#vctl button.on{background:var(--acc)}#tags{max-width:960px;margin:12px 0 6px}#tags .tag{color:#bae6fd;background:#263449;border-radius:20px;margin:0 6px 6px 0;padding:3px 12px;font-size:11.5px;display:inline-block}#ctx{color:#cbd5e1;background:var(--panel);border-left:3px solid var(--acc);border-radius:0 8px 8px 0;max-width:960px;margin:6px 0 24px;padding:10px 14px;font-size:13px;line-height:1.75}#ctx .lb{color:var(--dim);margin-bottom:3px;font-size:11.5px;display:block}#keys{background:var(--panel);color:var(--dim);border-top:1px solid var(--line);padding:8px 24px;font-size:12px;position:fixed;bottom:0;left:330px;right:0}#keys b{color:var(--acc2)}#login{z-index:10;background:#0f172af2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#login .box{background:var(--panel);border-radius:14px;width:300px;padding:34px 38px}#login h2{color:var(--acc2);margin:0 0 18px;font-size:17px}#login input{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--txt);border-radius:8px;margin-bottom:10px;padding:9px 11px;font-size:14px}#login button{background:var(--acc);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:9px;font-size:14px}#login .err{color:#f87171;min-height:16px;margin-bottom:6px;font-size:12px}#who{color:var(--dim);z-index:5;font-size:12px;position:fixed;top:10px;right:16px}#who span{cursor:pointer;color:var(--acc2);margin-left:8px}#toast{background:var(--acc);z-index:20;border-radius:8px;padding:8px 16px;font-size:13px;position:fixed;top:14px;right:18px}
