body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);overflow:hidden}#app-container{display:grid;grid-template-columns:260px 1fr 224px;height:100vh;gap:1rem;padding:1rem;transition:transform .3s ease-in-out}aside,main{background-color:var(--panel-bg-color);border-radius:8px;padding:1rem;overflow-y:auto}h2,h3,h4,h5{margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}h4{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}h5{font-size:.9rem;color:#aaa;margin:1.5rem 0 .5rem;border:none;padding:0}.team-name-input{flex-grow:1;background:#333;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:.2rem .4rem;font-size:1rem;min-width:80px}.team-color-input{width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer}#lineup-form .team-lineup{margin-bottom:0}#team-settings-tabs{display:flex;border-bottom:1px solid var(--border-color)}.tab-button{flex:1;padding:.75rem;border:none;background-color:transparent;color:#aaa;cursor:pointer;font-size:1rem;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.tab-button:hover{color:var(--text-color)}.tab-button.active{color:var(--text-color);font-weight:700}.tab-button[data-team=a].active{border-color:var(--team-a-color)}.tab-button[data-team=b].active{border-color:var(--team-b-color)}.tab-content{display:none;padding-top:1rem}.tab-content.active{display:block}.team-settings-controls{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.dh-toggle-container{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.switch{position:relative;display:inline-block;width:34px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#555;transition:.4s}.slider:before{position:absolute;content:"";height:12px;width:12px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translate(14px)}.slider.round{border-radius:20px}.slider.round:before{border-radius:50%}.lineup-player{display:grid;grid-template-columns:clamp(18px,5vw,24px) clamp(28px,9vw,36px) clamp(16px,4.5vw,20px) clamp(34px,10vw,40px) minmax(0,1fr) clamp(56px,17vw,68px);gap:clamp(.25rem,1.3vw,.5rem);margin-bottom:.5rem;align-items:center}.lineup-player.bench-player .player-order-span,.lineup-player.bench-player select[data-type=pos]{visibility:hidden}.lineup-player input,.lineup-player select,.pitcher-input-container input,.pitcher-input-container select{width:100%;padding:.5rem;background-color:#3e3e3e;border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;font-family:inherit;font-size:inherit}.lineup-player input[data-type=jersey]{width:2.5rem}.lineup-player select,.pitcher-input-container select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e0e0e0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .35rem center;background-size:.85em;padding-right:1.5rem;width:100%;min-width:0}.pitcher-input-container{display:grid;grid-template-columns:clamp(28px,9vw,36px) clamp(16px,4.5vw,20px) clamp(34px,10vw,40px) minmax(0,1fr) clamp(56px,17vw,68px);gap:clamp(.25rem,1.3vw,.5rem);align-items:center;margin-left:calc(clamp(18px,5vw,24px) + clamp(.25rem,1.3vw,.5rem))}.pitcher-input-container input[data-type=pitcher-jersey]{width:100%;min-width:0}#apply-lineup,#view-box-score-btn{width:100%;padding:.8rem;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;margin-top:.5rem}#apply-lineup{background-color:var(--primary-color);margin-top:1rem}#apply-lineup:hover{background-color:#5a9ee6}#view-box-score-btn{background-color:#27ae60}#view-box-score-btn:hover{background-color:#2ecc71}#new-game-btn{width:100%;padding:.8rem;background-color:#e67e22;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;margin-top:.5rem}#new-game-btn:hover{background-color:#d35400}.roster-actions{display:flex;gap:.5rem;width:100%}.roster-action-btn{flex:1;padding:.5rem;font-size:.8rem;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .2s}.save-roster-btn{background-color:#27ae60;color:#fff}.save-roster-btn:hover{background-color:#2ecc71}.load-roster-btn{background-color:#2980b9;color:#fff}.load-roster-btn:hover{background-color:#3498db}.team-logo-container,.player-photo-container{position:relative;cursor:pointer}.team-logo-container{width:32px;height:32px;flex-shrink:0}.player-photo-container{width:100%;max-width:36px;aspect-ratio:3 / 4}.team-logo-preview,.player-photo-preview{width:100%;height:100%;object-fit:cover;background-color:#3e3e3e;border:1px solid var(--border-color)}.team-logo-preview{border-radius:50%}.player-photo-preview{border-radius:4px}.image-upload-input{display:none}.image-upload-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#0009;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1;opacity:0;transition:opacity .2s}.team-logo-container:hover .image-upload-label,.player-photo-container:hover .image-upload-label{opacity:1}#main-content{display:flex;flex-direction:column;gap:1rem}#game-info{display:flex;justify-content:space-between;align-items:center;font-size:1.5rem;font-weight:700}.header-input{background-color:#3e3e3e;border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;padding:.5rem;min-height:44px;font-family:inherit;font-size:1rem;text-align:center}#stadium-input,#game-date-input{width:150px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}#scoreboard table{width:100%;border-collapse:collapse;text-align:center}#scoreboard th,#scoreboard td{border:1px solid var(--border-color);padding:.5rem;min-width:30px}#scoreboard th{background-color:#333}#scoreboard .total-col{font-weight:700}#scoreboard-body tr:first-child td:first-child{color:var(--team-a-color);font-weight:700}#scoreboard-body tr:last-child td:first-child{color:var(--team-b-color);font-weight:700}.scoreboard-team-cell{display:flex;align-items:center;gap:.5rem;justify-content:flex-start;padding-left:.5rem}.scoreboard-team-logo{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}#current-batter-display{background-color:#222;border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1.5rem;color:var(--text-color);display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.batter-team-name{font-weight:700}.batter-photo-main{width:60px;height:80px;object-fit:cover;border-radius:6px;background-color:#333}#batter-info-text{display:flex;flex-direction:column;justify-content:center}#batter-main-info{font-size:1.2rem;font-weight:700;transition:color .3s ease-in-out}#batter-last-ab{font-size:1.2rem;font-weight:700;min-height:1.2em;color:var(--text-color)}.main-actions-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.main-action-btn{padding:.75rem;background-color:#6c5ce7;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s,opacity .2s}#undo-btn{background-color:#f0932b}#undo-btn:hover{background-color:#e67e22}.main-action-btn:hover{background-color:#8270f2}.main-action-btn:disabled{background-color:#555;cursor:not-allowed;opacity:.6}#game-state-container{flex-grow:1;display:flex;justify-content:center;align-items:center}#game-state-display{width:350px;height:350px;position:relative;cursor:default;border:2px solid var(--border-color);border-radius:8px;padding:1rem}#inning-display{background-color:var(--primary-color);padding:1rem 3rem;border-radius:24px;font-weight:700;text-align:center;margin:1.5rem auto;width:fit-content;font-size:2.4rem}#sbo-display{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:4px}.sbo-row{display:flex;align-items:center;gap:6px}.sbo-row span{font-weight:700;width:35px}.sbo-light{width:18px;height:18px;border-radius:50%;background-color:var(--light-off);border:1px solid #222;transition:background-color .2s}.sbo-light.s-on{background-color:var(--s-light-on)}.sbo-light.b-on{background-color:var(--b-light-on)}.sbo-light.o-on{background-color:var(--o-light-on)}#bases-container{position:absolute;transform:none;border:none;top:0;left:0;width:100%;height:100%}.base{position:absolute;width:12%;height:12%;max-width:30px;max-height:30px;border:2px solid var(--text-color);background-color:#333;transition:background-color .2s}.base.occupied{background-color:var(--occupied-base-color)}#second-base{top:10%;left:50%;transform:translate(-50%) rotate(45deg)}#third-base{top:50%;left:10%;transform:translateY(-50%) rotate(45deg)}#first-base{top:50%;right:10%;transform:translateY(-50%) rotate(45deg)}#home-plate{bottom:10%;left:50%;transform:translate(-50%) rotate(45deg)}#game-state-display.pregame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;border-radius:inherit;z-index:4;pointer-events:none;transition:opacity .35s ease}#game-state-display:not(.pregame):after{opacity:0}#play-ball-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.9rem 2.4rem;border-radius:999px;background:#fbbf24;color:#1f1300;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 8px 28px #0000008c,0 0 #fbbf248c;animation:pb-breathe 2.2s ease-in-out infinite;transition:transform .15s ease,opacity .25s ease}#play-ball-btn .pb-main{font-size:1.9rem;font-weight:900;letter-spacing:3px;line-height:1;white-space:nowrap}#play-ball-btn{max-width:92%;white-space:nowrap}#play-ball-btn .pb-sub{font-size:.75rem;font-weight:600;opacity:.8;letter-spacing:1px}#play-ball-btn:hover{transform:translate(-50%,-50%) scale(1.04)}#play-ball-btn:active{transform:translate(-50%,-50%) scale(.97)}@keyframes pb-breathe{0%,to{box-shadow:0 8px 28px #0000008c,0 0 #fbbf248c}50%{box-shadow:0 8px 28px #0000008c,0 0 0 14px #fbbf2400}}#play-ball-btn.disabled{cursor:not-allowed;background:#6b6b6b;color:#2a2a2a;animation:none}#play-ball-btn.disabled:hover{transform:translate(-50%,-50%)}.event-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.event-log-header h3{margin-bottom:0;border-bottom:none;padding-bottom:0}#export-log-btn{padding:.4rem .8rem;font-size:.8rem;border-radius:4px;cursor:pointer;transition:background-color .2s;background-color:#2980b9;color:#fff;border:none}#export-log-btn:hover{background-color:#3498db}#event-log{list-style:none}#event-log li{padding:.5rem;border-bottom:1px solid var(--border-color);font-size:.9rem}#event-log li:last-child{border-bottom:none}#event-log li.event-team-a{color:var(--team-a-color)}#event-log li.event-team-b{color:var(--team-b-color)}.modal-hidden{display:none!important}#play-modal,#confirm-modal,#box-score-modal,#runner-action-modal,#management-modal,#load-roster-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:100}#play-modal,#confirm-modal,#box-score-modal,#runner-action-modal,#management-modal,#load-roster-modal{display:flex;justify-content:center;align-items:center;padding:1rem}#play-modal.modal-hidden,#confirm-modal.modal-hidden,#box-score-modal.modal-hidden,#runner-action-modal.modal-hidden,#management-modal.modal-hidden,#load-roster-modal.modal-hidden{display:none!important}#modal-content,#runner-action-modal-content{background-color:var(--panel-bg-color);padding:2rem;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;cursor:move;-webkit-user-select:none;user-select:none}.draggable-modal-content.is-dragging{position:fixed;margin:0}#close-modal,#close-box-score-modal,#close-runner-action-modal,#close-management-modal,#close-load-roster-modal{position:absolute;top:10px;right:15px;background:none;border:none;color:var(--text-color);font-size:2rem;cursor:pointer}.modal-options{display:grid;gap:1rem;max-height:60vh;overflow-y:auto;padding-right:.5rem}.play-options{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.modal-options button{padding:1rem;background-color:#444;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.modal-options button:hover{background-color:#555}.modal-options button:disabled{background-color:#383838;color:#777;cursor:not-allowed;border-color:#444}.modal-options button:disabled:hover{background-color:#383838}.modal-options button.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.modal-options button[class*=play-category-]{color:#fff}.modal-options button.play-category-strikeout{background-color:#c0392b;border-color:#a53125}.modal-options button.play-category-strikeout:hover{background-color:#d64537}.modal-options button.play-category-groundout{background-color:#d35400;border-color:#b54900}.modal-options button.play-category-groundout:hover{background-color:#e67e22}.modal-options button.play-category-flyout{background-color:#2980b9;border-color:#236fa1}.modal-options button.play-category-flyout:hover{background-color:#3498db}.modal-options button.play-category-special-out{background-color:#8e44ad;border-color:#793a94}.modal-options button.play-category-special-out:hover{background-color:#9b59b6}.modal-options button.play-category-fielder-choice{background-color:#2c3e50;border-color:#212f3c}.modal-options button.play-category-fielder-choice:hover{background-color:#34495e}.modal-options button.play-category-sacrifice{background-color:#27ae60;border-color:#219451}.modal-options button.play-category-sacrifice:hover{background-color:#2ecc71}.modal-options button.play-category-walk{background-color:#16a085;border-color:#138a72}.modal-options button.play-category-walk:hover{background-color:#1abc9c}.modal-options button.play-category-hit{background-color:#f1c40f;border-color:#d8b10e;color:#2c3e50}.modal-options button.play-category-hit:hover{background-color:#f5d025}.modal-options button.play-category-error{background-color:#bdc3c7;border-color:#a3a9ad;color:#2c3e50}.modal-options button.play-category-error:hover{background-color:#ecf0f1}.modal-options button.play-category-interference{background-color:#7f8c8d;border-color:#6d797a;color:#fff}.modal-options button.play-category-interference:hover{background-color:#95a5a6}.back-button,.back-button-advanced,#back-button-runner-action{background:none;border:none;color:var(--primary-color);font-size:1rem;cursor:pointer;margin-bottom:1rem}#modal-advanced-options{margin-top:1rem}.runner-placement-row{margin-bottom:1rem}.runner-placement-row .runner-name{margin-bottom:.5rem;font-weight:700}.runner-placement-row .runner-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.runner-options button{padding:1rem;background-color:#444;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.runner-options button:hover{background-color:#555}.runner-options button.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.runner-options button.out-option{background-color:#882d2d}.runner-options button.out-option.selected{background-color:var(--o-light-on)}.advanced-play-modifiers{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.advanced-play-modifiers button{width:100%;padding:1rem;background-color:#6c5ce7;color:#fff;border:1px solid #544ab2;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s,color .2s}.advanced-play-modifiers button:hover{background-color:#8270f2}.advanced-play-modifiers button.selected{background-color:#a29bfe;color:#2c2c2c;border-color:#6c5ce7;font-weight:700}#modal-advanced-actions,#runner-action-actions{margin-top:2rem;text-align:right}#modal-advanced-done,#runner-action-done{padding:.75rem 2rem;background-color:#27ae60;color:#fff;font-size:1rem;border:none;border-radius:4px;cursor:pointer}#modal-advanced-done:hover,#runner-action-done:hover{background-color:#2ecc71}#runner-action-details{margin-top:1rem;display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto;padding-right:.5rem}.confirm-modal-content{background-color:var(--panel-bg-color);padding:2rem;border-radius:8px;text-align:center;border:1px solid var(--border-color);width:90%;max-width:350px}.confirm-modal-content p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.confirm-modal-actions{display:flex;justify-content:center;gap:1rem}.confirm-modal-actions button{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;border:none;transition:background-color .2s}#confirm-reset-btn{background-color:var(--o-light-on);color:#fff}#confirm-reset-btn:hover{background-color:#e74c3c}#cancel-reset-btn{background-color:#555;color:var(--text-color)}#cancel-reset-btn:hover{background-color:#666}.management-modal-content{background-color:var(--panel-bg-color);padding:1.5rem;border-radius:8px;width:90%;max-width:800px;position:relative;border:1px solid var(--border-color)}.management-team-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.management-team-tabs button{padding:.75rem 1.5rem;border:none;background-color:transparent;color:#aaa;cursor:pointer;font-size:1rem;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.management-team-tabs button:hover{color:var(--text-color)}.management-team-tabs button.active{color:var(--text-color);font-weight:700}.management-team-tabs button.active.team-a{border-color:var(--team-a-color)}.management-team-tabs button.active.team-b{border-color:var(--team-b-color)}.management-container{display:block;min-height:50vh}.management-column h4{margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.1rem;border-bottom:1px solid var(--border-color)}.management-player-list{list-style:none;padding:0;max-height:60vh;overflow-y:auto}.management-player-list li{padding:.5rem .75rem;background-color:#3e3e3e;border:2px solid var(--border-color);border-radius:4px;margin-bottom:.5rem;cursor:pointer;transition:background-color .2s,border-color .2s;display:flex;align-items:center;gap:.75rem}.management-player-list li:hover{background-color:#555;border-color:#666}.management-player-list li.selected{background-color:#4a62e2;border-color:var(--primary-color);color:#fff}.management-player-photo{width:30px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0;background-color:#555}.management-player-list li .pos{font-weight:700;color:#f7b731;margin-right:.75rem;flex-shrink:0}.management-player-list li .player-name{flex-grow:1}.management-player-list li .runner-indicator{font-style:italic;color:#26de81;margin-left:.5rem;font-size:.8rem}.management-pitcher-item{border-left:4px solid var(--occupied-base-color)}.substitution-popover{position:absolute;background-color:#1e1e1e;border:1px solid var(--primary-color);border-radius:6px;padding:1rem;z-index:110;box-shadow:0 5px 15px #00000080;width:280px}.substitution-popover p{margin-bottom:1rem;line-height:1.4}.substitution-popover select{width:100%;padding:.75rem;background-color:#3e3e3e;border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;font-size:1rem;margin-bottom:1rem}.substitution-popover-actions{display:flex;justify-content:flex-end;gap:.5rem}.substitution-popover-actions button{padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;border:none}.popover-confirm-btn{background-color:#27ae60;color:#fff}.popover-cancel-btn{background-color:#555;color:var(--text-color)}#box-score-content{background-color:var(--panel-bg-color);padding:1.5rem;border-radius:8px;width:95%;max-width:1400px;position:relative;max-height:90vh;overflow-y:auto}#box-score-content h4{margin-top:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;font-size:1.2rem}.modal-header-controls{display:flex;justify-content:space-between;align-items:center}.modal-header-controls h3{margin-bottom:0;border-bottom:none;padding-bottom:0}.export-buttons-container{display:flex;gap:.5rem}#export-box-score-btn,#export-box-score-xlsx-btn{padding:.6rem 1.2rem;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s;color:#fff}#export-box-score-btn{background-color:#2980b9}#export-box-score-btn:hover{background-color:#3498db}#export-box-score-xlsx-btn{background-color:#27ae60}#export-box-score-xlsx-btn:hover{background-color:#2ecc71}#box-score-tables{margin-top:1rem}#box-score-tables table{width:100%;border-collapse:collapse;font-size:.9rem}#box-score-tables th,#box-score-tables td{border:1px solid var(--border-color);padding:.6rem .4rem;text-align:center;vertical-align:middle}#box-score-tables th{background-color:#383838}#box-score-tables td:first-child{text-align:left;white-space:nowrap}.box-score-player-cell{display:flex;align-items:center;gap:.5rem}.box-score-player-photo{width:24px;height:32px;object-fit:cover;border-radius:3px;flex-shrink:0}.substitute-row td:first-child{padding-left:2rem}#box-score-tables .total-row td{background-color:#3c3c3c;font-weight:700}#box-score-tables .team-separator{margin:2rem 0;border:0;border-top:1px solid var(--border-color)}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;display:flex;justify-content:space-between;align-items:center;padding:4px 0}.collapsible-header:after{content:"▶";font-size:.8em;color:#aaa;transition:transform .3s ease-out;margin-right:.5rem}.collapsible-header.expanded:after{transform:rotate(90deg)}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding-top:0}.collapsible-content.expanded{max-height:2400px;padding-top:.5rem}.load-roster-modal-content{background-color:var(--panel-bg-color);padding:1.5rem;border-radius:8px;width:90%;max-width:500px;position:relative;border:1px solid var(--border-color)}#saved-rosters-list{margin-top:1rem;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.saved-roster-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#3e3e3e;border-radius:4px;border:1px solid var(--border-color)}.saved-roster-item-name{font-weight:700}.saved-roster-item-actions{display:flex;gap:.5rem}.saved-roster-item-actions button{padding:.4rem .8rem;font-size:.8rem;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:opacity .2s}.saved-roster-item-actions button:hover{opacity:.85}.load-roster-item-btn{background-color:var(--primary-color)}.delete-roster-item-btn{background-color:var(--o-light-on)}#mobile-nav{display:none;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background-color:#2c2c2ccc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;padding:.5rem;gap:1rem;z-index:50}.nav-dot{width:44px;height:44px;margin:-14px;background:none;border-radius:50%;cursor:pointer;position:relative;display:inline-block}.nav-dot:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background-color:#888;border-radius:50%;transition:all .2s ease-in-out}.nav-dot.active:after{background-color:var(--primary-color);transform:scale(1.2)}.drag-handle{cursor:grab;display:flex;align-items:center;justify-content:center;color:#888;-webkit-user-select:none;user-select:none;font-size:1.5rem;line-height:1;transition:color .2s}.drag-handle:hover{color:var(--text-color)}.drag-handle:active{cursor:grabbing}.lineup-player.dragging{background:#333;outline:2px dashed #555}.lineup-player.dragging>*{visibility:hidden}.lineup-player.ghost{position:absolute;pointer-events:none;opacity:.8;z-index:1000;background-color:#4a4a4a;box-shadow:0 5px 15px #0000004d;transform:rotate(2deg);transition:none}.lineup-player.drop-target{outline:2px dashed var(--primary-color);background-color:#4a90e233}@media(max-width:768px),(orientation:portrait){#app-container{display:flex;width:300vw;height:100vh;padding:0;gap:0}aside,main{width:100vw;height:100vh;border-radius:0;flex-shrink:0;padding:1rem}#main-content{padding-bottom:4rem}#mobile-nav{display:flex}#game-info{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;font-size:1rem}#stadium-input,#game-date-input{width:100px}.header-input{font-size:.9rem}#scoreboard table{font-size:.8rem}#scoreboard th,#scoreboard td{padding:.3rem;min-width:25px}#scoreboard-body td:first-child{white-space:nowrap}#game-state-container{flex-grow:0}#game-state-display{width:65vw;height:65vw;max-width:280px;max-height:280px;padding:.5rem;margin:0 auto}#play-ball-btn{font-size:1.6rem}#inning-display{font-size:1.3rem;padding:.5rem 1.5rem;margin:.5rem auto}#sbo-display{top:10px;left:10px}.sbo-row span{font-size:.9rem;width:30px}.sbo-light{width:16px;height:16px}#current-batter-display{padding:.5rem 1rem;grid-template-columns:auto 1fr;gap:.75rem}.batter-photo-main{width:45px;height:60px}#batter-main-info,#batter-last-ab{font-size:.9rem;line-height:1.4}aside h2{font-size:1.3rem}aside h3{font-size:1.1rem}.lineup-player{grid-template-columns:24px 36px 18px 35px 1fr 50px;font-size:.9rem}.lineup-player input,.lineup-player select,.pitcher-input-container input,.pitcher-input-container select{padding:.4rem;font-size:.9rem}.main-action-btn{padding:.6rem;font-size:.9rem}#modal-content,#runner-action-modal-content{padding:1.5rem}.modal-options button{padding:.8rem;font-size:.9rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-color: #1a1a1a;--panel-bg-color: #2c2c2c;--border-color: #444;--text-color: #e0e0e0;--primary-color: #4a90e2;--occupied-base-color: #e24a4a;--s-light-on: #f7b731;--b-light-on: #26de81;--o-light-on: #fc5c65;--light-off: #555;--team-a-color: #4a90e2;--team-b-color: #e24a4a}#modal-advanced-summary{font-size:.95rem;line-height:1.5;padding:.6rem .8rem;margin-bottom:.75rem;border-radius:4px;text-align:left}#modal-advanced-summary:empty{display:none}#modal-advanced-summary.summary-ok{background-color:#2f3a2f;border-left:3px solid #4ade80;color:#d7e8d7}#modal-advanced-summary.summary-conflict{background-color:#3a2f2f;border-left:3px solid #f87171;color:#f8d7d7;font-weight:600}#modal-advanced-done:disabled{background-color:#444;color:#888;cursor:not-allowed}#scoreboard table{border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed;width:100%}#scoreboard th,#scoreboard td{border:none;padding:clamp(.2rem,1vw,.55rem) clamp(.05rem,.5vw,.35rem);text-align:center;min-width:0;overflow:hidden}#scoreboard th.team-col,#scoreboard td.team-col{width:25%}#scoreboard th{background-color:transparent;color:#8b9096;font-weight:500;font-size:clamp(.62rem,2.1vw,.8rem);letter-spacing:.02em;padding-bottom:.4rem}#scoreboard thead tr{border-bottom:1px solid rgba(255,255,255,.12)}#scoreboard td{font-size:clamp(.72rem,2.6vw,1.05rem);color:var(--text-color)}#scoreboard th.team-col,#scoreboard td.team-col{text-align:left;padding-left:0;white-space:nowrap}#scoreboard th.rhe-first,#scoreboard td.rhe-first{padding-left:clamp(.25rem,1.8vw,1.1rem)}#scoreboard th.rhe{color:#b6bcc4;font-weight:700}#scoreboard td.total-col{font-weight:700;font-size:clamp(.8rem,2.9vw,1.15rem)}#scoreboard td.rhe{color:#c8cdd3}#scoreboard th.inning-now,#scoreboard td.inning-now{background-color:#ffffff12}#scoreboard th.inning-now{color:var(--primary-color);font-weight:700}#scoreboard-body tr:first-child{border-bottom:1px solid rgba(255,255,255,.06)}.scoreboard-team-cell{padding-left:0;gap:.45rem}.scoreboard-team-logo{width:clamp(14px,4.5vw,22px);height:clamp(14px,4.5vw,22px)}.scoreboard-team-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#panel-tabs{display:flex;gap:.25rem}.panel-tab{background:none;border:none;border-bottom:2px solid transparent;color:#8b9096;font-family:inherit;font-size:.95rem;font-weight:700;padding:.4rem .6rem;min-height:44px;min-width:44px;cursor:pointer;border-radius:0}.panel-tab:hover{color:var(--text-color)}.panel-tab.active{color:var(--text-color);border-bottom-color:var(--primary-color)}.panel-pane{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.panel-pane-hidden{display:none}.panel-pane table{width:100%;border-collapse:collapse;font-size:.8rem;font-variant-numeric:tabular-nums;margin-bottom:.75rem}.panel-pane th,.panel-pane td{border:none;padding:.35rem .3rem;text-align:center;white-space:nowrap}.panel-pane thead tr{border-bottom:1px solid rgba(255,255,255,.12)}.panel-pane th{color:#8b9096;font-weight:500;font-size:.72rem}.panel-pane th:first-child,.panel-pane td:first-child{text-align:left}.panel-pane tbody tr+tr{border-top:1px solid rgba(255,255,255,.05)}.panel-pane .total-row{border-top:1px solid rgba(255,255,255,.15);font-weight:700}.panel-pane h4{margin:.75rem 0 .4rem;font-size:.9rem;color:#b6bcc4}.panel-pane .team-separator{border:none;border-top:1px solid rgba(255,255,255,.12);margin:1rem 0}.draggable-modal-content,.management-modal-content,.load-roster-modal-content,#box-score-content,#confirm-modal>div{width:100%;max-height:90vh;overflow-y:auto;margin:0}@media(max-width:768px),(orientation:portrait){#modal-content,#runner-action-modal-content,.management-modal-content,.load-roster-modal-content,#box-score-content{padding:1.25rem 1rem;max-height:88vh;cursor:default}#close-modal,#close-box-score-modal,#close-runner-action-modal,#close-management-modal,#close-load-roster-modal{top:6px;right:8px;padding:.25rem .5rem;line-height:1}.draggable-modal-content,.management-modal-content,.load-roster-modal-content,#box-score-content,.modal-options{scrollbar-width:none}.draggable-modal-content::-webkit-scrollbar,.management-modal-content::-webkit-scrollbar,.load-roster-modal-content::-webkit-scrollbar,#box-score-content::-webkit-scrollbar,.modal-options::-webkit-scrollbar{width:0;display:none}}#current-batter-display{padding:clamp(.5rem,2.5vw,.9rem);gap:clamp(.5rem,2.5vw,.9rem);align-items:start}.batter-photo-main{width:clamp(62px,22vw,88px);height:auto;aspect-ratio:3 / 4}#batter-info-text{gap:.3rem;min-width:0}#batter-main-info{font-size:inherit;font-weight:400;display:flex;flex-direction:column;gap:.25rem;min-width:0}.batter-name-row{display:flex;align-items:baseline;gap:.45rem;min-width:0}.batter-order{flex-shrink:0;font-size:clamp(.68rem,2.6vw,.8rem);font-weight:700;color:#12151a;background-color:var(--team-accent, var(--primary-color));border-radius:3px;padding:.1rem .35rem;line-height:1.4}.batter-name{font-size:clamp(1.05rem,4.6vw,1.35rem);font-weight:700;color:#fff;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batter-team-name{font-size:clamp(.7rem,2.8vw,.82rem);font-weight:500;color:var(--team-accent, #8b9096);line-height:1.2}.batter-stats{display:grid;grid-template-columns:repeat(5,1fr);width:100%;gap:.2rem;margin-top:.25rem}.batter-stats .stat{display:flex;flex-direction:column;align-items:center;line-height:1.15}.batter-stats .stat b{font-size:clamp(.82rem,3.4vw,1rem);font-weight:700;color:#e8e8e8;font-variant-numeric:tabular-nums}.batter-stats .stat i{font-style:normal;font-size:clamp(.58rem,2.2vw,.68rem);color:#8b9096;white-space:nowrap}#batter-last-ab{font-size:inherit;font-weight:400;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.35rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.08);min-height:0}.last-ab-label{font-size:clamp(.6rem,2.3vw,.7rem);color:#8b9096;margin-right:.1rem}.ab-chip{font-size:clamp(.68rem,2.7vw,.8rem);font-weight:700;color:#e8e8e8;background-color:#ffffff17;border-radius:3px;padding:.12rem .4rem;white-space:nowrap}.ab-chip-empty{font-weight:400;color:#8b9096;background-color:transparent;padding-left:0}#inning-display{position:absolute;top:20px;left:50%;transform:translate(-50%);margin:0;width:auto;z-index:2;pointer-events:none;background-color:var(--primary-color);border-radius:12px;font-weight:700;text-align:center;line-height:1.5;padding:.15rem .75rem;font-size:clamp(.75rem,3vw,.95rem)}#game-info{flex-direction:column;align-items:center;gap:clamp(.25rem,1.7vw,.5rem)}#game-meta-row{display:flex;align-items:center;justify-content:center;gap:clamp(.2rem,1.4vw,.4rem);width:100%;min-width:0}#game-meta-row .header-input{font-size:clamp(.5rem,2.25vw,.7rem);padding:.18rem .25rem;text-align:center;min-width:0}#stadium-input{flex:1 1 auto;width:auto;min-width:3.5em;max-width:9em}#game-date-input{flex:0 0 auto;width:auto;min-width:7.6em;padding-right:.15rem}#game-date-input::-webkit-calendar-picker-indicator{width:.85em;height:.85em;padding:0;margin-left:.15em}#weather-input{flex:0 0 auto;background-color:#3e3e3e;border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;font-family:inherit;cursor:pointer;min-width:3.2em;padding-right:.2rem}@font-face{font-family:ScoreNum;src:url(./fonts/archivo-num-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}#scoreboard td,#scoreboard th,.batter-stats .stat b,#inning-display{font-family:ScoreNum,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.panel-pane table{table-layout:auto;width:auto;min-width:100%}.panel-pane th,.panel-pane td{padding:.34rem .2rem;font-size:clamp(.72rem,2.7vw,.95rem);letter-spacing:-.02em}.panel-pane th{font-size:clamp(.62rem,2.3vw,.82rem)}.panel-pane th:first-child,.panel-pane td:first-child{--name-col: 9.4em;width:var(--name-col);min-width:var(--name-col);max-width:var(--name-col);white-space:nowrap;text-align:left;padding-right:.35rem;position:sticky;left:0;z-index:1;background-color:var(--panel-bg-color)}.panel-pane thead th:first-child{z-index:2}.panel-pane td:first-child .box-score-player-cell,.panel-pane td:first-child .box-score-player-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-pane .total-row td:first-child{background-color:var(--panel-bg-color)}.box-pos{font-style:normal;font-weight:400;color:#8b9096;margin-left:.15em}.box-score-player-cell{gap:0;min-width:0}.box-score-player-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-pane{overflow-x:auto}.hit-direction{margin:.75rem 0 .5rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.1)}.hit-direction-label{display:block;font-size:.8rem;color:#8b9096;margin-bottom:.35rem;text-align:left}.hit-direction-label em{font-style:normal;font-size:.72rem;opacity:.8}#hit-field{display:block;width:100%;max-width:100%;min-height:150px;margin:0 auto;touch-action:manipulation}.hf-grass{fill:#2f4632}.hf-dirt{fill:#6b4c33}.hf-arc{fill:none;stroke:#ffffff40;stroke-width:1}.hf-line{stroke:#ffffff73;stroke-width:1.2}.hf-base{fill:#e8e8e8}.hf-mark{fill:#fbbf24;stroke:#1a1a1a;stroke-width:1.5;pointer-events:none}.hf-hit{fill:transparent;cursor:crosshair}.hit-direction-locked #hit-field{cursor:default;opacity:.92;outline:1px solid rgba(251,191,36,.35);outline-offset:2px;border-radius:4px}.hit-direction-locked .hf-mark{stroke:#fff;stroke-width:2}.fielder-label{margin-top:.6rem}.hit-direction-row{display:grid;gap:.3rem;margin-bottom:.3rem}.hit-direction-row:first-of-type{grid-template-columns:repeat(3,1fr)}.hit-direction-row:last-of-type{grid-template-columns:repeat(6,1fr)}.hit-direction .dir-btn{padding:.45rem .2rem;min-height:40px;font-size:.95rem;font-weight:700;background-color:#3e3e3e;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.hit-direction .dir-btn.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.hf-foul{fill:#786e6459;stroke:#ffffff2e;stroke-width:.6;cursor:crosshair}.hf-foul:hover{fill:#a0968780}.hf-foul.off,.hf-hit.off{fill:#5a5a5a1f;pointer-events:none;cursor:default}#official-sheet-btn{background-color:#0f766e;color:#fff;border:none;border-radius:4px;padding:.35rem .6rem;font-family:inherit;font-size:clamp(.7rem,2.6vw,.85rem);font-weight:700;cursor:pointer;white-space:nowrap}#game-state-display{position:relative}#main-field{display:block;width:100%;height:100%;max-height:100%}.mf-foul,.mf-zone{fill:transparent}#main-field.live .mf-zone,#main-field.live .mf-foul{cursor:crosshair}#main-field.live .mf-zone:active,#main-field.live .mf-foul:active{fill:#ffffff24}.mf-base{pointer-events:none}.mf-base-dot{fill:transparent;stroke:none}.mf-base.occupied .mf-base-dot,.mf-runner{display:none}.mf-base.occupied .mf-runner{display:block}.mf-runner-head,.mf-runner-body{fill:#fbbf24;stroke:#7c4a03;stroke-width:2}.mf-runner-name{fill:#fff;stroke:#000000d9;stroke-width:4;paint-order:stroke fill;font-size:20px;font-weight:700}.mf-mark{fill:#e11d48;stroke:#fff;stroke-width:3}#bases-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#bases-container #play-ball-btn{pointer-events:auto}#play-ball-btn.hidden{display:none}#field-result-panel{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:92%;background:#14161af5;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;z-index:5}#field-result-panel.hidden{display:none}.frp-title{font-size:clamp(.7rem,2.8vw,.85rem);color:#8b9096;margin-bottom:.4rem}.frp-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.frp-options button{padding:.5rem .2rem;min-height:42px;font-size:clamp(.72rem,2.9vw,.9rem);font-weight:700;background:#3e3e3e;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.frp-cancel{margin-top:.35rem;width:100%;padding:.35rem;font-size:.8rem;background:transparent;color:#8b9096;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}#play-ball-btn{color:#3d4a12;text-shadow:0 1px 2px rgba(255,255,255,.5)}.batter-out-row .static-out{display:inline-block;padding:.45rem .6rem;font-size:.85rem;font-weight:700;color:#fca5a5;background:#dc262626;border:1px dashed rgba(248,113,113,.6);border-radius:4px}.hit-direction .dir-btn{position:relative}.hit-direction .dir-btn .dir-order{position:absolute;top:-6px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#fbbf24;color:#1f1300;font-size:10px;font-style:normal;font-weight:800;line-height:16px;text-align:center}.hit-direction .dir-clear{margin-left:6px;padding:1px 8px;font-size:11px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;cursor:pointer}.hit-direction .dir-clear.selected{background:#fbbf24;color:#1f1300;border-color:#fbbf24;font-weight:700}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#lineup-save-status{text-align:center;font-size:.85rem;color:#9a9a9a;padding:.4rem 0;transition:color .2s}#lineup-save-status.show{color:#4ade80;font-weight:700}.bench-hidden{display:none!important}.bench-count{font-weight:400;color:#9a9a9a;font-size:.85em}.bench-add-btn{width:100%;padding:.7rem;margin:.25rem 0 .75rem;border:1px dashed rgba(255,255,255,.35);background:transparent;color:var(--text-color);border-radius:8px;font-size:.95rem;cursor:pointer}.bench-add-btn:disabled{opacity:.4;cursor:default}@media(hover:none){.image-upload-label{opacity:1;top:auto;left:auto;right:-4px;bottom:-4px;transform:none;width:18px;height:18px;font-size:13px;background:#4f7cf5;border:1px solid #111}}.lineup-player.pos-swapped{box-shadow:0 0 0 2px #fbbf24 inset;transition:box-shadow .3s}@media(max-width:768px),(orientation:portrait){.lineup-player,.pitcher-input-container{display:grid;grid-template-columns:22px 38px 46px minmax(0,1fr) 64px 20px;grid-template-areas:"order photo jersey name pos handle";gap:.3rem;align-items:center;padding:.25rem .3rem;margin:0 0 .3rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px}.lineup-player .player-order-span,.pitcher-input-container .pitcher-order-span{grid-area:order;justify-self:center;font-size:1.05rem;font-weight:800;color:#fbbf24;visibility:visible}.pitcher-input-container .pitcher-order-span{color:#60a5fa}.lineup-player.bench-player .player-order-span{color:#777;font-size:.7rem}.lineup-player.bench-player .player-order-span:empty:before{content:"板"}.lineup-player .player-photo-container,.pitcher-input-container .player-photo-container{grid-area:photo;width:38px;max-width:38px;aspect-ratio:3 / 4}.lineup-player input[data-type=name],.pitcher-input-container input[data-type=pitcher-name]{grid-area:name;font-size:1rem;font-weight:600;min-height:42px;padding:.35rem .5rem}.lineup-player input[data-type=jersey],.pitcher-input-container input[data-type=pitcher-jersey]{grid-area:jersey;width:100%;min-height:42px;padding:.35rem .15rem;text-align:center}.lineup-player select[data-type=pos],.pitcher-input-container select[data-type=pitcher-pos]{grid-area:pos;min-height:42px;padding:.35rem 1.3rem .35rem .4rem;visibility:visible}.lineup-player.bench-player select[data-type=pos]{visibility:hidden}.lineup-player .drag-handle{grid-area:handle;justify-self:center;font-size:1.2rem;padding:.4rem 0;color:#888}.pitcher-input-container:after{content:"";grid-area:handle}#team-settings-container h4{margin:.4rem 0}#team-settings-container h5{margin:.5rem 0 .3rem;font-size:.9rem}.roster-action-btn{padding:.4rem .6rem;font-size:.85rem}}#top-actions{display:flex;gap:.5rem;margin-bottom:.6rem}#top-actions button{flex:1;padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer}#top-actions #new-game-btn{margin:0}.pitcher-input-container .pos-fixed{grid-area:pos;display:flex;align-items:center;justify-content:center;min-height:42px;background:#2f3a4f;border:1px solid var(--border-color);border-radius:4px;color:#93c5fd;font-weight:800}.panel-title{font-size:1.6rem;font-weight:800;letter-spacing:.04em;margin:0 0 .75rem;padding-bottom:.5rem}aside h2.panel-title{font-size:1.6rem}#lineup-form .section-title{font-size:1.1rem;margin:.75rem 0 .6rem;padding-bottom:.4rem}.top-actions-row{display:flex;gap:.5rem;margin-bottom:.75rem}.top-actions-row button{flex:1;padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;white-space:nowrap}#log-actions #export-log-btn{background:#2980b9;color:#fff}#log-actions #official-sheet-btn{background:#0f766e;color:#fff}#team-settings-container h4,.team-lineup>h4{display:flex;align-items:center;gap:.6rem}.team-logo-container{width:56px;height:56px;flex-shrink:0}.team-logo-container .image-upload-label{width:24px;height:24px;font-size:18px}@media(hover:none){.team-logo-container .image-upload-label{opacity:1;top:auto;left:auto;right:-4px;bottom:-4px;transform:none;background:#4f7cf5;border:1px solid #111}}.team-color-input{width:44px;height:44px;padding:5px;border-radius:50%;overflow:hidden;flex-shrink:0}.team-color-input::-webkit-color-swatch-wrapper{padding:0}.team-color-input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.5);border-radius:50%}.team-name-input{flex:1;min-width:0}.lineup-player.bench-player{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none}.lineup-player.bench-player .swipe-reveal{position:absolute;top:0;bottom:0;left:-84px;width:84px;display:flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:1.5rem;border-radius:8px 0 0 8px;cursor:pointer;opacity:0;transition:opacity .15s,font-size .15s}.lineup-player.bench-player[style*=translateX] .swipe-reveal{opacity:1}.lineup-player.bench-player.will-delete .swipe-reveal{font-size:2rem;background:#b91c1c}.lineup-player:not(.bench-player) .swipe-reveal{display:none}.collapsible-content{overflow:hidden}#log-actions button{padding:.75rem;font-size:1rem;border-radius:6px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.situation-table{width:100%;border-collapse:collapse;font-size:.85rem;white-space:nowrap}.situation-table th,.situation-table td{padding:.35rem .3rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}.situation-table thead th{background:#3a3a3a;color:#fff;font-weight:700;position:sticky;top:0}.situation-table thead th.sit-name{text-align:center}.situation-table td.sit-name{text-align:left;padding-left:.4rem;border-right:1px solid rgba(255,255,255,.15);position:sticky;left:0;background-color:var(--panel-bg-color)}.situation-table thead th.sit-name{position:sticky;left:0;z-index:2}.situation-table tr.substitute-row td.sit-name{color:#ddd}.situation-table td:nth-child(n+2):nth-child(-n+16){min-width:2.6em}.situation-table tbody td:not(.sit-name){border-left:1px solid rgba(255,255,255,.04)}.situation-table tfoot .total-row td{background:#fbbf241f;font-weight:700;color:#fbbf24}.situation-table tfoot .total-row td.sit-name{color:#fbbf24}.ctx-sub-btn{margin-left:.5rem;padding:.15rem .55rem;font-size:.75rem;font-weight:700;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#ffffff14;color:#fff;cursor:pointer;vertical-align:middle}.ctx-sub-btn:hover{background:#ffffff2e}.pitcher-now{margin-left:.75rem;color:#9ec5ff;font-size:.85em}#mf-first.occupied,#mf-second.occupied,#mf-third.occupied{cursor:pointer;pointer-events:auto}#picker-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}#picker-modal.modal-hidden{display:none}.picker-content{position:relative;width:min(92vw,420px);max-height:80vh;overflow:auto;background:var(--panel-bg, #2a2a2a);border-radius:12px;padding:1rem}#picker-close{position:absolute;top:.5rem;right:.7rem;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.picker-note{font-size:.8rem;color:#9a9a9a;margin:-.5rem 0 .6rem}.picker-list{display:flex;flex-direction:column;gap:.4rem}.picker-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:1rem;text-align:left;cursor:pointer}.picker-item:hover{background:#ffffff24}.picker-item img{width:36px;height:48px;object-fit:cover;border-radius:4px;background:#444}.picker-name{font-weight:700;flex:1}.picker-sub{color:#9a9a9a;font-size:.85rem}.def-hint{font-size:.85rem;color:#fbbf24;margin-bottom:.4rem;min-height:1.2em}.def-field{width:100%;max-width:640px;height:auto;display:block;margin:0 auto .5rem;border-radius:8px}.def-node{cursor:pointer}.def-node .def-hit{fill:transparent}.def-node .mf-runner-head,.def-node .mf-runner-body{fill:#fbbf24;stroke:#7c4a03;stroke-width:2}.def-node.selected .mf-runner-head,.def-node.selected .mf-runner-body{fill:#fff;stroke:#f59e0b;stroke-width:3}.def-node.selected .def-hit{fill:#fbbf2440}.def-node.on-base .mf-runner-head,.def-node.on-base .mf-runner-body{stroke-dasharray:3 2}.def-node .def-name{text-anchor:middle;font-size:15px}.def-node.selected .def-name{fill:#fbbf24}@media(max-width:768px),(orientation:portrait){.def-field{max-width:none}}.def-group h4{font-size:.8rem;color:#9a9a9a;margin:.5rem 0 .3rem;border:none;padding:0}.def-chips{display:flex;flex-wrap:wrap;gap:.4rem}.def-chip{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem .3rem .3rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#fff;font-size:.85rem;cursor:pointer}.def-chip img{width:24px;height:32px;object-fit:cover;border-radius:4px}.def-chip em{color:#9a9a9a;font-style:normal;font-size:.75rem}.def-chip.selected{background:#fbbf24;color:#1f1300;border-color:#fbbf24}.def-empty{color:#9a9a9a;font-size:.85rem}#lineup-form.game-started .drag-handle{visibility:hidden}.lineup-lock-hint{font-size:.8rem;color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.35);border-radius:6px;padding:.5rem .6rem;margin-bottom:.6rem}.lineup-lock-hint.hidden{display:none}.def-quick{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem}.def-quick-btn{padding:.55rem .5rem;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem}.def-quick-btn small{font-weight:400;font-size:.72rem;color:#bbb}.mf-wall-area{fill:#14231a}.frp-group{margin:.25rem 0}.frp-group-label{display:block;font-size:.7rem;color:#8b9096;margin:.2rem 0 .15rem}#field-result-panel button.is-out{border-color:#f8717180}#game-clock{position:absolute;top:20px;right:20px;z-index:5;pointer-events:auto;cursor:pointer;border:0;font:inherit;padding:.35rem .7rem;border-radius:12px;background:#0000008c;color:#fff;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.5px;font-size:.95rem}#game-clock.stopped{color:#fbbf24}#game-clock.paused{color:#7dd3fc}#clock-menu{position:absolute;top:2.2rem;right:.5rem;z-index:20;display:flex;flex-direction:column;gap:2px;padding:4px;background:#232830;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #00000080}#clock-menu.modal-hidden{display:none}#clock-menu button{font:inherit;font-size:.85rem;color:var(--text-color);background:none;border:0;border-radius:6px;padding:.45rem .9rem;text-align:left;cursor:pointer;white-space:nowrap}#clock-menu button:hover{background:#ffffff14}#clock-menu button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}#game-clock.hidden{display:none}#event-log li{display:flex;gap:.55rem;align-items:flex-start}#event-log li.ev-inning{display:block;font-size:1.15rem;font-weight:800;letter-spacing:.02em;color:#fff;margin-top:.35rem}.ev-sit{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;padding-top:2px}.ev-sit svg rect{fill:#4b4b4b}.ev-sit svg rect.on{fill:#fbbf24}.ev-outs{display:flex;gap:3px}.ev-outs i{width:7px;height:7px;border-radius:50%;background:#4b4b4b;display:inline-block}.ev-outs i.on{background:#ef4444}.ev-text{flex:1;min-width:0}.ev-title{font-weight:700;margin-bottom:.1rem}.ev-body{color:var(--text-color);line-height:1.45}#batter-row{display:flex;gap:8px;align-items:stretch}#batter-row>#current-batter-display{flex:1 1 auto;min-width:0;padding:4px 8px;gap:8px;align-items:center}#current-batter-display>div:first-child{width:38px;line-height:0}.batter-photo-main{width:38px;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:4px;border:1px solid var(--border-color);background-color:#3e3e3e;display:block}#batter-info-text{display:flex;flex-direction:column;gap:3px;min-width:0}.batter-team-name{display:none}.batter-name-row{display:flex;gap:6px;align-items:baseline}.batter-name{font-size:1rem;line-height:1.2}.batter-order{font-size:.7rem;padding:1px 5px;flex:none}.batter-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:0}.batter-stats .stat{display:flex;flex-direction:column;align-items:center;gap:0}.batter-stats .stat b{font-size:.8rem;line-height:1.15;font-variant-numeric:tabular-nums}.batter-stats .stat i{font-size:.54rem;line-height:1.1;font-style:normal;opacity:.72}#batter-last-ab{margin-top:0;font-size:.56rem;line-height:1.3;display:flex;align-items:center;gap:4px;flex-wrap:wrap}#batter-last-ab .ab-chip{padding:0 4px}#batter-row>#status-bar{flex:0 0 38%;min-width:0}#scoreboard .total-col{font-size:1.15rem;font-weight:800;color:#fff}#scoreboard .scoreboard-team-cell span{font-size:.9rem;font-weight:700}#scoreboard th.rhe-first,#scoreboard td.rhe-first{border-left:1px solid rgba(255,255,255,.25)}.log-view-modal-content{max-width:min(92vw,640px);max-height:80vh;display:flex;flex-direction:column}#log-view-text{margin:0;overflow:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.85rem;line-height:1.6;color:var(--text-color)}.frp-more{width:100%;margin-top:.35rem;padding:.55rem;font:inherit;font-size:.85rem;color:#9aa3ad;background:#ffffff0d;border:1px dashed var(--border-color);border-radius:8px;cursor:pointer}.frp-more:hover{background:#ffffff1a}.frp-rest.hidden{display:none}.image-remove-btn{position:absolute;top:-6px;right:-6px;width:22px;height:22px;padding:0;display:none;align-items:center;justify-content:center;font-size:15px;line-height:1;color:#fff;background:#b91c1c;border:1px solid rgba(255,255,255,.65);border-radius:50%;cursor:pointer;z-index:3}.player-photo-container.has-photo .image-remove-btn{display:flex}.image-remove-btn:active{transform:scale(.88)}.image-remove-btn:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}button,.tab-button,.panel-tab,.def-chip,.image-upload-label{transition:filter .08s ease-out,transform .08s ease-out}button:active,.tab-button:active,.panel-tab:active,.def-chip:active,.image-upload-label:active{filter:brightness(1.45)}.main-action-btn:active,#field-result-panel button:active,.def-quick-btn:active,.roster-action-btn:active,#top-actions button:active,.frp-cancel:active,.frp-more:active{transform:scale(.95)}@keyframes mf-mark-pop{0%{r:4;opacity:.35}to{r:13;opacity:1}}.mf-mark.just-tapped{animation:mf-mark-pop .22s ease-out}@media(prefers-reduced-motion:reduce){.mf-mark.just-tapped{animation:none}button,.tab-button,.panel-tab,.def-chip,.image-upload-label{transition:none}}@media(max-width:768px){body{overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:pan-y}#app-container{display:flex;width:300vw;height:100vh;grid-template-columns:none;gap:0;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}#control-panel,#main-content,#event-log-container{min-width:100vw;max-width:100vw;height:100vh;border-radius:0;padding:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch}#control-panel,#main-content,#event-log-container{padding-bottom:60px}h2{font-size:1.3rem;margin-bottom:.75rem}h3{font-size:1.1rem;margin-bottom:.5rem}button{min-height:44px}#scoreboard{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem;flex-shrink:0}#scoreboard table{font-size:.85rem;min-width:100%}#current-batter-display{flex-shrink:0}.main-actions-container{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.5rem 0}.main-action-btn{width:100%;min-width:0;padding:.5rem .15rem;font-size:clamp(.7rem,3vw,.9rem);line-height:1.25;min-height:44px;word-break:keep-all}.main-actions-container{gap:clamp(.25rem,1.2vw,.5rem)}#bases-container{transform:scale(.9)}.base{width:50px;height:50px}#play-ball-btn{padding:.7rem 2.2rem}#play-ball-btn .pb-main{font-size:clamp(1.3rem,6vw,1.9rem)}#play-ball-btn .pb-sub{font-size:.7rem}.draggable-modal-content{width:90vw;max-width:90vw;max-height:80vh;margin:10vh auto;padding:1rem}.modal-options{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.modal-options button{padding:1rem .5rem;font-size:1rem;min-height:50px}.team-name-input{font-size:1rem;padding:.75rem}.tab-button{font-size:1.1rem;padding:1rem}#event-log{font-size:.9rem}#event-log li{padding:.75rem;margin-bottom:.5rem}#export-log-btn{padding:.75rem 1rem;font-size:1rem}#apply-lineup,#view-box-score-btn,#new-game-btn{width:100%;margin:.5rem 0;padding:1rem;font-size:1.1rem}.header-input{font-size:1rem;padding:.5rem}#game-info{flex-direction:column;gap:.35rem;padding:.4rem 0}#box-score-content{width:95vw;max-width:95vw;padding:.75rem}#box-score-tables{overflow-x:auto;-webkit-overflow-scrolling:touch}#box-score-tables table{font-size:.75rem;min-width:600px}.management-modal-content{width:95vw;max-width:95vw;height:85vh;padding:.75rem}.management-container{font-size:.9rem}.draggable-modal-content button[id*=close]{width:44px;height:44px;font-size:1.5rem}.back-button,.back-button-advanced,#back-button-runner-action{min-height:44px;font-size:1rem;padding:.75rem 1rem}}@media(max-width:375px){h2{font-size:1.2rem}h3{font-size:1rem}#bases-container{transform:scale(.8)}.base{width:45px;height:45px}}@media(max-width:768px)and (orientation:landscape){#game-state-display{padding:1rem .5rem}#bases-container{transform:scale(.7)}.main-actions-container{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){input[type=text],input[type=number],input[type=date],select,textarea{font-size:16px!important}}@media(max-width:768px),(orientation:portrait){.panel-tab{font-size:.85rem;padding:.35rem .4rem;min-height:44px;min-width:44px}.event-log-header{flex-wrap:wrap;gap:.5rem}}@media(max-width:768px),(orientation:portrait){#control-panel,#main-content,#event-log-container,.panel-pane,.table-scroll,#scoreboard,#event-log{scrollbar-width:none;-ms-overflow-style:none}#control-panel::-webkit-scrollbar,#main-content::-webkit-scrollbar,#event-log-container::-webkit-scrollbar,.panel-pane::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,#scoreboard::-webkit-scrollbar,#event-log::-webkit-scrollbar{width:0;height:0;display:none}}@media(max-width:768px),(orientation:portrait){#main-content{gap:clamp(.25rem,1.2vw,.5rem)}#game-info{gap:.25rem}#inning-display{top:10px;left:50%;right:auto;transform:translate(-50%)}#game-clock{top:10px;right:10px;font-size:.85rem}#game-state-container{flex:1 1 auto;min-height:min(48vw,200px);display:flex;justify-content:center;align-items:center;padding:.25rem 0}#game-state-display{height:100%;width:auto;aspect-ratio:1;max-width:100%;max-height:none;min-height:0;margin:0;padding:.5rem}#bases-container{transform:none}#play-ball-btn .pb-main{font-size:clamp(1.4rem,6.5vw,2rem)}#main-content{overflow-y:auto}}@media(max-width:768px),(orientation:portrait){#control-panel,#main-content,#event-log-container{padding-top:max(.75rem,env(safe-area-inset-top));padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));padding-bottom:max(60px,calc(env(safe-area-inset-bottom) + 52px))}#mobile-nav{bottom:max(1rem,calc(env(safe-area-inset-bottom) + .5rem))}#mobile-nav:has(.nav-dot[data-index="1"].active){bottom:max(7rem,calc(env(safe-area-inset-bottom) + 6.5rem))}}@media(max-width:768px),(orientation:portrait){#box-score-tables table{table-layout:fixed;width:100%}#box-score-tables th,#box-score-tables td{padding:.3rem .1rem;font-size:clamp(.56rem,2vw,.78rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#box-score-tables th:first-child,#box-score-tables td:first-child{width:22%}}@media(max-width:768px),(orientation:portrait){#pane-team-a,#pane-team-b,#pane-situation{overflow-x:auto!important;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none}#pane-team-a::-webkit-scrollbar,#pane-team-b::-webkit-scrollbar,#pane-situation::-webkit-scrollbar{display:none}#pane-team-a table,#pane-team-b table,.situation-table{width:max-content;min-width:100%}}@media(max-width:768px),(orientation:portrait){#game-state-container{flex:none;display:block;min-height:0;padding:.25rem 0}#game-state-display{width:100%;height:auto;aspect-ratio:370 / 425;max-height:none;padding:.35rem}.main-action-btn{min-height:40px;padding:.4rem .15rem}.main-actions-container{margin:.35rem 0}}@media(max-width:768px),(orientation:portrait){#main-content>#game-info{order:0}#main-content>#batter-row{order:1}#main-content>#game-state-container{order:2}#main-content>.main-actions-container{order:4}}@media(max-width:768px),(orientation:portrait){#main-content>#scoreboard{order:0}}@media(max-width:768px),(orientation:portrait){#control-panel-title{display:none}#team-settings-tabs{gap:.25rem}#team-settings-tabs .tab-button{min-height:44px;padding:.5rem .6rem}#lineup-form #top-actions{margin-bottom:.4rem}#lineup-form #section-title{margin:.3rem 0}.roster-action-btn{min-height:40px}.dh-toggle-container{margin:.35rem 0}#lineup-form h4{margin:.35rem 0 .25rem}#lineup-form h5,#lineup-form .collapsible-header{margin:.5rem 0 .25rem}.team-settings-controls{margin-bottom:.5rem!important}}:root{--bg-color: #07111f;--panel-bg-color: #0e2036;--border-color: rgba(255, 255, 255, .16);--text-color: #eaf1ff;--primary-color: #2f6fed;--th-card: rgba(255, 255, 255, .07);--th-card-strong: rgba(255, 255, 255, .11);--th-line: rgba(255, 255, 255, .14);--th-glow: 0 6px 18px rgba(0, 0, 0, .35);--th-orange: #f2994a;--th-purple: #7c5cff;--th-slate: #5b7096}body{background:#05101c}#stadium-bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}#stadium-bg{position:absolute;top:0;left:0;width:100%;height:auto;min-height:62%;object-fit:cover;object-position:center top;display:block}#stadium-bg-layer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#040d18b8,#040d18b3 30%,#040d18db 58%,#040d18 78%)}#app-container{position:relative;z-index:1}#control-panel,#main-content,#event-log-container{background:transparent}#game-meta-row{gap:6px}.header-input{background-color:var(--th-card);border:1px solid var(--th-line);border-radius:999px;color:var(--text-color);padding-left:30px;background-repeat:no-repeat;background-position:9px center;background-size:15px 15px;text-align:left;box-shadow:inset 0 1px #ffffff0f}#stadium-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ab4ff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 18a9 9 0 0 1 18 0'/%3E%3Cpath d='M12 18V7'/%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3C/svg%3E")}#game-date-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ab4ff' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}#weather-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--th-card);border:1px solid var(--th-line);border-radius:999px;padding-left:12px;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ab4ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:14px 14px}#scoreboard{background:var(--th-card);border:1px solid var(--th-line);border-radius:10px;box-shadow:var(--th-glow);padding:2px}#scoreboard th{background:#2f6fed38;color:#cfe0ff}#scoreboard thead tr th:first-child{border-top-left-radius:8px}#scoreboard thead tr th:last-child{border-top-right-radius:8px}#batter-row>#current-batter-display{background:var(--th-card);border:1px solid var(--th-line);border-radius:10px;box-shadow:var(--th-glow)}.batter-photo-main{width:44px;aspect-ratio:1 / 1;border-radius:8px;border-color:#ffffff40}#current-batter-display>div:first-child{width:44px}.player-photo-container,.lineup-player .player-photo-container,.pitcher-input-container .player-photo-container{aspect-ratio:1 / 1}.player-photo-preview{border-radius:6px}.main-actions-container{gap:8px}.main-action-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-weight:700;background:linear-gradient(180deg,var(--th-purple),#6244e0);box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.14)}.main-action-btn:before{content:"";width:18px;height:18px;flex:0 0 18px;background-repeat:no-repeat;background-position:center;background-size:contain}#undo-btn{background:linear-gradient(180deg,#f7b267,#e8873a)}#undo-btn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5v6h6'/%3E%3Cpath d='M4 11a8 8 0 1 1 2.5 6'/%3E%3C/svg%3E")}#runner-action-btn{background:linear-gradient(180deg,#6f86ad,#4d6289)}#runner-action-btn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16l-4-4'/%3E%3Cpath d='M20 15H4l4 4'/%3E%3C/svg%3E")}#management-btn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3.5 19c0-3 2.5-5 5.5-5s5.5 2 5.5 5'/%3E%3Cpath d='M17 8h4l-2-2M21 12h-4l2 2'/%3E%3C/svg%3E")}.main-action-btn:disabled,#undo-btn:disabled,#runner-action-btn:disabled,#management-btn:disabled{background:#33405c;border-color:#ffffff14;box-shadow:none}#game-state-display{border:1px solid var(--th-line);border-radius:12px;background:linear-gradient(180deg,#ffffff14,#ffffff05);box-shadow:var(--th-glow)}.mf-wall-area{fill:#081321}#inning-display{background:linear-gradient(180deg,#3b82f6,#1d5ad6);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 14px #1d5ad680;letter-spacing:1px}.sbo-row span{letter-spacing:1px;color:#b9c9e8}.sbo-light{border:1px solid rgba(255,255,255,.18);background-color:#ffffff1f}.sbo-light.o-on{background-color:#ff4d5a;box-shadow:0 0 8px #ff4d5ad9}.sbo-light.s-on{box-shadow:0 0 8px #f7b731b3}.sbo-light.b-on{box-shadow:0 0 8px #26de81b3}.panel-tab.active,.tab-button.active{box-shadow:0 3px 10px #2f6fed73}#panel-tabs,#team-settings-tabs,.event-log-header,#log-actions button,#top-actions button{border-radius:12px}#mobile-nav{background:#0a162eb8;border:1px solid var(--th-line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#app-container input:not(.header-input),#app-container select:not(.header-input),#app-container textarea,.modal input,.modal select,.modal textarea,.substitution-popover select,.management-player-list li{background-color:#ffffff17;border-color:var(--th-line);color:var(--text-color);border-radius:10px}#app-container input::placeholder,.modal input::placeholder{color:#eaf1ff73}.lineup-player,.pitcher-input-container{background:var(--th-card);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px}.player-photo-preview,.team-logo-preview{background-color:#ffffff17;border-color:var(--th-line)}#modal-content,.draggable-modal-content,.substitution-popover{background:linear-gradient(180deg,#12283f,#0a1729);border:1px solid var(--th-line);border-radius:12px;box-shadow:0 18px 40px #00000080}.panel-pane .table-scroll{border-radius:12px;border:1px solid rgba(255,255,255,.08)}.panel-pane th{background:#2f6fed38;color:#cfe0ff}#event-log li{border-radius:10px}.modal-options button{background-color:#ffffff17;border:1px solid var(--th-line);border-radius:12px}.modal-options button:hover{background-color:#ffffff29}.modal-options button:disabled,.modal-options button:disabled:hover{background-color:#ffffff0a;border-color:#ffffff14;color:#7f8ca6}.modal-options button.selected{background-color:var(--primary-color);border-color:#7aa7ff;box-shadow:0 0 10px #2f6fed80}.stadium-toolbar{display:flex;align-items:center;gap:9px;padding:0 2px;flex-shrink:0}.brand-ball{font-size:27px;line-height:1;filter:drop-shadow(0 2px 7px rgba(247,85,76,.35))}.brand-text strong{display:block;font-size:17px;font-weight:800;letter-spacing:.04em;line-height:1.2}.brand-version{margin-left:7px;padding:1px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;font-size:.62em;font-weight:700;letter-spacing:.04em;color:#9fd0ff;vertical-align:middle}.brand-text small{display:block;font-size:10px;line-height:1.2;color:#86afd5;letter-spacing:.05em}@media(max-width:768px),(orientation:portrait){#main-content>.stadium-toolbar{order:-1}}#sbo-display,#inning-display,#game-clock,#clock-menu{z-index:5}.mf-wall-area{fill:transparent}#main-field image{filter:saturate(1.45) brightness(1.04)}#game-state-display{background:transparent}@media(max-width:768px),(orientation:portrait){.stadium-toolbar{gap:7px}.brand-text strong{font-size:16px}.brand-text small{font-size:9px}#game-state-container{padding:.1rem 0;flex:1 1 auto;min-height:150px;display:flex}#game-state-display{aspect-ratio:auto;width:100%;height:100%;max-height:100%}}@media(max-width:768px),(orientation:portrait){#main-content{padding-top:max(.45rem,env(safe-area-inset-top));row-gap:6px}#control-panel,#main-content,#event-log-container{padding-bottom:max(74px,calc(env(safe-area-inset-bottom) + 68px))}#game-info{margin-bottom:0}#scoreboard,#game-meta-row,#batter-row,.main-actions-container{margin:0}#mobile-nav:has(.nav-dot[data-index="1"].active){bottom:max(1rem,calc(env(safe-area-inset-bottom) + .5rem))}}#mobile-nav{gap:4px;padding:3px;border-radius:22px;background:#091626eb;border:1px solid #2d4a68;box-shadow:0 6px 20px #0000008c}.nav-dot{width:auto;height:auto;min-width:74px;min-height:44px;margin:0;padding:0 14px;border:none;border-radius:17px;font-family:inherit;font-size:14px;font-weight:700;color:#a9c6e6;background:none;display:inline-flex;align-items:center;justify-content:center}.nav-dot:after{content:none}.nav-dot.active{background:linear-gradient(180deg,#36b1ff,#1475d0);color:#fff;box-shadow:0 2px 10px #1475d080}#field-result-panel{background:linear-gradient(180deg,#12283f,#0a1729);border:1px solid var(--th-line);border-radius:12px}#field-result-panel button{background-color:#ffffff17;border-color:var(--th-line);border-radius:12px;color:var(--text-color)}#game-meta-row{display:grid;grid-template-columns:minmax(88px,114px) minmax(0,1fr) minmax(56px,64px);gap:6px;align-items:stretch}.meta-pill{position:relative;display:flex;align-items:center;gap:3px;min-width:0;min-height:36px;padding:0 6px;border-radius:10px;border:1px solid var(--th-line);background:var(--th-card);box-shadow:inset 0 1px #ffffff0f}.meta-icon{flex:0 0 18px;width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:contain}.meta-icon-stadium{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fb0ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5c0-2.8 4-5 9-5s9 2.2 9 5v3c0 2.8-4 5-9 5s-9-2.2-9-5z'/%3E%3Cpath d='M3 10.5c0 2.8 4 5 9 5s9-2.2 9-5'/%3E%3C/svg%3E")}.meta-icon-date{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fb0ff' stroke-width='1.9' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}#game-meta-row .header-input{flex:1 1 auto;min-width:0;width:auto;max-width:none;background:none;border:0;box-shadow:none;border-radius:0;padding:0 2px;min-height:34px;font-size:clamp(.74rem,3.15vw,.9rem);text-align:left}#stadium-input{background-image:none}#weather-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ab4ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 2px center;background-size:13px 13px;padding-right:17px;padding-left:2px;text-align:center}#weather-pill{padding:0 6px 0 8px}.meta-caret{flex:0 0 22px;width:22px;height:34px;padding:0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ab4ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 13px 13px;cursor:pointer}.meta-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;list-style:none;margin:0;padding:6px;border-radius:10px;border:1px solid var(--th-line);background:linear-gradient(180deg,#12283f,#0a1729);box-shadow:0 14px 30px #00000080}.stadium-history-item{width:100%;min-height:40px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--text-color);font-family:inherit;font-size:.9rem;text-align:left;cursor:pointer}.stadium-history-empty{padding:10px;color:#8fa4c2;font-size:.85rem;text-align:center}.date-arrow{flex:0 0 20px;width:20px;height:34px;padding:0;border:0;border-radius:10px;background:transparent no-repeat center / 9px 15px;cursor:pointer}#date-prev{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9c6e6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")}#date-next{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9c6e6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}.date-face{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;cursor:pointer}#date-text{font-size:clamp(.7rem,3.05vw,.86rem);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#game-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}#status-bar{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;row-gap:4px;min-height:46px;padding:5px 8px;border-radius:10px;border:1px solid var(--th-line);background:var(--th-card);box-shadow:var(--th-glow)}#status-bar #sbo-display{position:static;grid-row:2;grid-column:1;justify-self:start}#status-bar .sbo-row span{width:auto;margin-right:3px;font-size:.78rem;letter-spacing:.02em}#status-bar .sbo-light{width:13px;height:13px}#status-bar #inning-display{position:static;transform:none;grid-row:1;grid-column:1 / -1;justify-self:center;margin:0;padding:4px 14px;font-size:.95rem;border-radius:22px;white-space:nowrap}#inning-display[data-half=top]:before{content:"▲ ";font-size:.72em}#inning-display[data-half=bottom]:before{content:"▼ ";font-size:.72em}#status-bar #game-clock{position:static;grid-row:2;grid-column:2;justify-self:end;display:flex;align-items:center;justify-content:center;min-width:0;min-height:28px;padding:3px 9px;border-radius:16px;border:1px solid var(--th-line);background:#030e18b3;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:#eff5ff}#status-bar #game-clock:before{content:none}#status-bar #clock-menu{top:calc(100% + 6px);right:6px;left:auto}.last-ab-label{padding:2px 7px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#ffffff17;font-weight:700}@media(max-width:768px),(orientation:portrait){#main-content>#game-state-container{order:3}#main-content>.main-actions-container{order:5}}#date-pill{padding:0 2px}#date-pill .meta-icon{flex-basis:16px;width:16px;height:16px}.date-face{gap:4px}@media(max-width:382px){#game-meta-row{grid-template-columns:minmax(80px,88px) minmax(0,1fr) minmax(52px,58px)}#date-text{font-size:.68rem}#weather-input{font-size:.74rem}}.meta-caret,.date-arrow{min-height:0;height:34px}#game-info{padding:0;margin:0;gap:0}#batter-row>#current-batter-display{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"photo info" "last  last";align-items:start;column-gap:8px;row-gap:4px;padding:6px 8px}#current-batter-display>div:first-child{grid-area:photo}#batter-info-text{grid-area:info;min-width:0}#batter-last-ab{grid-area:last;margin-top:0}.batter-order{white-space:nowrap}#scoreboard th{font-size:.78rem}#scoreboard td{font-size:.95rem}#scoreboard .total-col{font-size:1.05rem}.scoreboard-team-cell span{font-size:1rem}#mobile-nav{padding:2px;gap:2px}.nav-dot{min-height:30px;padding:0 13px;border-radius:11px;font-size:13px}#batter-last-ab{border-top:1px solid rgba(255,255,255,.1);padding-top:4px}.mf-mark{stroke-width:3.5;filter:drop-shadow(0 0 6px rgba(0,0,0,.55))}.mf-ghost circle{fill:#ffffff59;stroke:#111827bf;stroke-width:2}.mf-ghost text{fill:#10233b;font-size:15px;font-weight:800;paint-order:stroke;stroke:#ffffffd9;stroke-width:3}.mf-ghost-last circle{fill:#fbbf24bf;stroke:#78350fd9}#field-result-panel{bottom:2%;max-height:62%;overflow-y:auto;padding:8px 9px}.frp-title{display:flex;align-items:center;gap:7px}.frp-map{flex:0 0 34px;width:34px;height:34px;border-radius:6px;background:#ffffff0f}.frp-map-fan{fill:#84cc1659;stroke:#ffffff73;stroke-width:4}.frp-map-infield{fill:#fbbf2459;stroke:none}.frp-map-dot{fill:#e11d48;stroke:#fff;stroke-width:8}@media(max-width:768px),(orientation:portrait){#main-content{row-gap:4px}.stadium-toolbar{gap:6px}.brand-ball{font-size:23px}.brand-text strong{font-size:15px}.brand-text small{font-size:9px}#status-bar{min-height:40px;padding:4px 6px;row-gap:3px}#status-bar #inning-display{padding:3px 11px;font-size:.88rem}#status-bar #game-clock{min-height:26px;padding:2px 7px;font-size:.8rem}#status-bar .sbo-light{width:12px;height:12px}#status-bar .sbo-row span{font-size:.72rem}.main-action-btn{min-height:38px;padding:.3rem .15rem}#scoreboard th{padding:2px 0}#scoreboard td{padding:4px 1px}#batter-row>#current-batter-display{padding:5px 7px}#game-state-display{padding:.15rem}#game-state-container{padding:0}}.image-remove-btn{min-height:0;height:22px}#field-result-panel{max-height:78vh;padding:7px 8px}.frp-title{margin-bottom:4px}#field-result-panel .frp-options{gap:5px}#field-result-panel button{min-height:38px;padding:.35rem .3rem;font-size:.86rem}#field-result-panel .frp-group-label{font-size:.7rem}#field-result-panel .frp-more,#field-result-panel .frp-cancel{min-height:34px;font-size:.82rem}#event-log li{position:relative}.ev-edit{position:absolute;top:50%;right:2px;transform:translateY(-50%);width:26px;height:26px;min-height:0;padding:0;border:0;border-radius:8px;background:none;color:#6f88ab;font-size:15px;line-height:1;opacity:.62;cursor:pointer}.ev-edit:after{content:"✎"}.ev-edit:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.ev-edit:active{opacity:1;color:#9ec5f5}#event-log li .ev-text{padding-right:26px}#edit-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:5px 6px 5px 12px;border-radius:12px;border:1px solid rgba(247,178,103,.6);background:linear-gradient(180deg,#6b4a1c,#4a3212);box-shadow:0 8px 22px #00000080;color:#ffe6bf;font-size:.8rem}#edit-mode-bar.hidden{display:none}@media(max-width:768px),(orientation:portrait){#main-content>#edit-mode-bar{order:-2}}#edit-mode-text{line-height:1.3}#edit-mode-cancel{flex:0 0 auto;min-height:30px;padding:0 12px;border-radius:9px;border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer}#event-edit-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009}#event-edit-modal.modal-hidden{display:none}#event-edit-modal .confirm-modal-content{width:min(92vw,340px);max-height:80vh;overflow-y:auto;padding:14px;border-radius:12px;border:1px solid var(--th-line);background:linear-gradient(180deg,#12283f,#0a1729);box-shadow:0 18px 40px #0000008c}#event-edit-modal h3{margin:0 0 4px;padding:0;border:0;font-size:1rem}#event-edit-modal button{min-height:44px;font-family:inherit;font-size:.92rem;font-weight:700;color:var(--text-color);background-color:#ffffff17;border:1px solid var(--th-line);border-radius:10px;cursor:pointer}#event-edit-modal .frp-cancel{margin-top:8px;width:100%;min-height:38px;font-weight:400;color:#8fa4c2;background:transparent}#event-edit-text{margin:6px 0 10px;padding:8px 10px;border-radius:10px;background:#ffffff12;border:1px solid var(--th-line);font-size:.85rem;line-height:1.45;color:#cfe0ff;max-height:30vh;overflow-y:auto}#event-edit-modal .modal-options{grid-template-columns:1fr;gap:8px}#event-delete-btn{border-color:#f871718c!important;color:#fca5a5}.ev-score{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:1px 8px;border-radius:8px;border:1px solid var(--th-line);background:#ffffff12;font-size:.78rem;white-space:nowrap;vertical-align:middle}.ev-score b{font-weight:800}.ev-score i{font-style:normal;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}.frp-balls{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:6px}.frp-balls button{min-height:52px;font-size:1rem;font-weight:700;color:var(--text-color);background-color:#ffffff17;border:1px solid var(--th-line);border-radius:12px;cursor:pointer}.frp-balls button:active{filter:brightness(1.45);transform:scale(.96)}.frp-all,.frp-back{width:100%;min-height:34px;margin-bottom:6px;padding:.3rem;font-family:inherit;font-size:.8rem;color:#8fa4c2;background:transparent;border:1px solid var(--th-line);border-radius:10px;cursor:pointer}.mf-batter{cursor:pointer}.mf-batter.hidden{display:none}.mf-batter-hit{fill:transparent}.mf-batter .mf-runner-body,.mf-batter .mf-runner-head{fill:#fbbf24;stroke:#1f1300bf;stroke-width:2}.mf-batter-name{fill:#10233b;font-size:17px;font-weight:800;paint-order:stroke;stroke:#ffffffe6;stroke-width:3.5}.mf-batter:active .mf-runner-body,.mf-batter:active .mf-runner-head{filter:brightness(1.3)}.mf-batter.locked{opacity:.35;pointer-events:none}#field-hint{position:absolute;left:50%;transform:translate(-50%);top:6px;z-index:6;display:flex;align-items:center;gap:8px;max-width:94%;padding:5px 6px 5px 12px;border-radius:10px;border:1px solid rgba(251,191,36,.7);background:#0a1729eb;box-shadow:0 6px 18px #00000080;color:#ffe6bf;font-size:.78rem;white-space:nowrap}#field-hint.hidden{display:none}#field-hint-cancel{min-height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;font-family:inherit;font-size:.76rem;cursor:pointer}#game-state-display.await-point #main-field{filter:brightness(1.05)}#game-state-display.await-point{box-shadow:0 0 0 2px #fbbf248c,0 0 18px #fbbf2440;border-radius:14px}
