:root{
    --panel:#e7ebee;
    --paper:#ffffff;
    --ink:#16191d;
    --ink-soft:#5a626b;
    --line:#c2cad1;
    --line-strong:#16191d;
    --amber:#b07407;
    --amber-bg:#fbf2df;
    --red:#a91e1e;
    --red-bg:#fbe9e7;
    --green:#1f6b43;
    --green-bg:#e7f1ea;
    --ops:#1f4f70;
    --ops-bg:#e6eef4;
    --violet:#5a3f78;
    --violet-bg:#eee9f5;
    --mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Consolas,"Liberation Mono",monospace;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{
    background:var(--panel);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    padding:28px 16px 64px;
  }
  .doc{max-width:900px;margin:0 auto}

  .titleblock{
    background:var(--paper);
    border:2px solid var(--line-strong);
    border-radius:3px;
  }
  .titleblock__bar{
    display:flex;justify-content:space-between;align-items:center;
    gap:12px;padding:8px 16px;border-bottom:1px solid var(--line-strong);
    font-family:var(--mono);font-size:11px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;
  }
  .titleblock__bar b{color:var(--ink)}
  .titleblock__main{padding:24px 20px 22px}
  .title-with-logo{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;margin-top:2px}
  .title-logo{width:96px;height:auto;display:block;margin-top:4px}
  .title-copy{min-width:0;display:flex;flex-direction:column;gap:10px;padding-top:2px}
  .eyebrow{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;
    text-transform:uppercase;color:var(--ops);margin:0 0 14px;font-weight:700;
  }
  h1{
    margin:0;font-size:34px;line-height:1.06;letter-spacing:-.018em;
    font-weight:850;text-transform:uppercase;
  }
  .titleblock__sub{margin:0;color:var(--ink-soft);font-size:14.5px;max-width:72ch}

  .surface-note{
    margin:18px 0 0 112px;border-left:4px solid var(--violet);background:var(--violet-bg);
    padding:12px 14px;border-radius:2px;font-size:13.5px;color:#403050;max-width:78ch;
  }
  .surface-note b{color:var(--violet)}

  .nis2-scope{
    margin:12px 0 0;border-left:4px solid var(--amber);background:var(--amber-bg);
    padding:10px 12px;border-radius:2px;font-size:13px;color:#5a4406;
  }
  .nis2-scope b{color:var(--amber)}

  .warning-strip{
    margin:0;border-top:1px solid var(--line-strong);
    background:#fdf3e6;color:#6c4b08;
    padding:12px 16px;font-size:12.8px;display:flex;gap:12px;align-items:flex-start;
  }
  .warning-strip .tag{
    font-family:var(--mono);font-weight:700;letter-spacing:.06em;
    background:var(--amber);color:#fff;padding:1px 7px;border-radius:2px;
    font-size:10.5px;white-space:nowrap;margin-top:1px;text-transform:uppercase;
  }

  .panel{
    background:var(--paper);border:1px solid var(--line);border-radius:3px;
    margin-top:18px;
  }
  .panel__head{
    display:flex;align-items:center;gap:10px;
    padding:10px 16px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;
  }
  .panel__head .n{
    font-weight:700;color:var(--paper);background:var(--ink);
    padding:1px 7px;border-radius:2px;font-size:11px;
  }
  .panel__body{padding:16px}

  .controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field label{
    display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;
  }
  select,input,textarea{
    width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);
    background:var(--paper);border:1px solid var(--line-strong);border-radius:2px;
    padding:9px 10px;
  }
  select{
    appearance:none;cursor:pointer;
    background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
    background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;
    background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  }
  textarea{resize:vertical;min-height:62px;background:#fcfdfe}
  textarea::placeholder{color:#9aa2aa}
  .controls .field--wide{grid-column:1 / -1}
  .btn-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
  button{
    font-family:var(--sans);cursor:pointer;border-radius:2px;
    font-size:14px;font-weight:650;border:1px solid var(--line-strong);
    padding:11px 18px;background:var(--paper);color:var(--ink);
  }
  button:hover{background:#f1f4f6}
  .btn-primary{
    background:var(--ops);border-color:var(--ops);color:#fff;
    letter-spacing:.04em;
  }
  .btn-primary:hover{background:#193f59}
  button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{
    outline:3px solid var(--ops);outline-offset:2px;
  }

  .clock{
    font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.1em;
    margin-left:auto;color:var(--ops);
  }
  .brief__line{
    display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);
    font-size:14.5px;
  }
  .brief__line:last-child{border-bottom:0}
  .brief__k{
    font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-soft);min-width:142px;flex-shrink:0;padding-top:2px;
  }
  .brief__v b{font-weight:750}

  .playbook{
    margin-top:14px;border:1px solid #b9cfde;background:var(--ops-bg);border-radius:2px;padding:13px 14px;
  }
  .playbook h3,.matrix h3,.actionplan h3{margin:0 0 8px;font-size:15px;line-height:1.25}
  .playbook ol{margin:8px 0 0 20px;padding:0;font-size:14px}
  .playbook li{margin:3px 0}

  .initial-decision{
    margin-top:14px;border:1px solid var(--line);border-radius:2px;padding:13px 14px;background:#fbfcfd;
  }
  .initial-decision h3{margin:0 0 8px;font-size:15px;line-height:1.25}
  .initial-decision textarea{min-height:74px;border-color:var(--line);font-size:13.5px}

  .matrix{border:1px solid var(--line);border-radius:2px;overflow:hidden}
  .matrix__row{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line)}
  .matrix__row:last-child{border-bottom:0}
  .matrix__role{background:#f4f6f8;padding:10px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}
  .matrix__body{padding:10px 12px;font-size:14px}
  .matrix__body textarea{margin-top:8px;min-height:46px;font-size:13.5px;border-color:var(--line)}
  .roleowners{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .roleowners label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  .roleowners input{font-size:13.5px;border-color:var(--line)}

  .inject{
    border:1px solid var(--line);border-left:4px solid var(--amber);
    border-radius:2px;margin-top:14px;background:var(--paper);
    animation:rise .28s ease both;
  }
  .inject--ai{border-left-color:var(--violet)}
  @keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.inject{animation:none}}
  .inject__head{
    display:flex;gap:10px;align-items:center;padding:9px 14px;
    border-bottom:1px solid var(--line);flex-wrap:wrap;
  }
  .inject__code{
    font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;
    background:var(--amber);color:#fff;padding:2px 8px;border-radius:2px;
  }
  .inject--ai .inject__code{background:var(--violet)}
  .inject__t{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.06em}
  .inject__body{padding:13px 14px}
  .inject__body p{margin:0 0 10px;font-size:15px}
  .inject__ask{
    font-style:italic;color:var(--ops);font-size:13.5px;margin:0 0 12px;
    border-top:1px dashed var(--line);padding-top:10px;
  }

  .hint{color:var(--ink-soft);font-size:13.5px;margin:0}
  .note{font-size:13.5px;color:var(--ink-soft);margin:10px 0 0}
  .badge{
    display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--ink-soft);background:#f8fafb;
  }
  .badge--ai{border-color:#c8b8da;background:var(--violet-bg);color:var(--violet)}

  .principle{
    background:var(--ops-bg);border:1px solid #b9cfde;border-radius:2px;
    padding:14px;font-size:14.5px;
  }
  .principle b{color:var(--ops)}
  .lesson{
    border:1px solid var(--line);border-radius:2px;padding:12px 14px;margin-top:12px;
  }
  .lesson--ai{border-color:#c8b8da;background:#fbf9fd}
  .lesson__tag{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ink-soft);margin:0 0 5px;
  }
  .lesson p{margin:0;font-size:14px}
  .truth{
    border-left:4px solid var(--green);background:var(--green-bg);
    border-radius:2px;padding:12px 14px;margin-top:14px;font-size:14px;
  }
  .truth b{color:var(--green)}

  .actionplan{margin-top:14px;border:1px solid var(--line);border-radius:2px;padding:13px 14px;background:#fbfcfd}
  .actiongrid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:8px;margin-top:10px}
  .actiongrid .gridlabel{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  .actiongrid textarea,.actiongrid input{font-size:13.5px;border-color:var(--line)}
  .actiongrid textarea{min-height:50px}

  .attestation{margin-top:14px;border:1px solid #b9cfde;border-left:4px solid var(--ops);border-radius:2px;background:#fbfcfd;padding:13px 14px}
  .attestation h3{margin:0 0 8px;font-size:15px;line-height:1.25}
  .attestation p{margin:0 0 10px;font-size:13.5px;color:var(--ink-soft)}
  .attestation__btn{display:inline-block;font-family:var(--sans);text-decoration:none;border-radius:2px;font-size:14px;font-weight:650;border:1px solid var(--ops);padding:11px 18px;background:var(--ops);color:#fff;letter-spacing:.04em}
  .attestation__btn:hover{background:#193f59;color:#fff}
  .attestation__btn:focus-visible{outline:3px solid var(--ops);outline-offset:2px}

  .decision-support{border:1px solid var(--line);border-radius:2px;background:#fbfcfd;padding:13px 14px}
  .decision-support h3{margin:0 0 8px;font-size:15px;line-height:1.25}
  .supportgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
  .supportgrid .wide{grid-column:1 / -1}
  .supportgrid label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  .supportgrid select,.supportgrid input,.supportgrid textarea{font-size:13.5px;border-color:var(--line)}
  .supportgrid textarea{min-height:54px}
  .priority-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
  .checkitem{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:2px;background:#fff;padding:9px 10px;font-size:13.5px}
  .checkitem input{width:auto;margin-top:3px;flex-shrink:0}
  .checkitem b{display:block;font-size:13px;color:var(--ink)}
  .checkitem span{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:2px}

  .deadline{
    margin-top:14px;border:1px solid var(--line);border-radius:2px;background:#fbfcfd;padding:13px 14px;
  }
  .deadline h3,.breach-register h3,.facilitator h3{margin:0 0 8px;font-size:15px;line-height:1.25}
  .deadline__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
  .deadline__box{border:1px solid var(--line);border-radius:2px;background:#fff;padding:10px 12px}
  .deadline__label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}
  .deadline__value{font-family:var(--mono);font-size:18px;font-weight:800;color:var(--ink)}
  .meter{height:8px;background:#edf1f4;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:8px}
  .meter span{display:block;height:100%;width:100%;background:var(--ops)}

  .meter span.meter-safe{background:var(--green)}
  .meter span.meter-warn{background:var(--amber)}
  .meter span.meter-danger{background:var(--red)}
  .meter span.meter-open{background:var(--amber)}
  .lessons-learned textarea{min-height:70px}
  .export-note{
    margin-top:10px;
    font-size:12.5px;
    color:var(--ink-soft);
    font-family:var(--mono);
  }

  .meter--nis span{background:var(--amber)}

  .breach-register{border:1px solid var(--line);border-radius:2px;background:#fbfcfd;padding:13px 14px}
  .breachgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
  .breachgrid .wide{grid-column:1 / -1}
  .breachgrid label,.riskgrid label,.facilitator__item b{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)
  }
  .breachgrid textarea{min-height:52px;font-size:13.5px;border-color:var(--line)}
  .breachgrid input,.breachgrid select{font-size:13.5px;border-color:var(--line)}
  .breach-choice-group{
    border:1px solid var(--line);
    border-radius:2px;
    background:#fff;
    padding:12px;
    margin:0;
  }
  .breach-choice-group legend{
    font-family:var(--mono);
    font-size:10.5px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
    padding:0 4px;
  }
  .breach-choice-group label{
    display:block;
    margin-top:10px;
  }
  .choice-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:10px 0 2px;
  }
  .choice-grid label{
    display:flex;
    gap:8px;
    align-items:flex-start;
    min-height:42px;
    margin:0;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:2px;
    background:#fbfcfd;
    font-family:var(--sans);
    font-size:13.5px;
    letter-spacing:0;
    text-transform:none;
    color:var(--ink);
  }
  .choice-grid input[type="checkbox"]{
    width:auto;
    margin:2px 0 0;
    flex-shrink:0;
  }
  .breach-choice-group textarea{
    margin-top:6px;
  }
  .encrypted-export-box{
    margin-top:12px;
    border:1px solid #b9cfde;
    border-left:4px solid var(--ops);
    border-radius:2px;
    background:#fbfcfd;
    padding:12px 14px;
  }
  .encrypted-export-box h3{
    margin:0 0 6px;
    font-size:15px;
    line-height:1.25;
  }
  .encrypted-export-box .session-status{
    margin-top:8px;
  }

  .riskgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
  .riskgrid select{font-size:13.5px;border-color:var(--line)}
  .riskgrid .wide{grid-column:1 / -1}

  .facilitator{border:1px solid #c8b8da;background:#fbf9fd;border-radius:2px;padding:13px 14px}
  .facilitator__item{border:1px solid #c8b8da;background:#fff;border-radius:2px;padding:10px 12px;margin-top:10px;font-size:14px}
  .facilitator__item p{margin:5px 0 0}.facilitator__item ul{margin:7px 0 0;padding-left:20px}.facilitator__item li{margin:3px 0}
  .facilitator__muted{color:var(--ink-soft);font-size:13.5px;margin:0}
  .facilitator__probe{margin:7px 0 0 !important;padding-top:7px;border-top:1px dashed #d9cce8;font-size:13.5px;color:#4a3a63}
  .facilitator__probe b{color:var(--violet)}

  .riskgrid .risk-hint{
    grid-column:1 / -1;margin:0 0 2px;font-size:12px;line-height:1.45;color:#6a5a30;
    background:var(--amber-bg);border-left:3px solid var(--amber);padding:7px 9px;border-radius:2px;
  }

  .dsum-init{border:1px solid var(--line);border-left:4px solid var(--ops);border-radius:2px;padding:10px 12px;font-size:14px;background:#fbfcfd}
  .dsum{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}
  .dsum th,.dsum td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
  .dsum th{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:#f3f6f8}
  .dsum-label{color:var(--ink-soft);font-size:11.5px}




  .demo-notice{
    margin-top:14px;
    border:1px solid var(--amber);
    border-left:4px solid var(--amber);
    background:var(--amber-bg);
    color:#5a4406;
    border-radius:2px;
    padding:10px 12px;
    font-size:13.5px;
  }
  .demo-notice b{color:var(--amber)}

  .session-tools{
    margin-top:14px;
    border:1px solid var(--line);
    border-radius:2px;
    background:#fbfcfd;
    padding:12px 14px;
  }
  .session-tools__row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
  }
  .session-tools label{
    display:flex;
    gap:8px;
    align-items:flex-start;
    font-size:13.5px;
    color:var(--ink);
    margin-right:auto;
  }
  .session-tools input[type="checkbox"]{
    width:auto;
    margin-top:3px;
  }
  .session-tools button{
    padding:9px 12px;
    font-size:13px;
  }
  .session-status{
    margin:8px 0 0;
    font-size:12.5px;
    color:var(--ink-soft);
    font-family:var(--mono);
  }

  .readme-panel{
    border:2px solid var(--line-strong);
    background:var(--paper);
  }
  .readme-box{
    max-height:72vh;
    overflow:auto;
    padding-right:6px;
  }
  .readme-box h2{
    margin:0 0 12px;
    font-size:24px;
    line-height:1.15;
    text-transform:uppercase;
    letter-spacing:-.01em;
  }
  .readme-box h3{
    margin:22px 0 8px;
    font-size:17px;
    line-height:1.25;
    border-top:1px solid var(--line);
    padding-top:14px;
  }
  .readme-box h4{
    margin:16px 0 6px;
    font-size:15px;
    line-height:1.25;
    color:var(--ops);
  }
  .readme-box p,.readme-box li{
    font-size:14px;
    line-height:1.6;
  }
  .readme-box ul,.readme-box ol{
    margin:8px 0 12px 22px;
    padding:0;
  }
  .readme-box hr{
    border:0;
    border-top:1px dashed var(--line);
    margin:18px 0;
  }
  .readme-box a{
    color:var(--ops);
    font-weight:700;
  }

  .readme-linkbtn{
    display:inline-block;
    font-family:var(--sans);
    border-radius:2px;
    font-size:14px;
    font-weight:650;
    border:1px solid var(--line-strong);
    padding:11px 18px;
    background:var(--paper);
    color:var(--ink);
    text-decoration:none;
  }
  .readme-linkbtn:hover{background:#f1f4f6}
  .readme-linkbtn:focus-visible{
    outline:3px solid var(--ops);
    outline-offset:2px;
  }

  .readme-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid var(--line);
  }

  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

  .hidden{display:none}
  footer{
    margin-top:26px;font-family:var(--mono);font-size:11px;color:var(--ink-soft);
    text-align:center;line-height:1.7;letter-spacing:.03em;
  }

  @media (max-width:680px){
    .controls{grid-template-columns:1fr}
    .matrix__row{grid-template-columns:1fr}
    .actiongrid,.deadline__grid,.breachgrid,.riskgrid,.supportgrid,.priority-list,.roleowners,.choice-grid{grid-template-columns:1fr}
    h1{font-size:24px}
    .brief__line{flex-direction:column;gap:2px}
    .brief__k{min-width:0}
    .clock{margin-left:0}
  }
  @media print{
    body{background:#fff;padding:0}
    .no-print{display:none !important}
    .panel,.titleblock,.inject,.matrix,.actionplan,.breach-register,.deadline,.facilitator,.decision-support{break-inside:avoid;border-color:#000}
    textarea{min-height:80px}
  }
.pathhint{font-size:12.5px;color:var(--ink-soft);font-family:var(--mono);margin-top:8px}.pathhint code{background:#f3f6f8;border:1px solid var(--line);padding:1px 4px;border-radius:2px}.linkbtn{display:inline-block;font-family:var(--sans);text-decoration:none;border-radius:2px;font-size:14px;font-weight:650;border:1px solid var(--line-strong);padding:11px 18px;background:var(--paper);color:var(--ink)}.linkbtn:hover{background:#f1f4f6}

.titleblock__bar{align-items:center}.titleblock__meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.title-help{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;background:var(--paper)}.title-help[aria-expanded="true"]{background:var(--ops);border-color:var(--ops);color:#fff}.toolbox{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:stretch}.toolgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--line);background:#f8fafb;padding:10px}.toolgroup--primary{border-color:var(--line-strong);background:var(--paper)}.toolgroup__label{width:100%;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.toolbox--local{margin-top:0}.toolbox--local .toolgroup{flex:1 1 260px}.inline-check{display:inline-flex;align-items:center;gap:8px;max-width:360px}.inline-check input{width:auto}.hint--compact{margin:0 0 8px}.hint--mt{margin-top:14px}.hint--flush{margin-top:0}@media(max-width:760px){.titleblock__bar{align-items:flex-start}.title-help{margin-left:0}.toolgroup{width:100%}}


.quickstart{margin-top:16px;border:1px solid var(--line);background:#fbfcfd;border-radius:3px;padding:14px}
.quickstart__card{display:grid;grid-template-columns:34px 1fr;gap:12px;border:1px solid var(--line);background:var(--paper);padding:14px;margin-bottom:12px;border-radius:3px}
.quickstart__card--primary{border-color:var(--line-strong)}
.quickstart__step{width:28px;height:28px;border-radius:999px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;margin-top:1px}
.quickstart__content h3{margin:0 0 4px;font-size:16px;line-height:1.25}
.quickstart__content p{margin:0 0 10px;color:var(--ink-soft);font-size:13.5px}
.quickstart__label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px}
.quickstart__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.quickstart__details{border:1px solid var(--line);background:#f8fafb;border-radius:3px;margin-top:4px}
.quickstart__details summary{cursor:pointer;padding:10px 12px;font-weight:700;color:var(--ink);font-size:14px}
.quickstart__detailsbody{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}
.quickstart__detailsbody .toolgroup{margin:0;align-content:flex-start}
.quickstart__footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.quickstart__footer .session-status{margin:0}
.quickstart__security{margin-top:10px}
.linkbtn--small{padding:8px 12px;font-size:13px}
@media(max-width:760px){.quickstart__detailsbody{grid-template-columns:1fr}.quickstart__card{grid-template-columns:1fr}.quickstart__step{margin-bottom:2px}}

@media(max-width:640px){.title-with-logo{grid-template-columns:1fr;gap:10px}.title-logo{width:110px;margin-top:0}.title-copy{padding-top:0}.surface-note{margin-left:0}}

.title-help{border:1px solid var(--line-strong);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.title-help:hover,.title-help:focus{background:var(--ops);border-color:var(--ops);color:#fff}


.bar-links{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.bar-links .title-help{margin-left:0}

/* ESR Calm UI pass */
:root{
  --panel:#f7f7f4;
  --paper:#ffffff;
  --ink:#202124;
  --muted:#667085;
  --soft:#667085;
  --line:#e4e7ec;
  --line-strong:#d0d5dd;
  --blue:#314f5f;
  --bluebg:#eef4f6;
  --amber:#9a6700;
  --red:#b42318;
  --green:#167044;
  --violet:#6941c6;
  --violet-bg:#f4f1fb;
}
html{background:var(--panel)}
body{
  background:
    radial-gradient(circle at 50% -160px, rgba(255,255,255,.95), rgba(247,247,244,0) 380px),
    var(--panel)!important;
  color:var(--ink)!important;
  padding:32px 18px 72px!important;
}
.doc{max-width:1040px!important;margin:0 auto!important}
.title,.titleblock{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(32,33,36,.10)!important;
  border-radius:24px!important;
  box-shadow:0 18px 48px rgba(16,24,40,.06)!important;
  overflow:hidden!important;
}
.bar,.titleblock__bar{
  border-bottom:1px solid rgba(32,33,36,.08)!important;
  padding:12px 18px!important;
  color:#667085!important;
  letter-spacing:.04em!important;
  background:rgba(255,255,255,.74)!important;
}
.main,.titleblock__main{padding:30px 28px 28px!important}
.eyebrow,.kicker,.head,.panel__head,.lbl,label,.group-title,.toolgroup__label,.quickstart__label{
  letter-spacing:.06em!important;
}
h1{
  text-transform:none!important;
  font-weight:760!important;
  font-size:clamp(32px,4vw,48px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
h2{letter-spacing:-.025em!important}
.card h2,.dev-tools h2,.mode-card h2{text-transform:none!important}
.sub,.titleblock__sub,.hint,.note,.small-hint,.card p,.dev-tools p,.warning-panel p{
  color:#667085!important;
}
.title-with-logo{grid-template-columns:74px minmax(0,1fr)!important;gap:18px!important;align-items:center!important}
.title-logo{width:74px!important;margin-top:0!important;border-radius:18px!important}
.surface-note{
  margin:22px 0 0 92px!important;
  border:1px solid rgba(49,79,95,.12)!important;
  border-left:0!important;
  background:#f3f6f7!important;
  color:#43515a!important;
  border-radius:18px!important;
  padding:14px 16px!important;
}
.warning-strip{
  border-top:1px solid rgba(32,33,36,.08)!important;
  background:#fff8ea!important;
  color:#6d4e00!important;
  padding:14px 18px!important;
}
.warning-strip .tag{
  border-radius:999px!important;
  background:#f2b94b!important;
  color:#5f3b00!important;
  padding:3px 9px!important;
}
.panel,.card,.step,.output-card,.dev-tools,.quickstart,.quickstart__card,.mode-card,.case-load-panel .panel,.prompt-show-panel,.content,.header,.result,.metric,.deadline__box,.registry-row,.isoBox,.finding,.probe{
  border:1px solid rgba(32,33,36,.10)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 28px rgba(16,24,40,.045)!important;
}
.panel,.step,.output-card{overflow:hidden!important}
.head,.panel__head{
  border-bottom:1px solid rgba(32,33,36,.08)!important;
  background:#fbfbfa!important;
  color:#667085!important;
  padding:13px 18px!important;
}
.body,.panel__body{padding:18px!important}
.cards,.main-tools,.modebar{gap:14px!important}
.card,.mode-card{padding:20px!important;min-height:0!important}
.card:hover,.mode-card:hover,.quickstart__card:hover{
  border-color:rgba(49,79,95,.22)!important;
  box-shadow:0 16px 42px rgba(16,24,40,.075)!important;
}
button,.button,.btn,.btn-primary,.linkbtn,.appLink,.title-help{
  border-radius:999px!important;
  border:1px solid rgba(32,33,36,.12)!important;
  box-shadow:none!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
button:hover,.button:hover,.btn:hover,.btn-primary:hover,.linkbtn:hover,.appLink:hover,.title-help:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(16,24,40,.08)!important;
}
button.primary,.button:not(.secondary),.btn-primary,.btn.warn,.mode-card[aria-pressed="true"]{
  background:#202124!important;
  border-color:#202124!important;
  color:#fff!important;
}
button.secondary,.button.secondary,.btn.secondary,.btn.ghost,.linkbtn,.appLink,.title-help{
  background:#fff!important;
  color:#344054!important;
}
input,select,textarea{
  border:1px solid rgba(32,33,36,.14)!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:11px 12px!important;
  color:var(--ink)!important;
}
textarea{min-height:82px!important;line-height:1.55!important}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:rgba(49,79,95,.55)!important;
  box-shadow:0 0 0 4px rgba(49,79,95,.12)!important;
}
.security,.security-note,.demo-notice,.notice,.preview-box,.quickstart__security{
  border:1px solid rgba(32,33,36,.10)!important;
  border-left:0!important;
  border-radius:16px!important;
  background:#fbfbfa!important;
  color:#5b6470!important;
  padding:12px 14px!important;
}
.pill,.prompt-show-pill,.status,.session-status{
  border-radius:999px!important;
  background:#f3f4f6!important;
  border:1px solid rgba(32,33,36,.10)!important;
  color:#667085!important;
}
.table th,.table td{border-color:rgba(32,33,36,.10)!important}.table th{background:#fbfbfa!important}
pre,.output-box,.summary-box{
  border:1px solid rgba(32,33,36,.10)!important;
  border-radius:16px!important;
  background:#fbfbfa!important;
  color:#2f3742!important;
}
.footer{
  margin-top:24px!important;
  padding:0 4px!important;
  color:#7a818c!important;
}
.footer a{color:inherit!important}
@media(max-width:760px){
  body{padding:18px 12px 52px!important}
  .main,.titleblock__main{padding:24px 18px!important}
  .title-with-logo{grid-template-columns:1fr!important;gap:12px!important}
  .title-logo{width:70px!important}
  .surface-note{margin-left:0!important}
}
@media print{
  body{background:#fff!important;padding:0!important}
  .title,.titleblock,.panel,.card,.step,.output-card,.dev-tools{box-shadow:none!important}
}

/* ESR Calm UI refinement — less console, more guided workspace */
.bar,.titleblock__bar,.head,.panel__head{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;font-weight:650!important;}
.bar-meta,.titleblock__meta{display:flex!important;gap:12px!important;flex-wrap:wrap!important;align-items:center!important;}
.bar-meta span,.titleblock__meta span{background:#f6f7f7!important;border:1px solid rgba(32,33,36,.08)!important;border-radius:999px!important;padding:4px 9px!important;}
.eyebrow,.kicker{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;}
.lbl,label,.group-title,.toolgroup__label,.quickstart__label{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;}
.warning-strip .tag{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;}
.n,.quickstart__step{box-shadow:none!important;}

/* ESR Calm UI polish — logo alignment, title case and desktop readability */
.title-with-logo{
  align-items:start!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:20px!important;
}
.title-logo{
  width:72px!important;
  height:auto!important;
  margin-top:8px!important;
  border-radius:14px!important;
}
.title-copy{padding-top:0!important;}
.bar b,.titleblock__bar b{font-weight:700!important;}
.footer a,.bar a,.title-help{text-transform:none!important;letter-spacing:0!important;}

@media (min-width:900px){
  body{
    font-size:17px!important;
    line-height:1.68!important;
  }
  .doc{max-width:1100px!important;}
  .main,.titleblock__main{padding:38px 34px 34px!important;}
  h1{
    font-size:clamp(42px,4.6vw,64px)!important;
    line-height:1.01!important;
  }
  .sub,.titleblock__sub,.lead{
    font-size:18px!important;
    line-height:1.62!important;
  }
  .surface-note{
    font-size:16px!important;
    line-height:1.58!important;
    margin-left:92px!important;
  }
  .warning-strip{
    font-size:15.5px!important;
    line-height:1.58!important;
  }
  .head,.panel__head{
    font-size:15px!important;
  }
  .lbl,label,.group-title,.toolgroup__label,.quickstart__label{
    font-size:14.5px!important;
  }
  input,select,textarea,button,.button,.btn,.btn-primary,.linkbtn,.appLink,.title-help{
    font-size:16px!important;
  }
  .hint,.note,.small-hint,.pathhint,.quickstart__content p,.card p,.dev-tools p,.warning-panel p{
    font-size:15.5px!important;
    line-height:1.58!important;
  }
  .card h2,.mode-card h2,.quickstart__content h3{
    font-size:20px!important;
    line-height:1.25!important;
  }
  .table{font-size:15px!important;}
}

@media (max-width:760px){
  .title-with-logo{grid-template-columns:1fr!important;gap:12px!important;}
  .title-logo{width:70px!important;margin-top:0!important;}
}


/* CertiSigma Prudentia Suite 1.1 — selected-state contrast polish */
.mode-card[aria-pressed="true"]{
  color:#ffffff!important;
  border-color:rgba(32,33,36,.95)!important;
  box-shadow:0 14px 34px rgba(16,24,40,.16)!important;
}
.mode-card[aria-pressed="true"] h2,
.mode-card[aria-pressed="true"] h3{
  color:#ffffff!important;
}
.mode-card[aria-pressed="true"] p,
.mode-card[aria-pressed="true"] .hint{
  color:#e7e9ec!important;
}
.mode-card[aria-pressed="true"] .kicker,
.mode-card[aria-pressed="true"] .smallcap,
.mode-card[aria-pressed="true"] .status{
  color:#cfd5df!important;
}
.mode-card[aria-pressed="true"] *{
  border-color:rgba(255,255,255,.18);
}
button.primary *,
button.active *,
.button:not(.secondary) *,
.btn-primary *,
.btn.warn *,
.title-help.active *{
  color:inherit!important;
}
button.active,
.title-help.active{
  color:#ffffff!important;
}

/* ESR shared header — 1.1 interface harmonization */
.suite-header{
  border:1px solid rgba(32,33,36,.10)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 48px rgba(16,24,40,.06)!important;
  overflow:hidden!important;
  margin:0 0 18px!important;
}
.suite-topbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  padding:12px 18px!important;
  border-bottom:1px solid rgba(32,33,36,.08)!important;
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(247,247,244,.86))!important;
}
.suite-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  color:#667085!important;
  font-size:.88rem!important;
  line-height:1.25!important;
}
.suite-meta b{color:#202124!important;}
.suite-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px!important;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}
.suite-nav__item{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:7px 11px!important;
  border:1px solid rgba(32,33,36,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#344054!important;
  text-decoration:none!important;
  font-size:.86rem!important;
  font-weight:720!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.suite-nav__item:hover{border-color:rgba(32,33,36,.22)!important;}
.suite-nav__item.is-current{
  background:#202124!important;
  border-color:#202124!important;
  color:#fff!important;
}
.suite-hero{padding:24px 26px 22px!important;}
.suite-kicker{
  margin:0 0 10px!important;
  color:#7a818c!important;
  font-size:.8rem!important;
  font-weight:760!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.suite-title-row{display:flex!important;align-items:flex-start!important;gap:18px!important;}
.suite-logo{width:78px!important;height:78px!important;object-fit:contain!important;flex:0 0 auto!important;margin-top:2px!important;}
.suite-title-copy{min-width:0!important;}
.suite-title{
  margin:0 0 8px!important;
  color:#202124!important;
  font-size:clamp(2rem,5vw,3.65rem)!important;
  line-height:.95!important;
  font-weight:760!important;
  letter-spacing:-.055em!important;
}
.suite-sub{
  margin:.35rem 0 0!important;
  color:#344054!important;
  font-size:clamp(1rem,2vw,1.18rem)!important;
  line-height:1.48!important;
  max-width:880px!important;
}
.suite-surface{
  margin:18px 0 0!important;
  border:1px solid rgba(32,33,36,.10)!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  padding:12px 14px!important;
  color:#475467!important;
  line-height:1.52!important;
}
.suite-scope{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:13px 18px!important;
  border-top:1px solid rgba(32,33,36,.08)!important;
  background:#fff8eb!important;
  color:#5f4b24!important;
  line-height:1.48!important;
}
.suite-tag{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  background:#202124!important;
  color:#fff!important;
  padding:3px 9px!important;
  font-size:.72rem!important;
  font-weight:780!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
@media (max-width:720px){
  .suite-topbar{align-items:flex-start!important;flex-direction:column!important;}
  .suite-nav{justify-content:flex-start!important;}
  .suite-title-row{align-items:flex-start!important;}
  .suite-logo{width:60px!important;height:60px!important;margin-top:2px!important;}
  .suite-hero{padding:20px 18px!important;}
  .suite-scope{flex-direction:column!important;}
}
@media print{
  .suite-nav{display:none!important;}
  .suite-header{box-shadow:none!important;border-color:#ddd!important;}
}
