*{box-sizing:border-box;margin:0;padding:0}
:root{
  --p:#7457d9;--pd:#493783;--pink:#f28bab;--mint:#69bbaa;
  --text:#3e4050;--muted:#747686;--bg:#f8f7fc;--white:#fff;
  --line:#ece8f4;--danger:#c94c67;--shadow:0 18px 45px rgba(67,49,126,.09)
}
body{font-family:Poppins,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.page{max-width:1500px;margin:auto;padding:24px 30px 45px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 20px}
.brand strong{color:var(--pd)}
.back{color:var(--muted);font-size:.7rem}
.hero{
  padding:31px 34px;display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:25px;border-radius:29px;
  background:linear-gradient(130deg,#eee8ff,#fff0f5 55%,#e9f8f3);
  box-shadow:var(--shadow)
}
.hero span,.section-heading span,.result-heading span{
  color:var(--p);font-size:.66rem;font-weight:700;letter-spacing:.08em
}
.hero h1{max-width:900px;margin-top:7px;color:var(--pd);font-size:2rem}
.hero p{max-width:900px;margin-top:9px;color:var(--muted);line-height:1.6}
.hero-status{
  min-width:160px;padding:22px;text-align:center;border-radius:20px;
  background:rgba(255,255,255,.76)
}
.hero-status strong{display:block;color:var(--p);font-size:1.8rem}
.hero-status small{color:var(--muted)}
.toolbar{
  margin-top:20px;padding:16px 18px;display:flex;align-items:center;
  justify-content:space-between;gap:20px;border:1px solid var(--line);
  border-radius:18px;background:#fff
}
.toolbar p{margin-top:3px;color:var(--muted);font-size:.65rem}
.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}
.toolbar-actions button,.file-button{
  padding:10px 13px;border:1px solid var(--line);border-radius:10px;
  background:#fff;font-size:.68rem;font-weight:600
}
.toolbar-actions .primary{border-color:var(--p);background:var(--p);color:#fff}
.layout{margin-top:20px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px}
.panel{padding:23px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(67,49,126,.05)}
.source-panel{height:fit-content;position:sticky;top:15px}
.source-panel h2{font-size:1rem}
.summary-row{margin-top:15px}
.summary-row small,.performance-box small{display:block;color:var(--p);font-size:.58rem;font-weight:700}
.summary-row strong{display:block;margin-top:4px;font-size:.74rem}
.performance-box{margin-top:17px;padding:14px;border-radius:13px;background:#f3effd}
.performance-box p{margin-top:6px;color:var(--muted);font-size:.68rem;line-height:1.55}
.warning-box{margin-top:17px;padding:14px;border-radius:13px;background:#fff6dc}
.warning-box strong{font-size:.72rem}
.warning-box p{margin-top:5px;color:var(--muted);font-size:.64rem;line-height:1.5}
.section-heading h2{margin-top:4px;color:var(--pd);font-size:1.2rem}
.formula{
  margin-top:18px;display:grid;grid-template-columns:1fr auto 1.4fr auto 1.4fr;
  gap:10px;align-items:center
}
.formula>div{min-width:0}
.formula span{display:block;margin-bottom:6px;color:var(--p);font-size:.58rem;font-weight:700}
.formula select,.formula textarea,.field select,.field textarea{
  width:100%;padding:10px;border:1px solid var(--line);
  border-radius:10px;background:#faf9fd;outline:0
}
.formula textarea,.field textarea{resize:vertical;line-height:1.5}
.formula b{color:#c5bed8}
.secondary-button{
  margin-top:12px;padding:10px 13px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--pd);font-size:.67rem;font-weight:600
}
.field{margin-top:16px}
.field label{display:block;margin-bottom:7px;font-size:.69rem;font-weight:600}
.coherence{margin-top:17px;padding:15px;border-radius:14px;background:#eef9f6}
.coherence strong{display:block;margin-bottom:8px;font-size:.75rem}
.coherence label{display:block;margin-top:7px;font-size:.66rem}
.next-heading{margin-top:27px}
.instrument-grid{margin-top:15px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.instrument-card{
  position:relative;padding:15px;display:flex;flex-direction:column;
  border:2px solid var(--line);border-radius:14px;cursor:pointer
}
.instrument-card input{position:absolute;opacity:0}
.instrument-card>span{font-size:1.35rem}
.instrument-card strong{margin-top:8px;font-size:.73rem;color:var(--pd)}
.instrument-card small{margin-top:4px;color:var(--muted);font-size:.6rem;line-height:1.45}
.instrument-card:has(input:checked){border-color:var(--p);background:#faf8ff}
.advice-box{margin-top:14px;padding:13px;border-radius:12px;background:#f3effd;color:var(--muted);font-size:.65rem;line-height:1.55}
.full-button{width:100%;margin-top:18px;padding:12px;border:0;border-radius:11px;background:var(--p);color:#fff;font-weight:700}
.result-panel{margin-top:21px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.result-heading h2{margin-top:4px;color:var(--pd)}
.result-heading button{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.65rem}
.result-panel table{width:100%;margin-top:18px;border-collapse:collapse;font-size:.67rem}
.result-panel th,.result-panel td{padding:9px;border:1px solid #aaa;vertical-align:top;text-align:left}
.result-panel th{background:#efbed4}
.coherence-result{margin-top:16px;padding:14px;border-radius:12px;font-size:.68rem;line-height:1.55}
.coherence-result.ok{background:#e9f8f3;color:#287565}
.coherence-result.bad{background:#fde8ed;color:#a43d56}
@media(max-width:1000px){
  .layout{grid-template-columns:1fr}
  .source-panel{position:static}
  .formula{grid-template-columns:1fr}
  .formula b{display:none}
}
@media(max-width:650px){
  .page{padding:15px}
  .hero{grid-template-columns:1fr}
  .hero-status{display:none}
  .toolbar{align-items:flex-start;flex-direction:column}
  .instrument-grid{grid-template-columns:1fr}
  .result-panel{overflow-x:auto}
}
@media print{
  .topbar,.hero,.toolbar,.layout{display:none}
  .page{max-width:none;padding:0}
  .result-panel{border:0;box-shadow:none}
}
