/* Cyber inherits Matrix's established palette and print conventions. */
.cyber-summary{margin-bottom:12px;overflow:hidden}
.cyber-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:center}
.cyber-summary-grid .label{display:block;font-size:12px;line-height:1.45;margin-bottom:4px}
.cyber-summary-grid strong{display:block;font-size:25px;line-height:1.15;font-variant-numeric:tabular-nums}
.cyber-summary-grid .cyber-shock-total{font-size:38px}
.cyber-summary-note{margin:0;padding:0 16px 14px;line-height:1.5}
.cyber-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.cyber-catalog-item{display:block;width:100%;text-align:left;padding:10px;white-space:normal;min-width:0}
.cyber-catalog-item .title,.cyber-catalog-item .meta{display:block;white-space:normal;overflow-wrap:anywhere}
.cyber-catalog-item .meta{margin-top:4px;font-size:11px;line-height:1.45;opacity:.8}
.cyber-installed{padding:12px;min-width:0}
.cyber-installed .title{font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.cyber-installed .meta{margin:5px 0;line-height:1.5;overflow-wrap:anywhere}
.cyber-installed .toolbar-inline{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.cyber-cs{display:inline-block;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap;margin-left:5px}
.cyber-rule,.cyber-rules .rule-text{white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}
.cyber-rule{margin-top:16px}
.cyber-rules{margin-top:15px;padding:10px}
.cyber-rules details{margin:10px 0}
.cyber-rules summary{cursor:pointer;padding:5px 0;line-height:1.5}
.cyber-live{white-space:pre-wrap;line-height:1.6;margin-top:14px}
.cyber-edit .checkbox-row,.cyber-roll-controls .checkbox-row{display:flex;align-items:flex-start;gap:8px;line-height:1.5;padding:6px 0;white-space:normal}
.cyber-edit .checkbox-row input,.cyber-roll-controls .checkbox-row input{flex:0 0 auto;margin-top:4px}
.cyber-edit .form-grid>*,.cyber-roll-controls .form-grid>*{min-width:0}
.cyber-edit .field,.cyber-edit .select,.cyber-roll-controls .select{width:100%;box-sizing:border-box}
.cyber-roll-controls{margin-top:8px;min-width:0}
.cyber-roll-controls fieldset{min-width:0;border:1px solid #366352;border-radius:6px;padding:10px;margin:10px 0}
.cyber-roll-controls legend{font-weight:700;padding:0 5px}
.cyber-roll-preview{white-space:pre-wrap;line-height:1.55;padding:10px;border:1px solid #366352;border-radius:6px;margin:10px 0;overflow-wrap:anywhere}
#cyberEditError{color:#ffb4b4;line-height:1.5}
#game-skill-cyber,#game-save-cyber{margin-top:10px}
@media(max-width:760px){.cyber-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cyber-summary-grid strong{font-size:24px}.cyber-summary-grid .cyber-shock-total{font-size:32px}.cyber-toolbar .btn{flex:1 1 140px}.cyber-edit .cols-2,.cyber-roll-controls .cols-2{grid-template-columns:1fr}}
@media print{.cyber-summary,.cyber-toolbar{display:none}}
.cyber-catalog-item{border:0;border-bottom:1px solid #c3d3c6;background:#fdfbf4;color:#122e22;font-family:inherit;cursor:pointer}
.cyber-catalog-item:hover,.cyber-catalog-item:focus-visible{background:#def3e4;outline:2px solid #246c48;outline-offset:-2px}
.rule-revision-note{border-left:4px solid #267b51;padding:10px;line-height:1.5;background:#e8f3e9;color:#163d28}

/* 0.3.70: one persistent Online control per installed system. */
.cyber-installed-heading{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cyber-installed-heading>.title{flex:1 1 180px;min-width:0}
.cyber-online{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:5px 0;font-weight:700;cursor:pointer;white-space:nowrap;min-height:32px}
.cyber-online input{width:19px;height:19px;accent-color:#176042;margin:0}
.cyber-online small{font-size:10px;font-weight:400}
.cyber-online:has(input:disabled){cursor:default}
.cyber-online:has(input:focus-visible){outline:2px solid #246c48;outline-offset:3px}
.game-roll-source{display:block;font-size:.86em;font-weight:400;line-height:1.4;overflow-wrap:anywhere;white-space:normal}

/* Keep signed totals intact beside long, audited implant source descriptions. */
.table-math-rows>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:8px}
.table-math-rows>div>span{min-width:0;overflow-wrap:anywhere}
.table-math-rows>div>strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:2.5ch;text-align:right}
