
.combat-plan{margin:20px 0;padding:18px;border:1px solid var(--border,#30394d);border-radius:14px;background:var(--card,#111827);color:var(--text,#e5e7eb)}
.cp-head,.cp-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cp-head h3,.cp-editor-head h4{margin:0 0 8px}.cp-head p,.cp-muted{color:var(--text-dim,#a6adbc);font-size:.78rem;line-height:1.6}.cp-head p{max-width:65ch}.combat-plan [data-cp-status]{min-height:1.5em;margin:12px 0;color:var(--combat-cyan,#67e8f9);font-size:.82rem}.cp-layout{display:grid;grid-template-columns:minmax(320px,370px) minmax(0,1fr);gap:20px}.cp-layout aside{align-self:start;padding-right:18px;border-right:1px solid var(--border,#30394d)}.cp-layout section{min-width:0}.cp-side-tabs{display:flex;gap:8px;margin-bottom:14px}.cp-side-tabs button{flex:1}.cp-side-tabs button[aria-pressed=true]{border-color:var(--combat-cyan,#67e8f9);background:rgba(103,232,249,.1);color:var(--combat-cyan,#67e8f9)}
.combat-plan label{display:grid;gap:5px;font-size:.78rem;color:var(--text-dim,#a6adbc);margin:9px 0}.combat-plan input,.combat-plan select,.combat-plan button{font:inherit}.combat-plan input,.combat-plan select{min-width:0;width:100%;padding:8px 10px;border:1px solid var(--border,#30394d);border-radius:7px;background:var(--bg,#0b1020);color:var(--text,#e5e7eb)}.combat-plan button{padding:7px 10px;border:1px solid var(--border,#30394d);border-radius:7px;background:var(--card,#111827);color:var(--text,#e5e7eb);cursor:pointer}.combat-plan button:hover{border-color:var(--combat-cyan,#67e8f9)}.combat-plan button:disabled{opacity:.45;cursor:default}.combat-plan input:focus-visible,.combat-plan select:focus-visible,.combat-plan button:focus-visible,.combat-plan summary:focus-visible{outline:2px solid var(--combat-cyan,#67e8f9);outline-offset:2px}.cp-editor-head{border-bottom:1px solid var(--border,#30394d);padding-bottom:10px;margin-bottom:16px}.cp-editor-head span{font-size:.76rem;color:var(--text-dim,#a6adbc)}.combat-plan fieldset{min-width:0;border:0;border-bottom:1px solid var(--border,#30394d);padding:0 0 14px;margin:0 0 14px}.combat-plan legend{font-size:.85rem;font-weight:700}.cp-point-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cp-martial{display:grid;grid-template-columns:minmax(0,3fr) minmax(65px,1fr) minmax(80px,1fr);gap:10px}.cp-martial p{grid-column:1/-1;margin:0}.cp-group{border-bottom:1px solid var(--border,#30394d);padding:12px 0}.cp-group summary{font-size:.83rem;cursor:pointer;font-weight:600}.cp-entry,.cp-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cp-entry{padding:8px 0}.cp-entry strong{font-size:.81rem;flex:1;min-width:100px}.cp-entry label{max-width:90px}.cp-inline select{flex:1;width:0;min-width:140px}.cp-entry small,.cp-equipment small{font-weight:400;color:var(--text-dim,#a6adbc)}.cp-stat-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px}.cp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cp-stats>div{padding:9px;background:var(--bg,#0b1020);border-radius:7px;min-width:0}.cp-stats span{display:block;color:var(--text-dim,#a6adbc);font-size:.72rem}.cp-stats strong{display:block;margin-top:4px;font-size:.88rem;overflow-wrap:anywhere}.cp-equipment{border-bottom:1px dashed var(--border,#30394d);padding:12px 0}.cp-equipment details summary{font-size:.76rem}.cp-equipment dl>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:12px;padding:6px 0;font-size:.76rem;border-bottom:1px solid var(--border,#30394d)}.cp-equipment dt small{display:block}.cp-equipment dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.cp-checkbox{display:flex!important;align-items:center}.cp-checkbox input{width:auto}.cp-empty{padding:35px 10px;color:var(--text-dim,#a6adbc);line-height:1.8}.combat-save-sides [id$=Simulation]{display:none}
@media(max-width:760px){.combat-plan{padding:12px}.cp-layout{grid-template-columns:1fr}.cp-layout aside{padding-right:0;border-right:0;border-bottom:1px solid var(--border,#30394d);padding-bottom:14px}.cp-stat-inputs,.cp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-head{flex-wrap:wrap}.cp-martial{grid-template-columns:minmax(0,2fr) 1fr 1fr}.cp-point-inputs{gap:6px}}
@media(max-width:430px){.cp-stat-inputs,.cp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-point-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-martial{grid-template-columns:1fr 1fr}.cp-martial label:first-child{grid-column:1/-1}.cp-editor-head{flex-wrap:wrap}}

.combat-plan label.cp-checkbox{flex-direction:row;align-items:flex-start;gap:8px;text-align:left}.combat-plan .cp-checkbox input{flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;padding:0}.combat-plan .cp-checkbox span{min-width:0;line-height:1.6}

.cp-enhancement-group{margin:12px 0;border-top:1px solid var(--border,#28334b);padding-top:10px}.cp-enhancement-group>summary{cursor:pointer;color:var(--text,#dce4f4)}.cp-enhancement-note,.cp-enhancement-description{display:block;margin-top:4px;line-height:1.55}.cp-enhancement-note{color:var(--muted,#97a5bf);font-size:12px}.cp-enhancement-description{font-size:13px;overflow-wrap:anywhere}

.cp-fresh{grid-column:1/-1;padding:10px 12px;margin-bottom:8px;border-left:2px solid var(--combat-cyan,#67e8f9);background:var(--bg,#0b1020);border-radius:5px}.cp-fresh>summary{cursor:pointer;font-size:.82rem;font-weight:600}.cp-fresh-moves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.cp-fresh-moves small{display:block;color:var(--text-dim,#a6adbc)}.cp-fresh-jingjin{display:flex;flex-wrap:wrap;gap:0 12px}.cp-fresh-jingjin h5,.cp-fresh-jingjin p{flex-basis:100%;margin:8px 0}.cp-fresh-jingjin label{flex:1 1 160px;min-width:0}.cp-fresh .cp-inline label{flex:1;min-width:160px}@media(max-width:550px){.cp-fresh-moves{grid-template-columns:1fr}.cp-fresh .cp-inline label{flex-basis:100%}}

.cp-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cp-actions [data-cp-native-run]{border-color:var(--combat-cyan,#67e8f9);color:var(--combat-cyan,#67e8f9)}.cp-duel{margin:0 0 16px;padding:10px 12px;border-radius:7px;background:var(--bg,#0b1020);color:var(--text-dim,#a6adbc);font-size:.8rem;line-height:1.6}.cp-duel strong{color:var(--combat-cyan,#67e8f9)}.cp-duel p{margin:5px 0 0}.cp-duel[data-state=error]{color:var(--combat-cyan,#67e8f9)}@media(max-width:760px){.cp-actions{justify-content:flex-start}}
.cp-scene{display:flex;align-items:center;gap:16px;margin:0 0 10px}.cp-scene label{flex:0 0 155px;margin:0}.cp-scene p{font-size:.77rem;color:var(--text-dim,#a6adbc);line-height:1.6;margin:0}@media(max-width:550px){.cp-scene{align-items:flex-start;flex-direction:column;gap:8px}.cp-scene label{flex:auto;width:100%}}
.cp-actions .cp-batch-count{display:flex;align-items:center;gap:7px;margin:0;font-size:.8rem}.cp-batch-count select{width:96px}.cp-batch-progress{display:block;width:100%;height:8px;margin:10px 0;accent-color:var(--combat-cyan,#67e8f9)}.cp-batch-games{width:100%;margin-top:8px;text-align:left;border-collapse:collapse}.cp-batch-games th,.cp-batch-games td{padding:5px 8px;border-bottom:1px solid var(--border,#30394d)}

.cp-gain-source{margin:12px 0}.cp-gain-source h5{font-size:.8rem;margin:10px 0}.cp-gain-row{padding:8px 0;border-bottom:1px dashed var(--border,#30394d);font-size:.78rem}.cp-gain-row>div{display:flex;justify-content:space-between;gap:12px}.cp-gain-status{white-space:nowrap;color:var(--text-dim,#a6adbc)}.cp-gain-row[data-cp-gain-status=eligible] .cp-gain-status{color:var(--combat-cyan,#67e8f9)}.cp-gain-row details summary{font-size:.74rem;font-weight:400;margin-top:5px}.cp-gain-row details p{color:var(--text-dim,#a6adbc);margin:5px 0;line-height:1.6}
.cp-gain-scope{display:block;margin-top:3px;color:var(--text-dim,#a6adbc);font-size:.73rem}
.cp-gain-source>summary{font-size:.8rem;font-weight:600;cursor:pointer}.cp-gain-source{padding:8px 0;border-bottom:1px solid var(--border,#30394d)}

.cp-formation-controls{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:10px}.cp-formation-stage{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:4px;align-items:end;margin:8px 0 0}.cp-formation-board{position:relative;container-type:inline-size;height:162px;isolation:isolate}.combat-plan .cp-formation-tile{position:absolute;transform:translate(-50%,-50%);width:78px;height:54px;padding:0;border:0;border-radius:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:1;opacity:1}.cp-tile-platform{position:absolute;inset:4px 0 0;clip-path:polygon(50% 0,100% 24%,100% 74%,50% 100%,0 74%,0 24%);background:#203346;box-shadow:inset 0 -9px 0 #162736;z-index:-1}.cp-tile-platform:after{content:'';position:absolute;inset:2px 2px 10px;clip-path:inherit;background:#132130}.cp-tile-name{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text,#e5e7eb);font-weight:600}.cp-tile-caption{font-size:10px;color:var(--text-dim,#a6adbc)}.cp-formation-tile[data-allowed=false] .cp-tile-platform{background:#303640;box-shadow:inset 0 -9px 0 #242933}.cp-formation-tile[data-allowed=false] .cp-tile-platform:after{background:#252b35}.cp-formation-tile[data-allowed=false] .cp-tile-name,.cp-formation-tile[data-allowed=false] .cp-tile-caption{color:#808795}.cp-formation-tile[data-occupied=true] .cp-tile-platform{background:#446077}.cp-formation-tile[aria-pressed=true] .cp-tile-platform,.cp-formation-tile[data-allowed=true]:hover .cp-tile-platform{background:var(--combat-cyan,#67e8f9)}.cp-formation-tile[data-conflict=true] .cp-tile-platform{background:#d99758}.cp-assist-card{padding-bottom:5px;text-align:center;display:grid;gap:7px;font-size:12px;color:var(--text-dim,#a6adbc)}.combat-plan .cp-assist-card button{padding:9px 3px;min-height:50px;overflow-wrap:anywhere;font-size:12px}.cp-board-hint{font-size:11px;color:var(--text-dim,#a6adbc);margin:3px 0 12px}.cp-formation-error{border-left:2px solid #d99758;padding:6px 9px;font-size:12px;line-height:1.6;color:#efbf92}@media(max-width:760px){.cp-formation-stage{max-width:370px}.cp-formation-controls{max-width:370px}}@media(max-width:370px){.cp-formation-stage{grid-template-columns:minmax(0,1fr) 48px}.combat-plan .cp-formation-tile{width:68px}.cp-tile-name{max-width:62px;font-size:11px}.cp-assist-card{font-size:11px}}

.cp-formation-stage-label{align-self:center;text-align:center;font-size:12px;color:var(--text-dim,#a6adbc)}.cp-formation-stage-label small{display:block;font-size:10px;margin-top:4px}

/* Match the visible hexagon: transparent button corners must not intercept
   neighbouring tiles on narrow screens during clicks or pointer dragging. */
.cp-formation-tile{clip-path:polygon(50% 0,100% 24%,100% 74%,50% 100%,0 74%,0 24%)}.cp-formation-tile[data-occupied=true]{touch-action:none;user-select:none;cursor:grab}.cp-formation-tile.is-dragging{opacity:.35}.cp-formation-tile[data-cp-drop=true] .cp-tile-platform{background:#83cfb4}.cp-formation-tile[data-cp-drop=false] .cp-tile-platform{background:#dc8a73}.cp-drag-ghost{position:fixed;z-index:3000;pointer-events:none;transform:translate(-50%,-70%);padding:12px 16px;border:1px solid #67e8f9;border-radius:8px;background:#162736;color:#e5e7eb;box-shadow:0 8px 25px #0006;font-size:13px;font-weight:600}
.cp-formation-tile:focus-visible .cp-tile-platform{background:var(--combat-cyan,#67e8f9)}.cp-formation-tile:focus-visible .cp-tile-platform:after{inset:3px 3px 11px;background:#173247}.cp-formation-tile:focus-visible .cp-tile-name{text-decoration:underline;text-underline-offset:2px}
.cp-formation-effects{border-top:1px solid var(--border,#30394d);padding:10px 0;margin:0 0 12px;font-size:12px}.cp-formation-effects h5{margin:0 0 8px;font-size:12px}.cp-formation-values{color:var(--combat-cyan,#67e8f9);line-height:1.7;margin:6px 0}.cp-formation-effect{display:grid;gap:3px;margin:7px 0}.cp-formation-effect small{color:var(--text-dim,#a6adbc);font-size:11px}.cp-formation-effects .cp-muted{font-size:11px;line-height:1.6}.cp-formation-effects>details>summary{cursor:pointer;font-size:11px;color:var(--text-dim,#a6adbc)}.cp-formation-comparison{width:100%;border-collapse:collapse;font-size:10px;margin-top:8px;table-layout:fixed}.cp-formation-comparison th,.cp-formation-comparison td{padding:6px 3px;text-align:left;border-bottom:1px solid var(--border,#30394d);overflow-wrap:anywhere}.cp-formation-comparison th:first-child{width:32px}

.cp-dimension-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:7px}.cp-dimension-totals>div{padding:12px;background:var(--bg,#0b1020);border:1px solid var(--border,#30394d);border-radius:7px;min-width:0}.cp-dimension-totals span,.cp-dimension-totals small{display:block;color:var(--text-dim,#a6adbc);font-size:11px;line-height:1.6}.cp-dimension-totals strong{display:block;font-size:20px;font-weight:650;margin:5px 0;color:var(--text,#e5e7eb)}@media(max-width:430px){.cp-dimension-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cp-person-name{font-size:1.1rem;font-weight:650;display:flex;align-items:center;gap:12px}.cp-person-name small{font-size:.72rem;font-weight:400;color:var(--combat-cyan,#67e8f9)}.cp-config-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.cp-config-card{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px!important;text-align:left}.cp-config-card>span{font-size:.76rem;color:var(--text-dim,#a6adbc)}.cp-equipment-overview h5{font-size:.9rem;margin:16px 0 12px}.cp-popup-content{min-width:0}.cp-popup-content .cp-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-popup-content .cp-group{padding:12px 0;border-bottom:1px solid var(--border,#30394d)}.cp-popup-content .cp-checkbox{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.cp-popup-content label{display:block;color:var(--text-dim,#a6adbc);font-size:.84rem}.cp-popup-content input:not([type=checkbox]),.cp-popup-content select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;border:1px solid var(--border,#30394d);border-radius:8px;background:var(--bg,#0b1020);color:var(--text,#e5e7eb);font:inherit}.cp-popup-content input[type=checkbox]{margin-top:4px;flex:0 0 auto}.cp-jingjin-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cp-jingjin-choices label small{display:block;font-size:.72rem;margin-top:6px;line-height:1.5}.cp-buff-installed{border-left:2px solid var(--combat-cyan,#67e8f9);padding-left:10px;font-size:.82rem}.cp-fragment-chip{display:inline-block;padding:5px 8px;margin:3px;border:1px solid var(--border,#30394d);border-radius:8px;font-size:.8rem}.cp-popup-content .cp-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cp-popup-content button{cursor:pointer}.cp-popup-content .cp-inline{display:flex;gap:8px;align-items:flex-end}.cp-popup-content .cp-inline select{min-width:0}.cp-popup-content .cp-enhancement-note{display:block;font-size:.72rem;line-height:1.5;color:var(--text-dim,#a6adbc)}
@media(max-width:560px){.cp-jingjin-choices{grid-template-columns:1fr}.cp-popup-content .cp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-config-cards{grid-template-columns:1fr 1fr}.cp-editor-head{flex-wrap:wrap}}

.cp-person-view{display:flex;gap:8px;margin:0 0 14px}.cp-person-view button[aria-pressed=true]{border-color:var(--combat-cyan,#67e8f9);color:var(--combat-cyan,#67e8f9)}

.cp-hedao-summary{display:flex;justify-content:space-between;gap:16px;padding:12px 0}.cp-hedao-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cp-hedao-direction{border:1px solid var(--border,#2d3c53);border-radius:12px;padding:16px}.cp-hedao-stars{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}.cp-hedao-stars label{display:flex;align-items:center;gap:8px;margin:0}.cp-hedao-stars label:has(input:disabled){opacity:.45}.cp-hedao-stars input{width:auto}.cp-hedao-summary span{color:#97abc4}@media(max-width:600px){.cp-hedao-grid{grid-template-columns:1fr}.cp-hedao-summary{flex-direction:column;gap:6px}}

.cp-reference-opener{justify-self:start;margin-top:.5rem}
.cp-build-reference{padding:1rem;border:1px solid var(--cp-border,#26354c);border-radius:.7rem;margin:.8rem 0}
.cp-build-reference h5{margin:0 0 .5rem;font-size:1rem}
.cp-build-martials{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}
.cp-build-martials span{padding:.3rem .5rem;background:rgba(100,150,200,.1);border-radius:.3rem}
.cp-build-reference details{margin-top:.8rem}
.cp-reference-sources{padding-left:1.2rem;overflow-wrap:anywhere}
.cp-reference-sources li{margin:.6rem 0}
.cp-reference-sources small{display:block;color:#95a3b8;line-height:1.5}
.cp-reference-sources a{color:#67ddf2}
.cp-typed-allocation .cp-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-typed-allocation .cp-stats strong{white-space:nowrap}
@media(max-width:700px){.cp-typed-allocation .cp-layout{grid-template-columns:1fr}}

.cp-jingjin-reading{display:block}.cp-jingjin-reading small{display:block;margin-top:6px;font-size:.72rem;line-height:1.5;color:var(--text-dim,#a6adbc)}.cp-jingjin-reading [data-cp-jingjin-increment]{color:var(--text,#e5e7eb)}

.cp-typed-allocation .cp-typed-modes{display:flex;gap:8px;margin-bottom:16px}.cp-typed-allocation .cp-typed-modes button{flex:1}.cp-typed-allocation .cp-typed-modes button[aria-pressed=true]{border-color:var(--combat-cyan,#67e8f9);background:rgba(103,232,249,.1);color:var(--combat-cyan,#67e8f9)}.cp-typed-allocation .cp-typed-jingjin-inputs label{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:6px 16px;padding:9px 0}.cp-typed-allocation .cp-typed-jingjin-inputs label>small{grid-column:1/-1;color:var(--text,#e5e7eb)}.cp-typed-allocation .cp-typed-jingjin-inputs span small{display:block;margin-top:4px;font-size:.72rem;line-height:1.5}.cp-typed-allocation .cp-typed-jingjin-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cp-typed-allocation .cp-typed-jingjin-values>div{padding:10px;background:var(--bg,#0b1020);border-radius:7px;font-size:.8rem}.cp-typed-allocation .cp-typed-jingjin-values span,.cp-typed-allocation .cp-typed-jingjin-values strong,.cp-typed-allocation .cp-typed-jingjin-values small{display:block;margin:4px 0}.cp-typed-allocation .cp-typed-jingjin-values small{font-size:.72rem;line-height:1.5;color:var(--text-dim,#a6adbc)}@media(max-width:560px){.cp-typed-allocation .cp-typed-jingjin-values{grid-template-columns:1fr}}

/* Compact plan: summary and entry points stay on the board; editors use dialogs. */
.combat-plan [hidden]{display:none!important}
.combat-plan .cp-head{align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.cp-title{display:flex;align-items:center;gap:8px}.cp-title h3{margin:0;font-size:15px}
.cp-trial-tag{padding:2px 7px;border:1px solid #33535f;border-radius:5px;color:var(--combat-cyan,#67e8f9);font-size:10px}
.combat-plan .cp-head>.cp-actions{gap:5px;font-size:12px;flex:1}
.combat-plan .cp-head button{padding:7px 9px;white-space:nowrap}
.combat-plan .cp-batch-count{gap:5px;font-size:11px}.combat-plan .cp-batch-count select{width:65px;padding:7px 5px}
.combat-plan .cp-engine{margin:0;min-width:0}.combat-plan .cp-engine select{box-sizing:border-box;width:112px;height:36px;min-height:36px;max-height:36px;padding:6px 8px;line-height:20px;font-size:11px}
.cp-fast-time{display:block;margin:4px 0;color:var(--text-dim,#a6adbc);font-size:11px}.cp-fast-coverage{margin-top:6px;font-size:11px;color:var(--text-dim,#a6adbc)}.cp-fast-coverage summary{cursor:pointer}.cp-fast-coverage p{margin:5px 0;line-height:1.5}
.combat-plan [data-cp-status]{min-height:0;margin:8px 0;font-size:12px}
.combat-plan [data-cp-file-note]{margin:4px 0 8px;font-size:11px;overflow-wrap:anywhere}
.combat-plan [data-cp-record-library] label{display:flex;align-items:center;gap:8px;margin:5px 0 10px;font-size:11px}
.combat-plan [data-cp-record-select]{width:auto;max-width:100%;padding:7px 9px;font-size:12px}
.combat-plan .cp-duel:empty{display:none}.combat-plan .cp-duel{padding:9px 10px;margin-bottom:12px;font-size:12px}
.combat-plan .cp-editor-head{align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px}
.combat-plan .cp-person-name{font-size:16px;gap:8px;padding:7px 9px}.cp-person-name small{font-size:11px}
.cp-compact-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.cp-compact-stats>span{font-size:11px;color:var(--text-dim,#a6adbc);padding:8px 10px;border-radius:6px;background:var(--bg,#0b1020)}
.cp-compact-stats strong{display:block;margin-top:4px;font-size:15px;color:var(--text,#e5e7eb)}
.combat-plan .cp-editor-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 14px}
.combat-plan .cp-config-card{padding:9px 10px!important;gap:6px;min-height:40px;font-size:12px;min-width:0}
.combat-plan .cp-config-card>strong{font-weight:550;min-width:0;overflow-wrap:anywhere}.combat-plan .cp-config-card>span{font-size:10px;flex-shrink:0}
.cp-gain-buttons h5{font-size:12px;margin:0 0 7px;color:var(--text-dim,#a6adbc)}
.cp-gain-buttons .cp-config-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px}
.combat-plan .cp-gain-button{min-height:34px;font-size:11px;background:var(--bg,#0b1020)}
.combat-plan .cp-equipment-overview{position:relative;padding-top:4px}.combat-plan .cp-equipment-overview h5{font-size:12px;margin:0 0 8px}
.combat-plan .cp-equipment-overview .cet-equipment-grid{gap:6px;margin:0 0 8px;grid-template-columns:repeat(3,minmax(0,1fr))}
.combat-plan .cp-equipment-overview .cet-slot{min-height:68px;padding:8px!important;gap:3px}
.combat-plan .cp-equipment-import{position:absolute;right:0;top:-5px;display:block;margin:0;padding:6px 8px;border:1px solid var(--border,#30394d);border-radius:5px;font-size:10px;cursor:pointer}
.cp-equipment-import input{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important;pointer-events:none}
.cp-equipment-import:focus-within{outline:2px solid var(--combat-cyan,#67e8f9);outline-offset:2px}
.cp-editor-links{display:flex;gap:6px;margin-top:10px}.combat-plan .cp-editor-links button{font-size:11px;padding:6px 8px}
.combat-plan .cet-dialog{width:min(760px,calc(100vw - 24px))}
.combat-plan .cp-popup-content>p[data-cp-popup-error]:empty{display:none}
.combat-plan .cp-popup-content .cp-gain-source{border-bottom:0;margin:0}
.combat-plan .cp-popup-content .cp-martial{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border,#30394d)}
.combat-plan .cp-popup-content .cp-martial>button{align-self:end;justify-self:start}
@media(max-width:900px){.combat-plan .cp-editor-buttons,.cp-gain-buttons .cp-config-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.combat-plan .cp-head>.cp-actions{flex-basis:100%;justify-content:flex-start}.combat-plan .cp-editor-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-gain-buttons .cp-config-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.combat-plan{padding:10px;margin:12px 0}.combat-plan .cp-editor-buttons,.cp-gain-buttons .cp-config-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-plan .cp-config-card{min-height:44px}.combat-plan .cp-head button,.combat-plan .cp-head select{min-height:38px}.combat-plan .cp-popup-content input,.combat-plan .cp-popup-content select,.combat-plan .cp-popup-content button{min-height:44px}.combat-plan .cp-popup-content .cp-stat-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-plan .cp-editor-head span{font-size:11px}.combat-plan .cet-dialog{width:calc(100vw - 16px)}.cp-compact-stats{gap:6px}.cp-compact-stats>span{padding:7px 9px}}

.combat-plan .cp-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.combat-plan .cp-head>.cp-actions{flex:none;gap:5px;justify-content:flex-end;min-width:0}
.combat-plan .cp-data-menu{position:relative;font-size:12px;margin:0;align-self:center}
.cp-data-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:8px 9px;border:1px solid var(--border,#30394d);border-radius:4px;background:var(--card,#111827);white-space:nowrap;user-select:none}
.cp-data-menu>summary::-webkit-details-marker{display:none}
.cp-data-menu>summary::after{content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.cp-data-menu[open]>summary{border-color:var(--combat-cyan,#67e8f9);color:var(--combat-cyan,#67e8f9);background:var(--accent-soft,#edddcb)}
.cp-data-menu[open]>summary::after{transform:translateY(1px) rotate(225deg)}
.combat-plan .cp-data-menu>summary:focus-visible{outline-offset:-1px}
.cp-data-menu-items{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:150px;padding:5px;border:1px solid var(--border,#30394d);border-radius:4px;background:var(--card,#111827);box-shadow:0 6px 20px rgba(74,48,24,.18);display:grid;gap:0}
.combat-plan .cp-data-menu-items button{width:100%;text-align:left;min-height:36px;padding:6px 10px;border:0;border-radius:3px;background:transparent;font-weight:400}
.combat-plan .cp-data-menu-items button:hover{background:var(--card-hover,#eadcc0);color:var(--combat-cyan,#67e8f9)}
.combat-plan .cp-data-menu-items button:focus-visible{outline-offset:-2px;background:var(--card-hover,#eadcc0)}
.combat-plan [data-cp-record-library]{margin:8px 0 10px}
.combat-plan [data-cp-record-select]{width:100%;font-size:12px}
.combat-plan .cp-board-hint{font-size:10px;margin:0 0 7px}
.cp-board-actions{display:flex;gap:6px;margin-bottom:8px}.combat-plan .cp-board-actions button{font-size:11px;padding:6px 8px}
.combat-plan .cp-person-selector{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:11px}
.combat-plan .cp-person-selector select{flex:1;padding:7px 9px;font-size:12px}
.combat-plan .cp-new-person{padding:6px 8px;font-size:11px}
@media(max-width:560px){.combat-plan .cp-head>.cp-actions{flex-basis:auto}.combat-plan .cp-title{gap:5px}.cp-title h3{font-size:13px}.cp-trial-tag{font-size:9px;padding:2px 4px}.combat-plan .cp-head button,.combat-plan .cp-head select,.cp-data-menu>summary{min-height:36px}.cp-data-menu>summary{box-sizing:border-box;padding:8px}.combat-plan .cp-data-menu-items button{min-height:44px}.combat-plan .cp-batch-count select{width:57px}.combat-plan .cp-formation-stage{margin-top:4px}}

/* One compact row chooses which part of the current person to edit. */
.cp-editor-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;border-bottom:1px solid var(--border,#30394d);margin:0 0 12px}
.combat-plan .cp-editor-tabs button{padding:8px 3px;min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;background:transparent;font-size:12px;white-space:nowrap}
.combat-plan .cp-editor-tabs button[aria-selected=true]{border-bottom-color:var(--combat-cyan,#67e8f9);color:var(--combat-cyan,#67e8f9);background:rgba(103,232,249,.08)}
.cp-tab-panel{min-width:0;min-height:105px}.cp-tab-panel .cp-group:first-child{padding-top:0}.cp-tab-panel .cp-group>summary{font-size:12px}
.cp-panel-links{display:flex;flex-wrap:wrap;gap:6px}.combat-plan .cp-panel-links button,.combat-plan .cp-panel-action{padding:7px 9px;font-size:12px;min-height:36px}
.cp-tab-panel .cp-martial{grid-template-columns:minmax(0,1fr) 54px 54px;gap:7px;border-bottom:1px solid var(--border,#30394d);padding-bottom:9px;margin-bottom:9px}
.combat-plan .cp-tab-panel .cp-martial label{grid-column:auto;font-size:11px;margin:4px 0}.combat-plan .cp-tab-panel .cp-martial>button{grid-column:1/-1;justify-self:start;font-size:11px;padding:5px 8px}
.cp-tab-panel .cp-martial input,.cp-tab-panel .cp-martial select{box-sizing:border-box;font-size:12px;padding:8px 7px}
.cp-tab-panel .cp-entry{gap:7px}.cp-tab-panel .cp-entry strong{min-width:70px}.cp-tab-panel .cp-entry label{max-width:70px}.cp-tab-panel .cp-entry button{font-size:11px}
.cp-roster-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.combat-plan .cp-roster-token{display:flex;align-items:center;gap:7px;padding:6px 9px;touch-action:none;user-select:none;cursor:grab;border-color:#335b69}
.cp-roster-token .cp-tile-name{font-size:12px;max-width:none}.cp-roster-token small{font-size:10px;color:var(--combat-cyan,#67e8f9)}.cp-roster-token.is-dragging{opacity:.35}
.cp-roster-list{display:grid;gap:7px}.cp-roster-list button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px}.cp-roster-list small{color:var(--text-dim,#a6adbc);font-size:11px}
@media(max-width:560px){.cp-editor-tabs{gap:0;margin-bottom:10px}.combat-plan .cp-editor-tabs button{font-size:11px;padding:9px 1px;min-height:40px}.cp-tab-panel .cp-martial{grid-template-columns:minmax(0,1fr) 48px 48px}.combat-plan .cp-tab-panel .cp-martial input,.combat-plan .cp-tab-panel .cp-martial select{min-height:40px}.combat-plan .cp-panel-links button{min-height:38px;font-size:11px}.combat-plan .cp-tab-panel .cp-equipment-overview{padding-top:4px}.cp-tab-panel .cp-equipment-import{top:-5px}.cp-roster-list button{min-height:44px}}

/* Imported record choice belongs to the run toolbar, with explicit sizes. */
.combat-plan .cp-head{grid-template-columns:minmax(0,1fr) minmax(160px,240px) auto;align-items:center}
.combat-plan .cp-head>.cp-actions{grid-column:3;flex-wrap:nowrap;align-items:center}
.combat-plan .cp-head>[data-cp-record-library]{grid-column:2;min-width:0;width:100%;max-width:240px;justify-self:end;margin:0}
.combat-plan .cp-head [data-cp-record-select]{display:block;box-sizing:border-box;height:36px;min-height:36px;margin:0;padding:6px 8px;font-size:11px}
.combat-plan .cp-head>.cp-actions>button,.combat-plan .cp-head .cp-batch-count select,.combat-plan .cp-head .cp-data-menu>summary{box-sizing:border-box;height:36px;min-height:36px;max-height:36px;padding:6px 8px;line-height:20px;margin:0;align-self:center}
.combat-plan .cp-head .cp-data-menu-items button{height:36px;min-height:36px;max-height:none;line-height:20px;text-align:left}
@media(max-width:760px){.combat-plan .cp-head{grid-template-columns:minmax(0,1fr) auto;gap:7px}.combat-plan .cp-head>.cp-actions{grid-column:2}.combat-plan .cp-head>[data-cp-record-library]{grid-column:1/-1;grid-row:2;width:min(240px,100%);justify-self:end}.combat-plan .cp-head [data-cp-record-select]{height:34px;min-height:34px}.combat-plan .cp-head .cp-data-menu-items button{height:44px;min-height:44px}}
@media(max-width:560px){.combat-plan .cp-head{grid-template-columns:minmax(0,1fr)}.combat-plan .cp-head>.cp-actions{grid-column:1;grid-row:2;justify-content:flex-start;flex-wrap:wrap}.combat-plan .cp-head>[data-cp-record-library]{grid-column:1;grid-row:3;width:100%;max-width:none;justify-self:stretch}.combat-plan .cp-engine select{width:105px}}

/* Automatic values and manual correction share one compact attribute grid. */
.cp-attribute-tools{display:flex;align-items:center;justify-content:flex-end;margin-bottom:3px}
.combat-plan .cp-manual-switch{display:flex;flex-direction:row;align-items:center;gap:7px;cursor:pointer;margin:0 0 5px;font-size:11px;white-space:nowrap}
.combat-plan .cp-manual-switch input{appearance:none;display:inline-block;flex:0 0 auto;box-sizing:border-box;width:30px;height:18px;min-height:18px;margin:0;padding:2px;border-radius:12px;background:#253043;position:relative;cursor:pointer}
.combat-plan .cp-manual-switch input:before{content:"";display:block;position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#a6adbc;transition:transform .12s}
.combat-plan .cp-manual-switch input:checked{border-color:var(--combat-cyan,#67e8f9);background:#203d49}.combat-plan .cp-manual-switch input:checked:before{transform:translateX(12px);background:var(--combat-cyan,#67e8f9)}
.combat-plan .cp-stat-inputs{gap:0 8px;margin-bottom:10px}.combat-plan .cp-stat-inputs label{position:relative;font-size:11px;margin:5px 0;min-width:0}.combat-plan .cp-stat-inputs input{box-sizing:border-box;margin-top:2px;padding:8px;font-size:13px;min-width:0;height:36px;min-height:36px}
.combat-plan .cp-stat-inputs input[readonly]{background:transparent;border-color:transparent;color:var(--text,#e5e7eb);padding-left:0;cursor:default}.combat-plan .cp-stat-inputs input[readonly]::-webkit-inner-spin-button,.combat-plan .cp-stat-inputs input[readonly]::-webkit-outer-spin-button{appearance:none;margin:0}
.cp-stat-source{position:relative}
.cp-stat-source>input[readonly]{cursor:help!important}
.cp-stat-source-tip{display:none;position:fixed;z-index:30;width:min(350px,calc(100vw - 24px));max-height:min(390px,calc(100dvh - 24px));overflow:auto;box-sizing:border-box;padding:14px 16px;border:1px solid var(--border,#cdb68e);border-radius:8px;background:var(--card,#f8f2e5);color:var(--text,#2f2921);box-shadow:0 8px 28px #31271926;font-size:12px;line-height:1.55;text-align:left;cursor:default}
.cp-stat-source[data-cp-source-open]:not([data-cp-source-dismissed])>.cp-stat-source-tip{display:block}
.cp-stat-source-tip>strong{display:block;margin:0 0 9px;color:var(--accent,#a93b2b);font-size:14px}
.cp-stat-source-tip ul{list-style:none;margin:0;padding:0}
.cp-stat-source-tip li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:7px 0;border-top:1px solid var(--border,#cdb68e)}
.cp-stat-source-tip li span{overflow-wrap:anywhere}.cp-stat-source-tip li b{font-weight:650;white-space:nowrap}
.cp-stat-source-tip li small{grid-column:1/-1;color:var(--text-dim,#77674f);font-size:11px}
.cp-stat-source-tip p{margin:7px 0}.cp-stat-source-tip .cp-stat-source-note{color:var(--text-dim,#77674f);font-size:11px}
.cp-stat-corrected{position:absolute;right:0;top:0;font-size:9px;color:var(--combat-cyan,#67e8f9)}
.combat-plan .cp-point-inputs input[readonly]{background:transparent;border-color:transparent;cursor:default}
@media(max-width:560px){.combat-plan .cp-stat-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-plan .cp-stat-inputs input{height:40px;min-height:40px}.combat-plan .cp-manual-switch input{min-height:18px}.cp-stat-corrected{font-size:8px}}

/* Person choice and adding a candidate share one row. */
.cp-roster-select{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:7px}
.combat-plan .cp-roster-select .cp-person-selector{flex-direction:row;margin:0;min-width:0}
.combat-plan .cp-roster-select .cp-person-selector select{min-width:0;height:36px;margin:0}
.combat-plan .cp-roster-select .cp-new-person{min-height:36px;padding:6px 8px;font-size:11px;white-space:nowrap}
.cp-roster-select .cp-roster-actions{min-width:0}
@media(max-width:560px){.combat-plan .cp-side-tabs{margin-bottom:6px}.combat-plan .cp-layout{gap:12px}.combat-plan .cp-layout aside{padding-bottom:10px}.combat-plan .cp-roster-token{padding:5px;font-size:10px}.cp-roster-select:has(.cp-roster-token){grid-template-columns:minmax(0,1fr)}.cp-roster-select:has(.cp-roster-token) .cp-roster-actions{justify-content:space-between}}

/* Keep each selected secret and its level in one compact, aligned row. */
.combat-plan .cp-entry.cp-secret-row,.cp-popup-content .cp-entry.cp-secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:5px 0;font-size:13px}
.combat-plan .cp-secret-row strong,.cp-popup-content .cp-secret-row strong{min-width:0;margin:0;font-size:inherit;line-height:1.4;overflow-wrap:anywhere}
.combat-plan .cp-secret-row label,.cp-popup-content .cp-secret-row label{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0;max-width:none;font-size:inherit;white-space:nowrap}
.combat-plan .cp-secret-row input,.cp-popup-content .cp-secret-row input{box-sizing:border-box;width:64px;min-height:40px;margin:0;padding:7px 8px;font-size:inherit}
.combat-plan .cp-secret-row button,.cp-popup-content .cp-secret-row button{min-height:40px;margin:0;padding:7px 10px;font-size:inherit}
@media(max-width:560px){.combat-plan .cp-entry.cp-secret-row,.cp-popup-content .cp-entry.cp-secret-row{gap:6px;font-size:12px}.combat-plan .cp-secret-row input,.cp-popup-content .cp-secret-row input{width:54px}.combat-plan .cp-secret-row button,.cp-popup-content .cp-secret-row button{padding:7px 8px}}
.cet-dialog.crp-dialog{width:min(1180px,calc(100vw - 28px));border-radius:6px;background:var(--card,#f8f2e5);color:var(--text,#2f2921)}
.crp-dialog .cet-dialog-head{padding:16px 22px 13px}.crp-dialog .cet-dialog-head h3{font-family:"Songti SC","STSong",serif;font-size:21px}.crp-dialog .cet-dialog-body{padding:0 22px 20px}
.crp-dialog :is(button,input,select){font:inherit;color:var(--text,#2f2921);background:var(--paper,#fcf7ed);border:1px solid var(--border,#cbb895);border-radius:4px;padding:7px 10px}.crp-dialog :is(button,input,select):focus-visible,.crp-events-scroll:focus-visible{outline:2px solid var(--accent,#9b3d30);outline-offset:2px}.crp-dialog button{cursor:pointer}.crp-dialog button:hover{border-color:var(--accent,#9b3d30)}.crp-dialog button:disabled{opacity:.5;cursor:default}
.crp-filters{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.crp-filters label,.crp-view-tools label{display:grid;gap:5px;font-size:12px;color:var(--text-dim,#71634f)}.crp-filters input{width:100%;box-sizing:border-box}.crp-filters button,.crp-view-tools button{font-size:12px;white-space:nowrap}.crp-status,.crp-note{font-size:12px;color:var(--text-dim,#71634f);line-height:1.7;margin:10px 0}.crp-layout{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);gap:22px}.crp-library{max-height:65vh;overflow-y:auto;padding:2px 8px 2px 2px}.crp-detail{min-width:0}
.crp-dialog .crp-record{display:block;width:100%;text-align:left;margin-bottom:10px;padding:12px;line-height:1.7}.crp-dialog .crp-record[aria-pressed=true]{border-color:var(--accent,#9b3d30);box-shadow:inset 3px 0 var(--accent,#9b3d30)}.crp-record-heading{display:flex;gap:8px;justify-content:space-between;align-items:start}.crp-record-heading strong{font-size:13px;font-weight:600}.crp-badge{display:inline-block;white-space:nowrap;font-size:10px;color:var(--green,#3f6d4b);background:var(--paper-shade,#e8dcc4);padding:1px 5px;border-radius:3px}.crp-badge[data-complete=false]{color:var(--accent,#9b3d30)}.crp-opponents{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0;font-size:12px}.crp-opponents b{color:var(--accent,#9b3d30);font-size:11px}.crp-opponents>span+span b{color:var(--gold-ink,#896b36)}.crp-opponents small,.crp-record-meta small{display:block;font-size:10px;color:var(--text-dim,#71634f)}.crp-record-meta{font-size:11px;color:var(--text-dim,#71634f)}
.crp-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink-line,#dfd0b3);padding-bottom:9px}.crp-detail-heading h4{font-size:16px;font-weight:600;margin:0}.crp-view-tools{display:flex;gap:12px;align-items:end;justify-content:space-between}.crp-view-tools select{font-size:12px}.crp-error{color:var(--accent,#9b3d30);font-size:12px;line-height:1.7;border-left:2px solid var(--accent,#9b3d30);padding-left:10px}.crp-totals{display:flex;gap:18px;flex-wrap:wrap;margin:15px 0;font-size:12px;color:var(--text-dim,#71634f)}.crp-totals strong{font-size:16px;color:var(--text,#2f2921);margin-left:5px;font-variant-numeric:tabular-nums}.crp-events-scroll{overflow:auto;max-height:52vh;max-width:100%;scrollbar-width:thin}.crp-events{width:100%;min-width:570px;border-collapse:collapse;font-size:11px;line-height:1.7;text-align:left}.crp-events th{font-weight:500;color:var(--text-dim,#71634f);background:var(--paper,#fcf7ed);position:sticky;top:0}.crp-events :is(th,td){padding:8px;border-bottom:1px solid var(--ink-line,#dfd0b3);vertical-align:top}.crp-events small{display:block;color:var(--text-dim,#71634f);font-size:10px}.crp-events td:last-child{min-width:200px;overflow-wrap:anywhere}.crp-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;font-size:12px}.crp-empty{padding:26px 0;color:var(--text-dim,#71634f);font-size:12px;line-height:1.8}.crp-empty h4{font-family:"Songti SC",serif;font-size:18px;color:var(--text,#2f2921);margin:0 0 10px}
@media(max-width:760px){.crp-layout{grid-template-columns:1fr;gap:16px}.crp-library{max-height:260px;border-bottom:1px solid var(--ink-line,#dfd0b3);padding-bottom:8px}.crp-filters{grid-template-columns:minmax(0,1fr) auto}.crp-filters label:first-child{grid-column:1/-1}.crp-dialog .cet-dialog-body{padding:0 14px 16px}.crp-dialog .cet-dialog-head{padding:14px}.crp-events-scroll{max-height:44vh}}

.crp-raw-event{margin-top:5px;font-size:10px;color:var(--text-dim,#71634f)}.crp-raw-event summary{cursor:pointer}.crp-raw-event pre{max-width:100%;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;padding:8px;background:var(--paper,#fcf7ed);border:1px solid var(--ink-line,#dfd0b3);font:10px/1.6 monospace}
.crp-events{table-layout:fixed}.crp-events th:nth-child(1){width:105px}.crp-events th:nth-child(2){width:98px}.crp-events th:nth-child(3){width:128px}.crp-events td{overflow-wrap:anywhere}
@media(min-width:761px){.crp-dialog .cet-shell{height:min(900px,calc(100dvh - 38px))}.crp-dialog .cet-dialog-body{display:flex;flex:1;flex-direction:column;overflow:hidden}.crp-filters,.crp-status{flex:none}.crp-layout{min-height:0;flex:1}.crp-library{max-height:none;min-height:0}.crp-detail{display:flex;flex-direction:column;min-height:0}.crp-detail>*{flex:none}.crp-detail .crp-events-scroll{flex:1;min-height:0;max-height:none}}
.combat-record-action-pair{display:flex;gap:4px}
.ccp-filters{grid-template-columns:minmax(0,1fr) auto auto auto}.ccp-dialog .crp-detail{overflow:auto;padding-right:8px}.ccp-side{font-size:11px;white-space:nowrap;padding:2px 6px;color:var(--accent,#9b3d30);background:var(--paper-shade,#e8dcc4);border-radius:3px}.ccp-side[data-side=right]{color:var(--gold-ink,#896b36)}.ccp-dimensions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;font-size:12px;color:var(--text-dim,#71634f)}.ccp-dimensions strong{display:block;font-size:17px;color:var(--text,#2f2921);margin-top:4px;font-variant-numeric:tabular-nums}.ccp-group{border-bottom:1px solid var(--ink-line,#dfd0b3);padding:9px 0;font-size:12px;line-height:1.7}.ccp-group summary{cursor:pointer}.ccp-group p{margin:6px 0}.ccp-group pre{max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 monospace;padding:8px;background:var(--paper,#fcf7ed)}.ccp-load{display:flex;gap:10px;align-items:end;margin-top:15px}.ccp-load label{display:grid;gap:5px;font-size:12px;color:var(--text-dim,#71634f)}.ccp-loaded{color:var(--green,#3f6d4b);font-size:12px;line-height:1.7}.combat-record-action-pair{flex-wrap:wrap}
@media(max-width:760px){.ccp-filters{grid-template-columns:minmax(0,1fr) auto}.ccp-dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}.ccp-load{flex-wrap:wrap}.ccp-dialog .crp-detail{overflow:visible;padding-right:0}}
@media(max-width:720px){.combat-toolbar:has(.combat-record-presets-button){align-items:flex-start}.combat-toolbar .combat-save-sides:has(.combat-record-presets-button){flex-wrap:wrap}.combat-toolbar .combat-save-sides:has(.combat-record-presets-button)>:is(section,.seq-button){flex:1 0 60px}.combat-toolbar .combat-save-sides:has(.combat-record-presets-button) .seq-button{min-width:60px}.combat-toolbar .combat-save-sides .combat-record-action-pair{flex:1 0 124px}.combat-toolbar .combat-record-action-pair .seq-button{width:auto;flex:1}}

.ccp-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:start;margin-bottom:10px}.ccp-record-row .crp-record{margin-bottom:0;min-width:0}.ccp-dialog .ccp-delete{font-size:11px;color:var(--accent,#9b3d30);padding:6px;margin-top:4px}.ccp-record-row .crp-record-heading{flex-wrap:wrap}

.ctp-filters{grid-template-columns:minmax(0,1fr) auto;align-items:end}.ctp-members{margin-block:1rem}.ctp-members>.ccp-group>summary{font-weight:650}.ctp-members .crp-detail-heading{margin-top:1rem}@media(max-width:640px){.ctp-filters{grid-template-columns:minmax(0,1fr)}}
.combat-plan .cp-allocation-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border,#cbb895); }
.combat-plan .cp-allocation-summary span { display:block; color:var(--text-dim,#71634f); }
.combat-plan .cp-allocation-summary strong { display:block; margin-top:.4rem; font-size:1.6rem; }
.combat-plan .cp-allocation-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0; }
.combat-plan .cp-allocation-table { overflow-x:auto; }
.combat-plan .cp-allocation-table table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.combat-plan .cp-allocation-table th,.combat-plan .cp-allocation-table td { padding:.65rem .75rem; border-bottom:1px solid var(--border,#cbb895); text-align:right; white-space:nowrap; }
.combat-plan .cp-allocation-table th:first-child { text-align:left; }
.combat-plan .cp-allocation-table small { display:block; font-weight:normal; color:var(--text-dim,#71634f); }
.combat-plan .cp-point-inputs small { color:var(--text-dim,#71634f); line-height:1.5; }
@media (max-width:560px) { .combat-plan .cp-allocation-summary { gap:.5rem; }.combat-plan .cp-allocation-summary strong { font-size:1.25rem; } }

.combat-plan .cp-allocation-origin{margin:1rem 0;padding:.75rem 1rem;border:1px solid var(--border,#cbb895);border-radius:6px;background:var(--paper,#faf6eb)}
.combat-plan .cp-allocation-origin summary{font-weight:600;cursor:pointer}
.combat-plan .cp-allocation-origin p{margin:.6rem 0 0;line-height:1.65}

.ctp-dialog .crp-detail{overflow-y:auto;padding-inline-end:6px}
@media(max-width:760px){.ctp-dialog .crp-detail{overflow:visible;padding-inline-end:0}}

.combat-plan .cp-allocation-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.combat-plan .cp-allocation-controls>p{grid-column:1/-1;margin:0;font-size:.78rem;line-height:1.6}
.combat-plan .cp-allocation-control{min-width:0;padding:14px;border:1px solid var(--border,#cbb895);border-radius:7px;background:var(--paper,#fcf7ed);font-variant-numeric:tabular-nums}
.combat-plan .cp-allocation-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.combat-plan .cp-allocation-control-heading>strong{font-size:1.05rem}.combat-plan .cp-allocation-control-heading>span{font-size:.7rem;color:var(--text-dim,#71634f)}
.combat-plan .cp-allocation-slider-track{position:relative;margin:20px 0 12px}
:root body .combat-plan .cp-popup-content .cp-allocation-slider-track input[type="range"]{display:block;appearance:none;-webkit-appearance:none;width:100%;height:9px;min-height:0;padding:0;border:0;border-radius:6px;cursor:pointer;background:linear-gradient(to right,var(--gold-ink,#a08450) 0 min(var(--cp-allocation-value),var(--cp-allocation-threshold)),var(--accent,#9b3d30) min(var(--cp-allocation-value),var(--cp-allocation-threshold)) var(--cp-allocation-value),var(--paper-shade,#e8dcc4) var(--cp-allocation-value) max(var(--cp-allocation-value),var(--cp-allocation-threshold)),#e3b7ac max(var(--cp-allocation-value),var(--cp-allocation-threshold)) 100%)}
.combat-plan .cp-allocation-slider-track input::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;border:2px solid var(--accent,#9b3d30);border-radius:50%;background:var(--paper,#fcf7ed)}
.combat-plan .cp-allocation-slider-track input::-moz-range-thumb{width:17px;height:17px;border:2px solid var(--accent,#9b3d30);border-radius:50%;background:var(--paper,#fcf7ed)}
.combat-plan .cp-allocation-limit-marker{position:absolute;top:-5px;height:19px;width:2px;background:var(--accent,#9b3d30);pointer-events:none}.combat-plan .cp-allocation-limit-marker[hidden]{display:none}
.combat-plan .cp-allocation-number{display:grid;grid-template-columns:auto minmax(75px,1fr);align-items:center;gap:12px;margin:0 0 12px}
.combat-plan .cp-allocation-number input{font-size:1rem;font-weight:650;text-align:right}
.combat-plan .cp-allocation-control-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.72rem;color:var(--text-dim,#71634f)}
.combat-plan .cp-allocation-control-values strong{color:var(--text,#2f2921)}
.combat-plan .cp-allocation-overflow-values{display:flex;flex-wrap:wrap;gap:5px 12px;border-top:1px solid var(--ink-line,#dfd0b3);padding-top:10px;margin-top:12px;font-size:.7rem;color:var(--text-dim,#71634f)}
.combat-plan .cp-allocation-control>p{margin:8px 0 12px;min-height:1.4em;font-size:.7rem;color:var(--text-dim,#71634f)}
.combat-plan .cp-allocation-control.is-overflow{border-color:var(--accent,#9b3d30)}.combat-plan .cp-allocation-control.is-overflow [data-cp-allocation-excess],.combat-plan .cp-allocation-control.is-overflow [data-cp-allocation-loss],.combat-plan .cp-allocation-control.is-overflow [data-cp-allocation-overflow-status]{color:var(--accent,#9b3d30)}
.combat-plan .cp-allocation-tier-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.combat-plan .cp-allocation-tier-buttons button{padding:6px 2px;font-size:.72rem}.combat-plan .cp-allocation-tier-buttons button[aria-pressed=true]{background:var(--paper-shade,#e8dcc4);border-color:var(--accent,#9b3d30);color:var(--accent,#9b3d30)}
.combat-plan .cp-allocation-fixed{font-size:.72rem;line-height:1.7}
@media(max-width:560px){.combat-plan .cp-allocation-controls{grid-template-columns:minmax(0,1fr)}}

.combat-plan .cp-allocation-budget-bar{position:sticky;top:0;z-index:2;background:var(--paper,#fcf7ed);padding-bottom:6px}
.combat-plan .cp-allocation-budget-bar [data-cp-allocation-feedback]{margin:8px 0;font-size:.78rem;line-height:1.6;color:var(--accent,#9b3d30)}
.combat-plan .cp-allocation-budget-bar [data-cp-allocation-feedback]:empty{display:none}
