.guestbook-wrap{max-width:640px}
.gb-form{background:var(--surface);border:1px solid var(--surface-hi);border-radius:14px;flex-direction:column;gap:.85rem;margin-bottom:2rem;padding:1.1rem 1.2rem;display:flex}
.gb-field{flex-direction:column;gap:.3rem;display:flex;position:relative}
.gb-field label{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem}
.gb-optional{color:var(--text-faint)}
.gb-form input,.gb-form textarea{color:var(--text);background:var(--bg-raised);border:1px solid var(--surface-hi);resize:vertical;border-radius:9px;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.gb-form input:focus,.gb-form textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}
.gb-counter{color:var(--text-faint);align-self:flex-end;font-size:.7rem}
.gb-turnstile:empty{display:none}
.gb-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}
.gb-form button{color:var(--bg-deep);background:var(--accent);border:none;border-radius:9px;padding:.55rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:transform .12s,opacity .12s}
.gb-form button:hover:not(:disabled){transform:translateY(-1px)}
.gb-form button:disabled{opacity:.55}
.gb-status{color:var(--text-muted);font-size:.82rem}
.gb-status.gb-err{color:var(--danger)}
.gb-status.gb-ok{color:var(--success)}
.gb-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
.gb-entries{flex-direction:column;gap:.9rem;padding-bottom:4.5rem;display:flex}
.gb-empty{color:var(--text-muted);text-align:center;font-size:.9rem}
.gb-entry{background:var(--surface);border:1px solid var(--surface-hi);border-radius:12px;padding:.85rem 1rem;transition:border-color .15s,transform .15s}
.gb-entry:hover{border-color:var(--accent);transform:translateY(-2px)}
.gb-entry-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.35rem;display:flex}
.gb-entry-name{color:var(--accent);font-weight:700}
.gb-entry-name a{color:inherit;border-bottom:1px dotted var(--text-dim);text-decoration:none}
.gb-entry-name a:hover{border-bottom-color:var(--accent)}
.gb-entry-time{color:var(--text-faint);margin-left:auto;font-size:.72rem}
.gb-entry-msg{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.5}
