.config-editor{width:100%}.config-editor-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem}@media(max-width:720px){.config-editor-body{grid-template-columns:1fr}}.config-editor-label{display:block;font-weight:600;color:#333;margin-bottom:.25rem;font-size:.9rem}.config-editor-textarea-wrap{display:flex;flex-direction:column;min-width:0}.config-editor-textarea{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.8rem;min-height:320px;max-height:55vh;resize:vertical;padding:.5rem;border:1px solid #ccc;border-radius:4px;background:#fafafa;color:#222;white-space:pre;overflow:auto;line-height:1.4}.config-editor-textarea.has-error{border-color:#d32f2f;background:#fff5f5}.config-editor-textarea:focus{outline:none;border-color:#4caf50}.config-editor-error{margin-top:.25rem;color:#d32f2f;font-size:.85rem}.config-editor-diff{background:#f5f5f5;border-radius:4px;padding:.5rem .75rem;min-height:320px;max-height:55vh;overflow:auto;font-size:.82rem;color:#333}.config-editor-diff-empty{color:#777;font-style:italic;margin:.25rem 0 0}.config-editor-diff-list{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.25rem}.config-editor-diff-list code{background:#fff;padding:0 .2rem;border-radius:2px;font-size:.8rem}.config-editor-diff-list .diff-before{color:#b71c1c;font-family:SF Mono,Menlo,Consolas,monospace}.config-editor-diff-list .diff-after{color:#1b5e20;font-family:SF Mono,Menlo,Consolas,monospace}.config-editor-diff-list .diff-arrow{color:#666}.sandbox-panel{position:fixed;z-index:30;width:320px;max-height:calc(100vh - 96px);overflow-y:auto;padding:12px;border:1px solid #3a3a3a;border-radius:8px;background:#181818f5;color:#e8e8e8;font-size:12px}.sandbox-panel-reopen{position:fixed;z-index:30;padding:6px 10px;border:1px solid #3a3a3a;border-radius:6px;background:#181818f5;color:#e8e8e8;cursor:pointer}.sandbox-panel-header{display:flex;align-items:center;justify-content:space-between;margin:-12px -12px 8px;padding:8px 12px;border-bottom:1px solid #303030;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.sandbox-panel-header h3{margin:0;font-size:14px}.sandbox-panel-header button{border:none;background:none;color:#bbb;font-size:18px;line-height:1;cursor:pointer}.sandbox-panel-warning{margin:0 0 8px;padding:6px 8px;border-radius:4px;background:#4a3a12;color:#ffd98a}.sandbox-panel-section{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #303030}.sandbox-panel-section:last-child{border-bottom:none}.sandbox-panel-section h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#9a9a9a}.sandbox-panel-section select{width:100%;padding:4px;border:1px solid #3a3a3a;border-radius:4px;background:#1c1c1c;color:#e8e8e8}.sandbox-attribute-row{display:grid;grid-template-columns:82px 1fr 24px auto;align-items:center;gap:6px;margin-bottom:4px}.sandbox-attribute-row label{text-transform:capitalize;color:#c8c8c8}.sandbox-attribute-row input[type=range]{width:100%}.sandbox-attribute-value{text-align:right;font-variant-numeric:tabular-nums}.sandbox-quick-set{display:flex;gap:2px}.sandbox-quick-set button,.sandbox-run-picker button{padding:2px 5px;border:1px solid #3a3a3a;border-radius:3px;background:#242424;color:#ddd;cursor:pointer}.sandbox-quick-set button[aria-pressed=true],.sandbox-run-picker button[aria-pressed=true]{border-color:#6aa9ff;background:#1d3557;color:#fff}.sandbox-panel-actions{display:flex;gap:6px}.sandbox-panel-actions button{flex:1;padding:5px;border:1px solid #3a3a3a;border-radius:4px;background:#242424;color:#ddd;cursor:pointer}.sandbox-panel-actions button:disabled{opacity:.45;cursor:default}.sandbox-panel-hint{margin:0 0 6px;color:#9a9a9a;line-height:1.4}.sandbox-run-picker{display:flex;align-items:center;gap:4px}.sandbox-run-button{margin-left:auto;border-color:#6aa9ff!important;background:#1d3557!important;color:#fff!important}.sandbox-sample-table{width:100%;margin-top:8px;border-collapse:collapse}.sandbox-sample-table th{padding:3px 6px 3px 0;text-align:left;font-weight:500;color:#9a9a9a;white-space:nowrap;vertical-align:top}.sandbox-sample-table td{padding:3px 0;font-variant-numeric:tabular-nums}.sandbox-sample-error{color:#ff9b9b}.sandbox-position-row{display:grid;grid-template-columns:14px 1fr 14px 1fr;align-items:center;gap:6px}.sandbox-position-row label{color:#9a9a9a}.sandbox-position-row input,.sandbox-add-row input{width:100%;padding:3px 4px;border:1px solid #3a3a3a;border-radius:4px;background:#1c1c1c;color:#e8e8e8}.sandbox-add-row{display:grid;grid-template-columns:1fr 1fr 52px auto;align-items:center;gap:4px;margin-bottom:6px}.sandbox-add-row select{padding:3px 4px;border:1px solid #3a3a3a;border-radius:4px;background:#1c1c1c;color:#e8e8e8}.sandbox-add-row button{padding:4px 8px;border:1px solid #3a3a3a;border-radius:4px;background:#242424;color:#ddd;cursor:pointer}.sandbox-edit-toggle{display:flex;align-items:center;gap:6px;color:#ddd;cursor:pointer}.sandbox-panel-details>summary{cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#9a9a9a}.sandbox-panel-details>summary:hover{color:#ddd}.sandbox-panel-details .config-editor-body{display:block}.sandbox-panel-details .config-editor-textarea{width:100%;min-height:160px;font-size:11px}.sandbox-panel-details .config-editor-diff{margin-top:8px;max-height:140px;overflow-y:auto;font-size:11px}.sandbox-export{width:100%;min-height:150px;padding:6px;border:1px solid #3a3a3a;border-radius:4px;background:#1c1c1c;color:#e8e8e8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:pre}.sandbox-wide-button{width:100%;margin-top:6px;padding:5px;border:1px solid #3a3a3a;border-radius:4px;background:#242424;color:#ddd;cursor:pointer}.sandbox-wide-button:disabled{opacity:.45;cursor:default}.tick-timeline-range__input{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:var(--tick-timeline-thumb-diameter)}.tick-timeline-range__input:disabled{cursor:default;opacity:.5}.tick-timeline-range__input::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#555}.tick-timeline-range__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--tick-timeline-thumb-diameter);height:var(--tick-timeline-thumb-diameter);border-radius:50%;background:var(--tick-timeline-thumb-color);margin-top:calc((4px - var(--tick-timeline-thumb-diameter)) / 2)}.tick-timeline-range__input::-moz-range-track{height:4px;border-radius:2px;background:#555}.tick-timeline-range__input::-moz-range-thumb{width:var(--tick-timeline-thumb-diameter);height:var(--tick-timeline-thumb-diameter);border-radius:50%;background:var(--tick-timeline-thumb-color);border:none}.game-layout{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;height:100%;width:100%;gap:.75rem;font-size:12px;min-height:0;overflow:hidden}.game-layout__field-column{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.5rem;padding:0 .25rem .5rem}.game-layout__top-dock,.game-layout__events-dock{width:min(100%,1030px);flex:0 0 auto;display:flex;flex-direction:column}.game-layout__top-dock{font-size:13px}.game-layout__nav-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:.5rem;align-items:stretch;align-content:stretch;min-height:92px}.game-layout__timeline-panel,.game-layout__events-panel{min-width:0}.game-layout__events-panel{height:72px}.game-layout__pitch-frame{position:relative;width:min(100%,1030px);min-height:0;flex:1 1 auto;overflow:hidden;box-sizing:border-box;border:1px solid var(--ui-line-strong);background:#102418;box-shadow:0 0 0 4px #ffffff06}.game-layout__pitch-scroll{position:absolute;inset:0;overflow:auto;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.game-layout__pitch-scroll-content{min-width:100%;min-height:100%;width:max-content;height:max-content;display:grid;place-items:center;box-sizing:border-box}.game-layout__pitch-stage-shell{flex:0 0 auto}.game-layout__pitch-zoom-controls{position:absolute;top:.35rem;right:.35rem;z-index:10;display:inline-flex;align-items:center;gap:.2rem;padding:.2rem;background:#0b0b0beb;border:1px solid var(--ui-line)}.game-layout__pitch-zoom-button,.game-layout__pitch-zoom-readout{height:24px;border:1px solid var(--ui-line);background:var(--ui-surface-raised);color:var(--ui-text);font-size:.72rem;line-height:1}.game-layout__pitch-zoom-button{width:24px;font-weight:700}.game-layout__pitch-zoom-readout{min-width:42px;padding:0 .35rem}.game-layout__pitch-zoom-button:disabled{opacity:.45}.game-layout__events-card{padding:.5rem;background-color:var(--ui-surface);border:1px solid var(--ui-blue);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--ui-blue) var(--ui-void)}.game-layout__events-card::-webkit-scrollbar{width:8px}.game-layout__events-card::-webkit-scrollbar-track{background:var(--ui-void)}.game-layout__events-card::-webkit-scrollbar-thumb{background:var(--ui-blue)}.game-layout__events-card::-webkit-scrollbar-thumb:hover{background:#93c5fd}.game-layout__empty-events{padding:.4rem .5rem;background-color:var(--ui-surface);border:1px solid var(--ui-line);height:100%;box-sizing:border-box;color:var(--ui-muted);font-size:.65rem}.game-layout__help-button{width:22px;height:22px;border:1px solid var(--ui-amber);background-color:transparent;color:var(--ui-amber);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.game-layout__sidebar{width:180px;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;background:#121212e6;border:1px solid var(--ui-line);padding:.5rem .25rem .5rem .5rem}.game-layout__nav-row>.game-layout__timeline-panel>div{background-color:var(--ui-surface-raised)!important;border:1px solid var(--ui-line)}.game-layout__nav-row strong,.game-layout__events-card strong,.game-layout__empty-events{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.game-layout__sidebar-help-row{display:flex;justify-content:flex-end;min-height:22px}.game-layout__rotate-prompt,.game-layout__mobile-rail,.game-layout__mobile-panel-close,.game-layout__mobile-backdrop,.game-layout__mobile-action-drawer,.game-layout__mobile-targeting-chip{display:none}@media(max-width:1180px){.game-layout__nav-row{grid-template-columns:1fr 1fr}}@media(max-width:860px){.game-layout__nav-row{grid-template-columns:1fr}}@media(pointer:coarse){.game-layout button,.game-layout input,.game-layout select{min-height:44px}.game-layout input,.game-layout select,.game-layout textarea{font-size:16px}.game-layout__pitch-zoom-button{width:44px}.game-layout__pitch-zoom-readout{min-width:56px}.game-layout input[type=range]{min-height:44px}}@media(max-width:900px)and (orientation:landscape),(max-height:540px)and (orientation:landscape){.game-layout{position:relative;display:block;height:100%;width:100%;overflow:hidden;font-size:13px}.game-layout__field-column{width:100%;height:100%;padding:0;gap:0}.game-layout__pitch-frame{width:100%;max-width:none;height:100%;border-width:0;box-shadow:none}.game-layout__pitch-scroll{scrollbar-width:none}.game-layout__pitch-scroll::-webkit-scrollbar{display:none}.game-layout__pitch-zoom-controls{top:max(.25rem,env(safe-area-inset-top));right:max(.25rem,env(safe-area-inset-right))}.game-layout__sidebar,.game-layout__top-dock,.game-layout__events-dock,.game-layout__mobile-action-drawer{position:fixed;z-index:40;visibility:hidden;pointer-events:none;opacity:0;transition:transform .16s ease,opacity .16s ease}.game-layout__sidebar[data-mobile-open=true],.game-layout__top-dock[data-mobile-open=true],.game-layout__events-dock[data-mobile-open=true],.game-layout__mobile-action-drawer[data-mobile-open=true]{visibility:visible;pointer-events:auto;opacity:1;transform:translate(0)}.game-layout__sidebar{top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);width:min(360px,calc(100vw - 52px));padding:3rem .65rem .65rem;background:#0c0c0cfa;border-color:var(--ui-line-strong)}.game-layout__sidebar--home{left:calc(48px + env(safe-area-inset-left));transform:translate(-105%)}.game-layout__sidebar--away{right:env(safe-area-inset-right);transform:translate(105%)}.game-layout__sidebar .player-actions,.game-layout__sidebar .bulk-player-actions{display:none!important}.game-layout__mobile-action-drawer{display:block;top:env(safe-area-inset-top);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);width:min(280px,calc(35vw - env(safe-area-inset-right)));min-width:210px;overflow-y:auto;box-sizing:border-box;padding:3rem .45rem .55rem;background:#0c0c0cfa;border:1px solid var(--ui-line-strong);transform:translate(105%)}.game-layout__mobile-action-drawer .player-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem!important}.game-layout__mobile-action-drawer-empty{margin:0;color:var(--ui-muted);font-size:.8rem;line-height:1.4}.game-layout__mobile-action-drawer .player-actions>div{grid-column:1 / -1}.game-layout__mobile-action-drawer .player-actions>button{min-height:44px;padding:.4rem!important;font-size:.75rem!important}.game-layout__mobile-action-drawer .player-actions__identity{display:grid;grid-template-columns:auto 1fr;column-gap:.45rem;align-items:center;padding:.4rem!important}.game-layout__mobile-action-drawer .player-actions__identity>:first-child{grid-column:1 / -1}.game-layout__mobile-targeting-chip{position:absolute;top:max(.35rem,env(safe-area-inset-top));left:max(.35rem,env(safe-area-inset-left));z-index:12;display:flex;align-items:center;gap:.4rem;max-width:calc(100% - 10rem);padding:.3rem .35rem .3rem .55rem;border:1px solid var(--ui-blue);background:#0b0b0bf0;color:var(--ui-text);font-size:.72rem;text-transform:capitalize}.game-layout__mobile-targeting-chip button{min-height:34px;padding:0 .5rem;border:1px solid var(--ui-line);background:var(--ui-surface-raised);color:var(--ui-text);font-size:.7rem}.game-layout__top-dock,.game-layout__events-dock{left:50%;width:min(760px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 58px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding:2.8rem .55rem .55rem;background:#0c0c0cfa;border:1px solid var(--ui-line-strong);transform:translate(-50%,-110%)}.game-layout__top-dock{top:max(.35rem,env(safe-area-inset-top))}.game-layout__events-dock{top:auto;bottom:max(.35rem,env(safe-area-inset-bottom));transform:translate(-50%,110%)}.game-layout__top-dock[data-mobile-open=true],.game-layout__events-dock[data-mobile-open=true]{transform:translate(-50%)}.game-layout__nav-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:0}.game-layout__events-panel{height:min(180px,42dvh)}.game-layout__mobile-panel-close{display:grid;place-items:center;position:absolute;top:.35rem;right:.35rem;z-index:2;width:44px;height:44px;border:1px solid var(--ui-line);background:var(--ui-surface-raised);color:var(--ui-text);font-size:1.35rem;cursor:pointer}.game-layout__mobile-backdrop{display:block;position:fixed;inset:0;z-index:30;width:100%;height:100%;border:0;background:#00000075}.game-layout__mobile-rail{position:fixed;left:env(safe-area-inset-left);top:50%;z-index:50;display:grid;grid-template-rows:repeat(7,44px);width:44px;transform:translateY(-50%);background:#0b0b0bfa;border:1px solid var(--ui-line-strong);border-left:0}.game-layout__mobile-rail button{min-width:0;min-height:44px;padding:0 .2rem;border:0;border-bottom:1px solid var(--ui-line);background:transparent;color:var(--ui-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;cursor:pointer}.game-layout__mobile-rail button.is-active{background:#17304f;color:#fff;box-shadow:inset 2px 0 0 var(--ui-blue)}.game-layout__sidebar,.game-layout__top-dock,.game-layout__events-dock{font-size:14px}.game-layout__empty-events{font-size:.8rem}}@media(max-width:900px)and (orientation:portrait){.game-layout>:not(.game-layout__rotate-prompt){display:none!important}.game-layout__rotate-prompt{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));background:var(--ui-void);color:var(--ui-text);text-align:center;font-size:1rem}.game-layout__rotate-prompt span:last-child{max-width:28rem;color:var(--ui-muted);line-height:1.5}.game-layout__rotate-icon{display:grid;place-items:center;width:72px;height:72px;border:2px solid var(--ui-blue);color:var(--ui-blue);font-size:2.5rem}}.tactics-setup-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000a6;z-index:1300}.tactics-setup-modal{width:min(820px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--ui-void, #0b0b0b);color:var(--ui-text, #f5f5f5);border:1px solid var(--ui-line, rgba(255, 255, 255, .16));border-radius:14px;box-shadow:0 18px 60px #00000080;padding:1.25rem}.tactics-setup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tactics-setup-header h2{margin:0;font-size:1.2rem}.tactics-setup-header .close-btn{background:none;border:none;color:var(--ui-muted, #a3a3a3);font-size:1.4rem;line-height:1;cursor:pointer;padding:.25rem .5rem}.tactics-setup-header .close-btn:hover{color:var(--ui-text, #f5f5f5)}.tactics-team-tabs{display:flex;gap:8px;margin-bottom:1rem}.tactics-team-tabs button{flex:1;padding:8px 12px;border:1px solid var(--ui-line, rgba(255, 255, 255, .16));border-radius:8px;background:var(--ui-surface, #121212);color:var(--ui-muted, #a3a3a3);font-weight:600;cursor:pointer}.tactics-team-tabs button.active{background:var(--ui-blue, #60a5fa);border-color:var(--ui-blue, #60a5fa);color:#0b0b0b}.tactics-setup-body{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1rem}.tactics-setup-controls{display:flex;flex-direction:column;gap:1rem;min-width:0}.tactics-presets-label,.tactics-name-list h3{display:block;margin:0 0 6px;font-weight:600;color:var(--ui-muted, #a3a3a3);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.tactics-presets-buttons{display:flex;flex-wrap:wrap;gap:6px}.tactics-presets-buttons button{padding:6px 10px;border:1px solid var(--ui-line, rgba(255, 255, 255, .16));border-radius:6px;background:var(--ui-surface, #121212);color:var(--ui-text, #f5f5f5);font-size:.85rem;cursor:pointer}.tactics-presets-buttons button.active{background:var(--ui-green, #4ade80);border-color:var(--ui-green, #4ade80);color:#0b0b0b}.tactics-name-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:340px}.tactics-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tactics-name-badge{flex:0 0 28px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:var(--ui-surface-hover, #242424);color:var(--ui-muted, #a3a3a3);font-size:.75rem;font-weight:700}.tactics-name-row input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--ui-line, rgba(255, 255, 255, .16));border-radius:6px;background:var(--ui-surface, #121212);color:var(--ui-text, #f5f5f5);font-size:.85rem}.tactics-name-row input:focus{outline:none;border-color:var(--ui-blue, #60a5fa)}.tactics-attributes{flex-basis:100%;color:var(--ui-muted, #a3a3a3);font-size:.78rem}.tactics-attributes summary{cursor:pointer;width:fit-content}.tactics-attribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;margin-top:6px}.tactics-attribute-grid label{display:flex;align-items:center;justify-content:space-between;gap:4px}.tactics-attribute-grid input{width:46px;padding:3px 4px;border:1px solid var(--ui-line, rgba(255, 255, 255, .16));border-radius:4px;background:var(--ui-surface, #121212);color:var(--ui-text, #f5f5f5)}.tactics-setup-pitch{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.tactics-setup-pitch>div{max-width:100%}.tactics-setup-hint{margin:0;font-size:.8rem;color:var(--ui-muted, #a3a3a3)}.tactics-setup-modal .action-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:1rem}.match-selector-overlay{position:fixed;inset:0;display:flex;flex-direction:row;z-index:1000;background:#080d1a}.match-selector-hero{flex:1;min-width:0;background-image:image-set(url(/hero-match-lobby.webp) type("image/webp"),url(/hero-match-lobby.png) type("image/png"));background-size:cover;background-position:center}.match-selector-hero:after{content:"";display:block;height:100%;background:linear-gradient(to right,transparent 60%,#080d1a 100%)}.match-selector{width:min(460px,45vw);min-width:360px;background:#080d1a;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;overflow:hidden;animation:slideInRight .35s ease-out}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.match-sticky-bar{position:sticky;top:0;background:#080d1a;padding:20px 24px 14px;border-bottom:1px solid rgba(255,255,255,.08);z-index:2}.match-sticky-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.customize-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8;-webkit-user-select:none;user-select:none}.match-scroll{overflow-y:auto;padding:16px 24px 24px;min-height:0;flex:1 1 auto}.match-config-section{margin-bottom:20px}.match-config-section h3{margin:0 0 8px;color:#e2e8f0;font-size:.95rem}.match-selector h2{margin:0 0 4px;color:#f8fafc;font-size:1.3rem;font-weight:700}.mode-label{margin:0 0 16px;color:#64748b;font-size:.85rem}.user-section{margin-bottom:20px}.user-section label{display:block;margin-bottom:6px;font-weight:600;color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.user-input{width:100%;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:15px;background:#ffffff0d;color:#f1f5f9;transition:border-color .2s,background .2s}.user-input:focus{outline:none;border-color:#63a0ff99;background:#ffffff14}.match-section{margin-bottom:18px}.match-section label{display:block;margin-bottom:6px;font-weight:600;color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.search-group{display:flex;gap:8px}.tactics-section h3,.team-selection-section h3{margin:0 0 8px;color:#e2e8f0;font-size:.95rem}.team-selectors{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.team-selectors label{margin:0}.attributes-toggle{display:flex;align-items:center;gap:6px;margin-top:10px;color:#cbd5e1;font-size:13px}.tactics-summary{margin:8px 0 0;color:#94a3b8;font-size:13px}.match-input{flex:1;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:15px;background:#ffffff0d;color:#f1f5f9;transition:border-color .2s,background .2s}.match-input:focus{outline:none;border-color:#63a0ff99;background:#ffffff14}.match-input::placeholder{color:#475569}.btn{padding:9px 14px;border:none;border-radius:6px;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.45}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid rgba(99,160,255,.3)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #3b82f666}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff12;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover:not(:disabled){background:#ffffff1c;border-color:#63a0ff73;color:#93c5fd}.match-toolbar{display:flex;gap:8px;margin-bottom:16px}.matches-list{margin-bottom:18px;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px;background:#ffffff05}.quick-label{margin:0 0 10px;font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.match-rows{list-style:none;padding:0;margin:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.match-row-btn{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff08;color:#e2e8f0;padding:10px;display:grid;grid-template-columns:64px 130px 1fr;align-items:center;text-align:left;gap:8px;transition:background .15s,border-color .15s}.match-row-btn:hover{border-color:#63a0ff73;background:#3b82f61a}.match-row-id{font-weight:700;color:#f1f5f9}.status-active{color:#34d399;font-weight:600;font-size:.85rem}.status-finished{color:#f87171;font-weight:600;font-size:.85rem}.match-row-turn{color:#64748b;font-size:.82rem}.empty-list{margin:0;color:#475569;font-size:.88rem}.error-message{background:#dc26261f;color:#fca5a5;padding:10px 12px;border-radius:6px;margin-bottom:14px;font-size:13px;border-left:3px solid #ef4444}.info-text{background:#3b82f614;padding:12px;border-radius:6px;border-left:3px solid rgba(59,130,246,.5)}.info-text p{margin:5px 0;font-size:12px;color:#64748b}.info-text p:first-child{margin-top:0}.info-text p:last-child{margin-bottom:0}.match-selector .config-editor-label{color:#94a3b8}.match-selector .config-editor-textarea{background:#ffffff0d;border-color:#ffffff1f;color:#e2e8f0}.match-selector .config-editor-textarea.has-error{border-color:#ef4444;background:#ef444414}.match-selector .config-editor-textarea:focus{border-color:#63a0ff99}.match-selector .config-editor-diff{background:#ffffff08;color:#cbd5e1}.match-selector .config-editor-diff-empty{color:#475569}.match-selector .config-editor-diff-list code{background:#ffffff14;color:#e2e8f0}.match-selector .config-editor-diff-list .diff-before{color:#fca5a5}.match-selector .config-editor-diff-list .diff-after{color:#86efac}.match-selector .config-editor-diff-list .diff-arrow{color:#475569}@media(max-width:640px){.match-selector-overlay{flex-direction:column}.match-selector-hero{flex:0 0 38vh}.match-selector-hero:after{background:linear-gradient(to bottom,transparent 50%,#080d1a 100%)}.match-selector{width:100%;min-width:0;border-left:none;border-top:1px solid rgba(255,255,255,.07)}}.match-selector-overlay,.match-selector,.match-sticky-bar{background:var(--ui-void)}.match-selector-hero{position:relative;flex:1 1 auto;margin:0;border:0;background-color:var(--ui-void);background-image:image-set(url(/hero-match-lobby.webp) type("image/webp"),url(/hero-match-lobby.png) type("image/png"));background-position:center;background-repeat:no-repeat;background-size:contain}.match-selector-hero:after{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px,32px 32px}.match-selector{width:min(400px,40vw);min-width:340px}.match-selector,.match-sticky-bar{border-color:var(--ui-line)}.match-selector h2,.match-config-section h3,.tactics-section h3,.match-row-id{color:var(--ui-text)}.customize-toggle,.mode-label,.user-section label,.match-section label,.quick-label,.match-row-turn,.info-text p,.empty-list,.match-selector .config-editor-label,.match-selector .config-editor-diff-empty,.match-selector .config-editor-diff-list .diff-arrow{color:var(--ui-muted)}.match-selector .user-input,.match-selector .match-input,.match-selector .config-editor-textarea{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-text)}.match-selector .user-input:focus,.match-selector .match-input:focus,.match-selector .config-editor-textarea:focus{background:var(--ui-surface-hover);border-color:var(--ui-blue)}.match-selector .config-editor-textarea.has-error{background:#fb71851a;border-color:var(--ui-red)}.match-selector .btn,.match-row-btn,.matches-list,.info-text{border-color:var(--ui-line);background:var(--ui-surface);box-shadow:none}.match-selector .btn{font-size:.76rem;letter-spacing:.07em;text-transform:uppercase}.match-selector .btn-primary{background:var(--ui-blue);border-color:var(--ui-blue);color:#07111f}.match-selector .btn-primary:hover:not(:disabled){background:#93c5fd;box-shadow:none;transform:none}.match-row-btn{color:var(--ui-text)}.match-row-btn:hover{border-color:var(--ui-blue);background:var(--ui-surface-hover)}.status-active{color:var(--ui-green)}.status-finished{color:var(--ui-red)}.info-text{border-left-color:var(--ui-blue)}@media(max-width:640px){.match-selector-hero:after{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px,32px 32px}.match-selector-hero{flex:0 0 30vh;margin:0}.match-selector{width:100%;min-width:0}}.game-mode-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;z-index:1100;background:var(--ui-void);background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:32px 32px}.game-mode-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.72));pointer-events:none}.game-mode-overlay:after{content:"";position:absolute;top:23%;left:50%;width:min(74vw,960px);height:min(42vh,380px);background-image:image-set(url(/hero-game-mode.webp) type("image/webp"),url(/hero-game-mode.jpg) type("image/jpeg"));background-position:center;background-repeat:no-repeat;background-size:contain;transform:translate(-50%,-50%);pointer-events:none}.game-mode-selector{position:relative;z-index:1;width:100%;max-width:960px;padding:24px 32px 48px;text-align:center}.game-mode-selector h1{margin:0 0 8px;color:var(--ui-text);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.game-mode-subtitle{margin:0 0 28px;color:var(--ui-muted);font-size:.8rem}.game-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px;margin:0 auto}.game-mode-option{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-text);text-align:left;transition:border-color .12s ease,background .12s ease}.game-mode-option:hover{border-color:var(--ui-blue);background:var(--ui-surface-hover)}.game-mode-title{font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.game-mode-description{color:var(--ui-muted);font-size:.76rem;line-height:1.4}.game-mode-extra-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:20px}.game-mode-extra-btn{padding:.7rem 1rem;background:var(--ui-surface-raised);color:var(--ui-text);border:1px solid var(--ui-line);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.game-mode-extra-btn:hover{background:var(--ui-blue);border-color:var(--ui-blue);color:#07111f}@media(max-width:640px){.game-mode-overlay:after{top:20%;width:min(92vw,560px);height:32vh}.game-mode-options{grid-template-columns:1fr}.game-mode-extra-btn{flex:1 1 45%}}.scenario-selector-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1200}.scenario-selector{background:#fff;border-radius:8px;width:min(1000px,95vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a;overflow:hidden}.scenario-sticky-bar{position:sticky;top:0;background:#fff;padding:1rem 2rem .75rem;border-bottom:1px solid #eee;z-index:2}.scenario-sticky-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.user-section.inline{margin-bottom:0;display:flex;align-items:center;gap:.5rem}.user-section.inline label{margin:0}.scenario-team-picker{display:flex;align-items:center;gap:.35rem;margin:0;padding:0;border:0}.scenario-team-picker legend{padding:0;margin-right:.2rem;color:var(--ui-muted);font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.scenario-team-picker button{padding:.4rem .6rem;border:1px solid var(--ui-line);background:var(--ui-surface-raised);color:var(--ui-text);cursor:pointer}.scenario-team-picker button.selected{border-color:var(--ui-green);background:#4ade801f}.scenario-scroll{overflow-y:auto;padding:1rem 2rem 1.5rem;flex:1 1 auto;min-height:0}.scenario-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.scenario-header h2{margin:0;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;padding:0;width:32px;height:32px;line-height:32px}.close-btn:hover{color:#333}.user-section{margin-bottom:1.5rem}.user-section label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.user-input{width:100px;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.scenario-list{margin-bottom:1.5rem}.scenario-list h3{margin-top:0;margin-bottom:1rem;color:#333}.no-scenarios{color:#999;font-style:italic}.scenario-domain-group+.scenario-domain-group{margin-top:1.25rem}.scenario-domain-heading{margin:0 0 .5rem;color:var(--ui-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:revert}.scenario-domain-group[open]>.scenario-domain-heading{margin-bottom:.5rem}.scenario-domain-count{color:var(--ui-muted);font-weight:400;text-transform:none;letter-spacing:normal}.scenario-item{padding:1rem;border:2px solid #ddd;border-radius:4px;margin-bottom:.5rem;transition:all .2s}.scenario-item:hover{border-color:#4caf50;background:#f9f9f9}.scenario-item.selected{border-color:#4caf50;background:#e8f5e9}.scenario-item h4{margin:0 0 .5rem;color:#333}.scenario-item p{margin:0;color:#666;font-size:.9rem}.scenario-details{background:#f5f5f5;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.scenario-details h3{margin-top:0;margin-bottom:.5rem;font-size:1rem;color:#333}.scenario-details pre{background:#fff;color:#333;padding:.5rem;border-radius:4px;overflow-x:auto;font-size:.85rem;margin:.5rem 0}.scenario-details p{margin:.25rem 0;color:#666}.scenario-preset-orders{margin-top:1rem}.scenario-preset-orders h4{margin:0 0 .25rem;color:#333;font-size:.95rem}.action-buttons{display:flex;gap:1rem;justify-content:flex-end}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;transition:background-color .2s}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#45a049}.btn-primary:disabled{background:#ccc}.btn-secondary{background:#666;color:#fff}.btn-secondary:hover{background:#555}.scenario-selector-overlay{background:#000000db}.scenario-selector,.scenario-sticky-bar{background:var(--ui-surface)}.scenario-selector{border:1px solid var(--ui-line-strong);box-shadow:none}.scenario-sticky-bar{border-bottom-color:var(--ui-line)}.scenario-header h2,.scenario-list h3,.scenario-item h4,.scenario-details h3,.scenario-preset-orders h4{color:var(--ui-text)}.close-btn,.user-section label,.no-scenarios,.scenario-item p,.scenario-details p{color:var(--ui-muted)}.close-btn:hover{color:var(--ui-text)}.scenario-selector .user-input,.scenario-details pre{background:var(--ui-void);border-color:var(--ui-line);color:var(--ui-text)}.scenario-item{border-color:var(--ui-line)}.scenario-item:hover,.scenario-item.selected{border-color:var(--ui-green)}.scenario-item:hover{background:var(--ui-surface-hover)}.scenario-item.selected{background:#4ade801a}.scenario-details{background:var(--ui-void);border:1px solid var(--ui-line)}.scenario-selector .btn{border:1px solid var(--ui-line);font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.scenario-selector .btn-primary{background:var(--ui-green);color:#07150d}.scenario-selector .btn-primary:hover:not(:disabled){background:#86efac}.scenario-selector .btn-primary:disabled{background:#333}.scenario-selector .btn-secondary{background:var(--ui-surface-raised);color:var(--ui-text)}.scenario-selector .btn-secondary:hover{background:var(--ui-surface-hover)}.scenario-modal-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:2100}.scenario-modal{background:#1e1e1e;border:1px solid #444;border-radius:8px;width:min(460px,92vw);max-height:88vh;overflow-y:auto;color:#ddd;font-size:.85rem;line-height:1.5;box-shadow:0 8px 32px #000000b3}.scenario-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem .75rem;border-bottom:1px solid #333}.scenario-modal__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:.15rem}.scenario-modal__title{margin:0;font-size:1.05rem;color:#fff}.scenario-modal__title--success{color:#3ddc84}.scenario-modal__title--failure{color:#ff6b6b}.scenario-modal__close{background:transparent;border:none;color:#888;font-size:1.4rem;line-height:1;padding:0 .25rem}.scenario-modal__close:hover{color:#fff}.scenario-modal__body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.scenario-modal__description{margin:0;color:#aaa}.scenario-modal__objective{background:#252525;border:1px solid #333;border-left:3px solid #4a9eff;border-radius:4px;padding:.55rem .7rem}.scenario-modal__objective--opponent{border-left-color:#777}.scenario-modal__objective-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:.15rem}.scenario-modal__objective-text{color:#fff;font-weight:700}.scenario-modal__meta{color:#888;font-size:.75rem}.scenario-modal__actions{display:flex;gap:.5rem;padding:.75rem 1.25rem 1.1rem;border-top:1px solid #333}.scenario-modal__button{flex:1;padding:.55rem .75rem;font-size:.85rem;font-weight:700;border:none;border-radius:4px}.scenario-modal__button--primary{background:#4a9eff;color:#fff}.scenario-modal__button--secondary{background:transparent;border:1px solid #555;color:#bbb}.scenario-modal__button--secondary:hover{color:#fff;border-color:#777}.set-piece-setup-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0c140eb8;z-index:1200}.set-piece-setup-modal{width:min(940px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:#f3efe1;color:#1e261b;border-radius:14px;box-shadow:0 18px 60px #00000059;padding:1.25rem}.set-piece-setup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.set-piece-setup-header h2{margin:0}.set-piece-setup-body{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1rem}.set-piece-setup-controls{display:flex;flex-direction:column;gap:.75rem}.set-piece-setup-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.set-piece-setup-controls input,.set-piece-setup-controls select{border:1px solid #b8b19c;border-radius:8px;padding:.55rem .65rem;font-size:.95rem;background:#fffdf7}.set-piece-setup-summary{padding:.75rem;background:#ebe4d1;border-radius:10px;font-size:.9rem}.set-piece-setup-error{margin-top:.35rem;color:#8c271e;font-weight:600}.set-piece-setup-pitch{display:flex;flex-direction:column;gap:.5rem;align-items:center}.set-piece-setup-pitch svg{width:100%;max-width:505px;border-radius:12px;background:#2c6b2f}.set-piece-setup-pitch p{margin:0;font-size:.85rem;color:#475241}@media(max-width:840px){.set-piece-setup-body{grid-template-columns:1fr}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;background:#0b0b0be0}.app-main{flex:1;display:flex;justify-content:center;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;position:relative}@media(max-width:900px)and (orientation:landscape){.app-main{padding:0}}:root{--ui-void: #0b0b0b;--ui-surface: #121212;--ui-surface-raised: #191919;--ui-surface-hover: #242424;--ui-line: rgba(255, 255, 255, .16);--ui-line-strong: rgba(255, 255, 255, .32);--ui-text: #f5f5f5;--ui-muted: #a3a3a3;--ui-blue: #60a5fa;--ui-green: #4ade80;--ui-amber: #fbbf24;--ui-red: #fb7185}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--ui-void)}body{font-family:ui-monospace,SFMono-Regular,Cascadia Code,Roboto Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--ui-void);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:24px 24px;color:var(--ui-text);font-size:13px;letter-spacing:.01em}button,input,select,textarea{font:inherit}button,input,select,textarea{border-radius:0}button{letter-spacing:.035em}button:not(:disabled){transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}button:not(:disabled):hover{filter:brightness(1.16)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ui-amber);outline-offset:2px}#root{width:100vw;height:100vh;height:100dvh;overflow:hidden}@media(pointer:coarse){input,select,textarea{font-size:16px}}
