/* Legacy public frontend adapter. The body scope keeps old module rules isolated. */
body.qn-legacy-frontend-surface { background: var(--qn-color-canvas); color: var(--qn-color-text); }
body.qn-legacy-frontend-surface .container,
body.qn-legacy-frontend-surface .main-container,
body.qn-legacy-frontend-surface .content { color: var(--qn-color-text); }
body.qn-legacy-frontend-surface .container { max-width: var(--qn-container-content); }
body.qn-legacy-frontend-surface .card,
body.qn-legacy-frontend-surface .panel,
body.qn-legacy-frontend-surface .content-section,
body.qn-legacy-frontend-surface .post-item,
body.qn-legacy-frontend-surface .module,
body.qn-legacy-frontend-surface .right-sidebar,
body.qn-legacy-frontend-surface .ad-section {
  color: var(--qn-color-text);
  background: var(--qn-color-surface);
  border-color: var(--qn-color-border);
  border-radius: var(--qn-radius-md);
  box-shadow: var(--qn-shadow-sm);
}
body.qn-legacy-frontend-surface h1,
body.qn-legacy-frontend-surface h2,
body.qn-legacy-frontend-surface h3,
body.qn-legacy-frontend-surface h4,
body.qn-legacy-frontend-surface h5 { color: var(--qn-color-text-strong); }
body.qn-legacy-frontend-surface p,
body.qn-legacy-frontend-surface .muted,
body.qn-legacy-frontend-surface .text-muted,
body.qn-legacy-frontend-surface small { color: var(--qn-color-text-muted); }
body.qn-legacy-frontend-surface input,
body.qn-legacy-frontend-surface select,
body.qn-legacy-frontend-surface textarea,
body.qn-legacy-frontend-surface .form-control {
  color: var(--qn-color-text);
  background: var(--qn-color-surface);
  border-color: var(--qn-color-border-strong);
  border-radius: var(--qn-radius-sm);
}
body.qn-legacy-frontend-surface input:focus,
body.qn-legacy-frontend-surface select:focus,
body.qn-legacy-frontend-surface textarea:focus,
body.qn-legacy-frontend-surface .form-control:focus { border-color: var(--qn-color-brand); box-shadow: var(--qn-focus-ring); }
body.qn-legacy-frontend-surface .btn-primary,
body.qn-legacy-frontend-surface .btn-submit,
body.qn-legacy-frontend-surface input[type="submit"] { color: #fff; background: var(--qn-color-brand); border-color: var(--qn-color-brand); }
body.qn-legacy-frontend-surface .btn-primary:hover,
body.qn-legacy-frontend-surface .btn-submit:hover,
body.qn-legacy-frontend-surface input[type="submit"]:hover { color: #fff; background: var(--qn-color-brand-hover); border-color: var(--qn-color-brand-hover); }
body.qn-legacy-frontend-surface .btn-secondary,
body.qn-legacy-frontend-surface .btn-light,
body.qn-legacy-frontend-surface .btn-outline-secondary { color: var(--qn-color-text); background: var(--qn-color-surface); border-color: var(--qn-color-border-strong); }
body.qn-legacy-frontend-surface table,
body.qn-legacy-frontend-surface .post-table { color: var(--qn-color-text); border-color: var(--qn-color-border); }
body.qn-legacy-frontend-surface table th,
body.qn-legacy-frontend-surface .post-table th { color: var(--qn-color-text-strong); background: var(--qn-color-surface-soft); border-color: var(--qn-color-border); }
body.qn-legacy-frontend-surface table td,
body.qn-legacy-frontend-surface .post-table td { border-color: var(--qn-color-border); }
body.qn-legacy-frontend-surface table tbody tr:hover,
body.qn-legacy-frontend-surface .post-table tbody tr:hover { background: var(--qn-color-surface-soft); }
body.qn-legacy-frontend-surface .pagination a,
body.qn-legacy-frontend-surface .pagination span { border-color: var(--qn-color-border); background: var(--qn-color-surface); color: var(--qn-color-text); }
body.qn-legacy-frontend-surface .pagination .active,
body.qn-legacy-frontend-surface .pagination span { color: #fff; background: var(--qn-color-brand); border-color: var(--qn-color-brand); }
body.qn-legacy-frontend-surface .alert,
body.qn-legacy-frontend-surface .notice,
body.qn-legacy-frontend-surface .message { border-radius: var(--qn-radius-sm); }

@media (max-width: 768px) {
  body.qn-legacy-frontend-surface .container,
  body.qn-legacy-frontend-surface .main-container { width: min(100% - 24px, 100%); }
  body.qn-legacy-frontend-surface .table-responsive { overflow-x: auto; }
}


/* Frozen-home rollout 2026-09-21 */
body.qn-legacy-frontend-surface{background:#f7f9fc;font-weight:400}
body.qn-legacy-frontend-surface .container,
body.qn-legacy-frontend-surface .main-container{max-width:1280px}
body.qn-legacy-frontend-surface .card,
body.qn-legacy-frontend-surface .panel,
body.qn-legacy-frontend-surface .content-section,
body.qn-legacy-frontend-surface .post-item,
body.qn-legacy-frontend-surface .module,
body.qn-legacy-frontend-surface .right-sidebar,
body.qn-legacy-frontend-surface .ad-section{
  border:1px solid #e4edf6;border-radius:18px;background:#fff;
  box-shadow:0 8px 28px rgba(40,83,124,.05)
}
body.qn-legacy-frontend-surface h1{font-weight:700;letter-spacing:-.02em}
body.qn-legacy-frontend-surface h2{font-weight:650}
body.qn-legacy-frontend-surface h3,
body.qn-legacy-frontend-surface h4,
body.qn-legacy-frontend-surface h5{font-weight:600}
body.qn-legacy-frontend-surface .btn,
body.qn-legacy-frontend-surface button,
body.qn-legacy-frontend-surface input[type="submit"]{border-radius:11px;font-weight:600}
body.qn-legacy-frontend-surface .btn-primary,
body.qn-legacy-frontend-surface .btn-submit,
body.qn-legacy-frontend-surface input[type="submit"]{
  background:linear-gradient(135deg,#1788f6,#0879ee);border-color:#0879ee;
  box-shadow:0 5px 13px rgba(8,124,240,.12)
}
body.qn-legacy-frontend-surface input,
body.qn-legacy-frontend-surface select,
body.qn-legacy-frontend-surface textarea,
body.qn-legacy-frontend-surface .form-control{
  border-color:#dce6f0;border-radius:10px;background:#fbfdff
}
body.qn-legacy-frontend-surface table th,
body.qn-legacy-frontend-surface .post-table th{background:#f8fbff;color:#63748a;font-weight:600}
body.qn-legacy-frontend-surface table td,
body.qn-legacy-frontend-surface .post-table td{border-color:#edf2f6}
body.qn-legacy-frontend-surface table tbody tr:hover,
body.qn-legacy-frontend-surface .post-table tbody tr:hover{background:#fbfffc}
body.qn-legacy-frontend-surface .pagination a,
body.qn-legacy-frontend-surface .pagination span{border-radius:9px}


/* Shared public-list title links — global legacy frontend rule */
body.qn-legacy-frontend-surface .post-table .qn-post-title-link,
body.qn-legacy-frontend-surface .post-table .qn-post-title-link:visited {
  color: var(--qn-color-brand) !important;
  font-weight: 500;
  text-decoration: none;
}
body.qn-legacy-frontend-surface .post-table .qn-post-title-link:hover,
body.qn-legacy-frontend-surface .post-table .qn-post-title-link:focus-visible {
  color: var(--qn-color-brand-hover) !important;
  text-decoration: underline;
}
body.qn-legacy-frontend-surface .post-row.visited .qn-post-title-link {
  color: var(--qn-color-brand) !important;
}
