body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #222;
    color: #eee;
    margin: 0;
    padding: 0;
}

header {
    background: #111;
    padding: 20px 0 10px 0;
    text-align: center;
}

header h1 {
    margin: 0;
    font-size: 2em;
}

nav {
    margin-top: 10px;
}

nav a {
    color: #30e060;
    text-decoration: none;
    margin: 0 15px;
    font-weight: bold;
}

nav a:hover {
    text-decoration: underline;
}

section {
    margin: 30px auto;
    max-width: 800px;
    padding: 20px;
    background: #292929;
    border-radius: 10px;
    box-shadow: 0 0 10px #111;
}

h2 {
    color: #30e060;
    margin-top: 0;
}

figure {
    margin: 20px 0;
    text-align: center;
}

figure img {
    max-width: 90%;
    border: 2px solid #444;
    border-radius: 5px;
    background: #1a1a1a;
}

figcaption {
    color: #aaa;
    font-size: 0.95em;
    margin-top: 5px;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: #232323;
    color: #ececec;
    margin-top: 20px;
}

th, td {
    border: 1px solid #444;
    padding: 10px;
    text-align: left;
}

th {
    background: #181818;
    color: #30e060;
}


footer {
    text-align: center;
    padding: 20px;
    background: #111;
    color: #666;
    margin-top: 40px;
    font-size: 0.9em;
}

figure {
    position: relative;
    display: inline-block;
    margin: 15px 10px 15px 10px;
}
.expand-img-checkbox {
    display: none;
}
figure img {
    max-width: 110px; 
    height: auto;
    cursor: pointer;
    border-radius: 6px;
    border: 2px solid #444;
    transition: box-shadow 0.3s, transform 0.5s cubic-bezier(.5,1,0.5,1);
    box-shadow: 0 2px 10px #0005;
}
.expand-img-checkbox:checked + label img {
    position: fixed;
    top: 50%;
    left: 50%;
    max-width: 80vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%) scale(1.2);
    z-index: 9999;
    box-shadow: 0 8px 48px #000a, 0 0 0 100vw #111d;
    border: 3px solid #36e07a;
}
.expand-img-checkbox:checked + label {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(26,26,26,0.8);
    z-index: 9990;
    display: flex; align-items: center; justify-content: center;
}
.expand-img-checkbox:checked ~ figcaption {
    position: fixed;
    left: 50%;
    top: 85vh;
    z-index: 9991;
    color: #eee;
    background: #222a;
    padding: 8px 24px;
    border-radius: 10px;
    transform: translateX(-50%);
    font-size: 1.1em;
}

.egg-btn {
  background: none;
  color: #666;
  border: none;
  padding: 4px 10px;
  font-size: 1em;
  cursor: pointer;
  opacity: 0.3;
  transition: opacity 0.3s;
  margin-left: 14px;
}
.egg-btn:hover, .egg-btn:focus {
  opacity: 0.7;
  color: #36e07a;
}
.egg-reveal {
  display: none;
  margin-left: 10px;
  color: #30e060;
  font-size: 1.1em;
}
.egg-btn:focus + .egg-reveal,
.egg-btn:active + .egg-reveal {
  display: inline;
  animation: pulseName 1.2s;
}
@keyframes pulseName {
  0% {opacity:0;}
  50% {opacity:1; text-shadow:0 0 20px #36e07a;}
  100% {opacity:1;}
}
