.guestbook-section{min-height:100vh;padding:120px 1.5rem 4rem}.guestbook-content{max-width:700px;margin:0 auto}.gb-header{text-align:center;margin-bottom:3rem}.gb-icon{margin-bottom:1rem}.gb-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.gb-subtitle{color:var(--color-text-muted);font-size:1.05rem}.gb-tagline{margin-top:.75rem;color:var(--color-text-muted);font-size:.85rem;font-style:italic}.gb-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:2rem;margin-bottom:3rem;backdrop-filter:blur(8px)}.gb-form-success{text-align:center;padding:2rem 0}.gb-form-success svg{margin:0 auto 1rem}.gb-form-success h3{font-size:1.3rem;color:var(--color-text);margin-bottom:.5rem}.gb-form-success p{color:var(--color-text-muted);margin-bottom:1.5rem}.gb-field{margin-bottom:1.25rem}.gb-field label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.4rem}.gb-field input,.gb-field textarea{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.gb-field input:focus,.gb-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.gb-field input::placeholder,.gb-field textarea::placeholder{color:var(--color-text-muted)}.gb-field textarea{resize:vertical;min-height:100px}.gb-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gb-charcount{display:block;text-align:right;font-size:.75rem;color:var(--color-text-muted);margin-top:.3rem}.gb-form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5;padding:.75rem 1rem;border-radius:10px;font-size:.9rem;margin-bottom:1rem}.gb-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.gb-btn-primary{background:var(--color-primary);color:#fff;width:100%;justify-content:center}.gb-btn-primary:hover{background:var(--color-primary-hover)}.gb-btn-primary:disabled{opacity:.6;cursor:not-allowed}.gb-btn-secondary{background:var(--color-surface);color:var(--color-text)}.gb-btn-secondary:hover{background:var(--color-border)}.gb-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:gb-spin .6s linear infinite}@keyframes gb-spin{to{transform:rotate(360deg)}}.gb-entries-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.gb-entries-header h2{font-size:1.2rem;font-weight:600;color:var(--color-text)}.gb-count{font-size:.85rem;color:var(--color-text-muted);background:var(--color-surface);padding:.25rem .75rem;border-radius:999px}.gb-entry{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:.75rem;transition:border-color .2s}.gb-entry:hover{border-color:#6366f133}.gb-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.gb-entry-name{font-weight:600;color:var(--color-text);font-size:.95rem}.gb-entry-date{font-size:.75rem;color:var(--color-text-muted)}.gb-entry-message{color:var(--color-text-muted);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.gb-entry-meta{margin-top:.5rem;display:flex;gap:1rem;font-size:.75rem}.gb-entry-meta a,.gb-entry-meta span{color:var(--color-text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.gb-entry-meta a:hover{color:var(--color-primary)}.gb-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.gb-loading{text-align:center;padding:3rem 1rem;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:.75rem}@media(max-width:640px){.guestbook-section{padding:100px 1rem 3rem}.gb-title{font-size:1.8rem}.gb-row{grid-template-columns:1fr;gap:0}.gb-form-card{padding:1.25rem}}
