
body {
    font-family: "Comic Sans MS", "Trebuchet MS", sans-serif;
    background-color: #4fb339;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%239fc5e8' fill-opacity='0.43' fill-rule='evenodd'/%3E%3C/svg%3E");
    cursor: crosshair;
}
.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}
.guestbook-form-container {
    background: linear-gradient(to bottom, #ff1500, #00b7ff);
    padding: 25px;
    border-radius: 0;
    border: 3px solid #9fc5e8;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.3);
}
h1 {
    color: #0066cc;
    margin-bottom: 30px;
    text-shadow: 2px 2px 3px #cccccc;
    font-size: 32px;
    letter-spacing: 1px;
    font-weight: bold;
}
h1:before, h1:after {
    content: "✧";
    color: #ff6699;
    margin: 0 10px;
}
.welcome-message {
    text-align: center;
    margin-bottom: 20px;
    font-size: 12px;
}
.form-group {
    margin-bottom: 15px;
}
label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333399;
}
input, textarea {
    width: 100%;
    padding: 8px;
    border: 2px inset #ccccff;
    border-radius: 0;
    font-family: inherit;
    font-size: 14px;
    box-sizing: border-box;
    background-color: #f9f9ff;
}
textarea {
    height: 80px;
    resize: vertical;
}
button {
    background: linear-gradient(to bottom, #ff9900, #ff6600);
    color: white;
    padding: 10px 20px;
    border: 2px outset #ff9900;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    font-family: inherit;
}
button:hover {
    background: linear-gradient(to bottom, #ffaa00, #ff7700);
}
button:active {
    border-style: inset;
}
.error {
    color: #cc0000;
    margin: 10px 0;
    padding: 10px;
    background-color: #fff0f0;
    border: 1px solid #ffcccc;
    border-radius: 0;
}
.entries {
    margin-top: 40px;
}
.entry {
    background-color: #f0f8ff;
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid #99ccff;
    border-radius: 0;
}
.entry-header {
    font-weight: bold;
    color: #003366;
    margin-bottom: 5px;
    border-bottom: 1px dotted #99ccff;
    padding-bottom: 5px;
}
.entry-date {
    font-size: 11px;
    color: #666699;
    margin-left: 10px;
}
.entry-message {
    margin-top: 10px;
    line-height: 1.5;
    color: #333333;
}
.no-entries {
    text-align: center;
    color: #666699;
    font-style: italic;
    margin-top: 20px;
    padding: 20px;
    border: 1px dashed #99ccff;
}
.footer {
    text-align: center;
    margin-top: 30px;
    font-size: 12px;
    border-top: 1px dotted #99ccff;
    padding-top: 15px;
}
.construction-image {
    height: 20px;
    width: auto;
}
.construction-image-left {
    margin-right: 5px;
}
.construction-image-right {
    margin-left: 5px;
}
.construction-text {
    vertical-align: top;
}
a {
    color: #0066cc;
    text-decoration: underline;
}
a:hover {
    color: #ff6600;
}
.toggle-button-container {
    text-align: center;
    margin-bottom: 20px;
}
.toggle-button {
    background: linear-gradient(to bottom, #6699cc, #336699);
    color: white;
    padding: 10px 20px;
    border: 2px outset #6699cc;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    font-family: inherit;
}
.toggle-button:hover {
    background: linear-gradient(to bottom, #77aadd, #4477aa);
}
.toggle-button:active {
    border-style: inset;
}
.close-button {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    font-weight: bold;
    color: #999999;
    cursor: pointer;
    line-height: 20px;
    width: 20px;
    height: 20px;
    text-align: center;
}
.close-button:hover {
    color: #cc0000;
}
.guestbook-form-container {
    position: relative;
}
/* Recreate the classic <blink> tag effect */
blink {
    animation: blinker 1s step-end infinite;
    font-weight: bold;
    color: #ff3366;
}
@keyframes blinker {
    50% { opacity: 0; }
}
