/* ------------------------------------------------------------------
   nGenePVS  – Version 0.1.12-dev  |  UI tweaks & Dev-only toggle support
   Control Panel = 50%  |  Output Panel = 45%
   © 2013-2025 Hyunsuk Frank Roh, MD.  All rights reserved.
------------------------------------------------------------------ */

html, body { font-family: Arial, sans-serif; margin:0; padding:0;
             height:100%; width:100%; display:flex; flex-direction:column;
             box-sizing:border-box; }
.control-section { width:100%; display:flex; flex-direction:column; padding:10px;
                   background:#f4f4f4; border-bottom:1px solid #ccc;
                   box-sizing:border-box; }
.control-wrapper { min-width:1300px; display:flex; justify-content:space-between;
                   align-items:flex-start; }
.control-wrapper > div { margin-right:10px; }
.control-wrapper > div:last-child { margin-right:0; }
.control-panel { border:2px solid #007ba7; padding:15px; border-radius:15px;
                 background:#e0f7fa; flex:0 0 50%; max-width:50%; }

/* added earlier in 0.1.6-dev */
.crawl-controls{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.crawl-controls .depth-label{
  margin-left:6px;
}

.parameters-block { border:1px solid #ccc; padding:10px; border-radius:10px;
                    background:#fff; }
.button-group { display:flex; flex-direction:column; gap:10px; }
.output-block { min-width:500px; display:flex; flex-direction:column; padding:10px;
                border:2px solid #007ba7; border-radius:15px; background:#e3f2fd;
                flex:0 0 45%; max-width:45%; }
.log-console { background:#f9f9f9; padding:15px; border-radius:10px; flex-grow:1;
               overflow-y:auto; min-height:600px; }
button { padding:8px 12px; font-size:14px; border:none; border-radius:5px;
         cursor:pointer; background:#007ba7; color:#fff; }
button:hover  { background:#006799; }
button:active { background:#00527a; }
input[type="number"] { width:50px; }
select:disabled, input[type="range"]:disabled { opacity:0.5; cursor:not-allowed; }
#loading { background:#fff; padding:30px 40px; border:2px solid #007ba7;
           border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,0.25); outline:none;}
#loading h1 { margin:0; font-size:1.1rem; line-height:1.4; color:#007ba7;
              text-align:center; }
#loading::backdrop { background:rgba(0,0,0,0.45); }
.switch { position:relative; display:inline-block; width:34px; height:18px; }
.switch input { opacity:0; width:0; height:0; }
.slider { position:absolute; cursor:pointer; background:#ccc; border-radius:34px;
          top:0; left:0; right:0; bottom:0; transition:background 0.4s; }
.slider:before { content:""; position:absolute; height:14px; width:14px; left:2px;
                 bottom:2px; background:#fff; border-radius:50%;
                 transition:transform 0.4s; }
input:checked + .slider { background:#2196f3; }
input:checked + .slider:before { transform:translateX(16px); }
textarea.py-input { resize:vertical; min-height:6rem; }
