/* Design reminder: Editorial Bloom — use calm editorial spacing, pink-to-lilac surfaces, clear blockchain facts, and a warm community-book moment without pretending browser-only notes are public. */
.keep-layout { align-items: start; }
.keep-shell { overflow: hidden; }
.keep-header-note { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.keep-header-note span { padding: 7px 10px; color: var(--blog-secondary); background: var(--blog-lilac); border: 1px solid rgba(106,0,244,.1); border-radius: 999px; font-size: .7rem; font-weight: 800; }
.keep-shell .article-body section { margin-top: 42px; }
.keep-shell .article-body section:first-child { margin-top: 0; }
.keep-shell .article-body h2 { margin-top: 0; }
.keep-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0 14px; }
.keep-step { padding: 17px; background: linear-gradient(145deg, var(--blog-pink), var(--blog-lilac)); border: 1px solid rgba(106,0,244,.1); border-radius: 15px; }
.keep-step span { color: var(--blog-primary); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.keep-step h3 { margin: 13px 0 7px; color: var(--blog-ink); font-size: 1.12rem; }
.keep-step p { margin: 0; color: var(--blog-muted); font-size: .82rem; line-height: 1.55; }
.keep-inline-link, .source-links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.keep-inline-link a, .source-links a { color: var(--blog-primary); font-size: .82rem; font-weight: 850; text-decoration: none; }
.keep-inline-link a:hover, .source-links a:hover { color: var(--blog-secondary); }
.keep-callout { margin-top: 20px; }
.keep-fee-panel { padding: 19px 20px; background: linear-gradient(135deg, #fff7e9, var(--blog-pink)); border: 1px solid rgba(255,77,109,.2); border-left: 4px solid var(--blog-primary); border-radius: 12px; }
.keep-fee-panel strong { color: var(--blog-primary); }
.keep-fee-panel p { margin: 10px 0 0; color: #5f4d5d; font-size: .94rem; line-height: 1.65; }
.keep-check-list { margin: 0 0 18px; padding-left: 23px; color: #493c4c; }
.keep-check-list li { margin: 9px 0; padding-left: 4px; }
.guestbook-section { padding: 25px; background: linear-gradient(145deg, #fff9fb, #f4edff); border: 1px solid rgba(106,0,244,.15); border-radius: 19px; }
.guestbook-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.guestbook-heading h2 { margin-bottom: 0 !important; }
.guestbook-mark { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; color: #fff; background: linear-gradient(135deg, var(--blog-primary), var(--blog-secondary)); border-radius: 15px; font-size: 1.5rem; transform: rotate(-7deg); }
.guestbook-intro { margin: 13px 0 19px; color: var(--blog-muted); font-size: .88rem; line-height: 1.6; }
.guestbook-fields { display: grid; gap: 13px; }
.guestbook-form label { display: grid; gap: 7px; color: var(--blog-ink); font-size: .78rem; font-weight: 850; }
.guestbook-form label em { color: var(--blog-muted); font-size: .7rem; font-style: normal; font-weight: 600; }
.guestbook-form input, .guestbook-form textarea { width: 100%; padding: 12px 13px; color: var(--blog-ink); background: rgba(255,255,255,.86); border: 1px solid rgba(83,49,94,.16); border-radius: 11px; font: inherit; font-weight: 500; resize: vertical; }
.guestbook-form input:focus, .guestbook-form textarea:focus { outline: 3px solid rgba(255,77,109,.2); outline-offset: 2px; border-color: var(--blog-primary); }
.guestbook-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-top: 15px; }
.guestbook-actions button { padding: 11px 15px; color: #fff; background: linear-gradient(135deg, var(--blog-primary), var(--blog-secondary)); border: 0; border-radius: 999px; font-size: .78rem; font-weight: 850; cursor: pointer; }
.guestbook-actions button:hover { transform: translateY(-2px); }
.guestbook-actions span { color: var(--blog-muted); font-size: .72rem; }
.guestbook-feedback { min-height: 1.3em; margin: 10px 0 0; color: var(--blog-secondary); font-size: .76rem; }
.guestbook-list { display: grid; gap: 11px; margin-top: 5px; }
.guestbook-empty { margin: 0; padding: 17px; color: var(--blog-muted); background: rgba(255,255,255,.58); border: 1px dashed rgba(106,0,244,.2); border-radius: 12px; font-size: .82rem; line-height: 1.55; }
.guestbook-entry { padding: 15px 16px; background: rgba(255,255,255,.72); border: 1px solid rgba(106,0,244,.1); border-radius: 13px; }
.guestbook-entry-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.guestbook-entry-top strong { color: var(--blog-ink); font-size: .82rem; }
.guestbook-entry-top time { color: var(--blog-muted); font-size: .68rem; }
.guestbook-entry p { margin: 8px 0 0; color: #493c4c; font-size: .84rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.keep-faq details { padding: 13px 0; border-bottom: 1px solid var(--blog-border); }
.keep-faq details:first-of-type { border-top: 1px solid var(--blog-border); }
.keep-faq summary { color: var(--blog-ink); cursor: pointer; font-size: .95rem; font-weight: 850; }
.keep-faq details p { margin: 10px 0 1px; color: var(--blog-muted); font-size: .86rem; line-height: 1.65; }
.keep-aside { position: sticky; top: 18px; }
.keep-aside-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 21px; color: #fff; background: linear-gradient(135deg, var(--blog-secondary), var(--blog-primary)); border-radius: 50%; font-size: 1.25rem; }
.keep-aside a { display: block; margin-top: 12px; }
.guestbook-layout .article-header { margin-bottom: 25px; }
.guestbook-section-standalone { padding: 20px; }
.guestbook-guidance { margin-top: 24px !important; }
@media (min-width: 821px) { .keep-shell .article-body { font-size: 1.04rem; } .keep-step p, .guestbook-intro, .keep-fee-panel p, .keep-check-list, .keep-faq details p { font-size: .96rem; } .keep-step h3 { font-size: 1.25rem; } .keep-inline-link a, .source-links a { font-size: .9rem; } .guestbook-form input, .guestbook-form textarea { font-size: .9rem; } .guestbook-form label { font-size: .86rem; } .guestbook-actions button { font-size: .86rem; } .guestbook-actions span, .guestbook-feedback { font-size: .8rem; } .guestbook-entry-top strong { font-size: .9rem; } .guestbook-entry p { font-size: .94rem; } .keep-faq summary { font-size: 1.02rem; } }
@media (max-width: 820px) { .keep-step-grid { grid-template-columns: 1fr; } .keep-aside { position: static; } }
@media (max-width: 560px) { .keep-header-note span { font-size: .64rem; } .guestbook-section { padding: 21px 17px; } .guestbook-heading { align-items: flex-start; } .guestbook-mark { width: 42px; height: 42px; flex-basis: 42px; font-size: 1.25rem; } .guestbook-actions { align-items: stretch; flex-direction: column; } .guestbook-actions button { width: 100%; } }
