/* Stitch project 2988842358746138145: desktop and mobile are distinct layouts.
   Scoped IDs keep legacy page/theme rules from changing these measurements. */
body[data-wedding-ui][data-page="message-board"] {
  --rose-gold:#6b2d38; --color-brand-action:#6b2d38;
  background:radial-gradient(circle at 10% 0%,#fff5f3,transparent 40%),radial-gradient(circle at 90% 15%,#faf2ed,transparent 45%),radial-gradient(circle at 50% 60%,#fff9f7,transparent 60%),#faf6f2;
  color:#2d2426;
}
body[data-page="message-board"] .mobile-label { display:none; }
body[data-wedding-ui][data-page="message-board"] > header.guestbook-topbar {
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  position:sticky; top:16px; z-index:30; min-height:58px; max-width:1152px;
  margin:20px auto 0; padding:12px 32px; gap:12px; text-align:left;
  border:1px solid #ecdcd6; border-radius:999px; background:#ffffffd9;
  backdrop-filter:blur(12px); box-shadow:0 4px 20px #6b2d380f;
}
.guestbook-brand { display:flex; align-items:center; gap:12px; margin-right:auto; text-decoration:none; font:700 14px/1.5 "Home Serif TC",serif; letter-spacing:.22em; color:#3d161f; }
.guestbook-brand small { display:block; color:#7a6065; font:10px/1.5 sans-serif; letter-spacing:.1em; }
body[data-wedding-ui][data-page="message-board"] .guestbook-back,
body[data-wedding-ui][data-page="message-board"] .guestbook-home {
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
  padding:8px 16px; min-height:36px; border:1px solid #e4d1d4; border-radius:999px;
  font-family:inherit; font-weight:500; font-size:13px; line-height:1.5; text-decoration:none; white-space:nowrap;
  color:#6b2d38; background:#fff; cursor:pointer;
}
body[data-wedding-ui][data-page="message-board"] .guestbook-home { background:#6b2d38; color:#fff; border-color:#6b2d38; }
.guestbook-back > span:first-child { display:none; }
.guestbook-mobile-title { display:none; }
body[data-wedding-ui][data-page="message-board"] #guestbook-main { max-width:1024px; width:100%; margin:0 auto; padding:32px 24px 0; }
#guestbook-main .page-header { padding:0; margin:0 0 40px; min-height:0; background:none; box-shadow:none; text-align:center; }
#guestbook-main .page-header .icon { position:relative; display:grid; place-items:center; width:64px; height:64px; margin:0 auto 16px; padding:5px; border:1px solid #e9c39b; border-radius:50%; background:#ffffffb3; box-shadow:0 6px 16px #6b2d3826; outline:1px dashed #d4af3799; outline-offset:8px; }
#guestbook-main .icon > span { display:grid; place-items:center; width:100%; height:100%; border-radius:50%; background:linear-gradient(135deg,#803544,#58212d); font-size:24px; }
#guestbook-main .icon i { position:absolute; top:1px; right:-1px; font-size:12px; font-style:normal; }
#guestbook-main .page-header h1 { display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 12px; font:700 48px/1.2 "Home Serif TC",serif; letter-spacing:.025em; color:#6b2d38; }
#guestbook-main .page-header h1::before,#guestbook-main .page-header h1::after { content:""; width:64px; height:1px; background:linear-gradient(90deg,transparent,#cdb3b6); }
#guestbook-main .page-header h1::after { transform:rotate(180deg); }
#guestbook-main .page-header > p { margin:0 0 28px; font-size:16px; line-height:1.5; font-weight:400; color:#7a6065; letter-spacing:.1em; }
#guestbook-main .showcase-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; text-decoration:none; font-weight:500; line-height:20px; border-radius:999px; }
.guestbook-line-icon { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#guestbook-main .showcase-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:0; }
#guestbook-main .showcase-link { padding:6px 16px; font-size:12px; border:1px solid #e8d4be; background:linear-gradient(90deg,#fffdf9,#fbf5ee); color:#7d5e4a; }
#guestbook-main .showcase-link:nth-child(n+3) { background:linear-gradient(90deg,#fff9fa,#fbf1f3); border-color:#ead0d5; color:#874a58; }
#guestbook-main .showcase-link svg { width:14px; height:14px; }
#guestbook-main .message-form,#guestbook-main .guestbook-stream { max-width:none; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; opacity:1; transform:none; }
#guestbook-main .panel { position:relative; padding:48px; margin:0 0 56px; border:1px solid #efe5e0; border-radius:24px; background:#fffffff2; box-shadow:0 20px 45px -10px #6b2d3814,0 0 1px 1px #d4af3726; }
#guestbook-main .panel::before { content:""; position:absolute; inset:6px; border:1px solid #f3e7e4; border-radius:22px; pointer-events:none; }
#guestbook-main .panel::after { content:"🌿"; position:absolute; right:24px; top:12px; opacity:.45; font-size:24px; pointer-events:none; }
#guestbook-main .guestbook-card-title { display:none; }
#guestbook-main .message-form .form-group { margin:0 0 28px; }
#guestbook-main .message-form label { display:block; margin:0 0 8px; font-size:14px; font-weight:500; line-height:20px; color:#382629; }
#guestbook-main .guestbook-field-caption { margin:0 0 10px; color:#74595f; font-size:12px; line-height:16px; }
#guestbook-main .message-form :is(input[type=text],textarea,select) { display:block; box-sizing:border-box; width:100%; padding:14px 16px; min-height:0; font-family:inherit; font-size:14px; line-height:20px; border:1px solid #dfcecb; border-radius:16px; color:#382629; background:#fffcfc; }
#guestbook-main .message-form :is(input,textarea,select):focus-visible { outline:2px solid #8b3a4a; outline-offset:2px; }
#guestbook-main .tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:6px; margin:0 0 28px; border:1px solid #e7d6d3; border-radius:999px; background:#f6eeec; }
#guestbook-main .tab-btn { display:flex; justify-content:center; align-items:center; gap:5px; min-width:0; min-height:40px; padding:10px 8px; border:0; border-radius:999px; background:transparent; font-size:14px; font-weight:500; line-height:20px; color:#6e5358; }
#guestbook-main .tab-btn.active { background:#6b2d38; color:#fff; box-shadow:0 4px 14px #6b2d3840; }
#guestbook-main .guestbook-presets { margin:0 0 28px; }
#guestbook-main .guestbook-presets p { display:flex; align-items:center; gap:6px; margin:0 0 10px; font-size:14px; line-height:20px; }
#guestbook-main .guestbook-presets small { color:#7a6065; font-size:11px; }
#guestbook-main #blessing-templates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#guestbook-main #blessing-templates button { display:flex; align-items:center; gap:8px; min-width:0; min-height:40px; padding:10px 16px; border:1px solid #e9d8d5; border-radius:12px; font-size:13px; font-weight:400; line-height:20px; text-align:left; color:#4e393c; background:linear-gradient(90deg,#fffdfd,#faf3f2); }
#blessing-templates button > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.guestbook-preset-icon { color:#b17965; flex:none; }
#guestbook-main #content-input { min-height:128px; border-radius:16px 16px 0 0; border-bottom:0; resize:vertical; line-height:24px; }
#guestbook-main .guestbook-char-count { padding:8px 12px; margin:0; border:1px solid #dfcecb; border-top:1px solid #f2e8e6; border-radius:0 0 16px 16px; color:#7a6065; font-size:12px; line-height:16px; background:#fffcfc; }
#guestbook-main .visibility-group { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:20px; padding:16px; margin:0 0 28px; border:1px solid #e9dfdb; border-radius:16px; background:linear-gradient(90deg,#fffdfb,#fbf6f4); font-size:14px; }
#guestbook-main .visibility-group > span { margin-right:auto; }
#guestbook-main .visibility-group label { display:inline-flex; align-items:center; gap:6px; margin:0; white-space:nowrap; font-size:14px; }
#guestbook-main .visibility-group input { width:16px; height:16px; min-height:16px; margin:0; padding:0; flex:none; accent-color:#6b2d38; }
#guestbook-main .btn-send { min-height:56px; padding:16px 24px; border-radius:999px; background:#853f4b; color:#fff; font:500 16px/24px "Home Serif TC",serif; letter-spacing:.15em; box-shadow:0 10px 25px -5px #6b2d3859; }
#guestbook-main .guestbook-stream-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 24px; padding:0 8px; }
#guestbook-main .guestbook-stream-heading h2 { margin:0; padding:0; border:0; color:#6b2d38; font:700 24px/32px "Home Serif TC",serif; }
#guestbook-main #guestbook-total { padding:6px 16px; border:1px solid #e9ddd9; border-radius:999px; font-size:13px; line-height:20px; color:#74595f; background:#ffffffb3; }
#guestbook-main .messages-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; max-width:none; margin:0; padding:0; }
#guestbook-main .msg-card { padding:20px; margin:0; border:1px solid #efe4e1; border-radius:16px; background:#ffffffe6; box-shadow:0 8px 20px #6b2d380a; }
#guestbook-main .guestbook-author { display:flex; align-items:center; gap:12px; }
#guestbook-main .guestbook-avatar { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:#f7e6e5; color:#6b2d38; font:700 14px "Home Serif TC",serif; }
#guestbook-main .msg-author { font-size:16px; font-weight:700; color:#52212b; overflow-wrap:anywhere; }
#guestbook-main .msg-time { display:block; margin:2px 0 0; font-size:12px; color:#7a6065; }
#guestbook-main .msg-content { margin:12px 0 0; padding-left:4px; font-size:16px; line-height:1.625; color:#3c2e31; overflow-wrap:anywhere; }
#guestbook-main .empty-msg { grid-column:1/-1; }
body[data-page="message-board"] .guestbook-footer { margin:96px 0 0; padding:32px 16px 48px; border-top:1px solid #e9dfdb; text-align:center; font:12px/20px "Home Serif TC",serif; color:#87653c; }
.guestbook-footer small { display:block; margin-top:8px; font-size:11px; color:#7a6065; }
@media(max-width:767px) {
  body[data-wedding-ui][data-page="message-board"] { background:radial-gradient(circle at 10% 15%,#fdedecce,transparent 45%),radial-gradient(circle at 90% 40%,#fef3e6b3,transparent 50%),radial-gradient(circle at 50% 85%,#fdeae999,transparent 55%),#faf6f2; }
  body[data-page="message-board"] .desktop-label { display:none; }
  body[data-page="message-board"] .mobile-label { display:inline; }
  body[data-wedding-ui][data-page="message-board"] > header.guestbook-topbar { top:0; max-width:none; min-height:56px; margin:0; padding:0 max(12px,calc((100vw - 448px)/2 + 16px)); gap:8px; border:0; border-bottom:1px solid #eed9c480; border-radius:0; background:#faf6f2d9; }
  body[data-page="message-board"] .guestbook-brand { display:none; }
  body[data-page="message-board"] .guestbook-mobile-title { display:block; white-space:nowrap; font:700 16px/24px "Home Serif TC",serif; letter-spacing:.05em; color:#5b1c2b; }
  body[data-wedding-ui][data-page="message-board"] .guestbook-back { border:0; background:transparent; padding:6px 0; font-size:12px; }
  body[data-page="message-board"] .guestbook-back > span:first-child { display:inline; font-size:24px; }
  body[data-wedding-ui][data-page="message-board"] .guestbook-home { padding:6px 12px; min-height:32px; border:1px solid #d4a37399; background:linear-gradient(90deg,#fff,#fdfbf9); color:#5b1c2b; font-size:12px; }
  body[data-wedding-ui][data-page="message-board"] #guestbook-main { max-width:448px; padding:20px 16px 0; }
  #guestbook-main .page-header { margin:0 0 20px; }
  #guestbook-main .page-header .icon { margin-bottom:12px; padding:4px; border-color:#eed9c4; background:linear-gradient(#fdfbf9,#f7e7e9); outline:1px solid #d4a37366; outline-offset:0; box-shadow:0 10px 30px -5px #5b1c2b12; }
  #guestbook-main .icon > span { background:#fff; border:1px dashed #d4a37399; }
  #guestbook-main .icon i { top:-4px; right:-4px; font-size:14px; }
  #guestbook-main .page-header h1 { display:block; margin:0; font-size:22px; line-height:32px; letter-spacing:.1em; color:#5b1c2b; }
  #guestbook-main .page-header h1::before,#guestbook-main .page-header h1::after { display:none; }
  #guestbook-main .page-header > p { margin:4px 0 14px; font:400 12px/16px "Home Serif TC",serif; letter-spacing:.025em; color:#847375; }
  #guestbook-main .showcase-nav { justify-content:flex-start; flex-wrap:nowrap; gap:8px; margin-top:10px; padding:8px 2px; overflow-x:auto; scrollbar-width:none; }
  #guestbook-main .showcase-link { flex:none; gap:6px; padding:6px 14px; border-color:#d4a37366; background:linear-gradient(90deg,#fff,#fceef066,#fff); font-size:12px; line-height:16px; color:#5b1c2b; }
  #guestbook-main .showcase-link:nth-child(n+3) { border-color:#d4a37366; background:linear-gradient(90deg,#fff,#fceef066,#fff); color:#5b1c2b; }
  #guestbook-main .panel { padding:16px; margin-bottom:28px; border-color:#d4a37359; border-radius:16px; background:#fff; box-shadow:0 10px 30px -5px #5b1c2b12,0 4px 12px #d4a37314; }
  #guestbook-main .panel::before { inset:0 8px auto; height:3px; border:0; background:linear-gradient(90deg,transparent,#d4a373b3,transparent); }
  #guestbook-main .panel::after { display:none; }
  #guestbook-main .guestbook-card-title { display:block; text-align:center; margin:0 0 12px; font:400 12px/16px "Home Serif TC",serif; letter-spacing:.1em; color:#a47345; }
  #guestbook-main .message-form .form-group { margin-bottom:16px; }
  #guestbook-main .message-form label { margin-bottom:6px; font-size:12px; line-height:16px; font-weight:600; }
  #guestbook-main .message-form :is(input[type=text],select) { padding:10px 14px; border-radius:12px; border-color:#eed9c4cc; background:#faf7f3b3; }
  #guestbook-main .guestbook-field-caption { display:none; }
  #guestbook-main .tabs { padding:4px; gap:6px; margin-bottom:16px; border-radius:12px; border-color:#eed9c499; background:#faf6f0; }
  #guestbook-main .tab-btn { min-height:32px; padding:8px 2px; gap:5px; font-size:12px; line-height:16px; border-radius:8px; }
  #guestbook-main .tab-btn .guestbook-line-icon { width:14px; height:14px; }
  #guestbook-main .tab-btn.active { background:linear-gradient(90deg,#5b1c2b,#43121d); }
  #guestbook-main .guestbook-presets { margin-bottom:12px; }
  #guestbook-main .guestbook-presets p { justify-content:space-between; margin-bottom:8px; font-size:12px; line-height:16px; font-weight:600; }
  #guestbook-main .guestbook-presets small { font-size:11px; font-weight:400; color:#a47345; }
  #guestbook-main #blessing-templates { gap:6px; }
  #guestbook-main #blessing-templates button { min-height:32px; padding:8px 10px; gap:4px; border-color:#eed9c4cc; border-radius:8px; background:#ffffffe6; font-size:11px; line-height:16px; }
  #guestbook-main .guestbook-content-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #guestbook-main #content-input { min-height:112px; padding:14px; border:1px solid #eed9c4e6; border-radius:12px; background:linear-gradient(to bottom,transparent 96%,#d4a37326 96%) 0 14px/100% 28px,#fdfbf9; font-size:14px; line-height:28px; }
  #guestbook-main .guestbook-char-count { position:absolute; width:1px; height:1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); }
  #guestbook-main .visibility-group { justify-content:space-between; flex-wrap:nowrap; gap:6px; padding:12px; margin-bottom:16px; border-radius:12px; border-color:#eed9c499; background:#faf6f1cc; font-size:12px; }
  #guestbook-main .visibility-group > span { margin-right:0; white-space:nowrap; }
  #guestbook-main .visibility-group label { gap:4px; margin:0; font-size:12px; font-weight:400; line-height:16px; }
  #guestbook-main .visibility-group input { width:14px; height:14px; min-height:14px; }
  #guestbook-main .btn-send { min-height:48px; padding:14px 16px; border:1px solid #d4a37366; border-radius:12px; font-size:14px; font-weight:700; line-height:20px; letter-spacing:.1em; }
  #guestbook-main .guestbook-stream-heading { margin-bottom:14px; padding:0 4px; }
  #guestbook-main .guestbook-stream-heading h2 { font-size:14px; line-height:20px; color:#5b1c2b; }
  #guestbook-main #guestbook-total { display:none; }
  #guestbook-main .messages-list { grid-template-columns:1fr; gap:14px; }
  #guestbook-main .msg-card { padding:16px; border-color:#eed9c499; box-shadow:0 10px 30px -5px #5b1c2b12,0 4px 12px #d4a37314; }
  #guestbook-main .guestbook-author { gap:10px; }
  #guestbook-main .guestbook-avatar { width:32px; height:32px; flex-basis:32px; border:1px solid #d4a3734d; font-size:12px; }
  #guestbook-main .msg-author { font:700 12px/16px "Home Serif TC",serif; }
  #guestbook-main .msg-time { font-size:10px; line-height:15px; color:#847375; }
  #guestbook-main .msg-content { margin-top:8px; padding-top:4px; font-size:12px; line-height:1.625; }
  body[data-page="message-board"] .guestbook-footer { max-width:448px; margin:0 auto; padding:24px 16px 48px; border:0; font-size:11px; letter-spacing:.1em; }
}
@media(max-width:359px) {
  body[data-page="message-board"] .guestbook-mobile-title { font-size:14px; }
  #guestbook-main .visibility-group { flex-wrap:wrap; }
  #guestbook-main .visibility-group > span { flex-basis:100%; }
}
