.spcs {font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
.spcs-drop {display:flex; align-items:center; justify-content:center; border:2px dashed #b6c2cf; background:#f7f9fc; border-radius:14px; padding:28px; cursor:pointer; transition: .15s ease; text-align:center;}
.spcs-drop:hover, .spcs-drop.spcs-hover {background:#eef3fa; border-color:#7aa7d1;}
.spcs-drop .spcs-choose {margin-top:8px; display:inline-block; padding:6px 10px; border-radius:8px; background:#007ACC; color:#fff; font-size:14px;}
.spcs-file {display:none;}
.spcs-info {margin-top:14px; font-size:14px; color:#1f2328;}
.spcs-warn {margin-top:8px; background:#fff7e6; border:1px solid #ffe3a3; color:#7a4e00; padding:8px 10px; border-radius:8px;}
.spcs-progress {margin-top:12px; height:10px; background:#e9ecef; border-radius:999px; overflow:hidden;}
.spcs-progress-bar {height:100%; width:0%; background:#007ACC; transition:width .12s linear;}
.spcs-results {margin-top:16px;}
.spcs-row {display:grid; grid-template-columns: 120px 1fr auto auto; gap:8px 10px; align-items:center; padding:10px 0; border-bottom:1px solid #eef1f5;}
.spcs-row .spcs-head {font-weight:600;}
.spcs-row .spcs-hash {display:block; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:13px; word-break:break-all;}
.spcs-row .spcs-copy {padding:6px 10px; border:1px solid #e1e4e8; background:#fff; border-radius:8px; cursor:pointer;}
.spcs-row .spcs-time {font-size:12px; color:#57606a; text-align:right;}
.spcs-expected {grid-column: 1 / -1; display:flex; gap:8px; align-items:center;}
.spcs-expected input {flex:1; padding:8px 10px; border:1px solid #d0d7de; border-radius:8px; font-family:inherit;}
.spcs-verdict {font-size:13px;}
.spcs-verdict.ok {color:#067d17;}
.spcs-verdict.bad {color:#b60205;}
.spcs-clear {margin-top:12px; padding:8px 12px; border:1px solid #d0d7de; background:#fff; border-radius:10px; cursor:pointer;}
.spcs-block-placeholder {padding:14px; border:1px dashed #c9d1d9; background:#fbfbfd; border-radius:12px; color:#57606a; font-size:14px;}
@media (max-width:640px){ .spcs-row{ grid-template-columns: 90px 1fr auto; } .spcs-row .spcs-time{ grid-column: 1 / -1; text-align:left;} }