/* Extension of the homepage's existing paper, ink, and terracotta palette. */
.home-index { max-width:400px; }
.home-index .home-primary .cm-item { padding:23px 8px; min-height:76px; }
.home-index .home-primary .cm-label { font-size:22px; letter-spacing:.04em; }
.home-index .cm-item { opacity:1; transform:none; }
html.field-hero .home-index #cmProfile,
html.field-hero .home-index #cmWorks,
html.field-hero .home-index #cmOther { filter:none; }
.home-index .cm-live-row { gap:12px; margin:20px 0 24px; }
.home-index .cm-live { min-height:44px; padding:4px 8px; font-size:12px; letter-spacing:.045em; }
.home-index .cm-live:hover { letter-spacing:.045em; }
.home-index .cm-live-dot { animation:none; }
.home-index .home-primary .cm-note { letter-spacing:.025em; }
.home-index .cm-live-own { margin-left:auto; min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.home-message-link { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 16px; padding:20px 8px; border-top:1px solid var(--border); color:var(--text); text-decoration:none; }
.home-message-link strong { font-size:20px; line-height:1.5; font-weight:520; letter-spacing:.04em; }
.home-message-link small { grid-column:1; color:var(--muted); font-size:13px; letter-spacing:.025em; }
.home-message-link svg { grid-column:2; grid-row:1/3; width:24px; height:24px; color:var(--accent); transition:transform .2s var(--ease); }
.home-message-link:hover strong { color:var(--accent); }
.home-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-block:1px solid var(--border); }
.home-tools .hs-entry,.home-tools .study-link { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; width:auto; min-height:90px; margin:0; padding:16px 8px; border:0; font-family:inherit; font-size:14px; line-height:1.5; letter-spacing:.02em; text-decoration:none; }
.home-tools .study-link { padding-left:24px; border-left:1px solid var(--border); }
.home-tools .hs-entry small,.home-tools .study-link span:last-child { color:var(--muted); font-size:11px; line-height:1.55; white-space:normal; letter-spacing:.01em; }
.home-tools .hs-entry:hover,.home-tools .study-link:hover { color:var(--accent); }
.home-secondary #cmOther { gap:12px; min-height:44px; padding:12px 8px; border:0; font-size:12px; }
.home-secondary .cm-idx { display:none; }
.home-secondary .cm-note { font-size:11px; }
.home-secondary .cm-item::before,.home-secondary .cm-item::after { display:none; }
.home-secondary .cm-stub { margin:0 8px 12px; }

.guestbook { position:relative; z-index:1; min-height:calc(100svh - var(--nav-h)); padding-block:88px 96px; scroll-margin-top:90px; background:var(--bg); border-top:1px solid var(--border); }
.gb-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:80px; align-items:start; }
.gb-intro { grid-column:1; grid-row:1; }
.gb-intro h2 { font-size:clamp(30px,3.4vw,44px); font-weight:550; line-height:1.3; letter-spacing:-.025em; margin:0 0 16px; text-wrap:balance; }
.gb-intro p { max-width:33em; margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.gb-compose { grid-column:2; grid-row:1/3; }
.gb-form { display:grid; gap:20px; }
.gb-form-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.gb-field { display:grid; gap:9px; font-size:13px; line-height:1.5; min-width:0; }
.gb-field input,.gb-field textarea { box-sizing:border-box; min-width:0; width:100%; min-height:48px; border:1px solid var(--border); border-radius:4px; padding:12px 14px; color:var(--text); background:var(--surface); font-family:inherit; font-size:16px; line-height:1.65; caret-color:var(--accent); }
.gb-field textarea { min-height:156px; resize:vertical; }
.gb-field input::placeholder,.gb-field textarea::placeholder { color:var(--muted); opacity:1; }
.gb-field input:hover,.gb-field textarea:hover { border-color:var(--muted); }
.gb-field input:focus,.gb-field textarea:focus { border-color:var(--accent); }
.gb-label-note { color:var(--muted); font-size:11px; margin-left:4px; }
.gb-body-meta { display:flex; align-items:baseline; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; line-height:1.6; }
.gb-body-meta p { margin:0; }
.gb-count { white-space:nowrap; font-variant-numeric:tabular-nums; }
.gb-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:var(--muted); line-height:1.8; cursor:pointer; min-height:44px; }
.gb-consent input { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--accent); }
.gb-send-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.gb-submit,.gb-text-button { min-height:44px; border:0; font:inherit; cursor:pointer; touch-action:manipulation; }
.gb-submit { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:13px 22px; border-radius:4px; color:var(--accent-ink); background:var(--accent); font-size:14px; }
.gb-submit svg { width:18px; height:18px; }
.gb-submit:hover { background:color-mix(in srgb,var(--accent) 88%,var(--text)); }
.gb-submit:disabled { opacity:.65; cursor:wait; }
.gb-private-note { margin:0; font-size:11px; line-height:1.7; color:var(--muted); max-width:21em; }
.gb-form-status { margin:0; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.gb-form-status:empty { display:none; }
.gb-form-status[data-kind=error] { color:var(--accent); }
.gb-success { padding:24px 0; border-block:1px solid var(--border); }
.gb-success h3 { margin:0 0 12px; font-size:24px; font-weight:520; }
.gb-success p { color:var(--muted); font-size:14px; line-height:1.9; }
.gb-text-button { background:none; padding:6px 0; color:var(--accent); font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.gb-recent { grid-column:1; grid-row:2; margin-top:40px; min-width:0; }
.gb-recent-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.gb-recent-head h3 { margin:0; font-size:13px; font-weight:500; }
.gb-load-status { color:var(--muted); font-size:13px; line-height:1.85; }
.gb-list { padding:0; margin:0; list-style:none; }
.gb-message { border-top:1px solid var(--border); padding:22px 0; overflow-wrap:anywhere; }
.gb-message header { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.gb-message strong { font-size:14px; font-weight:550; }
.gb-message time { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.gb-message p { white-space:pre-wrap; margin:12px 0 0; font-size:14px; line-height:1.9; }
.gb-owner-link { color:var(--muted); font-size:11px; text-underline-offset:3px; display:inline-block; margin-top:24px; min-height:32px; }
.gb-trap { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.guestbook [hidden] { display:none!important; }
.home-index :is(a,button):focus-visible,.guestbook :is(a,button,input,textarea):focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.guestbook ::selection { color:var(--text); background:color-mix(in srgb,var(--accent) 20%,var(--bg)); }
.guestbook textarea { scrollbar-color:var(--muted) var(--surface); scrollbar-width:thin; }
@media(min-width:901px) and (prefers-reduced-motion:no-preference) { .home-message-link:hover svg { transform:translate(3px,-3px); } }
@media(max-width:900px) {
 .home-index { max-width:none; }
 .home-index .home-primary .cm-item { min-height:68px; padding-block:20px; }
 .home-index .home-primary .cm-label { font-size:19px; }
 .guestbook { padding-block:56px 64px; }
 .gb-layout { column-gap:40px; }
}
@media(max-width:640px) {
 .home-index .cm-live-row { margin:12px 0 16px; }
 .home-message-link { padding-block:17px; }
 .home-message-link strong { font-size:18px; }
 .home-tools .hs-entry,.home-tools .study-link { min-height:82px; }
 .gb-layout { display:flex; flex-direction:column; gap:32px; }
 .gb-intro,.gb-compose,.gb-recent { width:100%; min-width:0; box-sizing:border-box; }
 .gb-intro h2 { font-size:32px; }
 .gb-recent { margin:8px 0 0; }
 .gb-form-row { grid-template-columns:minmax(0,1fr); gap:18px; }
 .gb-form { gap:18px; }
 .gb-send-row { align-items:flex-start; }
 .gb-submit { min-height:48px; flex-shrink:0; }
 .gb-private-note { max-width:14em; }
 .gb-owner-link { min-height:44px; display:inline-flex; align-items:center; }
}
@media(prefers-reduced-motion:reduce) { .home-message-link svg { transition:none; } }
