[hidden]{display:none!important}
.custom-field-controls{margin-top:13px;padding:12px;border:1px solid #c9e0e3;border-radius:8px;background:#f4faf9}
.custom-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.custom-buttons .tool-button.is-active{background:#214b60;border-color:#214b60;color:#fff}
.custom-field-controls p,.pitch-hint{font-size:13px;color:#526b79;line-height:1.5;margin:9px 0 0}
.pitch-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 13px}
.pitch-size-control{display:flex;align-items:center;gap:9px;margin-left:auto;color:#526778;font-size:14px;font-weight:650;white-space:nowrap}
.pitch-size-control input{width:115px;accent-color:#1b6c89}
.pitch-size-control output{min-width:35px;text-align:right}
#fullPitchCanvas .overlay-move{cursor:move;touch-action:none}
#fullPitchCanvas .overlay-resize{cursor:nwse-resize;touch-action:none}
#fullPitchCanvas .plan-region{cursor:move;touch-action:none}
#previewPaper{display:grid;gap:18px}
.plan-sheet .sheet-body{padding-top:22px;gap:18px}
.pitch-diagram{width:100%;height:auto;display:block;background:#f7fafb;border:1px solid #e2e9ed;border-radius:6px}
.plan-description{color:#526777;line-height:1.6;margin:0}
.plan-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px}
.plan-legend-item{display:flex;align-items:center;gap:8px;min-width:0;color:#385566}
.plan-legend-item strong{white-space:nowrap}
.plan-legend-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-color{display:block;flex:none;width:16px;height:16px;border-radius:4px;box-shadow:0 0 0 1px #435f6540}
@media(max-width:760px){.pitch-toolbar .button{flex:1 1 auto}.pitch-size-control{width:100%;margin:0;justify-content:space-between}.pitch-size-control input{flex:1}}
@media print{.plan-sheet .sheet-body{padding-top:7mm;gap:5mm}.plan-sheet .pitch-diagram{width:182mm;height:auto;max-height:none;border:0;background:none;margin:3mm auto}.plan-sheet .plan-description{font-size:10pt}.plan-sheet .plan-legend{font-size:10pt;gap:3mm 6mm}.sheet{min-height:296.6mm}}

/* 编辑时让场地图占据主要空间，预览仅在用户打开时显示。 */
.workspace{grid-template-columns:280px minmax(0,1fr);max-width:1700px;gap:20px}
.main-editor{width:100%}
.lesson-field-plan{grid-column:2;min-width:0;scroll-margin-top:16px}
.pitch-intro{color:#526b79;line-height:1.6;margin:-7px 0 16px}
.plan-layout{display:grid;grid-template-columns:minmax(200px,255px) minmax(0,1fr);align-items:start;gap:15px}
.plan-exercise-list{display:grid;align-content:start;gap:8px;max-height:620px;overflow:auto}
.plan-exercise{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #dce8eb;border-radius:8px;background:#f7fafb}
.plan-exercise.is-selected{border-color:#6caabb;background:#eaf6f7}
.plan-exercise-name{display:grid;gap:2px;min-width:0;flex:1}
.plan-exercise-name strong{font-size:13px;color:#264a5b;white-space:nowrap}
.plan-exercise-name small{font-size:12px;color:#657e8a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-exercise .button{padding:6px 8px;font-size:12px}
.plan-exercise .text-button{font-size:12px;padding:3px}
.plan-canvas{min-width:0}
.plan-color-control{display:flex;align-items:center;gap:9px;color:#526778;font-size:14px;font-weight:650;white-space:nowrap}
.plan-color-control input{width:37px;height:33px;padding:2px;border:1px solid #cbdbe2;border-radius:6px;background:#fff;cursor:pointer}
.preview-dialog{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}
.preview-dialog-scrim{position:absolute;inset:0;background:#102d3ec2}
.preview-dialog-panel{position:relative;display:flex;flex-direction:column;width:min(100%,1060px);max-height:calc(100dvh - 32px);overflow:hidden;border-radius:14px;background:#f2f6f7;box-shadow:0 24px 80px #0f2c3f55}
.preview-dialog-head{background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid #dde8ed}
.preview-dialog-head h2{font-size:20px;margin:3px 0 0;color:#1b3448}
.preview-dialog-head button{border:0;border-radius:50%;background:#eef3f5;color:#315166;width:34px;height:34px;font-size:24px;line-height:1}
.preview-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;background:#fff;padding:13px 22px}
.preview-controls label{display:block;flex:1 1 250px;color:#506a79;font-size:13px;font-weight:700}
.preview-controls select{display:block;width:100%;min-height:42px;margin-top:5px;padding:8px 10px;border:1px solid #cbdce4;border-radius:8px;color:#1b3448;background:#fff;font-size:14px}
.preview-controls .button{min-height:42px}
.preview-info{margin:0;padding:0 22px 11px;background:#fff;color:#607985;font-size:13px}
.preview-dialog-content{overflow:auto;padding:20px;overscroll-behavior:contain}
#previewPaper{width:100%;max-width:800px;margin:0 auto}
#previewPaper .sheet{min-height:900px}
.preview-dialog-footnote{background:#fff;border-top:1px solid #dde8ed;color:#69808a;padding:10px 22px;margin:0;font-size:12px}
@media(max-width:1160px){.workspace{grid-template-columns:240px minmax(0,1fr);gap:14px}}
@media(max-width:760px){.mobile-tabs{grid-template-columns:repeat(3,1fr)}.workspace{display:block}.plan-layout{display:flex;flex-direction:column}.plan-exercise-list{width:100%;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-canvas{width:100%}.pitch-toolbar .button{flex:1 1 100%}.preview-dialog{padding:0}.preview-dialog-panel{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.preview-dialog-head,.preview-controls{padding-left:14px;padding-right:14px}.preview-info{padding-left:14px;padding-right:14px}.preview-dialog-content{padding:12px}.preview-dialog-footnote{padding:9px 14px}.preview-controls .button{width:100%}#previewPaper .sheet{min-height:730px}}
@media(max-width:440px){.plan-exercise-list{grid-template-columns:1fr}.plan-legend{grid-template-columns:1fr}}
@media print{.preview-dialog{display:none!important}}
