body {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    align-items: flex-start;
    padding: 10px;
    background-image: url("/assets/pic/star.gif");
    background-color:   #000;
}

header, main, footer {
    margin: 5px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

header, footer {
    flex: 2;
}

main {
    flex: 3;
}

div {
    text-align: left;
    background-color: #b1cfd8;
    box-shadow: 0 0 3px 3px rgba(135, 182, 196, 0.95);
    box-sizing: border-box;
    border: 1px solid;
    border-radius: 10px;
    width: 100%;
    padding: 0 20px;
    overflow: hidden;
}

h1 {
    text-align: center;
    padding: 30px;
    position: relative;
}
  
h1::before, h1::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 10px;
    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 10" xmlns="http://www.w3.org/2000/svg"><path d="M0,5 Q25,10 50,5 T100,5" fill="none" stroke="%236a8498" stroke-width="2"/></svg>');
}
  
h1::before { top: 0; }
h1::after { bottom: 0; }

@keyframes wave {
    from { background-position-x: 0; }
    to { background-position-x: 100px; }
}

a {
    background-color: #77abbb;
    color: black;
    text-decoration: none;
}

pre {
    padding: 10px;
    background: #77abbb;
    border: 1px solid #000;
    overflow-x: auto;
    white-space: pre;
    word-wrap: normal;
    width: 0;
    min-width: calc(100% - 20px);
}

details > summary {
    cursor: zoom-in;
}

details[open] > summary {
    cursor: zoom-out;
}

.rotating-pic-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.rotating-pic {
    width: 100%;
    height: 100%;
    animation: swing 1.5s ease-in-out infinite alternate;
}

@keyframes swing {
    0% { transform: rotate(-10deg); }
    100% { transform: rotate(10deg); }
}

.pulse-container {
    text-align: center;
}

.pulse-text {
    font-weight: bold;
    color: purple;
    animation: scalePulse 2s infinite ease-in-out;
}

@keyframes scalePulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

@media (max-width: 800px) {
	header, footer, main {
		flex: 1 100%;
	}
}