:root{--bg: #080e1a;--surface: #0d1628;--surface2: #111e35;--border: rgba(100, 140, 200, .18);--text: #e2e8f0;--muted: #64748b;--accent: #3b82f6;--win: #22c55e;--loss: #ef4444;--warn: #f59e0b;--sidebar-w: 300px;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px)}*{box-sizing:border-box;margin:0;padding:0}html{position:fixed;width:100%;height:100%;overflow:hidden}body{width:100%;height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}#root{width:100%;height:100%;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app{display:flex;width:100%;height:100%;overflow:hidden;position:relative}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0;min-height:0;padding-top:var(--sat);padding-bottom:var(--sab)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:100;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .24s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 14px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-title{font-weight:800;font-size:15px;letter-spacing:-.02em}.close-btn{width:32px;height:32px;border-radius:8px;background:#ffffff0f;display:grid;place-items:center;font-size:14px}.close-btn:hover{background:#ffffff1f}.sidebar-copyright{padding:10px 16px 12px;font-size:10px;color:var(--muted);opacity:.5;text-align:center;border-top:1px solid var(--border);margin-top:auto;flex-shrink:0}.sidebar-inner{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-tabs button{flex:1;padding:10px 6px;font-size:12px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;transition:color .16s,border-color .16s}.sidebar-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-section{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.section-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hint{font-size:12px;color:var(--muted);line-height:1.5}.btn-full{width:100%;padding:10px;border-radius:10px;font-weight:700;font-size:13px;border:1px solid var(--border);background:#ffffff0d;transition:background .16s}.btn-full:hover{background:#ffffff1a}.btn-full.primary{background:#3b82f633;border-color:#3b82f680;color:#93c5fd}.btn-full.primary:hover{background:#3b82f64d}.input-group{display:flex;flex-direction:column;gap:6px}.sidebar-input{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border);background:#ffffff0d;font-size:13px;outline:none;transition:border-color .16s}.sidebar-input:focus{border-color:#3b82f699}.match-row{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;transition:background .16s,border-color .16s}.match-row.active{border-color:#3b82f680;background:#3b82f614}.match-row:hover{background:#ffffff0f}.match-info{flex:1;cursor:pointer}.match-name{font-weight:700;font-size:13px}.match-record{font-size:12px;color:var(--muted);display:flex;gap:4px;align-items:center;margin-top:2px}.match-record .win{color:var(--win);font-weight:700}.match-record .loss{color:var(--loss);font-weight:700}.del-btn{padding:6px 9px;border-radius:8px;font-size:14px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171;flex-shrink:0}.del-btn:hover{background:#ef444440}.team-list{display:flex;flex-direction:column;gap:6px}.team-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:9px;border:1px solid var(--border);background:#ffffff08}.team-name{font-weight:700;font-size:13px}.team-div{font-size:11px;color:var(--muted)}.menu-btn{position:absolute;top:calc(10px + var(--sat));left:10px;width:42px;height:42px;border-radius:12px;background:#ffffff12;border:1px solid var(--border);font-size:18px;display:grid;place-items:center;z-index:50;transition:background .16s}.menu-btn:hover{background:#ffffff24}.topbar{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 60px;flex-wrap:wrap;overflow-x:auto;border-bottom:1px solid var(--border);flex-shrink:0;flex-basis:auto;background:var(--surface);-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar::-webkit-scrollbar{display:none}.topbar-left{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.topbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.team-input,.team-select{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;font-size:13px;font-weight:600;outline:none;min-width:160px;transition:border-color .16s}.team-input:focus,.team-select:focus{border-color:#3b82f699}.team-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.team-display{font-weight:800;font-size:15px;letter-spacing:-.02em}.record-badge{display:flex;align-items:center;gap:3px;padding:5px 10px;border-radius:20px;background:#ffffff0d;border:1px solid var(--border);font-size:13px;font-weight:800;white-space:nowrap}.record-badge .w{color:var(--win)}.record-badge .l{color:var(--loss)}.record-badge .sep{color:var(--muted)}.viewing-tag{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-left:4px}.tb-btn{padding:8px 13px;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;font-size:13px;font-weight:700;white-space:nowrap;transition:background .16s,border-color .16s}.tb-btn:hover{background:#ffffff1f}.tb-btn:disabled{opacity:.38;pointer-events:none}.tb-btn.win{background:#22c55e26;border-color:#22c55e66;color:#86efac}.tb-btn.win:hover{background:#22c55e47}.tb-btn.win:disabled{opacity:.35}.tb-btn.loss{background:#ef444426;border-color:#ef444466;color:#fca5a5}.tb-btn.loss:hover{background:#ef444447}.tb-btn.loss:disabled{opacity:.35}.tb-btn.np{background:#94a3b826;border-color:#94a3b866;color:#cbd5e1}.tb-btn.np:hover{background:#94a3b847}.tb-btn.np:disabled{opacity:.35}.point-btns{display:flex;gap:4px}.np{color:#94a3b8}.np-badge{color:#94a3b8;font-size:11px}.tb-btn.end{background:#3b82f626;border-color:#3b82f666;color:#93c5fd}.tb-btn.end:hover{background:#3b82f647}.tb-btn.end:disabled{opacity:.35}.field-outer{flex:1 1 0;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#060e1a}.field-outer>.field-canvas{flex:none;max-width:100%;max-height:100%;width:auto;height:100%}.field-content{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.zoom-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px;z-index:30}.zoom-btn{width:34px;height:34px;border-radius:10px;background:#0d1628d9;border:1px solid var(--border);color:var(--text);font-size:18px;font-weight:700;display:grid;place-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .14s;line-height:1}.zoom-btn:hover:not(:disabled){background:#1e3250e6}.zoom-btn:disabled{opacity:.3}.zoom-btn.zoom-reset{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:-.03em}.zoom-btn.zoom-lock-btn{font-size:15px}.zoom-btn.zoom-lock-btn.locked{background:#3b82f640;border-color:#3b82f699}.field-canvas{position:relative;width:100%;height:100%;overflow:hidden;background:#ffffff05;user-select:none;-webkit-user-select:none}.field-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;draggable:false}.field-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px;padding:24px;pointer-events:none}.field-empty-icon{font-size:48px;opacity:.6;margin-bottom:4px}.field-empty-title{font-size:18px;font-weight:700;color:var(--text);opacity:.85;margin-bottom:4px}.field-empty-steps{display:flex;flex-direction:column;gap:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px 20px;max-width:320px;width:100%;text-align:left}.field-empty-step{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#ffffffb3;line-height:1.4}.field-empty-num{background:var(--red, #C8102E);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.field-empty-sub{font-size:11px;color:var(--muted);opacity:.6}.heatmap-svg,.paths-svg,.overlay-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.field-marker{position:absolute;transform:translate(-50%,-50%);background:var(--marker-color, #60a5fa);color:#000;border-radius:6px;padding:2px 5px;font-size:9px;font-weight:900;display:flex;align-items:center;gap:3px;pointer-events:none;box-shadow:0 1px 5px #00000080,0 0 0 1.5px #ffffff4d;white-space:nowrap;z-index:20}.marker-name{opacity:.9}.marker-segs{background:#00000080;color:#fff;border-radius:3px;padding:0 3px;font-size:8px;font-weight:900;height:12px;display:grid;place-items:center}.marker-dir{background:#00000059;color:#fff;border-radius:3px;width:12px;height:12px;display:grid;place-items:center;font-size:8px;font-weight:900}.bar-controls-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.mode-toggle{display:flex;gap:4px;flex-shrink:0}.mode-btn{padding:6px 11px;border-radius:9px;border:1.5px solid var(--border);background:#ffffff0a;font-size:11px;font-weight:800;color:var(--muted);transition:all .16s;white-space:nowrap}.mode-btn:hover{border-color:#ffffff4d;color:var(--text)}.mode-btn.active.move{background:#3b82f62e;border-color:#3b82f699;color:#93c5fd}.mode-btn.active.shoot{background:#ef44442e;border-color:#ef44448c;color:#fca5a5}.shotoff-btn{position:absolute;top:-6px;left:-6px;width:18px;height:18px;border-radius:50%;background:#ef444426;border:1.5px solid rgba(239,68,68,.4);color:#fca5a5;font-size:10px;display:grid;place-items:center;font-weight:900;z-index:11;transition:all .16s}.shotoff-btn:hover,.shotoff-btn.active{background:#ef4444;border-color:#ef4444;color:#fff}.player-slot.shot-off .player-btn.eliminated{background:#ef44441f;border-color:#ef444473;color:#fca5a5;opacity:.85}.shot-off-marker{opacity:.75}.seg-count{background:#ffffff26!important}.bottom-bars{display:flex;flex-direction:column;flex-shrink:0;border-top:1px solid var(--border);background:var(--surface)}.kill-bar{display:flex;align-items:center;gap:6px;padding:5px 10px 6px;border-top:1px solid var(--border);flex-shrink:0}.kill-bar-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0;white-space:nowrap}.kill-slots{display:flex;flex-direction:row;gap:5px;flex:1}.kill-slot{position:relative;display:flex;align-items:center;gap:2px}.kill-btn{height:28px;padding:0 8px;border-radius:7px;border:1.5px solid rgba(34,197,94,.3);background:#22c55e12;display:flex;align-items:center;justify-content:center;gap:3px;transition:all .16s;flex-shrink:0;white-space:nowrap}.kill-btn:hover{background:#22c55e2e;border-color:#22c55e99}.kill-btn.active{background:#22c55e40;border-color:#22c55e;box-shadow:0 0 8px #22c55e4d}.kill-btn.placed{background:#22c55e33;border-color:#22c55eb3}.kill-btn.placed.active{box-shadow:0 0 10px #22c55e66}.kill-x{font-size:9px;font-weight:900;color:#22c55e;line-height:1}.kill-num{font-size:10px;font-weight:900;color:#86efac;line-height:1}.kill-remove{width:14px;height:14px;border-radius:4px;background:#ffffff14;border:1px solid var(--border);color:var(--muted);font-size:11px;display:grid;place-items:center;transition:all .14s;line-height:1;flex-shrink:0}.kill-remove:hover{background:#ef444433;border-color:#ef444480;color:#fca5a5}.kill-hint{font-size:9px;color:var(--muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.kill-marker{position:absolute;transform:translate(-50%,-50%);background:#16a34ad9;border:1.5px solid #22c55e;border-radius:6px;padding:2px 5px;display:flex;align-items:center;gap:2px;pointer-events:none;z-index:20;box-shadow:0 1px 5px #0006,0 0 8px #22c55e4d}.kill-marker-x{font-size:9px;font-weight:900;color:#fff;line-height:1}.kill-marker-num{font-size:9px;font-weight:900;color:#bbf7d0;line-height:1}.player-bar{flex:1;min-width:0;flex-shrink:1;background:var(--surface);padding:6px 10px 8px;display:flex;flex-direction:column;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;gap:5px;position:relative;z-index:10}.bar-controls-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.input-mode-toggle{display:flex;gap:4px;align-items:center;margin-left:auto}.input-mode-btn{width:28px;height:28px;border-radius:7px;border:.5px solid var(--border);background:#ffffff0a;font-size:14px;display:grid;place-items:center;transition:all .14s;cursor:pointer}.input-mode-btn:hover{border-color:#ffffff40;background:#ffffff14}.input-mode-btn.active{background:#3b82f633;border-color:#3b82f699;border-width:1.5px}.input-mode-btn.active.quick{background:#eab30833;border-color:#eab30899}.input-mode-btn.active.draw{background:#a855f733;border-color:#a855f799}.quick-place-counter{font-size:10px;font-weight:700;color:#fbbf24;background:#eab3081f;border:.5px solid rgba(234,179,8,.3);border-radius:6px;padding:3px 7px;white-space:nowrap}.player-row{display:flex;gap:6px;flex-wrap:wrap}.player-slot{position:relative;display:flex;align-items:center}.player-btn{height:37px;padding:0 8px;border-radius:10px;border:1.5px solid var(--border);background:#ffffff0a;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .16s;flex:1;min-width:0;overflow:hidden}.player-btn:hover{border-color:#ffffff4d;background:#ffffff14}.player-btn.active{border-color:var(--accent);background:#3b82f62e;color:#93c5fd;box-shadow:0 0 12px #3b82f640}.player-btn.placed{border-color:color-mix(in srgb,var(--dir-color, #60a5fa) 60%,transparent);background:color-mix(in srgb,var(--dir-color, #60a5fa) 12%,transparent)}.player-btn.active.placed{border-color:var(--dir-color, #60a5fa);background:color-mix(in srgb,var(--dir-color, #60a5fa) 22%,transparent)}.player-name{max-width:55px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placed-badge{width:18px;height:18px;border-radius:5px;background:#0006;display:grid;place-items:center;font-size:10px;font-weight:900;flex-shrink:0}.remove-btn{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--loss);color:#fff;font-size:11px;display:grid;place-items:center;font-weight:900;z-index:10;border:1.5px solid var(--bg)}.bar-hint{font-size:11px;color:var(--muted);text-align:center}.lane-badge{display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:700;margin-left:3px;background:#0000004d;border-radius:3px;padding:1px 3px}.lane-sep{color:var(--muted)}.depth-badge-text{color:#94a3b8}.marker-lane-badge{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1px;font-size:8px;font-weight:800;background:#000000bf;border-radius:3px;padding:1px 3px;white-space:nowrap;pointer-events:none;letter-spacing:.02em}.player-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.lane-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.lane-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px;z-index:100;min-width:160px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:8px}.lane-menu-section{display:flex;flex-direction:column;gap:4px}.lane-menu-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.lane-menu-row{display:flex;gap:6px}.lane-opt{flex:1;padding:6px 4px;border-radius:6px;border:1.5px solid var(--border);background:#ffffff0a;color:var(--text);font-size:12px;font-weight:700;cursor:pointer;transition:all .14s}.lane-opt:hover{background:#ffffff1a}.lane-opt.selected{border-color:var(--lane-color, #fff);background:color-mix(in srgb,var(--lane-color, #fff) 20%,transparent);color:var(--lane-color, #fff)}.depth-opt.selected{border-color:#94a3b8;background:#94a3b826;color:#cbd5e1}.lane-menu-action-btn{width:100%;padding:8px 12px;border-radius:8px;border:1.5px solid var(--border);background:#ffffff0a;color:var(--text);font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:all .14s;margin-bottom:4px}.lane-menu-action-btn:hover{background:#ffffff1a}.lane-menu-action-btn.burned{border-color:#ef444466;color:#fca5a5;background:#ef444414}.lane-menu-action-btn.burned:hover{background:#ef44442e}.lane-menu-action-btn.burned-active{border-color:#22c55e66;color:#86efac;background:#22c55e14}.lane-menu-action-btn.remove{border-color:#94a3b84d;color:var(--muted)}.lane-menu-action-btn.remove:hover{background:#ef44441f;border-color:#ef444466;color:#fca5a5}.lane-menu-close{width:100%;padding:5px;border-radius:6px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);font-size:11px;cursor:pointer;margin-top:2px}.lane-menu-close:hover{background:#ffffff14;color:var(--text)}.point-reviewer{flex-shrink:0;flex-basis:auto;background:var(--surface);border-top:1px solid var(--border);padding:7px 10px 6px;display:flex;align-items:center;gap:8px;min-height:0}.pr-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0}.pr-chips{display:flex;gap:5px;overflow-x:auto;flex:1;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pr-chips::-webkit-scrollbar{display:none}.pr-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;border:1.5px solid var(--border);background:#ffffff0a;transition:all .16s;gap:1px}.pr-chip:hover{background:#ffffff1a;border-color:#ffffff4d}.pr-chip.win.active{background:#22c55e33;border-color:#22c55eb3;box-shadow:0 0 10px #22c55e40}.pr-chip.loss.active{background:#ef444433;border-color:#ef4444b3;box-shadow:0 0 10px #ef444440}.pr-chip.win:not(.active){border-color:#22c55e4d}.pr-chip.loss:not(.active){border-color:#ef44444d}.pr-chip.np.active{background:#94a3b833;border-color:#94a3b8b3;box-shadow:0 0 10px #94a3b833}.pr-chip.np:not(.active){border-color:#94a3b84d}.pr-chip.np .pr-result{color:#94a3b8;font-size:9px}.pr-chip-overview{border-color:#22c55e66!important;background:#22c55e14!important;margin-left:6px;position:relative}.pr-chip-overview:before{content:"";position:absolute;left:-9px;top:20%;height:60%;width:1px;background:var(--border)}.pr-chip-overview .pr-num{color:#22c55e}.pr-chip-overview .pr-result{color:#86efac}.pr-chip-overview.active{background:#22c55e40!important;border-color:#22c55e!important;box-shadow:0 0 10px #22c55e4d}.pr-current.overview{color:#86efac}.ai-report-panel{flex-shrink:0;padding:8px 12px 10px;border-top:1px solid var(--border);background:var(--surface)}.ai-report-btn{width:100%;padding:8px 12px;border-radius:10px;border:1.5px solid rgba(34,197,94,.4);background:#22c55e1a;color:#86efac;font-size:12px;font-weight:700;letter-spacing:.03em;transition:all .16s}.ai-report-btn:hover:not(:disabled){background:#22c55e33;border-color:#22c55e}.ai-report-btn.loading{opacity:.6;cursor:wait}.ai-report-label{font-size:10px;font-weight:800;color:#22c55e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.ai-report-text{font-size:12px;line-height:1.5;color:var(--text);opacity:.85}.pr-num{font-size:11px;font-weight:900;color:var(--text);line-height:1}.pr-result{font-size:9px;font-weight:800;line-height:1}.pr-chip.win .pr-result{color:#86efac}.pr-chip.loss .pr-result{color:#fca5a5}.pr-info{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pr-current{font-size:11px;font-weight:800;white-space:nowrap}.pr-current.win{color:#86efac}.pr-current.loss{color:#fca5a5}.pr-count{font-size:10px;color:var(--muted)}.import-row{display:flex;gap:6px}.btn-full.import{background:#a855f726;border-color:#a855f766;color:#d8b4fe}.btn-full.import:hover{background:#a855f747}.import-msg{font-size:12px;padding:8px 10px;border-radius:9px;border:1px solid}.import-msg.error{background:#ef44441a;border-color:#ef444459;color:#fca5a5}.import-msg.success{background:#22c55e1a;border-color:#22c55e59;color:#86efac}.match-actions{display:flex;gap:5px;align-items:center;flex-shrink:0}.action-btn{width:30px;height:30px;border-radius:8px;font-size:14px;font-weight:800;display:grid;place-items:center;border:1px solid var(--border);background:#ffffff0d;transition:all .16s;flex-shrink:0}.action-btn:hover{background:#ffffff1f}.action-btn.export{background:#a855f71f;border-color:#a855f759;color:#d8b4fe}.action-btn.export:hover{background:#a855f740}.has-notes-dot{font-size:10px;margin-left:2px}.notes-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;display:flex;align-items:flex-end;padding:0}.notes-panel{width:100%;max-height:70vh;background:var(--surface2);border-top:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;flex-direction:column;padding:16px;gap:12px;animation:slideUp .22s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.notes-header{display:flex;align-items:flex-start;justify-content:space-between}.notes-title{font-weight:900;font-size:16px;letter-spacing:-.02em}.notes-team{font-size:12px;color:var(--muted);margin-top:2px}.notes-textarea{flex:1;min-height:180px;max-height:40vh;background:#ffffff0d;border:1px solid var(--border);border-radius:12px;padding:12px;color:var(--text);font-size:14px;line-height:1.6;resize:none;outline:none;font-family:inherit;transition:border-color .16s}.notes-textarea:focus{border-color:#3b82f699}.notes-textarea::placeholder{color:var(--muted)}.notes-footer{display:flex;gap:8px;justify-content:flex-end}.notes-btn{padding:10px 20px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid var(--border);transition:background .16s}.notes-btn.cancel{background:#ffffff0d}.notes-btn.cancel:hover{background:#ffffff1f}.notes-btn.save{background:#3b82f633;border-color:#3b82f680;color:#93c5fd}.notes-btn.save:hover{background:#3b82f659}.notes-btn-top.has-notes{background:#3b82f626;border-color:#3b82f666;color:#93c5fd}.tb-btn.deaths-on{background:#ef44442e;border-color:#ef444480;color:#fca5a5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}@media (max-width: 480px){.topbar{padding-left:54px;gap:5px}.tb-btn{padding:7px 9px;font-size:11px}.player-bar{padding:5px 8px 6px;gap:4px}.bar-hint{font-size:10px}.mode-btn{padding:5px 9px;font-size:10px}}@media (max-height: 670px){.topbar{padding-top:5px;padding-bottom:5px}.player-bar{padding:4px 8px 5px;gap:3px}.bar-hint{display:none}.mode-btn{padding:4px 8px}.pr-chip{width:32px;height:32px}}.playbook-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);z-index:50;padding-top:var(--sat);padding-bottom:var(--sab)}.pb-topbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.pb-back{font-size:12px;font-weight:700;color:var(--accent);background:none;border:none;padding:4px 6px;flex-shrink:0}.pb-name{flex:1;font-size:14px;font-weight:700;color:var(--text);background:none;border:none;text-align:left;padding:4px 6px;border-radius:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-name:hover{background:#ffffff0f}.pb-name-input{flex:1;font-size:14px;font-weight:700;color:var(--text);background:#ffffff0f;border:1.5px solid var(--accent);border-radius:6px;padding:4px 8px;min-width:0}.pb-topbar-actions{display:flex;gap:6px;flex-shrink:0}.pb-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#ffffff0d;font-size:15px;display:grid;place-items:center;transition:background .14s}.pb-icon-btn:hover{background:#ffffff1a}.pb-notes-panel{padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.pb-notes-input{width:100%;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:6px 8px;resize:none;font-family:inherit}.pb-player-bar{flex-shrink:0;padding:6px 10px 8px;border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:5px}.pb-clear-btn{height:28px;padding:0 8px;border-radius:7px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#fca5a5;font-size:11px;font-weight:700;transition:all .14s;white-space:nowrap}.pb-clear-btn:hover{background:#ef444433;border-color:#ef444499}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;padding-top:calc(20px + env(safe-area-inset-top))}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:8px}.auth-logo-mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#000;font-size:20px;font-weight:900;display:grid;place-items:center}.auth-logo-text{font-size:20px;font-weight:800;color:var(--text)}.auth-tabs{display:flex;gap:4px;background:#ffffff0d;border-radius:10px;padding:3px;margin-bottom:4px}.auth-tabs button{flex:1;padding:8px;border-radius:8px;font-size:13px;font-weight:700;color:var(--text-muted);background:none;border:none;transition:all .14s}.auth-tabs button.active{background:var(--accent);color:#000}.auth-input{width:100%;background:#ffffff0f;border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;padding:12px 14px;font-family:inherit;box-sizing:border-box}.auth-input:focus{border-color:var(--accent);outline:none}.auth-submit{width:100%;background:var(--accent);color:#000;font-size:15px;font-weight:800;padding:13px;border-radius:10px;border:none;margin-top:4px;transition:opacity .14s}.auth-submit:disabled{opacity:.5}.auth-link{background:none;border:none;color:var(--accent);font-size:13px;text-align:center;padding:4px}.auth-message{padding:10px 12px;border-radius:8px;font-size:13px}.auth-message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac}.auth-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.sidebar-signout{padding:8px 12px 4px}.signout-btn{width:100%;padding:9px;border-radius:8px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-muted);font-size:12px;font-weight:600;transition:all .14s;margin-bottom:6px}.signout-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.delete-account-btn{width:100%;padding:7px;border-radius:8px;border:none;background:none;color:#555;font-size:11px;cursor:pointer;transition:color .14s}.delete-account-btn:hover{color:#c8102e}.vs-row{display:flex;align-items:center;gap:4px;margin-top:3px}.vs-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.vs-input{font-size:12px!important;padding:4px 8px!important}.vs-display{font-size:11px;color:var(--text-muted);font-weight:400}.match-vs{font-size:10px;color:var(--text-muted);font-weight:400}.merge-topbar{justify-content:space-between}.merge-title{flex:1;text-align:center;font-size:13px;font-weight:700}.merge-vs-sep{color:var(--text-muted);font-weight:400}.merge-score-row{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;font-size:12px;font-weight:700;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.merge-point-label{color:var(--text-muted);font-weight:400;font-size:11px}.merge-field{position:relative;flex:1}.merge-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center}.merge-overlay .field-canvas{background:transparent!important;height:100%;width:auto}.merge-overlay .field-canvas img,.merge-overlay .field-canvas .field-empty{visibility:hidden!important}.merge-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.merge-nav-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);font-size:12px;font-weight:700;transition:all .14s}.merge-nav-btn:disabled{opacity:.3}.merge-nav-btn:not(:disabled):hover{background:#ffffff1a}.merge-legend{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted)}.merge-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.merge-results-row{display:flex;gap:3px;padding:5px 12px 8px;flex-wrap:wrap;background:var(--surface);flex-shrink:0}.merge-pip{width:14px;height:8px;border-radius:3px;cursor:pointer;transition:transform .14s;opacity:.7}.merge-pip.active{opacity:1;transform:scaleY(1.4)}.merge-color-panel{padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.merge-color-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.merge-save-colors{background:var(--accent);color:#000;font-weight:700;font-size:12px;padding:8px;border-radius:8px;border:none}.merge-create-panel{margin-top:8px;display:flex;flex-direction:column;gap:4px}.merge-color-pick{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.auth-copyright{text-align:center;font-size:10px;color:var(--text-muted);opacity:.5;padding-top:8px}.merge-point-info{display:flex;flex-direction:column;align-items:center;gap:2px}.merge-point-winner{font-size:11px;font-weight:700;letter-spacing:.02em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:400px;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);font-size:16px;padding:4px;cursor:pointer}.modal-body{padding:16px;display:flex;flex-direction:column;gap:10px}.share-match-name{font-size:14px;font-weight:700}.share-match-pts{font-size:11px;color:var(--text-muted);margin-top:-6px}.share-url-box{background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:10px;word-break:break-all}.share-url-text{font-size:10px;color:var(--text-muted);font-family:monospace}.share-expiry{font-size:10px;color:var(--text-muted)}.share-copy-btn{background:var(--accent);color:#000;font-weight:700;font-size:13px;padding:10px;border-radius:8px;border:none;cursor:pointer}.share-revoke-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:8px;border-radius:8px;cursor:pointer}.share-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.share-generate-btn{background:var(--accent);color:#000;font-weight:700;font-size:13px;padding:10px;border-radius:8px;border:none;cursor:pointer}.share-loading{color:var(--text-muted);font-size:13px}.share-match-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:8px 12px;border-radius:8px;cursor:pointer;margin-top:4px;width:100%;transition:all .14s}.share-match-btn:hover{background:#ffffff0d;color:var(--text)}.import-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:150;box-shadow:0 4px 24px #0006;max-width:420px;width:calc(100% - 32px)}.import-banner.error{border-color:#ef4444}.import-banner-content{flex:1;min-width:0;overflow:hidden}.import-banner-label{font-size:11px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.import-banner-name{font-size:13px;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.import-accept-btn{background:var(--accent);color:#000;font-weight:700;font-size:13px;padding:8px 14px;border-radius:8px;border:none;cursor:pointer}.import-dismiss{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px}.import-banner-text{font-size:13px;color:var(--text-muted)}.admin-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:300;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.admin-title{font-size:15px;font-weight:700}.admin-close{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer}.admin-stats{display:flex;gap:1px;background:var(--border);flex-shrink:0}.admin-stat{flex:1;background:var(--surface);padding:10px;text-align:center}.admin-stat-num{font-size:20px;font-weight:800;color:var(--accent)}.admin-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.admin-generate{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;flex-direction:column;gap:8px}.admin-generate-row{display:flex;gap:8px;align-items:flex-end}.admin-field{display:flex;flex-direction:column;gap:4px}.admin-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.admin-select{background:#ffffff12;border:1px solid var(--border);color:var(--text);padding:7px 10px;border-radius:8px;font-size:13px}.admin-generate-btn{background:var(--accent);color:#000;font-weight:700;font-size:13px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;margin-left:auto}.admin-copy-all{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:7px 12px;border-radius:8px;cursor:pointer;text-align:left}.admin-filter-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.admin-filter-tab{flex:1;padding:8px;background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;border-bottom:2px solid transparent}.admin-filter-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.admin-code-list{flex:1;overflow-y:auto;padding:8px 0}.admin-code-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.admin-code-row.used{opacity:.4}.admin-code-row.revoked,.admin-code-row.expired{opacity:.3}.admin-code-text{font-family:monospace;font-size:16px;font-weight:700;letter-spacing:.1em}.admin-code-meta{font-size:10px;color:var(--text-muted);margin-top:2px}.admin-code-actions{display:flex;gap:6px}.admin-code-btn{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);font-size:13px;cursor:pointer}.admin-code-btn.revoke{color:#ef4444;border-color:#ef44444d}.admin-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:40px}.admin-btn{width:100%;padding:8px;background:#ffffff0d;border:1px solid var(--border);color:var(--text-muted);font-size:12px;border-radius:8px;cursor:pointer;margin-bottom:6px;transition:all .14s}.admin-btn:hover{background:#ffffff1a;color:var(--text)}.invite-code-input{font-family:monospace!important;letter-spacing:.1em;text-transform:uppercase}.sync-status{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 80px);left:50%;transform:translate(-50%);padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;z-index:200;white-space:nowrap;pointer-events:none;animation:sync-fade-in .2s ease}@keyframes sync-fade-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sync-status.offline{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.sync-status.syncing{background:#fbbf2426;border:1px solid rgba(251,191,36,.4);color:#fde68a}.sync-status.synced{background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#86efac}.sync-spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(251,191,36,.3);border-top-color:#fde68a;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.open-in-app-banner{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin:20px;display:flex;flex-direction:column;gap:16px;max-width:360px;width:100%}.open-in-app-title{font-size:16px;font-weight:700;margin-bottom:4px}.open-in-app-sub{font-size:13px;color:var(--text-muted);line-height:1.5}.open-in-app-actions{display:flex;flex-direction:column;gap:8px}.open-in-app-btn{display:block;text-align:center;background:var(--accent);color:#000;font-weight:700;font-size:14px;padding:12px;border-radius:10px;text-decoration:none}.open-in-app-dismiss{background:none;border:none;color:var(--text-muted);font-size:12px;padding:8px;cursor:pointer;text-align:center}.auth-reset-title{font-size:16px;font-weight:700;text-align:center;margin-bottom:4px}.open-in-app-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:400;display:flex;align-items:center;justify-content:center;padding:20px}.open-in-app-url{font-family:monospace;font-size:11px;color:var(--text-muted);background:#ffffff0d;border:1px solid var(--border);border-radius:6px;padding:8px;word-break:break-all;margin:8px 0}.import-modal{max-width:360px;width:100%}.import-modal-tabs{display:flex;border-bottom:1px solid var(--border)}.import-modal-tabs button{flex:1;padding:10px;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;border-bottom:2px solid transparent}.import-modal-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.import-hint{font-size:12px;color:var(--text-muted);margin-bottom:10px}.import-link-input{width:100%;background:#ffffff0f;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:10px;resize:none;font-family:monospace;margin-bottom:10px;box-sizing:border-box}.import-file-label{display:block;text-align:center;background:#ffffff12;border:1px dashed var(--border);border-radius:10px;padding:20px;color:var(--text-muted);font-size:14px;cursor:pointer;margin-top:8px}.import-file-label:hover{background:#ffffff1f;color:var(--text)}.heatmap-match-checkbox{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;font-size:13px;color:var(--text-main);border-radius:4px}.heatmap-match-checkbox:hover{background:var(--hover-bg)}.heatmap-match-checkbox input[type=checkbox]{accent-color:#f97316}.heatmap-view-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto}.heatmap-view-panel{background:var(--bg-card);border-radius:12px;width:100%;max-width:640px;padding:16px;display:flex;flex-direction:column;gap:12px;margin-top:auto;margin-bottom:auto}.heatmap-view-header{display:flex;align-items:center;justify-content:space-between}.heatmap-view-title{font-size:16px;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px}.heatmap-match-count{font-size:12px;font-weight:400;color:var(--text-muted);background:var(--bg-hover);padding:2px 7px;border-radius:10px}.heatmap-view-actions{display:flex;gap:8px;align-items:center}.heatmap-controls{display:flex;gap:10px;flex-wrap:wrap}.heatmap-filter-group,.heatmap-mode-group{display:flex;gap:4px}.heatmap-filter-btn,.heatmap-mode-btn{padding:5px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);cursor:pointer;transition:all .15s}.heatmap-filter-btn.active,.heatmap-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.heatmap-stats-row{display:flex;gap:14px;font-size:13px;color:var(--text-muted)}.heatmap-stat{display:flex;align-items:center;gap:3px}.stat-win{color:#22c55e;font-weight:600}.stat-loss{color:#ef4444;font-weight:600}.heatmap-field-outer{width:100%;display:flex;justify-content:center}.heatmap-field-wrap{position:relative;width:100%;background:#1e293b;border-radius:8px;overflow:hidden}.heatmap-field-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;display:block}.heatmap-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;pointer-events:none}.heatmap-cell{border-radius:2px;transition:background .2s}.heatmap-kill-dot{position:absolute;transform:translate(-50%,-50%);font-size:10px;color:#fb923c;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.8);pointer-events:none;line-height:1}.heatmap-match-list{border-top:1px solid var(--border);padding-top:10px}.heatmap-match-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;color:var(--text-main)}.heatmap-match-name{flex:1}.heatmap-match-record{color:var(--text-muted);font-size:12px;display:flex;gap:2px}@media (orientation: landscape) and (max-height: 500px){.topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:46px;min-height:46px;overflow:hidden}.main{flex-direction:row;padding-top:46px}.field-outer{flex:1 1 0}.bottom-bars{flex-direction:column;width:155px;flex-shrink:0;border-top:none;border-left:1px solid var(--border);overflow-y:auto;overflow-x:hidden;margin-top:0}.mode-toggle{flex-direction:row;padding:5px 6px;gap:4px;flex-shrink:0}.mode-btn{flex:1;text-align:center;padding:5px 4px;font-size:10px}.bar-controls-row{flex-direction:column;align-items:stretch;gap:4px;padding:5px 6px;border-bottom:1px solid var(--border)}.input-mode-toggle{margin-left:0;justify-content:space-between}.input-mode-btn{flex:1;width:auto;height:24px;font-size:12px}.quick-place-counter{font-size:9px;text-align:center}.player-bar{padding:5px 6px;gap:4px}.player-row{gap:4px}.player-btn{height:32px;font-size:10px;padding:0 6px}.player-ctx{position:fixed!important;max-height:calc(100vh - 46px);overflow-y:auto}.kill-bar{flex-direction:column;align-items:flex-start;gap:4px;padding:5px 6px}.kill-slots{flex-wrap:wrap;gap:4px}.kill-btn{height:26px;padding:0 6px;font-size:11px}}@media (orientation: landscape) and (max-height: 500px){.lane-menu{position:fixed;bottom:auto;top:50px;right:160px;left:auto;transform:none;max-height:calc(100vh - 60px);overflow-y:auto}}@media (orientation: portrait) and (max-width: 500px){.topbar{min-height:186px;align-content:flex-start;overflow-x:hidden}.player-row{flex-wrap:nowrap;gap:5px}.player-slot{flex:1;min-width:0}}@media (orientation: landscape) and (min-width: 768px){.topbar{flex-wrap:nowrap;overflow-x:auto;align-items:center}.topbar-left,.topbar-right{flex-wrap:nowrap;flex-shrink:0}}.draw-mode-hidden{opacity:.35;pointer-events:none}.ann-undo-btn{padding:4px 10px;border-radius:7px;border:.5px solid var(--border);background:#ffffff0f;color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:background .14s}.ann-undo-btn:hover{background:#ffffff1f}.annotation-label-popup{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 8px 24px #00000080;min-width:160px}.ann-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:6px}.ann-label-btn{padding:7px 6px;border-radius:8px;border:1.5px solid var(--ann-color, #fff);background:color-mix(in srgb,var(--ann-color, #fff) 15%,transparent);color:var(--ann-color, #fff);font-size:12px;font-weight:700;cursor:pointer;transition:all .14s;text-align:center}.ann-label-btn:hover{background:color-mix(in srgb,var(--ann-color, #fff) 28%,transparent)}.ann-popup-close{width:100%;padding:5px;border-radius:7px;border:.5px solid var(--border);background:#ffffff0a;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}.team-roster-card{border:.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:6px}.team-roster-card .team-row{border-bottom:none;padding:8px 10px}.roster-panel{padding:8px 10px 10px;border-top:.5px solid var(--border);background:#ffffff05}.roster-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}.roster-player-card{background:#ffffff0a;border:.5px solid var(--border);border-radius:8px;padding:7px 8px;position:relative}.roster-player-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:14px}.roster-player-num{font-size:10px;color:var(--text-muted);margin-top:1px}.roster-remove-btn{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:#ef444426;border:none;color:#fca5a5;font-size:10px;display:grid;place-items:center;cursor:pointer;line-height:1}.roster-add-row{display:flex;gap:5px;align-items:center}.roster-input{flex:1;font-size:11px!important;padding:5px 8px!important}.roster-input-num{width:44px;flex-shrink:0;font-size:11px!important;padding:5px 6px!important;text-align:center}.btn-sm{padding:5px 10px;border-radius:7px;border:1.5px solid var(--accent);background:#3b82f626;color:#93c5fd;font-size:13px;font-weight:800;cursor:pointer;flex-shrink:0}.lane-menu-action-btn.assign{border-color:#6366f180;color:#a5b4fc;background:#6366f11a}.lane-menu-action-btn.assign:hover{background:#6366f133}.roster-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface2);border-top:1px solid var(--border);border-radius:16px 16px 0 0;z-index:200;max-height:70vh;display:flex;flex-direction:column}.roster-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:.5px solid var(--border);flex-shrink:0}.roster-sheet-title{font-size:14px;font-weight:700;color:var(--text)}.roster-sheet-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.roster-sheet-close{padding:4px 8px;border-radius:6px;border:.5px solid var(--border);background:transparent;color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer}.roster-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;overflow-y:auto}.roster-sheet-card{background:#ffffff0a;border:.5px solid var(--border);border-radius:10px;padding:10px;text-align:left;cursor:pointer;transition:background .14s}.roster-sheet-card:hover{background:#ffffff17}.roster-sheet-name{font-size:13px;font-weight:700;color:var(--text)}.roster-sheet-num{font-size:11px;color:var(--text-muted);margin-top:2px}.marker-num{font-size:8px;font-weight:900;background:#0006;color:#fff;border-radius:3px;padding:0 3px;height:12px;display:grid;place-items:center;flex-shrink:0}.settings-gear-btn{width:calc(100% - 32px);margin:8px 16px 0;padding:10px;border-radius:8px;border:.5px solid var(--border);background:#ffffff0a;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:background .14s}.settings-gear-btn:hover{background:#ffffff14}.settings-panel{margin:8px 16px 0;background:#ffffff08;border:.5px solid var(--border);border-radius:10px;padding:14px}.settings-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-label{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600;color:var(--text)}.settings-hint{font-size:11px;color:var(--text-muted);font-weight:400}.orientation-toggle{display:flex;gap:6px}.orient-btn{flex:1;padding:8px;border-radius:7px;border:1.5px solid var(--border);background:#ffffff08;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .14s;text-align:center}.orient-btn.active{border-color:var(--accent);background:#3b82f626;color:#93c5fd}
