/* Crystal symmetry review reads like a compact instrument ledger: source
   facts first, reviewed derived copies second. */
.sw-crystal-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--sw-line);background:#0c1211}
.sw-crystal-ledger>div{position:relative;display:grid;gap:4px;padding:16px 20px 17px;border-right:1px solid var(--sw-line)}
.sw-crystal-ledger>div:last-child{border-right:0}
.sw-crystal-ledger>div::before{content:"";position:absolute;left:0;top:0;width:42px;height:3px;background:var(--sw-teal)}
.sw-crystal-ledger span,.sw-crystal-review-head span,.sw-crystal-hkl>span{color:var(--sw-teal);font:600 8px var(--sw-mono);letter-spacing:.13em;text-transform:uppercase}
.sw-crystal-ledger strong{font:600 15px/1.25 var(--sw-mono)}
.sw-crystal-ledger small{color:var(--sw-muted);font:500 8px/1.5 var(--sw-mono)}
.sw-crystal-operators{border-bottom:1px solid var(--sw-line);background:#080c0b}
.sw-crystal-operators summary{cursor:pointer;padding:11px 20px;color:var(--sw-ink-2);font:600 8px var(--sw-mono);letter-spacing:.1em;text-transform:uppercase}
.sw-crystal-operators ol{max-height:230px;overflow:auto;margin:0;padding:0;list-style:none;border-top:1px solid var(--sw-line)}
.sw-crystal-operators li{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(150px,.7fr);gap:10px;align-items:center;padding:8px 20px;border-bottom:1px solid #22312e;background:#0c1211}
.sw-crystal-operators li:last-child{border-bottom:0}
.sw-crystal-operators strong{font:600 9px var(--sw-mono)}
.sw-crystal-operators code{overflow:hidden;text-overflow:ellipsis;color:var(--sw-deep);font:500 9px var(--sw-mono);white-space:nowrap}
.sw-crystal-operators small{color:var(--sw-muted);font:500 7.5px/1.4 var(--sw-mono);text-align:right}
.sw-crystal-review{display:grid;gap:9px}
.sw-crystal-review:empty{display:none}
.sw-crystal-review-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 14px;padding:12px 13px;border-left:3px solid var(--sw-teal);background:var(--sw-deep);color:#c4d2cc}
.sw-crystal-review-head span{grid-row:1/3;align-self:center;color:var(--sw-acid)}
.sw-crystal-review-head strong{font:600 11px var(--sw-mono)}
.sw-crystal-review-head small{color:#5a625e;font:500 8px/1.4 var(--sw-mono)}
.sw-crystal-table-wrap{max-height:260px;overflow:auto;border:1px solid var(--sw-line);background:#0e1917}
.sw-crystal-table-wrap table{width:100%;border-collapse:collapse;font:500 8.5px var(--sw-mono)}
.sw-crystal-table-wrap th{position:sticky;z-index:1;top:0;padding:7px 9px;background:#111817;color:var(--sw-muted);font-size:7px;letter-spacing:.09em;text-align:left;text-transform:uppercase}
.sw-crystal-table-wrap td{padding:7px 9px;border-top:1px solid var(--sw-line)}
.sw-crystal-table-wrap td:nth-child(3),.sw-crystal-table-wrap td:nth-child(4){font-variant-numeric:tabular-nums}
.sw-crystal-review>p{margin:0;padding:12px;border:1px dashed var(--sw-line-strong);color:var(--sw-muted);font:500 9px/1.5 var(--sw-mono)}
.sw-crystal-review>.sw-button{justify-self:start}
.sw-crystal-hkl{display:grid;grid-template-columns:minmax(130px,1fr) repeat(3,80px) auto minmax(110px,auto);gap:8px;align-items:end;padding:14px 20px;border-top:1px solid var(--sw-line);background:#151e1c}
.sw-crystal-hkl>span{align-self:center}
.sw-crystal-hkl label{display:grid;gap:3px;color:var(--sw-muted);font:600 7px var(--sw-mono);text-transform:uppercase}
.sw-crystal-hkl input{width:100%;height:36px;padding:6px 8px;border:1px solid var(--sw-line-strong);border-radius:0;background:#0e1917;font:500 9px var(--sw-mono)}
.sw-crystal-hkl output{align-self:center;color:var(--sw-deep);font:600 10px var(--sw-mono);white-space:nowrap}

@media(max-width:720px){
  .sw-crystal-ledger{grid-template-columns:1fr}
  .sw-crystal-ledger>div{border-right:0;border-bottom:1px solid var(--sw-line)}
  .sw-crystal-ledger>div:last-child{border-bottom:0}
  .sw-crystal-operators li{grid-template-columns:36px minmax(0,1fr);padding-inline:13px}
  .sw-crystal-operators small{grid-column:1/-1;text-align:left}
  .sw-crystal-hkl{grid-template-columns:repeat(3,1fr);padding:13px}
  .sw-crystal-hkl>span,.sw-crystal-hkl button,.sw-crystal-hkl output{grid-column:1/-1}
  .sw-crystal-hkl button{width:100%}
}
