
:root{
  --lila:#7d4ac7; --lila-700:#6a39b4; --bg:#faf8ff; --text:#1a1128; --muted:#5b4d6e;
  --card:#ffffff; --border:#e8defa;
}
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg),#fff);
}
.site-header{
  padding:1.5rem 1rem 2rem;
  text-align:left;
  background:linear-gradient(180deg,var(--lila),var(--lila-700));
  color:#fff;
  margin-bottom:2rem;
}
.brand{display:flex;gap:1rem;align-items:center;max-width:62rem;margin:0 auto}
.logo{height:56px;width:auto;border-radius:6px;background:#fff;padding:.25rem}
.titles h1{margin:.25rem 0 0; font-size:clamp(1.1rem,2.4vw,1.8rem);font-weight:800;letter-spacing:.2px}
.titles .sub{margin:.35rem 0 0;opacity:.95;font-size:clamp(.9rem,1.8vw,1.05rem)}
.container{max-width:880px;margin:0 auto 2rem;padding:0 1rem}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.5rem;
  box-shadow:0 6px 20px rgba(125,74,199,.12);
}
.label{display:block;font-weight:700;margin:0 0 .5rem .1rem}
.input-row{display:flex;gap:.5rem;align-items:center;width:100%;margin-top:.25rem}
.input-row input{
  flex:1;
  border:1.5px solid var(--border);
  border-radius:14px;
  padding:.85rem 1rem;
  font-size:1rem;
  outline:none;
  background:#fff;
}
.input-row input:focus{border-color:var(--lila)}
.btn{
  background:var(--lila);
  color:#fff;
  border:none;
  border-radius:14px;
  padding:.9rem 1.1rem;
  font-weight:700;
  cursor:pointer;
  transition:transform .03s ease,box-shadow .2s ease;
  box-shadow:0 6px 18px rgba(125,74,199,.25);
}
.btn:active{transform:translateY(1px)}
.status{margin-top:.75rem;color:var(--muted);font-weight:600}
.result{margin-top:1rem}
.result .ok{border-left:6px solid var(--lila);padding-left:.75rem}
.result .warn{border-left:6px solid #b45309;padding-left:.75rem}
.result h3{margin:.25rem 0 .75rem;font-size:1.15rem}
.kv{display:grid;grid-template-columns:150px 1fr;gap:.35rem .75rem}
.kv .k{font-weight:700;color:var(--muted)}
.kv .v{font-weight:600}
.hidden{display:none}
.site-footer{
  padding:1.25rem;
  text-align:center;
  color:#fff;
  background:linear-gradient(180deg,var(--lila-700),var(--lila));
  font-weight:600;
}
@media (max-width:560px){
  .brand{flex-direction:column;align-items:flex-start}
  .kv{grid-template-columns:120px 1fr}
}
