body { background: #f1f4f7; color: #233449; }
[hidden] { display: none !important; }
.momentos-header { background: #112136; color: white; margin: 0 -15px; padding: 18px max(24px, calc((100vw - 1140px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.momentos-brand { font-size: 23px; font-weight: 700; letter-spacing: -.5px; white-space: nowrap; }
.momentos-brand span { font-size: 14px; font-weight: 400; margin-left: 12px; color: #b3c4d6; }
.momentos-header a { color: white; text-decoration: none; }
.momentos-header nav { display: flex; align-items: center; gap: 22px; }
.momentos-header nav a { padding: 7px 0; font-size: 14px; }
.momentos-header [aria-current] { border-bottom: 2px solid #55b993; }
.momentos-header form { margin: 0; }
.momentos-header button { background: none; border: 0; color: white; padding: 7px; }
.momentos-workspace { max-width: 1100px; margin: 46px auto 70px; display: grid; grid-template-columns: 240px minmax(0, 660px); gap: 55px; align-items: start; }
.momentos-context { position: sticky; top: 28px; }
.momentos-eyebrow { font-size: 11px; letter-spacing: 1.5px; font-weight: 700; color: #39775e; }
.momentos-context h1 { font-size: 38px; letter-spacing: -1px; margin: 12px 0 20px; font-weight: 700; }
.momentos-context p { font-size: 16px; line-height: 1.6; color: #566779; }
.momentos-context .momentos-scope { margin: 24px 0; font-size: 13px; }
.momento { background: white; margin-bottom: 24px; border-radius: 9px; overflow: hidden; box-shadow: 0 2px 8px #1121360b; animation: momento-enter .2s ease-out; }
.momento-header { display: flex; align-items: center; gap: 12px; padding: 21px 24px 14px; }
.momento-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #e8eef3; }
.momento-initial { display: grid; place-items: center; font-size: 19px; font-weight: 700; color: #39775e; }
.momento-author { margin: 0 0 4px; font-size: 16px; font-weight: 700; }
.momento-date { display: block; font-size: 12px; color: #617284; }
.momento-text { padding: 0 24px 18px; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; font-size: 15px; }
.momento-media { display: block; width: 100%; max-height: 650px; object-fit: contain; background: #e7ecf0; }
video.momento-media { background: #112136; min-height: 200px; }
.momento-media-error { padding: 16px 24px; color: #566779; font-size: 13px; }
.momentos-button { background: #28785b; color: white; border: 1px solid #28785b; border-radius: 6px; padding: 11px 20px; min-height: 44px; font-weight: 600; transition: background .15s; margin: 8px 0; }
.momentos-button:hover { background: #1f6149; }
.momentos-button:disabled { opacity: .6; cursor: wait; }
.momentos-secondary { background: transparent; color: #28785b; }
.momentos-secondary:hover { color: white; }
.momentos-button:focus-visible, .momentos-header a:focus-visible { outline: 3px solid #55b993; outline-offset: 4px; }
.momentos-status { color: #566779; padding: 20px 0; line-height: 1.6; }
.momentos-status h2 { font-size: 21px; color: #233449; }
.momentos-status a { color: #28785b; text-decoration: underline; }
.momentos-loading::before { content: ''; display: inline-block; width: 16px; height: 16px; margin-right: 10px; border: 2px solid #d1dce5; border-top-color: #28785b; border-radius: 50%; animation: momento-spin .8s linear infinite; vertical-align: middle; }
@keyframes momento-spin { to { transform: rotate(360deg); } }
@keyframes momento-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) { .momentos-workspace { grid-template-columns: minmax(0, 660px); justify-content: center; gap: 20px; margin-top: 28px; } .momentos-context { position: static; } .momentos-context h1 { font-size: 30px; margin-bottom: 8px; } .momentos-context .momentos-scope { margin: 12px 0; } .momentos-header { flex-wrap: wrap; padding: 16px 20px; gap: 10px; } .momentos-header nav { gap: 18px; } }
@media (max-width: 480px) { .momento-header { padding: 17px 16px 14px; } .momento-text { padding: 0 16px 16px; } .momentos-brand span { margin-left: 8px; } .momentos-workspace { margin-bottom: 35px; } }
@media (prefers-reduced-motion: reduce) { .momento, .momentos-loading::before { animation: none; } .momentos-button { transition: none; } }.firebase-access { max-width: 460px; margin: 55px auto; padding: 26px; background: white; border-radius: 8px; }
.firebase-access h1 { font-size: 27px; }
.firebase-access label { display: block; margin-top: 16px; }
.firebase-access input:not([type=checkbox]) { display: block; width: 100%; padding: 10px; border: 1px solid #9babb9; border-radius: 4px; }
.firebase-access #firebase-auth-status { margin: 16px 0; line-height: 1.5; }
.firebase-access a { color: #28785b; }
.momentos-ad { margin: 24px 0; background: white; padding: 12px 0; }
.momentos-ad-label { display: block; padding: 0 16px 8px; color: #617284; font-size: 11px; }

.momentos-video-start { margin: 14px 24px; }
.momentos-pet { display: block; margin: 20px 0 8px; font-size: 13px; }
.momentos-pet select { display: block; width: 100%; margin-top: 8px; padding: 10px; border: 1px solid #9babb9; border-radius: 5px; background: white; }
.momentos-sentinel { height: 1px; }
.momento-social { padding: 16px 24px; border-top: 1px solid #edf1f4; }
.momento-actions, .momento-reaction-choices { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.momento-action { box-sizing: border-box; display: inline-block; border: 1px solid #dbe4ea; background: white; border-radius: 6px; padding: 9px 12px; min-height: 44px; color: #405a6a; cursor: pointer; font-size: 13px; line-height: 24px; }
.momento-action:hover { background: #f0f7f3; }
.momento-action[aria-pressed="true"] { color: #206347; background: #e4f3eb; border-color: #64a887; }
.momento-action:disabled { opacity: .55; cursor: default; }
.momento-action:focus-visible, .momento-social textarea:focus-visible, .momentos-pet select:focus-visible { outline: 3px solid #55b993; outline-offset: 2px; }
.momento-reactions { width: auto; }
.momento-reactions[open], .momento-report[open] { width: 100%; }
.momento-reaction-choices { margin-top: 8px; }
.momento-report { margin: 0; }
.momento-report summary { border: 0; padding-left: 0; color: #617284; }
.momento-action-status { margin: 10px 0 0; font-size: 13px; color: #566779; overflow-wrap: anywhere; }
.momento-action-status:empty { display: none; }
.momento-comments { margin-top: 18px; }
.momento-comment { padding: 12px 0; border-bottom: 1px solid #edf1f4; }
.momento-comment p { margin: 5px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.momento-comment time { font-size: 12px; color: #617284; }
.momento-comment-form, .momento-report-form { margin-top: 14px; }
.momento-social label { display: block; font-size: 13px; }
.momento-social textarea { display: block; width: 100%; box-sizing: border-box; resize: vertical; margin-top: 7px; padding: 10px; border: 1px solid #9babb9; border-radius: 5px; }
@media (max-width: 480px) { .momento-social { padding: 14px 16px; } .momento-action { padding: 9px 10px; } }
