.guestbook {
    --gb-accent: #2563eb;
    --gb-accent-soft: rgba(37, 99, 235, .09);
    --gb-panel: var(--card-bg, #fff);
    --gb-panel-alt: var(--table-header-bg, #f8fafc);
    --gb-text: var(--text-color, #172033);
    --gb-muted: #64748b;
    --gb-border: var(--border-color, #dbe3ee);
    --gb-radius: 16px;
    --gb-shadow: 0 14px 35px rgba(15, 23, 42, .08);
    max-width: 1040px;
    margin: 0 auto;
    color: var(--gb-text);
}

.guestbook[data-theme="miazma"] {
    --gb-accent: #3399cc;
    --gb-accent-soft: rgba(51, 153, 204, .18);
    --gb-panel: #071018;
    --gb-panel-alt: #102936;
    --gb-text: #f8fafc;
    --gb-muted: #b6d9e8;
    --gb-border: #2f8cbb;
    --gb-radius: 6px;
    --gb-shadow: 0 16px 40px rgba(0, 0, 0, .32);
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.guestbook[data-theme="terminal"] {
    --gb-accent: #22c55e;
    --gb-accent-soft: rgba(34, 197, 94, .12);
    --gb-panel: #07120b;
    --gb-panel-alt: #0b1b10;
    --gb-text: #d6fbe1;
    --gb-muted: #8dcf9f;
    --gb-border: #245e34;
    --gb-radius: 4px;
    --gb-shadow: 0 16px 40px rgba(0, 0, 0, .3);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.guestbook a { color: var(--gb-accent); }
.guestbook-shell { display: grid; gap: 1.25rem; }
.guestbook-card { background: var(--gb-panel); color: var(--gb-text); border: 1px solid var(--gb-border); border-radius: var(--gb-radius); box-shadow: var(--gb-shadow); }
.guestbook-hero { padding: 1.6rem; display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }
.guestbook-hero h1 { margin: 0 0 .45rem; font-size: clamp(1.8rem, 5vw, 2.6rem); }
.guestbook-hero p { margin: 0; max-width: 680px; color: var(--gb-muted); }
.guestbook-theme-list { display: flex; gap: .45rem; flex-wrap: wrap; }
.guestbook-theme-link { display: inline-flex; align-items: center; padding: .42rem .72rem; border: 1px solid var(--gb-border); border-radius: 999px; background: var(--gb-panel-alt); color: var(--gb-text) !important; text-decoration: none; font-size: .88rem; }
.guestbook-theme-link.is-active { border-color: var(--gb-accent); background: var(--gb-accent-soft); color: var(--gb-accent) !important; font-weight: 700; }
.guestbook-form-card { padding: 1.4rem; }
.guestbook-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.guestbook-field { display: grid; gap: .35rem; }
.guestbook-field label, .guestbook-field-label { font-weight: 700; }
.guestbook-field input, .guestbook-field textarea { width: 100%; border: 1px solid var(--gb-border); border-radius: 8px; padding: .72rem .8rem; background: var(--gb-panel-alt); color: var(--gb-text); font: inherit; }
.guestbook-field textarea { min-height: 140px; resize: vertical; }
.guestbook-field input:focus, .guestbook-field textarea:focus { outline: 2px solid var(--gb-accent-soft); border-color: var(--gb-accent); }
.guestbook-form-message { grid-column: 1 / -1; }
.guestbook-submit { margin-top: 1rem; border: 0; border-radius: 8px; padding: .72rem 1rem; background: var(--gb-accent); color: #fff; font-weight: 700; cursor: pointer; }
.guestbook-status, .guestbook-errors { padding: .85rem 1rem; border-radius: 8px; margin-bottom: 1rem; border: 1px solid var(--gb-border); background: var(--gb-panel-alt); }
.guestbook-errors { border-color: #b91c1c; }
.guestbook-errors ul { margin: .5rem 0 0 1.25rem; }
.guestbook-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.guestbook-list-header { display: flex; justify-content: space-between; gap: 1rem; align-items: end; }
.guestbook-list-header h2 { margin: 0; }
.guestbook-count { color: var(--gb-muted); }
.guestbook-entry { padding: 1.25rem 1.35rem; }
.guestbook-entry-meta { display: flex; align-items: baseline; gap: .65rem; flex-wrap: wrap; }
.guestbook-entry-city, .guestbook-entry time { color: var(--gb-muted); }
.guestbook-entry-country-flag { display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; line-height: 1; }
.guestbook-entry time { margin-left: auto; white-space: nowrap; font-size: .9rem; }
.guestbook-entry-message { margin-top: .8rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.guestbook-entry-homepage { display: inline-block; margin-top: .8rem; overflow-wrap: anywhere; }
.guestbook-entry-admin { margin-top: 1rem; }
.guestbook-empty { padding: 1.4rem; color: var(--gb-muted); }
.guestbook-embed-help { padding: 1.2rem 1.35rem; background: var(--gb-panel-alt); border-top: 1px solid var(--gb-border); color: var(--gb-muted); font-size: .92rem; }
.guestbook-embed-help code { color: var(--gb-text); }

@media (max-width: 700px) {
    .guestbook-form-grid { grid-template-columns: 1fr; }
    .guestbook-entry time { width: 100%; margin-left: 0; }
}
