/* KBB Pitch Lab. Colours are CSS variables injected from config.js (CONFIG.COLORS). Mobile first. */
:root{box-sizing:border-box;color-scheme:light}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Mukta","Noto Sans Devanagari","Nirmala UI",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%}
a{color:var(--leaf)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}

header.top{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.top-in{max-width:880px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;line-height:1.2;margin-right:auto;text-decoration:none;color:var(--ink)}
.brand small{display:block;font-weight:500;font-size:13px;color:var(--muted)}
.logo{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border-radius:12px;background:var(--leaf);color:#fff;font-size:15px;font-weight:800;letter-spacing:.02em}
.badge-mock{background:var(--turmeric-soft);color:var(--turmeric);border:1.5px solid var(--turmeric);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;white-space:nowrap}

main{max-width:880px;margin:0 auto;padding:20px 16px 40px}
h1{font-size:28px;line-height:1.2;margin:0 0 6px;font-weight:800}
h2{font-size:22px;line-height:1.3;margin:34px 0 12px;font-weight:700}
h3{font-size:18px;margin:0 0 4px;font-weight:700}
h3.sub{margin-top:18px}
p{margin:0 0 10px}
.lede{color:var(--muted);max-width:62ch}
.small{font-size:14px;color:var(--muted)}
.pre{white-space:pre-line}

/* Form */
.form{display:grid;gap:18px;margin-top:18px}
.row2{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:620px){.row2{grid-template-columns:1fr 1fr}}
label.f,legend.f{display:grid;gap:5px;font-weight:600;padding:0}
legend.f{margin-bottom:6px}
.hint{font-weight:400;color:var(--muted);font-size:15px}
input[type=text],textarea{width:100%;background:var(--field);border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;min-height:48px}
textarea{min-height:120px;resize:vertical;line-height:1.5}
textarea.big{min-height:220px}
fieldset{border:0;padding:0;margin:0;min-width:0}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;font-weight:600;min-height:48px;background:var(--card)}
.seg input{accent-color:var(--leaf);width:18px;height:18px}
.seg label:has(input:checked){border-color:var(--leaf);background:var(--leaf-soft)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.check input{flex:none;width:24px;height:24px;margin-top:3px;accent-color:var(--leaf)}
.file-drop{border:1.5px dashed var(--line);border-radius:12px;padding:16px;background:var(--field)}
.file-drop input{margin-top:8px;max-width:100%}
.status-line{font-size:15px;color:var(--muted);margin-top:6px}
.status-line.ok{color:var(--leaf)} .status-line.err{color:var(--brick)}
.btn{display:inline-block;appearance:none;border:0;border-radius:12px;padding:12px 20px;font-weight:700;cursor:pointer;min-height:48px;text-decoration:none;text-align:center}
.btn.primary{background:var(--leaf);color:#fff}
.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.notice{border-left:4px solid var(--turmeric);background:var(--turmeric-soft);padding:10px 14px;border-radius:0 10px 10px 0;font-size:15px}
.notice.err{border-color:var(--brick);background:var(--brick-soft)}
.empty{padding:28px;border:1.5px dashed var(--line);border-radius:14px;text-align:center}

/* Progress */
ol.steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
ol.steps li{display:flex;gap:12px;align-items:baseline;padding:12px 14px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
ol.steps li .n{font-weight:800;color:var(--muted);min-width:1.4em}
ol.steps li .st{margin-left:auto;font-size:14px;color:var(--muted);white-space:nowrap}
ol.steps li[data-s="run"]{border-color:var(--turmeric)}
ol.steps li[data-s="run"] .st{color:var(--turmeric)}
ol.steps li[data-s="done"] .st{color:var(--leaf)}
ol.steps li[data-s="err"]{border-color:var(--brick)} ol.steps li[data-s="err"] .st{color:var(--brick)}

/* Report */
.rep-head{display:grid;gap:6px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.meta{color:var(--muted);font-size:15px}
.verdict{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}
.pill{display:inline-block;font-weight:700;border-radius:999px;padding:4px 14px;font-size:17px}
.pill.ready{background:var(--leaf-soft);color:var(--leaf)}
.pill.almost{background:var(--turmeric-soft);color:var(--turmeric)}
.pill.not_ready{background:var(--brick-soft);color:var(--brick)}
.score{font-weight:800;font-size:30px}
.score small{font-weight:500;color:var(--muted);font-size:16px}
.headline{font-size:20px;line-height:1.45;font-weight:600;max-width:60ch;margin-top:8px}
mark.fill{background:#FFE9A8;color:#5A3D00;border-radius:6px;padding:0 4px;font-weight:600}

.fixes{display:grid;gap:14px}
.fix{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--turmeric);border-radius:4px 14px 14px 4px;padding:14px 16px}
.fix h3{font-size:19px}
.fix .why{color:var(--muted);margin:2px 0 12px}
.ba{display:grid;gap:8px}
.ba .b,.ba .a{padding:10px 12px;border-radius:10px}
.ba .b{background:var(--brick-soft)} .ba .a{background:var(--leaf-soft)}
.tag{display:block;font-size:13px;font-weight:700;color:var(--muted)}
.ba .b .q{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--brick) 60%,transparent)}
.strengths{margin:0;padding-left:1.2em}
.strengths li{margin-bottom:6px}

.ladder{display:grid;gap:10px}
.crit{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.crit-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.crit-top .w{color:var(--muted);font-size:14px}
.crit-top .s{margin-left:auto;font-weight:800}
.bar{height:8px;border-radius:99px;background:var(--line);margin:8px 0;overflow:hidden}
.bar>i{display:block;height:100%;border-radius:99px}
.crit .ev{font-size:15px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px;margin:6px 0 4px}
.crit .by{font-size:13px;color:var(--muted)}
.crit p:last-child{margin-bottom:0}

.bench{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.juror{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.juror .role{font-size:14px;color:var(--muted);font-weight:700}
.juror .say{font-weight:600;margin:6px 0}
.juror .worry{font-size:15px;color:var(--brick)}
.juror .qs{font-size:15px;border-top:1px solid var(--line);padding-top:8px}
.juror .qs ol{margin:4px 0 0;padding-left:1.3em}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:700;background:var(--field)}
tr:last-child td{border-bottom:0}
.sev-high{color:var(--brick);font-weight:700}.sev-medium{color:var(--turmeric);font-weight:700}.sev-low{color:var(--muted);font-weight:700}
.missing{margin-top:10px}

.stats{display:flex;flex-wrap:wrap;gap:10px 26px}
.stats div{min-width:120px;max-width:260px}.stats b{display:block;font-size:22px}
.stats span{font-size:14px;color:var(--muted)}
.numbers{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.numbers div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.numbers b{display:block;font-size:18px}
.repfoot{margin-top:14px}

footer.foot{max-width:880px;margin:0 auto;padding:16px 16px 40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
footer.foot p{margin:0 0 4px}

/* Print: browser "Save as PDF" is the report download */
@media print{
  @page{margin:14mm}
  body{background:#fff;font-size:12.5pt}
  header.top{position:static;border:0}
  .no-print,.badge-mock{display:none!important}
  main{max-width:none;padding:0}
  h2{break-after:avoid;margin-top:22px}
  .fix,.crit,.juror,.numbers div,tr{break-inside:avoid}
  .tbl-wrap{overflow:visible;border:0}
  table{min-width:0}
  .ba .b,.ba .a,.pill,.bar,.bar>i,mark.fill,.logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a[href]{text-decoration:none;color:inherit}
}
