/* Opselith 2.3 Phase 15 — Visual Reconstruction
   Design target: application-first, compact, technical, calm.
   No behavior, API, security, or generator contracts are changed. */

:root{
  --p15-bg:#050b11;
  --p15-panel:#09151e;
  --p15-panel-2:#0b1a24;
  --p15-line:#1d3b4b;
  --p15-line-strong:#31586b;
  --p15-text:#edf7fa;
  --p15-muted:#8da5b2;
  --p15-cyan:#61f4ff;
  --p15-blue:#83b7ff;
  --p15-purple:#aa8cff;
  --p15-green:#58e6ae;
  --p15-gold:#e4be62;
}

/* ---------- Command Center ---------- */
body.home.command-center .os23-command-center{
  padding:42px 0 26px;
  background:linear-gradient(180deg,rgba(7,18,26,.72),rgba(5,11,17,0));
}
body.home.command-center .os23-tool-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:42px;
  align-items:end;
  margin-bottom:20px;
}
body.home.command-center .os23-tool-head h2{
  max-width:720px;
  margin:6px 0 0;
  font-size:clamp(34px,4.4vw,58px);
  line-height:.98;
  letter-spacing:-.055em;
}
body.home.command-center .os23-tool-head p{
  max-width:470px;
  margin:0 0 3px;
  color:#91a9b6;
  font-size:14px;
  line-height:1.65;
}
body.home.command-center .os23-launch{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:16px;
  margin-top:0;
}
body.home.command-center .os23-panel{
  min-width:0;
  border:1px solid var(--p15-line);
  border-radius:16px;
  padding:20px;
  background:linear-gradient(145deg,rgba(11,25,35,.97),rgba(7,16,23,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.24);
}
body.home.command-center .os23-panel:hover{border-color:#274b5e}
body.home.command-center .os23-kicker{
  color:#718c99;
  font:800 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.15em;
}
body.home.command-center .os23-search{
  margin-top:12px;
  padding:4px;
  border:1px solid #294b5d;
  border-radius:11px;
  background:#050e15;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.home.command-center .os23-search input{
  height:42px;
  border:0;
  background:transparent;
  box-shadow:none;
  font-size:13px;
}
body.home.command-center .os23-search input:focus{outline:none;box-shadow:none}
body.home.command-center .os23-search:focus-within{border-color:var(--p15-cyan);box-shadow:0 0 0 3px rgba(97,244,255,.06)}
body.home.command-center .os23-search kbd{
  margin-right:2px;
  border-color:#294b5d;
  background:#0b1a24;
  color:#b6cad3;
  font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace;
}
body.home.command-center .os23-quick{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
body.home.command-center .os23-quick a{
  position:relative;
  min-height:76px;
  padding:13px 14px 12px 16px;
  border:1px solid #1b3848;
  border-radius:11px;
  background:linear-gradient(145deg,#0b1a24,#08141c);
  overflow:hidden;
}
body.home.command-center .os23-quick a::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:2px;
  background:#2e6173;
}
body.home.command-center .os23-quick a:first-child{
  grid-column:span 2;
  border-color:#3c4e73;
  background:radial-gradient(circle at 90% 10%,rgba(167,139,250,.12),transparent 38%),linear-gradient(145deg,#0d1827,#08131c);
}
body.home.command-center .os23-quick a:first-child::before{background:var(--p15-purple);box-shadow:0 0 14px rgba(170,140,255,.35)}
body.home.command-center .os23-quick a:hover,
body.home.command-center .os23-quick a:focus-visible{
  transform:translateY(-2px);
  border-color:#3a6174;
  background:#0d202b;
  box-shadow:0 14px 34px rgba(0,0,0,.2);
}
body.home.command-center .os23-quick strong{font-size:13px;letter-spacing:-.01em}
body.home.command-center .os23-quick small{margin-top:5px;color:#7893a0;font-size:10px;line-height:1.35}
body.home.command-center .os23-shortcuts{margin-top:11px}
body.home.command-center .os23-shortcuts span{border-color:#1c3948;color:#718b98;background:#08151d;font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
body.home.command-center .os23-side-stat{padding:10px 0}
body.home.command-center .os23-side-stat span{font-size:12px;color:#7e98a5}
body.home.command-center .os23-side-stat strong{font:800 16px ui-monospace,SFMono-Regular,Consolas,monospace;color:#e9f6fa}
body.home.command-center .os23-side-stat:nth-of-type(3) strong{color:var(--p15-gold)}
body.home.command-center .os23-launch-secondary{margin-top:12px}
body.home.command-center .os23-item{padding:10px 11px;border-color:#1b3645;background:#08151d}
body.home.command-center .os23-item strong{font-size:12px}
body.home.command-center .os23-item small{font-size:9px}
body.home.command-center .os23-empty{padding:10px 0;color:#637d8b;font-size:11px}
body.home.command-center .os23-command-results{border-color:#29495b;background:#08141c}
body.home.command-center .os23-command-results a{padding:10px 12px}

/* Make the lower toolkit feel like an app launcher rather than a marketing card wall. */
body.home.command-center .tool-zone{padding-top:48px}
body.home.command-center .os20-tool-head{align-items:end}
body.home.command-center .os20-tool-head h2{font-size:clamp(34px,4.5vw,58px);line-height:.98;letter-spacing:-.055em}
body.home.command-center .os20-tool-head p{max-width:480px;font-size:14px;line-height:1.65}
body.home.command-center .home-tool-grid{gap:10px;margin-top:18px}
body.home.command-center .home-tool{
  min-height:178px;
  padding:20px;
  border-radius:14px;
  background:linear-gradient(145deg,#0b1a24,#08141c);
  border-color:#1c3949;
}
body.home.command-center .home-tool-featured{min-height:198px;border-color:#3c4e73}
body.home.command-center .home-tool h3{font-size:22px}
body.home.command-center .home-tool p{font-size:12px;line-height:1.55;color:#849da9}
body.home.command-center .home-tool .tool-link{font-size:11px}

/* ---------- Global tool shell ---------- */
body.tool-app>header .nav{min-height:58px}
body.tool-app>header .brand img{width:126px}
body.tool-app .tool-nav{gap:8px}
body.tool-app .tool-commandbar{position:sticky;top:58px;z-index:40}
body.tool-app .tool-commandbar-inner{max-width:1240px;padding:9px 24px;min-height:44px}
body.tool-app .tool-command-name{font-size:12px}
body.tool-app .tool-app-main{max-width:1240px}
body.tool-app .tool-app-main .hero.tool-hero{
  padding:34px 0 24px;
  min-height:150px;
}
body.tool-app .tool-hero h1{font-size:clamp(42px,5.3vw,64px);line-height:.96}
body.tool-app .tool-hero p{max-width:800px;font-size:14px;line-height:1.6}
body.tool-app .tool-hero-status{align-self:end}
body.tool-app .tool-workspace{border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.26)}
body.tool-app .tool-workspace-head{gap:18px}
body.tool-app .tool-workspace-head h2,
body.tool-app .tool-section-head h2{font-size:19px}
body.tool-app .tool-section-head{gap:14px}
body.tool-app .tool-nav-cta{margin-top:22px}

/* Native file controls should never compete with the custom tool dropzones. */
body.tool-app .csv-file-field input[type=file],
body.tool-app .converter-hidden-file-field input[type=file],
body.tool-app .doctor-dropzone input[type=file],
body.tool-app .drop-zone input[type=file]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
}
body.tool-app .converter-hidden-file-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.tool-app .csv-file-field>label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}

/* Larger, more intentional dropzones. */
body.tool-app .csv-dropzone,
body.tool-app .converter-dropzone,
body.tool-app .doctor-dropzone,
body.tool-app .drop-zone{
  border-color:#31586b;
  background:radial-gradient(circle at 50% 0,rgba(97,244,255,.045),transparent 50%),#07131c;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
body.tool-app .csv-dropzone:hover,
body.tool-app .csv-dropzone:focus-visible,
body.tool-app .converter-dropzone:hover,
body.tool-app .converter-dropzone:focus-visible,
body.tool-app .doctor-dropzone:hover,
body.tool-app .doctor-dropzone:focus-visible,
body.tool-app .drop-zone:hover,
body.tool-app .drop-zone:focus-visible{
  border-color:#61dce8;
  background:radial-gradient(circle at 50% 0,rgba(97,244,255,.075),transparent 55%),#081821;
  transform:translateY(-1px);
}

/* Password generator and converter keep their existing structure, but get the same visual rhythm. */
body.tool-app .converter-workspace,
body.tool-app .password-workspace,
body.tool-app .doctor-workspace,
body.tool-app .workspace-card{border-radius:16px}

/* Naming Builder: keep advanced controls quiet until needed. */
body.tool-app .advanced-panel{border-color:#1c3949;background:#07131c;border-radius:10px}
body.tool-app .advanced-panel summary{padding:10px 12px;color:#8fa7b3}

/* Sticky feedback should be quieter than the work surface. */
body.tool-app .feedback-panel,
body.home.command-center .feedback-panel{
  opacity:.92;
  transform:scale(.94);
  transform-origin:bottom right;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  border-color:#264454;
}
body.tool-app .feedback-panel:hover,
body.home.command-center .feedback-panel:hover{opacity:1;transform:scale(1)}

/* Consistent keyboard focus. */
body.tool-app :focus-visible,
body.home.command-center :focus-visible{outline:2px solid var(--p15-cyan);outline-offset:3px}

@media(max-width:900px){
  body.home.command-center .os23-tool-head{grid-template-columns:1fr;gap:10px}
  body.home.command-center .os23-tool-head p{max-width:680px}
  body.home.command-center .os23-launch{grid-template-columns:1fr}
  body.home.command-center .os23-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.home.command-center .os23-quick a:first-child{grid-column:span 2}
  body.tool-app .tool-commandbar{top:58px}
  body.tool-app .tool-commandbar-inner{padding-left:17px;padding-right:17px}
}
@media(max-width:620px){
  body.home.command-center .os23-command-center{padding-top:30px}
  body.home.command-center .os23-tool-head h2{font-size:38px}
  body.home.command-center .os23-quick{grid-template-columns:1fr}
  body.home.command-center .os23-quick a:first-child{grid-column:auto}
  body.home.command-center .os23-panel{padding:16px}
  body.home.command-center .home-tool-grid{padding-left:15px;padding-right:15px}
  body.tool-app>header .nav{min-height:54px}
  body.tool-app>header .brand img{width:112px}
  body.tool-app .tool-commandbar{top:54px}
  body.tool-app .tool-app-main .hero.tool-hero{padding:28px 0 18px;min-height:0}
  body.tool-app .tool-hero h1{font-size:44px}
  body.tool-app .tool-workspace{padding:16px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  body.home.command-center .os23-quick a,
  body.tool-app .csv-dropzone,
  body.tool-app .converter-dropzone,
  body.tool-app .doctor-dropzone,
  body.tool-app .drop-zone{transition:none}
}

/* Phase 15.1 — Command Center visual correction */
body.home.command-center .os23-command-center{padding:58px 0 42px;background:linear-gradient(180deg,#07131c 0%,#061019 78%,#050b11 100%);border-top:1px solid #132b39;border-bottom:1px solid #132b39}
body.home.command-center .os23-tool-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:48px;align-items:end;margin-bottom:20px}
body.home.command-center .os23-tool-head h2{margin:8px 0 0;max-width:760px;font-size:clamp(42px,5vw,68px);line-height:.92;letter-spacing:-.06em}
body.home.command-center .os23-tool-head p{margin:0 0 5px;max-width:450px;color:#87a0ae;font-size:13px;line-height:1.65}
body.home.command-center .os23-command-bar{position:relative;border:1px solid #244758;border-radius:15px;padding:14px;background:linear-gradient(145deg,#0a1a24,#07131c);box-shadow:0 20px 55px rgba(0,0,0,.2)}
body.home.command-center .os23-command-bar .os23-kicker{display:block;margin:0 0 9px}
body.home.command-center .os23-search{margin:0;display:flex;align-items:center;gap:10px;padding:4px;border:1px solid #31586b;border-radius:11px;background:#050e15}
body.home.command-center .os23-search input{height:46px;min-width:0;border:0;background:transparent;box-shadow:none;font-size:14px}
body.home.command-center .os23-search input:focus{outline:none;box-shadow:none}
body.home.command-center .os23-search:focus-within{border-color:var(--p15-cyan);box-shadow:0 0 0 3px rgba(97,244,255,.06)}
body.home.command-center .os23-search kbd{margin-right:4px;white-space:nowrap;border:1px solid #294b5d;border-radius:7px;background:#0b1a24;color:#b6cad3;padding:6px 8px;font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace}
body.home.command-center .os23-command-results{position:absolute;left:14px;right:14px;top:100%;z-index:30;margin-top:6px;border:1px solid #29495b;border-radius:11px;background:#07131c;box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden}
body.home.command-center .os23-command-results a{display:grid;gap:3px;padding:11px 13px;color:inherit;text-decoration:none;border-bottom:1px solid #17303e}
body.home.command-center .os23-command-results a:last-child{border-bottom:0}
body.home.command-center .os23-command-results a:hover{background:#0d202b}
body.home.command-center .os23-command-results strong{font-size:12px}.os23-command-results small{color:#7893a0;font-size:9px}
body.home.command-center .os23-tool-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(132px,auto);gap:10px;margin-top:12px}
body.home.command-center .os23-app-card{position:relative;min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr auto;column-gap:11px;padding:15px;border:1px solid #1c3949;border-radius:14px;color:inherit;text-decoration:none;background:linear-gradient(145deg,#0a1a24,#07131c);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
body.home.command-center .os23-app-card:hover,body.home.command-center .os23-app-card:focus-visible{transform:translateY(-2px);border-color:#3b6679;background:linear-gradient(145deg,#0d202b,#081720);box-shadow:0 16px 40px rgba(0,0,0,.28)}
body.home.command-center .os23-app-card::after{content:"";position:absolute;right:-40px;bottom:-70px;width:140px;height:140px;border-radius:50%;background:rgba(97,244,255,.045);pointer-events:none}
body.home.command-center .os23-app-featured{grid-column:span 2;grid-row:span 2;padding:18px;border-color:#3c4e73;background:radial-gradient(circle at 92% 8%,rgba(170,140,255,.14),transparent 35%),linear-gradient(145deg,#0d1827,#07131c)}
body.home.command-center .os23-app-featured:hover{border-color:#665d91}
body.home.command-center .os23-app-meta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;min-height:14px;margin-bottom:9px;font:800 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#7893a0}
body.home.command-center .os23-app-meta b{color:#61f4ff}.os23-app-meta em{font-style:normal;color:#a98cff}
body.home.command-center .os23-app-icon{grid-row:2/4;display:grid;place-items:center;width:38px;height:38px;border:1px solid #2c5264;border-radius:10px;background:#07131c;color:#b9f8ff;font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}
body.home.command-center .os23-app-card strong{align-self:end;font-size:15px;line-height:1.1;letter-spacing:-.025em}.os23-app-card small{align-self:start;margin-top:5px;color:#7893a0;font-size:10px;line-height:1.4}
body.home.command-center .os23-app-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;margin-top:11px;padding-top:9px;border-top:1px solid #17303d;color:#6f8a98;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}
body.home.command-center .os23-app-featured .os23-app-icon{width:48px;height:48px;border-color:#5c4b83;color:#c9baff;background:#111126;font-size:12px}.os23-app-featured strong{font-size:23px}.os23-app-featured small{font-size:11px;max-width:360px}
body.home.command-center .os23-command-lower{display:grid;grid-template-columns:1fr 1fr .9fr;gap:10px;margin-top:10px}
body.home.command-center .os23-panel{min-width:0;border:1px solid #1c3949;border-radius:14px;padding:15px;background:#08151e}.os23-list{min-height:44px}
body.home.command-center .os23-item{padding:8px 9px;border-color:#173342;background:#07131c}.os23-item strong{font-size:11px}.os23-item small{font-size:8px}.os23-item-actions span{font-size:10px;color:#65808f}
body.home.command-center .os23-empty{padding:12px 0;color:#5f7886;font-size:10px}
body.home.command-center .os23-library-count{display:flex;align-items:center;gap:12px;margin:13px 0 14px}.os23-library-count strong{font-size:32px;line-height:1;color:#edf7fa}.os23-library-count span{color:#7893a0;font-size:10px;line-height:1.45}
body.home.command-center .os23-command-lower .btn{font-size:11px;padding:9px 11px}
body.home.command-center .os23-library-zone{padding:55px 0 65px;background:#050b11;border-bottom:1px solid #13222d}.os23-library-copy{max-width:900px}.os23-library-copy h2{margin:9px 0 12px;font-size:clamp(32px,4vw,50px);line-height:.98;letter-spacing:-.055em}.os23-library-copy p{max-width:760px;margin:0 0 18px;color:#8da5b2;font-size:13px;line-height:1.7}
body.tool-app .tool-commandbar{background:rgba(5,13,20,.94);border-bottom:1px solid #17303d;backdrop-filter:blur(12px)}body.tool-app .tool-commandbar-inner{max-width:1320px}body.tool-app .tool-app-main{max-width:1320px}body.tool-app .tool-app-main .hero.tool-hero{padding:42px 0 26px}body.tool-app .tool-hero .section-index{display:block;margin-bottom:7px}body.tool-app .tool-hero h1{letter-spacing:-.055em}body.tool-app .tool-workspace{border:1px solid #1d3b4b;background:linear-gradient(145deg,#091720,#07121a);box-shadow:0 22px 70px rgba(0,0,0,.3)}body.tool-app .tool-workspace-head{padding-bottom:16px;border-bottom:1px solid #16303d}
@media(max-width:1000px){body.home.command-center .os23-tool-deck{grid-template-columns:repeat(3,minmax(0,1fr))}body.home.command-center .os23-app-featured{grid-column:span 2;grid-row:span 1}body.home.command-center .os23-command-lower{grid-template-columns:1fr 1fr}body.home.command-center .os23-library-panel{grid-column:span 2}}
@media(max-width:760px){body.home.command-center .os23-tool-head{grid-template-columns:1fr;gap:10px}body.home.command-center .os23-tool-deck{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(128px,auto)}body.home.command-center .os23-app-featured{grid-column:span 2}body.home.command-center .os23-command-lower{grid-template-columns:1fr}body.home.command-center .os23-library-panel{grid-column:auto}}
@media(max-width:520px){body.home.command-center .os23-command-center{padding:38px 0 28px}body.home.command-center .os23-tool-head h2{font-size:40px}body.home.command-center .os23-tool-deck{grid-template-columns:1fr}body.home.command-center .os23-app-featured{grid-column:auto}body.home.command-center .os23-app-card{min-height:128px}}
