/* Editing surface only. Game-day cards and printing keep their own styles. */
.dashboard{display:none}
#helpTour{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:0;background:transparent;box-shadow:none}
.roster-empty{padding:10px 0 6px}
.roster-empty .panel-kicker,#tourDialog .panel-kicker{color:#31594b;font-size:12px}
.roster-empty h3{font:700 22px/1.25 Georgia,serif;color:#172a3a;margin:12px 0}
.roster-empty p{font-size:15px;line-height:1.6;margin:0 0 20px}
.roster-empty button{width:100%;min-height:42px}
#tourSpotlight{position:fixed;z-index:1000;border:2px solid #f4e9bf;border-radius:3px;box-shadow:0 0 0 9999px rgba(12,29,35,.64);pointer-events:none}
#tourDialog[open]{position:fixed;z-index:1001;margin:0;width:min(360px,calc(100vw - 24px));padding:22px;max-height:calc(100dvh - 24px);box-shadow:0 12px 40px #0004;border-top:4px solid #214f40}
#tourDialog #tourCopy{min-height:0;font-size:15px;line-height:1.6}
#tourDialog #tourTitle{font-size:24px}
#tourDialog .tour-progress{margin-top:18px}
#tourDialog .tour-actions{margin-top:20px;padding-top:16px}
#tourAction[hidden]{display:none}
@media print{#tourDialog,#tourSpotlight{display:none!important}}
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
#tourDialog{width:min(540px,calc(100% - 32px));padding:28px;color:#172a3a;background:#faf9f3;border:1px solid #172a3a;max-height:calc(100dvh - 32px);overflow:auto}
#tourDialog::backdrop{background:rgba(12,29,35,.65)}
.tour-top,.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
#tourTitle{font-family:Georgia,serif;font-size:28px;line-height:1.2;margin:12px 0 16px}
#tourCopy{font-size:16px;line-height:1.65;min-height:130px}
.tour-progress{font-size:14px;margin-top:24px;color:#53645f}
.tour-actions{margin-top:28px;border-top:1px solid #bfc9c0;padding-top:20px}
@media(max-width:650px){.header-actions{gap:6px}#tourDialog{padding:20px}#tourTitle{font-size:24px}}
.save-controls{display:flex;align-items:center;gap:2px}
#resetPlanner{display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;padding:6px;background:transparent;border:0;outline:0;box-shadow:none;color:#53645f;transition:color .15s ease}
body:not(.preview) #resetPlanner:hover{background:transparent;color:#172a3a}
body:not(.preview) #resetPlanner:focus-visible{outline:0;background:#d7dfd6;color:#172a3a}
#resetDialog{max-width:460px}
#resetDialog p{line-height:1.6}
.reset-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
button.danger{background:#8c3024;color:white;border-color:#8c3024}
.brand-logo{position:relative;width:220px;height:100px;flex-shrink:1}
.brand-logo img{position:absolute;display:block;width:80%;height:auto;max-width:none;left:0;top:50%;transform:translateY(-50%)}
@media(max-width:650px){.brand-logo{width:180px;height:82px}}
body:not(.preview){--sidebar-width:280px;--layout-gap:24px;--panel-inset:20px}
body:not(.preview) main{max-width:1600px;margin:28px auto;padding:0 32px 32px}
body:not(.preview) .top{margin:0 0 24px;padding:20px 0;gap:20px}
body:not(.preview) #rosterButton{min-height:44px;padding:10px 16px}
body:not(.preview) .tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 24px;padding:0;margin-bottom:28px}
body:not(.preview) .game-fields{width:480px;max-width:100%;margin:0;gap:16px}
body:not(.preview) .game-fields label{font-size:12px;gap:8px;min-width:0}
body:not(.preview) .game-fields label:last-child{width:190px;flex-shrink:0}
body:not(.preview) input{min-height:44px;padding:11px 12px;font-size:16px}
body:not(.preview) .toolbar{margin-left:auto;gap:10px}
body:not(.preview) .toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;min-height:44px;padding:11px 16px;line-height:1.4;white-space:normal}
.button-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body:not(.preview) .lineup-card{display:none}
body:not(.preview) .dashboard{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr) var(--sidebar-width);gap:var(--layout-gap);align-items:start}
.batting-panel,.inning-panel,.planning-panel{min-width:0;border:1px solid #61766b;background:var(--paper);box-shadow:3px 3px 0 #172a3a18}
.batting-panel,.planning-panel{position:sticky;top:24px}
.planning-panel{max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:88px;padding:20px var(--panel-inset);border-bottom:1px solid var(--line);background:var(--navy);color:var(--paper)}
.panel-kicker{display:block;font:700 12px/1.3 'Courier New',monospace;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:6px;color:#c8d5cc}
.panel-heading h2{font:700 22px/1.2 Georgia,serif;letter-spacing:-.4px}
:is(.batting-panel,.planning-panel) summary{cursor:pointer;list-style:none}
:is(.batting-panel,.planning-panel) summary::-webkit-details-marker{display:none}
:is(.batting-panel,.planning-panel) summary:focus-visible,.inning-title h2:focus-visible{outline:3px solid #b84b36;outline-offset:-3px}
.panel-count{flex-shrink:0;min-width:38px;font:700 20px/1.1 'Courier New',monospace;text-align:center;border:1px solid #6e827f;padding:6px}
.panel-count::after{content:'−';display:block;font-size:12px;line-height:1}
details:not([open]) .panel-count::after{content:'+'}
.batting-row{display:grid;grid-template-columns:28px 24px minmax(0,1fr);gap:4px;align-items:center;padding:5px 16px;border-bottom:1px solid var(--line);min-height:56px}
.batting-row:nth-child(even){background:#edf0e8}
.batting-row .player-name{font-size:14px!important;line-height:1.5;padding:7px 0;overflow-wrap:anywhere}
.batting-row .jersey{font-size:12px;display:inline}
.batting-row .grip{min-height:44px}
.batting-row.dragging{opacity:.5}
.batting-row.drop-target{box-shadow:inset 0 3px var(--red)}
.dashboard-out{font-size:13px;line-height:1.6;padding:18px var(--panel-inset);color:var(--muted)}
.inning-column{min-width:0}
.fields{display:grid;grid-template-columns:1fr;gap:var(--layout-gap)}
.inning-panel{container-type:inline-size}
.inning-heading{display:flex;align-items:center;justify-content:space-between;padding:16px var(--panel-inset);gap:16px;border-bottom:2px solid #112e24;background:var(--green);color:var(--paper)}
.inning-title{display:flex;align-items:baseline;gap:12px;min-width:0}
.inning-number{font:700 32px/1.2 'Courier New',monospace;letter-spacing:-2px;color:#f4f0d9}
.inning-heading h2{font:700 20px/1.2 Georgia,serif}
.inning-heading-tools{display:flex;align-items:center;gap:16px}
.inning-controls{display:flex;align-items:center;gap:6px}
body:not(.preview) button.inning-control{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #769486;background:transparent;color:var(--paper);border-radius:2px}
body:not(.preview) button.inning-control:hover:not(:disabled){background:#ffffff18;border-color:#d0dece}
.field-position select optgroup{color:#172a3a;background:#faf9f3}
@container(max-width:600px){.inning-heading{display:grid;grid-template-columns:1fr auto}.inning-heading-tools{display:contents}.inning-controls{grid-column:1 / -1;justify-content:flex-end}}
.inning-status{font:12px/1.6 'Courier New',monospace;text-align:right;white-space:nowrap}
body:not(.preview) button.remove-inning{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #769486;background:transparent;color:var(--paper);border-radius:2px}
body:not(.preview) button.remove-inning:hover:not(:disabled){background:#763d32;border-color:#c59b87}
.field{position:relative;width:100%;aspect-ratio:1.55;min-height:360px;background:#204b3d;overflow:hidden}
.field-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.field-position{position:absolute;transform:translate(-50%,-50%);width:28%;max-width:180px;gap:0;z-index:1;font-size:14px}
.field-position .position-label{font:700 14px/1.2 'Courier New',monospace;letter-spacing:.3px;padding:6px 8px;background:#172a3a;color:#f9f6e9;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #9fac92;border-bottom:0}
.field-position .position-label span{font-size:12px;font-weight:400;letter-spacing:0;color:#d4ddd1;white-space:nowrap}
.field-position::after{content:'⌄';position:absolute;right:8px;bottom:14px;color:#526b5d;pointer-events:none;font:14px Arial,sans-serif}
.field-position select{width:100%;min-width:0;font-size:14px;height:44px;border:1px solid #bcc6b4;border-radius:0;padding:8px 22px 8px 10px;background:#faf9f3;color:transparent;font-weight:650;cursor:pointer}
.field-position select option{color:#172a3a}
.field-position.is-empty select{background:#dae2d6}
.field-position select:hover{border-color:#587766;background:#f6f7ed}
.field-player{position:absolute;bottom:0;left:10px;right:23px;height:44px;display:flex;align-items:center;justify-content:space-between;gap:6px;pointer-events:none;font-size:14px;line-height:1.3;white-space:nowrap;color:#172a3a;overflow:hidden}
.field-player small{font:12px/1.3 'Courier New',monospace;opacity:.8}
.field-position.is-empty .position-label{border-style:dashed}
.dugout{padding:20px var(--panel-inset);border-top:1px solid var(--line)}
.dugout-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.dugout h3{font:700 12px/1.4 'Courier New',monospace;text-transform:uppercase;letter-spacing:1px}
.player-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:32px}
body:not(.preview) .bench-chip{display:inline-block;font-size:14px;font-weight:600;line-height:1.4;padding:7px 10px;background:#f4e7db;color:#74372c;border:1px solid #ba9786}
.empty-note{font-size:14px;line-height:1.5;color:var(--muted)}
.inning-actions{display:flex;gap:12px;margin-top:var(--layout-gap)}
.inning-actions button{min-height:48px;font-size:14px;padding:12px 20px}
.inning-actions #addInning{flex:1}
body:not(.preview) .planning-panel .checks{margin:0;padding:0;border:0;background:none;font-size:14px}
.plan-stats{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.plan-stat{padding:20px var(--panel-inset)}
.plan-stat+.plan-stat{border-left:1px solid var(--line)}
.plan-stat b{display:block;margin-bottom:4px;font:700 30px/1.2 'Courier New',monospace;color:var(--green)}
.plan-stat span{display:block;font-size:13px;line-height:1.5;color:var(--muted)}
.plan-roster{padding:16px var(--panel-inset);border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}
.plan-roster p{margin:10px 0 0!important;color:var(--red)}
.inning-check{padding:0;border-bottom:1px solid var(--line)}
.inning-check:last-child{border:0}
.check-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px var(--panel-inset);min-height:60px}
.check-heading h3{font:700 18px/1.3 Georgia,serif;margin-right:auto}
.check-state{font:700 12px/1.4 'Courier New',monospace;text-transform:uppercase;color:var(--red);white-space:nowrap}
.is-ready .check-state{color:var(--green)}
.check-content{padding:0 var(--panel-inset) 20px}
.inning-check:not([open]) .check-heading:hover{background:#edf0e8}
.inning-check progress{display:block;width:100%;height:5px;margin:0 0 16px;appearance:none;border:0;background:#dfe5dc}
.inning-check progress::-webkit-progress-bar{background:#dfe5dc}
.inning-check progress::-webkit-progress-value{background:var(--green)}
.inning-check progress::-moz-progress-bar{background:var(--green)}
.open-positions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
body:not(.preview) .open-positions button{font:700 14px/1.2 'Courier New',monospace;min-height:40px;min-width:40px;padding:8px;border-color:#b58e7d;color:var(--red);background:#f4e7db}
.check-label{font-size:14px;line-height:1.5;color:var(--muted)}
.battery{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px 10px;font-size:14px;line-height:1.5;margin:16px 0 0}
.battery dt{font:700 14px/1.5 'Courier New',monospace;color:var(--green)}
.battery dd{margin:0;overflow-wrap:anywhere}
.accordion-chevron{display:block;flex-shrink:0;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 7px}
details[open]>summary>.accordion-chevron{transform:rotate(225deg);margin-bottom:-3px}
body:not(.preview) .edit-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px;margin-top:32px;padding:24px 0 4px;font-size:13px;line-height:1.6}
.footer-note{text-align:right}
.site-credit{text-align:center}
.site-credit .heart{color:#000;margin:0 2px}
.site-credit a{color:var(--navy);font-weight:700;text-decoration:none;padding:6px 2px}
.site-credit a:hover{color:var(--red)}
.site-credit a:focus-visible{outline:3px solid #b84b36;outline-offset:3px}
body:not(.preview) dialog{padding:24px;max-width:600px;width:calc(100% - 32px)}
body:not(.preview) dialog p{font-size:14px;line-height:1.6;margin:16px 0 20px}
body:not(.preview) dialog button{min-height:44px;padding:10px 16px}
body:not(.preview) .dialog-head{gap:20px}
body:not(.preview) .roster-player{grid-template-columns:minmax(0,1fr) 64px 72px;gap:12px;padding:14px 0}
body:not(.preview) .roster-player label{font-size:14px;gap:8px;min-width:0}
body:not(.preview) .roster-player input[type=checkbox]{width:22px;height:22px}
body:not(.preview) #addPlayer{grid-template-columns:minmax(0,1fr) 76px;gap:16px;margin-top:24px}
body:not(.preview) #addPlayer label{font-size:14px;gap:8px}
body:not(.preview) :is(#clearDialog,#removeInningDialog) form{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}
@container(max-width:640px){.field-position .position-label span{display:none}}
@container(max-width:440px){.field-player{left:8px;align-items:flex-start;justify-content:center;flex-direction:column;gap:0}.field-position{width:29%}}
@media(min-width:1800px){body:not(.preview){--sidebar-width:300px}}
@media(max-width:1250px){body:not(.preview){--sidebar-width:240px;--layout-gap:20px;--panel-inset:16px}body:not(.preview) main{padding:0 24px 28px}.batting-row{padding:5px 12px;gap:2px;grid-template-columns:24px 22px minmax(0,1fr)}.batting-row .jersey{display:block}.panel-heading{gap:12px}.plan-stat{padding:18px 14px}.check-heading{gap:6px}.check-heading h3{font-size:17px}}
@media(max-width:1050px){body:not(.preview) .dashboard{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.planning-panel{grid-column:2;position:static;max-height:none}.batting-panel{grid-column:1;grid-row:1 / 3}.inning-column{grid-column:2}body:not(.preview) .toolbar{margin-left:0}.field{aspect-ratio:1.4}body:not(.preview) .edit-footer{grid-template-columns:1fr auto}.footer-note{grid-column:1;grid-row:2;text-align:left}.site-credit{grid-column:2;grid-row:1 / 3;text-align:right}}
@media(max-width:750px){body:not(.preview){--layout-gap:20px;--panel-inset:16px}body:not(.preview) main{margin:16px auto;padding:0 16px 24px}body:not(.preview) .top{margin-bottom:24px;padding:16px 0;gap:12px}body:not(.preview) h1{font-size:28px}body:not(.preview) .dashboard{grid-template-columns:1fr}.batting-panel,.inning-column,.planning-panel{grid-column:1;grid-row:auto;position:static;max-height:none}.panel-heading{min-height:80px;padding:16px}.batting-panel #battingOrder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.batting-row{padding:6px 10px;grid-template-columns:24px 22px minmax(0,1fr);gap:2px;min-height:64px}.batting-row:nth-child(odd){border-right:1px solid var(--line)}.batting-row .player-name{font-size:14px!important}.batting-row .jersey{display:block}.field{aspect-ratio:1.25;min-height:360px}body:not(.preview) .game-fields{width:100%}body:not(.preview) .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}body:not(.preview) .toolbar button{min-width:0;padding:12px;font-size:14px;min-height:46px}body:not(.preview) .tools{gap:20px;margin-bottom:24px}.inning-heading{gap:10px;padding:14px 16px}.inning-heading-tools{gap:10px}.inning-status{font-size:12px}.inning-number{font-size:28px}.inning-title{gap:8px}.dugout{padding:18px 16px}.dashboard-out{padding:16px}.plan-stat{padding:20px}.check-heading{padding:18px 16px}.check-heading h3{font-size:18px}.check-content{padding:0 16px 20px}body:not(.preview) .open-positions button{min-height:44px;min-width:44px}body:not(.preview) .edit-footer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:28px;padding-top:20px;text-align:center}.footer-note{text-align:center}.site-credit{order:1;margin-top:12px;text-align:center}}
@media(max-width:430px){body:not(.preview) .game-fields{gap:12px}body:not(.preview) .game-fields label:last-child{width:180px}.batting-panel #battingOrder{grid-template-columns:1fr}.batting-row{padding:5px 16px;grid-template-columns:28px 24px minmax(0,1fr);gap:4px;min-height:56px}.batting-row:nth-child(odd){border-right:0}.batting-row .jersey{display:inline}.inning-heading{padding:14px 12px}.inning-heading h2{font-size:18px}.inning-heading-tools{gap:8px}.inning-status{font-size:11px}.inning-title{gap:7px}.field-position .position-label{padding:6px}.field-player{left:8px;right:20px;font-size:13px}body:not(.preview) dialog{padding:20px}body:not(.preview) .roster-player{grid-template-columns:minmax(0,1fr) 54px 60px;gap:10px}}
@media(max-width:380px){body:not(.preview) .game-fields{flex-direction:column}body:not(.preview) .game-fields label:last-child{width:100%}body:not(.preview) .toolbar button{padding:10px 8px;gap:6px}}
@media(max-width:360px){body:not(.preview) main{padding:0 12px 24px}body:not(.preview) h1{font-size:25px}body:not(.preview) #rosterButton{padding:10px}.inning-status{font-size:10px}.inning-title{gap:6px}.inning-number{font-size:26px}}
