.nb-page {max-width:1120px;margin:auto;padding:38px 24px 64px;color:#243a32;line-height:1.75;}
.nb-page,.nb-dialog,.nb-actions {font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;}
.nb-page h1 {font-size:32px;line-height:1.3;letter-spacing:0;margin:8px 0 14px;}
.nb-page h2,.nb-dialog h2 {font-size:23px;line-height:1.4;letter-spacing:0;margin:0;}
.nb-page h3,.nb-dialog h3 {font-size:20px;letter-spacing:0;}
.nb-page p {max-width:82ch;}
.nb-intro {padding-bottom:24px;border-bottom:1px solid #bccac4;}
.nb-language,.nb-links,.nb-actions {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.nb-language a,.nb-links a {padding:8px 0;min-height:44px;}
.nb-controls {padding:24px 0;border-bottom:1px solid #bccac4;}
.nb-filters {display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:18px;}
.nb-page button,.nb-dialog button,.nb-actions button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #879c91;border-radius:4px;background:#fff;color:#234b3c;font:inherit;line-height:1.5;cursor:pointer;white-space:normal;overflow-wrap:anywhere;}
.nb-page button:hover,.nb-dialog button:hover,.nb-actions button:hover {background:#edf4f0;}
.nb-page button:disabled,.nb-dialog button:disabled {opacity:.65;cursor:default;}
.nb-page svg,.nb-dialog svg,.nb-actions svg {width:18px;height:18px;flex-shrink:0;}
.nb-field {display:flex;flex-direction:column;gap:7px;margin:14px 0;min-width:0;font-size:15px;}
.nb-field input,.nb-field select,.nb-field textarea {width:100%;box-sizing:border-box;min-width:0;min-height:44px;padding:10px;border:1px solid #879c91;border-radius:4px;background:#fff;color:#233b31;font:inherit;line-height:1.6;letter-spacing:0;}
.nb-field textarea {min-height:110px;resize:vertical;}
.nb-field input[type=file] {overflow-wrap:anywhere;}
.nb-check {display:flex;align-items:flex-start;gap:10px;padding:10px 0;min-height:44px;font-size:15px;}
.nb-check input {width:20px;height:20px;flex-shrink:0;accent-color:#245e49;margin:3px 0;}
.nb-row {display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid #bccac4;}
.nb-row .nb-title {padding:4px 0;border:0;background:transparent;text-align:left;justify-content:flex-start;color:#80362d;text-decoration:underline;text-underline-offset:4px;font-size:19px;}
.nb-meta {margin:4px 0;color:#4c5f54;font-size:14px;}
.nb-status {color:#384f42;min-height:26px;white-space:pre-line;overflow-wrap:anywhere;}
.nb-privacy {padding:24px 0;border-top:1px solid #bccac4;margin-top:28px;font-size:15px;}
.nb-dialog {width:720px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid #71887a;border-radius:6px;background:#fff;color:#233b31;line-height:1.7;overscroll-behavior:contain;}
.nb-dialog::backdrop {background:rgba(12,25,20,.65);}
.nb-dialog-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #bccac4;padding-bottom:14px;margin-bottom:18px;}
.nb-dialog-heading button {flex-shrink:0;}
.nb-dialog-heading {position:sticky;top:-24px;background:#fff;z-index:2;padding-top:12px;}
.nb-dialog p,.nb-dialog h3,.nb-dialog dt,.nb-dialog dd {overflow-wrap:anywhere;}
.nb-dialog details {border-block:1px solid #d4ded8;padding:12px 0;margin:14px 0;}
.nb-dialog summary {min-height:32px;cursor:pointer;font-weight:600;}
.nb-dialog dd {margin:0 0 10px;white-space:pre-wrap;}
.nb-dialog dt {font-weight:600;}
.nb-result {font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;}
.nb-wide {width:1120px;}
.nb-comparison {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.nb-comparison section {min-width:0;}
.nb-actions {margin:16px 0;}
.nb-actions a {min-height:44px;display:inline-flex;align-items:center;color:#80362d;}
.nb-page :focus-visible,.nb-dialog :focus-visible,.nb-actions :focus-visible {outline:3px solid #b65a38;outline-offset:3px;}
[hidden] {display:none!important;}
@media(max-width:700px) {
  .nb-page {padding:26px 18px 48px;}
  .nb-page h1 {font-size:28px;}
  .nb-filters,.nb-comparison {grid-template-columns:minmax(0,1fr);gap:4px;}
  .nb-row {grid-template-columns:64px minmax(0,1fr);gap:10px;}
  .nb-dialog {padding:18px;}
  .nb-dialog-heading {top:-18px;}
  .nb-comparison section+section {border-top:2px solid #879c91;margin-top:20px;padding-top:20px;}
}
@media print {.nb-page button,.nb-dialog button,.nb-actions {display:none!important;}}
