.sr-only{position: absolute;width: 1px;height: 1px;padding: 0px;margin: -1px;overflow: hidden;clip: rect(0px, 0px, 0px, 0px);white-space: nowrap;border: 0px;}
.person-dainius{color: var(--heart-green);}
.person-danguole{color: var(--sun-gold);}
#notesHearts{position: absolute;left: 0px;top: 0px;width: 100%;height: 0px;z-index: 21;pointer-events: none;}
.note-heart{position: absolute;transform: translate(-50%, -50%);font: 30px / 1 Georgia, serif;text-shadow: none;width: 44px;height: 44px;pointer-events: auto;display: grid;place-items: center;}
.note-heart:hover{font-size: 34px;}
.note-heart:focus-visible{outline: 2px solid var(--moss);border-radius: 50%;}
.house-notes{max-width: 900px;margin-right: auto;margin-bottom: 45px;margin-left: auto;}
.house-notes h2{font: 300 44px/1.2 var(--serif);margin: 0px 0px 12px;}
.notes-hint, .notes-sync, .notes-empty{font-size: 12px;color: var(--muted);}
.notes-sync{margin: 6px 0px 12px;}
.notes-error, #noteError, #houseIdeaError{color: var(--seal);font-size: 12px;margin: 4px 0px;}
.house-note-tools{display: flex;flex-wrap: wrap;align-items: center;gap: 14px;margin-right: 0px;margin-bottom: 12px;margin-left: 0px;}
.notes-person{font-size: 12px;color: var(--ink-2);}
.house-notes textarea, .note-dialog textarea{display: block;width: 100%;resize: vertical;min-height: 90px;max-height: 260px;font: 300 15px/1.7 var(--sans);background: var(--paper);color: var(--ink);border: 1px solid var(--stone);border-radius: 4px;padding: 12px;}
.house-notes textarea:focus, .note-dialog textarea:focus{outline: 1px solid var(--moss);}
.notes-primary{font-size: 12px;letter-spacing: 0.04em;background: var(--moss);color: var(--paper);padding: 10px 18px;border-radius: 3px;margin-top: 10px;}
.notes-primary:disabled{opacity: 0.5;cursor: wait;}
.house-ideas-list{display: grid;}
.idea-meta{font-size: 11px;color: var(--muted);}
.idea-meta .person-dainius, .idea-meta .person-danguole{font-size: 16px;}
.note-dialog{position: fixed;inset: auto;margin: 0px;width: min(420px, -32px + 100vw);max-height: calc(100dvh - 110px);background: var(--paper);color: var(--ink);border: 1px solid var(--stone);border-radius: 10px;padding: 22px;box-shadow: rgba(42, 42, 40, 0.19) 0px 14px 70px;font: 300 14px/1.6 var(--sans);}
.note-dialog::backdrop{background: rgba(42, 42, 40, 0.1);}
.note-dialog-head{display: flex;justify-content: space-between;gap: 12px;}
.note-dialog h2{font: 400 28px/1.2 var(--serif);margin: 0px;}
.note-dialog-head button{font-size: 26px;line-height: 1;padding: 4px 8px;}
.note-messages{margin-bottom: 14px;}
.note-message p{white-space: pre-wrap;overflow-wrap: anywhere;margin: 8px 0px;}
.note-message-actions, .note-actions{display: flex;gap: 14px;font-size: 11px;color: var(--muted);}
.note-message-actions button, .note-actions button{padding: 4px 0px;text-decoration: underline;text-underline-offset: 3px;}
.note-actions{margin-top: 12px;flex-wrap: wrap;}
.notes-moving main{cursor: crosshair;}
#noteResolved{font-size: 12px;color: var(--moss);}
#notesNotice{position: fixed;top: 80px;left: 50%;transform: translateX(-50%);z-index: 30;max-width: calc(100% - 32px);padding: 12px 18px;border: 1px solid var(--stone);border-radius: 5px;background: var(--paper-2);font-size: 12px;box-shadow: rgba(42, 42, 40, 0.07) 0px 3px 12px;}
@media (max-width: 600px){.note-dialog{right: 8px;bottom: 8px;width: calc(100% - 16px);max-height: calc(100dvh - 90px);padding: 18px;left: 8px !important;top: auto !important;}
.house-notes{margin-top: 40px;}
.house-notes h2{font-size: 36px;}
.bar{gap: 8px;}
.site-tabs{gap: 10px;}
.notes-person{flex-wrap: wrap;}
}
@media (max-width: 600px){.bar{padding-left: 14px;padding-right: 14px;gap: 6px;}
.bar .seal{width: 34px;height: 34px;}
.site-tabs{gap: 9px;}
.site-tabs a{font-size: 10px;letter-spacing: 0.04em;}
.bar .lang{font-size: 10px;gap: 4px;}
.bar .lang button{letter-spacing: 0.1em;padding: 4px 0px;}
.bar .exit{padding-left: 5px;}
}
.notes-person{display: flex;gap: 8px;align-items: center;}
.note-role-heart{width: 42px;height: 42px;display: grid;place-items: center;font: 30px / 1 Georgia, serif;border-radius: 50%;border: 1px solid transparent;opacity: 0.5;}
.note-role-heart:hover{opacity: 1;}
.note-role-heart[aria-pressed="true"]{opacity: 1;}
.note-role-heart:focus-visible{outline: 2px solid var(--moss);outline-offset: 3px;}
.house-ideas-list{gap: 26px;margin: 32px 0px;}
.note-message{border: 0px;padding: 12px 0px;}
.house-note-tools{margin-top: 8px;}
#houseIdeaForm{margin-top: 30px;}
#notesResolvedControl{margin-top: 18px;}
.notes-archive-toggle{display: inline-flex;align-items: center;gap: 6px;padding: 5px 2px;font-size: 11px;flex: 0 0 auto;}
.notes-archive-toggle:focus-visible{outline: 2px solid var(--moss);outline-offset: 3px;}
.note-heart.is-archived{opacity: 1;}
.note-dialog-head{align-items: center;margin-bottom: 12px;}
.note-dialog-head #noteClose{margin-left: auto;}
.note-dialog-head .note-role-heart{font: 30px / 1 Georgia, serif;padding: 0px;}
@media (max-width: 600px){.notes-archive-toggle span{display: none;}
.notes-archive-toggle{width: 24px;height: 30px;justify-content: center;}
.bar{column-gap: 5px;}
}
.note-dialog{overflow: hidden auto;overscroll-behavior: contain;scrollbar-width: none;}
.note-dialog::-webkit-scrollbar, .note-dialog textarea::-webkit-scrollbar{display: none;width: 0px;height: 0px;}
.note-dialog textarea{scrollbar-width: none;}
.note-messages{max-height: none;overflow: visible;overscroll-behavior: auto;}
#notePeek{position: fixed;z-index: 45;pointer-events: none;max-width: min(320px, -24px + 100vw);padding: 12px 16px;background: var(--paper);color: var(--ink);border: 1px solid var(--stone);border-radius: 10px;box-shadow: rgba(42, 42, 40, 0.094) 0px 5px 22px;font: 300 14px/1.6 var(--sans);white-space: pre-wrap;overflow-wrap: anywhere;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 8;overflow: hidden;}
.note-heart.is-archived{color: var(--heart-red);}
#noteIdentity{margin: 8px 0px 12px;}
.note-dialog-head #noteIdentity{margin: 0px;}
.note-dialog .note-messages{cursor: grab;}
.note-dialog.is-dragging, .note-dialog.is-dragging *{user-select: none;cursor: grabbing !important;}
.note-dialog-head{position: sticky;top: -22px;z-index: 2;background: var(--paper);padding: 6px 0px;margin-top: -6px;pointer-events: none;}
.note-dialog-head #noteClose{pointer-events: auto;background: var(--paper);border-radius: 50%;width: 34px;height: 34px;display: grid;place-items: center;}
.note-role-heart[aria-pressed="true"]{border-color: transparent;background: none;filter: none;}
@media (max-width: 600px){.note-dialog-head{top: -18px;}
}
.note-heart.archive-fade{color: var(--heart-red);z-index: 21;animation: 2s linear 0s 1 normal forwards running archive-heart-away;pointer-events: none !important;}
@keyframes archive-heart-away{0%{opacity: 1;}
100%{opacity: 0;}
}
.house-viewer{max-width: 900px;}
.house-notes{border-top: 0px;padding-top: 0px;margin-top: 38px;}
.notes-archive-toggle{color: var(--heart-red);}
.notes-archive-toggle[aria-pressed="true"]{color: var(--heart-red);}
.archive-heart-icon{font-style: normal;font-variant: normal;font-size-adjust: none;font-language-override: normal;font-kerning: auto;font-optical-sizing: auto;font-feature-settings: normal;font-variation-settings: normal;font-weight: normal;font-stretch: normal;line-height: 1;font-family: Georgia, serif;opacity: 0.55;display: inline !important;}
.notes-archive-toggle[aria-pressed="true"] .archive-heart-icon{opacity: 1;filter: none;}
@media (max-width: 600px){.house-viewer{max-width: 100%;}
.house-notes{margin-top: 28px;}
}
.notes-archive-toggle:not([aria-pressed="true"]){color: var(--muted);}
.notes-archive-toggle:not([aria-pressed="true"]) .archive-heart-icon{opacity: 1;filter: none;}
.notebook-thread{margin: 0px 0px 12px;}
.notebook-message{display: grid;grid-template-columns: 26px minmax(0px, 1fr);gap: 5px 12px;margin-bottom: 18px;}
.notebook-author{font: 25px / 1.5 Georgia, serif;grid-area: 1 / 1;}
.notebook-text{grid-area: 1 / 2;padding: 0px;text-align: left;white-space: pre-wrap;overflow-wrap: anywhere;font: 300 18px/1.6 var(--sans);}
.notebook-text:hover{color: var(--moss);}
.notebook-text:focus-visible{outline: 1px solid var(--moss);outline-offset: 4px;}
.notebook-message .idea-meta{grid-area: 2 / 2;}
.notebook-reply{margin-left: 38px;}
.notebook-reply-button, .notebook-cancel{font-size: 11px;color: var(--muted);padding: 4px 0px;text-decoration: underline;text-underline-offset: 3px;}
.notebook-reply-button{margin-left: 38px;}
.notebook-cancel{margin-left: 14px;}
@media (max-width: 600px){.notebook-reply{margin-left: 20px;}
}
.notebook-archive-button{font-size: 11px;color: var(--muted);padding: 4px 0px;margin-left: 16px;text-decoration: underline;text-underline-offset: 3px;}
.notebook-thread.is-archived .notebook-author{color: var(--heart-red);}
.archive-heart-icon{font-size: 14px;}
@media (max-width: 600px){.archive-heart-icon{font-size: 12px;}
}


/* Small emoji chooser shared by page comments and the notebook. */
.notes-emoji-field{position:relative}
.notes-emoji-field textarea{padding-right:46px}
.notes-emoji-toggle{position:absolute;right:7px;top:7px;width:34px;height:34px;padding:0;font-size:21px;line-height:1;border-radius:6px}
.notes-emoji-toggle:hover,.notes-emoji-toggle[aria-expanded="true"]{background:var(--paper-2)}
.notes-emoji-toggle:focus-visible,.notes-emoji-picker button:focus-visible{outline:2px solid var(--moss);outline-offset:1px}
.notes-emoji-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:8px;margin-top:7px;background:var(--paper-2);border-radius:8px;max-width:280px;margin-left:auto}
.notes-emoji-picker button{font-size:23px;line-height:1;padding:8px 2px;border-radius:5px}
.notes-emoji-picker button:hover{background:var(--paper)}

/* Photo comments stay visible above the enlarged photo. */
#notesHearts.over-lightbox{z-index:51}
#notePeek{z-index:55}
.note-heart.archive-fade{z-index:51}
#lbStage img{touch-action:manipulation}

/* Unread hearts pulse gently until opened. */
.note-heart.is-unread{text-shadow:none;animation:unread-heart-pulse 2.6s ease-in-out infinite}
@keyframes unread-heart-pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.note-heart.is-unread{animation:none}}

/* A deliberate one-finger, three-second hold on the house. */
.notes-hold-ring{position:fixed;z-index:55;width:30px;height:30px;transform:translate(-50%,-50%);pointer-events:none}
.notes-hold-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.notes-hold-ring circle{fill:none;stroke-width:2.5}
.notes-hold-ring .hold-track{stroke:var(--stone);opacity:.5}
.notes-hold-ring .hold-progress{stroke:var(--heart-green);stroke-dasharray:75.4;stroke-dashoffset:75.4;animation:house-comment-hold 3s linear forwards}
@keyframes house-comment-hold{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.notes-hold-ring .hold-progress{animation:none;stroke-dashoffset:0}}

#houseViewer canvas{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}

/* SVG hearts inherit the author color, including on emoji-rendering mobile browsers. */
.note-heart-svg{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:-.12em;flex-shrink:0;pointer-events:none}

/* Larger phone navigation: utility row, page tabs, then scrollable story chapters. */
@media(max-width:860px){
 .bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px 6px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
 .bar .seal{grid-column:1;grid-row:1;width:44px;height:44px}
 .bar .lang{grid-column:2;grid-row:1;justify-self:end;margin-left:0;gap:2px;font-size:13px}
 .bar .lang button{min-width:44px;min-height:44px;padding:8px 4px;font-size:13px;letter-spacing:.08em}
 .bar .notes-archive-toggle{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0}
 .bar .notes-archive-toggle>span:not(.archive-heart-icon){display:none}
 .bar .exit{grid-column:4;grid-row:1;display:flex;justify-content:center;width:44px;height:44px;padding:0;border-left:0}
 .bar .exit span{display:none}
 .bar .exit svg{width:18px;height:18px}
 .bar .site-tabs{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
 .bar .site-tabs a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;padding:8px 2px;font-size:14px;letter-spacing:.02em}
 .bar .dots{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));visibility:visible;gap:4px;width:100%;min-width:0;overflow:visible;flex:none}
 .bar .dots::-webkit-scrollbar{display:none}
 .bar .dots a{display:grid;place-items:center;width:100%;min-width:44px;height:44px;border-radius:6px;background:none;opacity:1;transform:none;color:var(--muted);text-decoration:none;border:1px solid transparent;font-size:13px}
 .bar .dots a::after{content:attr(data-chapter-number)}
 .bar .dots a.on{color:var(--heart-green);background:rgba(91,133,86,.08);border-color:var(--heart-green);transform:none}
 .bar .dots a:focus-visible{outline:2px solid var(--moss);outline-offset:-3px}
 body.house-open .bar .dots,body.music-open .bar .dots{display:none}
 #top{padding-top:var(--bar-height,156px)}
 .chapter{scroll-margin-top:calc(var(--bar-height,156px) + 16px)}
 .sunnyside-page,.music-page{padding-top:calc(var(--bar-height,108px) + 32px)}
}

/* On touch: heart previews first, then the bubble opens the conversation. */
#notePeek.is-touch-preview{pointer-events:auto;cursor:pointer;touch-action:manipulation}
#notePeek.is-touch-preview:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
