body{padding-bottom:50px}
.wrap{max-width:880px;margin:0 auto;padding:0 16px}
.header-inner{max-width:880px;margin:0 auto;padding:22px 16px 18px}
h1{font-size:clamp(22px,4.5vw,30px);font-stretch:75%;text-transform:uppercase;line-height:1.05;margin:4px 0}

.card{background:var(--surface);border-radius:var(--r);padding:18px;margin-top:16px;box-shadow:var(--sh)}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.card-title{font-weight:800;font-size:15px;letter-spacing:.02em}
.card-sub{font-weight:400;font-size:12px;color:var(--ink-muted);margin-left:6px}
.badge{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:700;background:var(--purple-soft);color:var(--purple);padding:3px 10px;border-radius:50px}

.field-row{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.check-label{display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer;padding:8px 12px;border-radius:var(--r-sm);border:1.5px solid var(--line);transition:border-color .15s}
.check-label:hover{border-color:var(--purple)}
.check-label input{width:16px;height:16px;accent-color:var(--purple);flex-shrink:0}

.sofa-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.sofa-row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}
@media(max-width:600px){.sofa-row{grid-template-columns:1fr;gap:4px}}
.sofa-label{font-size:12.5px;font-weight:700;line-height:1.3}
.sofa-unit{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-muted);font-weight:400}

.seg{display:flex;flex-wrap:wrap;gap:5px}
.seg button{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;padding:6px 10px;border-radius:50px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.seg button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.seg button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}

.result-box{border-radius:var(--r-sm);padding:12px 14px;font-size:13px;line-height:1.6;transition:all .2s}
.result-box:empty{display:none}
.res-ok{background:#d1fae5;color:#065f46}
.res-neutral{background:var(--surface);border:1.5px solid var(--line);color:var(--ink-soft)}
.res-warn{background:#fef9c3;color:#713f12;border:1.5px solid #fde047}
.res-crit{background:#fee2e2;color:#991b1b;border:1.5px solid #fca5a5}

.footnote{font-size:11px;color:var(--ink-muted);margin-top:8px;font-style:italic}
footer{max-width:880px;margin:30px auto 0;padding:12px 16px;border-top:1px solid var(--line);font-size:10.5px;color:var(--ink-muted)}
