
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#f5f7fa;
  margin:0;
  color:#34495e;
}
.top{
  background:#0B1A2D;
  color:white;
  padding:22px 28px;
}
.top h1{margin:0 0 4px 0;font-size:28px}
.top p{margin:0;opacity:.86}
.wrap{
  max-width:1440px;
  margin:auto;
  padding:30px;
}
.layer{
  margin-bottom:28px;
}
.layer-head{
  background:white;
  padding:14px 18px;
  border-radius:12px;
  box-shadow:0 3px 8px rgba(0,0,0,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
}
.layer-title{
  font-size:18px;
  font-weight:700;
  color:#203040;
}
.layer-note{
  font-size:13px;
  color:#6c7a88;
  margin-top:4px;
}
.chevron{
  font-size:18px;
  color:#6c7a88;
  min-width:18px;
  text-align:center;
  transition:transform .15s ease;
}
.layer.collapsed .chevron{
  transform:rotate(-90deg);
}
.grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:28px;
  margin-top:22px;
}
.tile{
  min-width:0;
  height:170px;
  border-radius:16px;
  padding:18px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  transition:.15s;
}
.tile:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 35px rgba(0,0,0,.12);
}
.tile-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.tile strong{
  font-size:15px;
  font-weight:600;
  line-height:1.3;
  color:#34495e;
}
.tile .desc{
  font-size:13px;
  line-height:1.45;
  opacity:.82;
  color:#4f6273;
}
.badge{
  background:white;
  padding:4px 10px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  color:#34495e;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}
.red{background:#f6d2d2}
.orange{background:#f7ddb8}
.yellow{background:#f7efb8}
.green{background:#d5ead7}
.purple{background:#e5daf6}
.gray{background:#e2e8f0}
.layer.collapsed .grid{
  display:none;
}
@media (max-width:1350px){
  .grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width:800px){
  .wrap{padding:18px}
  .grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr;}
}
