body {
  font-family: 'Segoe UI', Arial, sans-serif;
  background: linear-gradient(120deg, #e0eafc 0%, #cfdef3 100%);
  color: #222;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

main {
  max-width: 950px;
  margin: 2.5rem auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(52, 152, 219, 0.13);
  padding: 2.5rem 2.5rem 2rem 2.5rem;
  position: relative;
  animation: fadeIn 0.7s cubic-bezier(.4,0,.2,1);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: none; }
}

h1 {
  text-align: center;
  color: #2d3a6a;
  margin-bottom: 2.5rem;
  letter-spacing: 0.04em;
  font-size: 2.3rem;
}

section {
  margin-bottom: 2.7rem;
}

.theory {
  background: linear-gradient(90deg, #e6f0fa 60%, #f7faff 100%);
  border-left: 6px solid #3498db;
  padding: 1.2rem 1.7rem;
  border-radius: 8px;
  margin-bottom: 0.7rem;
  box-shadow: 0 2px 8px rgba(52,152,219,0.06);
  transition: box-shadow 0.2s;
}
.theory:hover {
  box-shadow: 0 4px 16px rgba(52,152,219,0.13);
}

.code-example {
  background: #23272e;
  color: #333;
  border-radius: 8px;
  padding: 1.2rem 1.7rem;
  margin-bottom: 1.7rem;
  box-shadow: 0 2px 8px rgba(52,152,219,0.10);
  border: 1.5px solid #3a3a7a22;
  transition: box-shadow 0.2s, border 0.2s;
}
.code-example:hover {
  box-shadow: 0 6px 24px #3498db33;
  border: 1.5px solid #3498db;
}

.code-example pre {
  background: #181a20;
  color: #e6db74;
  padding: 0.85rem 1.1rem;
  border-radius: 5px;
  overflow-x: auto;
  font-size: 1.08rem;
  margin-bottom: 0.7rem;
  font-family: 'Fira Mono', 'Consolas', monospace;
  box-shadow: 0 1px 4px #0001;
}

.box-demo, .border-demo, .border-shorthand, .padding-demo, .padding-shorthand, .margin-demo, .margin-auto, .negative-margin, .content-box-demo, .border-box-demo {
  display: block;
  margin: 1.2rem auto 1.2rem auto;
  padding: 20px;
  width: 220px;
  min-height: 48px;
  background: linear-gradient(120deg, #e6f0fa 60%, #f7faff 100%);
  border-radius: 12px;
  font-weight: 500;
  text-align: center;
  font-size: 1.08rem;
  box-shadow: 0 2px 12px #3498db22;
  border: 4px solid #3498db;
  transition: box-shadow 0.2s, border 0.2s, transform 0.18s;
  cursor: pointer;
}
.box-demo:hover, .border-demo:hover, .border-shorthand:hover, .padding-demo:hover, .padding-shorthand:hover, .margin-demo:hover, .margin-auto:hover, .negative-margin:hover, .content-box-demo:hover, .border-box-demo:hover {
  box-shadow: 0 8px 32px #3498db33;
  border: 4px solid #217dbb;
  transform: scale(1.045);
  background: linear-gradient(120deg, #eaf6ff 60%, #e6f0fa 100%);
}

.border-demo {
  border-width: 3px;
  border-style: dashed;
  border-color: #e67e22;
  border-radius: 16px;
}
.border-shorthand {
  border: 2px solid #2ecc71;
}

.padding-demo {
  padding-top: 30px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-left: 40px;
}
.padding-shorthand {
  padding: 10px 30px;
}

.margin-demo {
  margin-top: 40px;
  margin-right: 10px;
  margin-bottom: 5px;
  margin-left: 40px;
}
.margin-auto {
  margin: 0 auto 1.2rem auto;
}
.negative-margin {
  margin-top: -20px;
}

.content-box-demo {
  width: 220px;
  padding: 20px;
  border: 4px solid #3498db;
  box-sizing: content-box;
  background: #eaf6ff;
  margin-bottom: 1rem;
  text-align: center;
}
.border-box-demo {
  width: 220px;
  padding: 20px;
  border: 4px solid #e67e22;
  box-sizing: border-box;
  background: #fffbe6;
  text-align: center;
}

nav {
  background: #e6f0fa;
  padding: 1.1rem 0 1.1rem 0.5rem;
  text-align: left;
  border-bottom: 1px solid #d0e2f2;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px #3498db11;
}

.back-btn {
  background: linear-gradient(90deg, #3498db 60%, #217dbb 100%);
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 0.6rem 1.4rem;
  font-size: 1.08rem;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
  box-shadow: 0 2px 8px #3498db22;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.back-btn:hover, .back-btn:focus {
  background: linear-gradient(90deg, #217dbb 60%, #3498db 100%);
  outline: none;
  box-shadow: 0 4px 16px #3498db33;
  transform: scale(1.06);
}

@media (max-width: 700px) {
  main {
    padding: 1.2rem 0.3rem;
  }
  h1 {
    font-size: 1.3rem;
  }
  .box-demo, .content-box-demo, .border-box-demo {
    width: 98%;
    min-width: 0;
    font-size: 1rem;
  }
}
