/* Responsive layout: components own their overflow; the page must not hide it. */
@media screen {
  .mobile-navigation {display:none}
  .review-workbench {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-block:20px;min-width:0}
  .coverage-map,.baseline-panel {padding:20px;min-width:0;font-size:12px}
  .coverage-map summary {cursor:pointer;font-size:15px}
  .coverage-map ul {list-style:none;padding:0;max-height:260px;overflow:auto}
  .coverage-map li {display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-block:10px;overflow-wrap:anywhere}
  .coverage-map p,.baseline-panel p {line-height:1.8;color:var(--muted)}
  .baseline-panel input {display:block;width:100%;max-width:100%;font:inherit;overflow:hidden}
  .baseline-counts {display:flex;flex-wrap:wrap;gap:12px;margin-block:18px;color:var(--text)}
  .assessment {border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
  .assessment label {display:block;margin-block:10px;line-height:1.8;font-size:12px}
  .assessment select,.assessment textarea {display:block;width:100%;max-width:100%;padding:10px;margin-top:6px;color:var(--text);background:#11151c;border:1px solid #414b5c;border-radius:7px;font:inherit}
  .assessment p,.flow-disclosure {color:var(--muted);font-size:11px;line-height:1.7}
  .brand:after,.brand-caption:before {content:'CYBER';display:block;color:#ff5067;font:700 14px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:5px;text-align:center;margin-top:2px;direction:ltr}
  .brand-caption:before {font-size:16px;margin-bottom:12px}
  .home-logo {position:relative}
  .cyber-wordmark {display:block;color:#ff5067;font:700 18px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:6px;text-align:center;direction:ltr}
  .home-logo img {display:block;width:100%;height:auto}
  .nav .nav-label {width:auto;flex:1;min-width:0;font-size:13px;line-height:1.5}
  .shell,main,.page,.panel,.scan-grid>*,.trust-grid>*,.home-hero>*,.lab-pair>*,.topbar-actions {min-width:0}
  .home-hero>div {flex:1}
  .trust-card,.intro,.promise-banner,.report-note,.finding-meta,.manual,.featurebar>span {overflow-wrap:anywhere}
  .finding-title {min-width:0;overflow-wrap:anywhere}
  .editor-wrap textarea {direction:ltr;text-align:left}
  @media(max-width:800px) {
    .sidebar,[dir=rtl] .sidebar {position:static;inset:auto;width:100%;height:auto;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border:0;border-bottom:1px solid var(--line);overflow:visible}
    .sidebar .brand {width:76px;flex:0 0 76px}
    .sidebar .brand-logo {width:76px;height:60px;object-fit:contain}
    .sidebar .brand:after {font-size:9px;letter-spacing:3px;line-height:1.3;margin-top:0}
    .sidebar nav,.workspace-label,.sidebar-note,.sidebar-bottom {display:none}
    .mobile-navigation {display:block;width:min(220px,65%);min-width:0;min-height:44px;padding:10px 12px;background:#191e27;color:var(--text);border:1px solid #414b5c;border-radius:9px;font:inherit}
    .shell,[dir=rtl] .shell {margin:0;width:100%;max-width:100%}
    main {width:100%;padding:24px 16px 0}
    .topbar {padding:10px 16px;min-height:56px;gap:8px}
    .topbar>div:first-child {min-width:0;overflow-wrap:anywhere;font-size:11px}
    .topbar-actions {margin-inline-start:auto;flex:none}
    .topbar .private {display:none}
    .language-control {margin:0;padding:5px 8px;min-height:40px}
    .language-control select {font-size:16px;max-width:105px}
    .scan-grid,.method-grid,.rule-library,.lab-pair {grid-template-columns:minmax(0,1fr)}
    .review-workbench {grid-template-columns:minmax(0,1fr)}
    .assessment select,.assessment textarea {font-size:16px}
    .assessment button {min-height:44px}
    .coverage {display:none}
    .heading {display:block;padding:24px 20px;min-height:0}
    .heading .brand-hero {display:none}
    h1,.heading h1,[dir=rtl] h1 {font-size:clamp(27px,7vw,36px);letter-spacing:-.5px;overflow-wrap:anywhere;line-height:1.3}
    [dir=rtl] h1 {letter-spacing:0;line-height:1.6}
    .heading p,.intro {font-size:14px}
    .featurebar {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .featurebar>span {padding:11px;font-size:11px}
    .featurebar b {display:block;margin:0 0 3px}
    .promise-banner {padding:16px;margin-bottom:20px}
    .home-hero {padding:24px 20px;margin-block:20px;display:block}
    .home-logo {display:none}
    .home-headline {font-size:clamp(25px,7vw,36px);letter-spacing:-.5px}
    .trust-grid {grid-template-columns:minmax(0,1fr);gap:12px}
    .trust-card,.method-grid article,.sources {padding:20px}
    .page-actions {gap:10px}
    .page-actions button {flex:1 1 140px;white-space:normal;min-height:44px}
    .panel-head {padding:16px;gap:10px;flex-wrap:wrap}
    .panel-head h2 {font-size:14px;line-height:1.6}
    .badge {font-size:8px}
    .scan-mode {grid-template-columns:minmax(0,1fr);padding:12px 14px;gap:8px}
    .scan-mode button {min-width:0;white-space:normal;line-height:1.6}
    .scan-mode small {font-size:11px}
    .tabs {padding-inline:14px;gap:16px;overflow-x:auto}
    .tabs button {flex:none;min-height:44px;font-size:12px;white-space:nowrap}
    .editor-toolbar {height:auto;min-height:52px;padding:8px 12px;gap:8px;flex-wrap:wrap}
    .editor-toolbar input {max-width:min(160px,55%);min-width:0;font-size:16px}
    .editor-wrap {height:290px;min-height:0;max-width:100%;padding-top:12px}
    .editor-wrap textarea {width:0;min-width:0;flex:1;font-size:16px;line-height:24px;overflow:auto}
    .line-gutter {width:34px;flex:none;font-size:10px;line-height:24px}
    .editor-footer {gap:8px;flex-wrap:wrap;padding:10px 12px}
    .action-row {padding:14px;align-items:stretch;flex-direction:column}
    .action-row>span {font-size:11px;line-height:1.6}
    .action-row .primary {width:100%;min-height:48px;font-size:14px}
    .dependency-option {margin:12px 14px 0;padding:12px;min-width:0}
    .dependency-option>span {min-width:0;overflow-wrap:anywhere}
    .import-content {padding:18px;min-height:0}
    .import-content input,.library-tools input,.deep-settings input {font-size:16px;max-width:100%}
    .dropzone {margin:14px;padding:22px 14px;min-height:190px;text-align:center}
    .deep-settings {margin-inline:14px}
    .deep-settings label {grid-template-columns:minmax(0,1fr)}
    .results-heading {gap:10px;flex-wrap:wrap;align-items:center}
    .results-heading .muted {font-size:11px}
    .stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .stat {padding:15px;min-width:0}
    .stat b {font-size:26px}
    .score-panel {flex-wrap:wrap}
    .insight-panel>div {min-width:0}
    .report-tools {display:block}
    .filters,.exports {gap:7px;margin-block:10px}
    .filters button,.exports button {min-height:44px;font-size:11px;flex:1 1 auto;white-space:normal}
    .finding summary {padding:15px 12px;gap:9px;flex-wrap:wrap}
    .finding-title {flex:1 1 160px;font-size:13px}
    .finding-body,[dir=rtl] .finding-body {padding:0 14px 18px}
    .finding-body pre {max-width:100%;overflow:auto;direction:ltr;text-align:left}
    .finding-meta,.data-flow {overflow-wrap:anywhere;gap:8px}
    .data-flow span {max-width:100%;overflow-wrap:anywhere}
    .manual {padding:16px}
    .manual summary span {display:block;margin:8px 0 0}
    .empty {padding:24px 16px}
    .lab-code {padding:14px}
    .lab-code pre {min-height:0;font-size:12px}
    .lab-code button {width:100%;min-height:44px;white-space:normal}
    footer {flex-direction:column;gap:8px;line-height:1.8}
    footer>span:last-child {max-width:none}
  }
  @media(max-width:360px) {
    main {padding-inline:12px}
    .topbar {padding-inline:12px}
    .topbar>div:first-child {max-width:48%}
    .featurebar {grid-template-columns:minmax(0,1fr)}
    .trust-card {padding:16px}
  }
}
