/* One-page website design — fit check + anatomy */
.opw-fit-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.opw-fit { display: grid; gap: 12px; }
.opw-fit .sv-factor legend { font-size: 16.5px; }
.opw-verdict { display: grid; gap: 8px; padding: 22px; border-radius: var(--r); border: 1px dashed var(--line-2); background: rgba(5, 10, 28, 0.5); transition: border-color 0.4s, background 0.4s; }
.opw-verdict strong { font-size: 21px; letter-spacing: -0.02em; }
.opw-verdict p { color: var(--muted); font-size: 15px; }
.opw-verdict .btn { justify-self: start; margin-top: 4px; }
.opw-verdict .btn[hidden] { display: none; }
.opw-verdict.is-fit { border-style: solid; border-color: rgba(87, 242, 176, 0.55); background: rgba(87, 242, 176, 0.06); }
.opw-verdict.is-grow { border-style: solid; border-color: rgba(255, 190, 92, 0.55); background: rgba(255, 190, 92, 0.06); }
.opw-verdict.is-multi { border-style: solid; border-color: rgba(var(--accent-rgb), 0.6); background: rgba(var(--accent-rgb), 0.08); }
.opw-verdict.is-fit .mono-label { color: var(--mint); }
.opw-verdict.is-grow .mono-label { color: var(--amber); }
@media (max-width: 900px) { .opw-fit-grid { grid-template-columns: 1fr; } }

.opw-anat { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; counter-reset: anat; }
.opw-anat li { counter-increment: anat; position: relative; display: grid; gap: 14px; align-content: start; padding: clamp(22px, 2.6vw, 32px); background: var(--bg); transition: background 0.4s; }
.opw-anat li:hover { background: #08112e; }
.opw-anat li::after { content: counter(anat, decimal-leading-zero); position: absolute; right: 22px; top: 18px; font-family: var(--f-mono); font-size: 12px; color: var(--dim); }
.opw-id { justify-self: start; padding: 4px 10px; border-radius: 7px; font-size: 12px; color: var(--cyan); background: rgba(70, 225, 255, 0.08); border: 1px solid rgba(70, 225, 255, 0.25); }
.opw-anat h3 { font-size: 20px; letter-spacing: -0.02em; margin-bottom: 6px; }
.opw-anat p { color: var(--muted); font-size: 15px; }
@media (max-width: 900px) { .opw-anat { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .opw-anat { grid-template-columns: 1fr; } }

/* ---------- day theme ---------- */
html[data-theme="light"] .opw-verdict { background: #fff; }
html[data-theme="light"] .opw-verdict.is-fit { border-color: rgba(11, 149, 102, 0.5); background: rgba(11, 149, 102, 0.06); }
html[data-theme="light"] .opw-verdict.is-grow { border-color: rgba(180, 111, 12, 0.5); background: rgba(180, 111, 12, 0.06); }
html[data-theme="light"] .opw-verdict.is-multi { background: rgba(var(--accent-rgb), 0.06); }
html[data-theme="light"] .opw-anat li { background: #fff; }
html[data-theme="light"] .opw-anat li:hover { background: #f2f5ff; }
html[data-theme="light"] .opw-id { color: var(--cyan); background: rgba(10, 143, 179, 0.07); border-color: rgba(10, 143, 179, 0.28); }
