/* Community and private letter UI over the preserved island scene. */
.preview-strip[hidden]{display:none}
.preview-strip{font-size:13px;line-height:1.8}
.voices-policy p{font-size:13px;line-height:1.9;color:#bbced9;overflow-wrap:anywhere}
.voices-policy a{color:#ffdf78;text-decoration:underline;text-underline-offset:3px}
.voices-policy-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.privacy-content{max-width:780px;margin-inline:auto}
.privacy-operator{font-size:14px;color:#e8eedf;margin:0 0 20px}
.privacy-content section{padding:24px 0 10px;border-top:1px solid #3b5667}
.privacy-content h2{font-size:20px;line-height:1.6;margin-bottom:13px;letter-spacing:0}
.privacy-content p{font-size:14px;line-height:2;color:#d1dfe6;margin:0 0 16px;overflow-wrap:anywhere}
.privacy-content a,.panel-privacy-link a{color:#ffdf78;text-decoration:underline;text-underline-offset:4px}
.privacy-content .privacy-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.panel-privacy-link{padding:18px 32px 22px;margin:0;text-align:center;font-size:13px;border-top:1px solid #365263}
.site-footer>nav{flex-wrap:wrap}
.letter-fields{border:0;margin:0;padding:0;min-width:0}
.letter-fields:disabled{opacity:.7}
.field-note{display:block;color:#c0d2dd;font-size:13px;line-height:1.85;margin:8px 0 0}
.content-dialog .private-note strong{font-size:13px}
.content-dialog .private-note p{font-size:13px;line-height:1.9;color:#bed0db}
.letter-form .form-note{font-size:13px;line-height:1.9;color:#bed0db}
.no-reply-note{margin-top:24px;padding-left:16px;border-left:2px solid #ffdc62}
.no-reply-note strong{font-size:13px;color:#ffe48b}
.no-reply-note p{margin:7px 0 0;color:#bed0db;font-size:13px;line-height:1.9}
.publication-consent-card{margin:25px 0 26px;padding:18px;border:1px solid #72947c;border-radius:8px;background:#18382f}
.publication-consent-choice{display:flex;align-items:flex-start;gap:13px;cursor:pointer}
.publication-consent-choice input{appearance:auto;width:22px;height:22px;min-width:22px;padding:0;margin:5px 0 0;accent-color:#ffdc62;cursor:pointer}
.publication-consent-choice span{min-width:0}
.publication-consent-choice small{display:block;margin-bottom:4px;color:#ffe58d;font-size:12px;font-weight:700}
.publication-consent-choice strong{display:block;color:#f6f6e8;font-size:14px;font-weight:650;line-height:1.9}
.publication-consent-card p{margin:11px 0 0 35px;color:#c7ddd0;font-size:13px;line-height:1.85}
.attachment-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;margin-bottom:10px}
.attachment-label small{font-size:12px;font-weight:500;color:#c0d2dd}
.attachment-field input[type=file]{width:100%;max-width:100%;padding:10px;color:#bacdd8;border:1px dashed #5a7b8b;border-radius:6px;background:#0b2030;font-size:12px}
.attachment-field input::file-selector-button{padding:9px 13px;margin-right:12px;border:1px solid #6b8999;border-radius:4px;background:#213f50;color:#fff6d5;cursor:pointer}
.attachment-error{color:#ffb3a7;font-size:13px;line-height:1.8;margin:8px 0;min-height:0}
.attachment-error:empty{display:none}
.attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.attachment-card{min-width:0;border:1px solid #426174;border-radius:6px;overflow:hidden;background:#0c2030}
.attachment-card img{width:100%;height:100px;object-fit:cover;background:#203747}
.attachment-details{padding:8px 9px;display:flex;flex-direction:column;gap:3px;line-height:1.45}
.attachment-details span{overflow-wrap:anywhere;font-size:12px;color:#e3edf2}
.attachment-details small{font-size:12px;color:#b2c8d5;overflow-wrap:anywhere}
.attachment-details .attachment-processed{color:#cfdfa7}
.attachment-card button{width:calc(100% - 16px);margin:0 8px 9px;min-height:34px;padding:5px;background:#1c3545;color:#fff3d5;border:1px solid #4d6979;border-radius:4px;font-size:12px}
.letter-service-note{padding:13px 15px;margin:0 0 18px;border:1px solid #637789;border-radius:5px;background:#1a3344;color:#dce8ef;font-size:13px;line-height:1.8}
.letter-service-note.is-ready{border-color:#487668;background:#173b37;color:#d8f3df}
.letter-challenge{max-width:100%;min-height:65px;margin-bottom:17px;overflow:hidden}
.captcha-retry{margin:0 0 17px;padding:9px 13px;border:1px solid #9d7d59;border-radius:4px;background:#403526;color:#ffe5b8;font-size:12px}
.letter-form .form-submit{min-width:180px;background:#ffdc62;color:#263d35;border-color:#ffe394}
.letter-form .form-submit:disabled{background:#345061;color:#c2d0d8;border-color:#526a78;opacity:.75}
.letter-result{margin-top:15px;color:#c9dce8;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.letter-result:empty{display:none}
.letter-result.is-error{padding:13px 15px;background:#462b2c;border:1px solid #98645e;border-radius:5px;color:#ffd8d1}
.letter-result.is-success{padding:15px;background:#173b37;border:1px solid #588571;border-radius:5px;color:#e1f4df}
.community-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}
.community-filters button{min-height:41px;padding:9px 15px;border:1px solid #47677a;border-radius:5px;background:#152f41;color:#c5d8e4;font-size:12px;font-weight:700}
.community-filters button.active{border-color:#ffdc62;background:#ffdc62;color:#23392f}
.community-status{font-size:13px;color:#c0d2dd;margin:16px 0;line-height:1.9}
.community-status.is-empty{padding:30px 23px;border:1px dashed #4b6c80;border-radius:8px;text-align:center;color:#c4d7e2}
.community-actions{display:flex;justify-content:center;gap:12px;margin:24px 0}
.voice-origin{display:inline-block;padding:3px 8px;margin:12px 0 0;background:#234438;color:#d5e9d6;font-size:12px;border-radius:3px}
.voice-card blockquote{margin:15px 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}
.voice-video-title{font-size:12px;color:#bed0db;line-height:1.7;overflow-wrap:anywhere}
.voice-footer{display:flex;flex-direction:column;align-items:start;gap:7px;margin-top:auto}
.voice-footer time{font-size:12px;color:#bed0db}
.voice-footer .plain-link{font-size:12px}
/* Keep the comment itself distinct from its author, source video and date. */
.voice-card.voice-message-card{display:flex;flex-direction:column;min-width:0;padding:24px;background:#112e3d;border:1px solid #446575;border-radius:16px}
.voice-card.voice-message-card .voice-person{display:flex;align-items:center;gap:12px;margin:0 0 20px;min-width:0}
.voice-card.voice-message-card .voice-person img{display:block;flex:0 0 44px;width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid #91a9ad}
.voice-card.voice-message-card .voice-author-details{display:flex;flex-direction:column;gap:3px;min-width:0}
.voice-card.voice-message-card .voice-author-label{font-size:11px;line-height:1.5;font-weight:500;color:#a9c2cb}
.voice-card.voice-message-card .voice-author{font-size:16px;line-height:1.6;font-weight:750;letter-spacing:0;color:#f7faf5;overflow-wrap:anywhere}
.voice-card.voice-message-card .voice-message{min-width:0}
.voice-card.voice-message-card .voice-message-label{margin:0 0 11px;font-size:12px;line-height:1.7;font-weight:650;color:#c6dedc;letter-spacing:0}
.voice-card.voice-message-card blockquote.voice-body{position:relative;box-sizing:border-box;min-width:0;margin:0;padding:20px 21px;background:#fffaf0;border:1px solid #e8dfc9;border-radius:4px 16px 16px 16px;color:#193b38;font-family:inherit;font-size:17px;font-style:normal;font-weight:500;line-height:1.95;letter-spacing:0;text-align:start;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;quotes:none;color-scheme:light;box-shadow:0 6px 16px #04151b1c}
.voice-card.voice-message-card blockquote.voice-body::before{content:"";position:absolute;top:-7px;left:18px;width:12px;height:12px;background:#fffaf0;border-top:1px solid #e8dfc9;border-left:1px solid #e8dfc9;transform:rotate(45deg)}
.voice-card.voice-message-card .voice-context{min-width:0;margin-top:22px;padding-top:17px;border-top:1px solid #47616c}
.voice-card.voice-message-card .voice-context-label{margin:0 0 7px;font-size:11px;font-weight:650;line-height:1.7;letter-spacing:0;color:#a6c1ca}
.voice-card.voice-message-card .voice-video-title{margin:0;font-size:13px;font-weight:400;line-height:1.85;letter-spacing:0;color:#d1dfe3;overflow-wrap:anywhere;word-break:normal}
.voice-card.voice-message-card .voice-footer{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px 16px;min-width:0;margin-top:17px;padding-top:0}
.voice-card.voice-message-card .voice-footer time{font-size:12px;line-height:1.7;color:#a6bec9;white-space:nowrap}
.voice-card.voice-message-card .voice-footer .plain-link{font-size:12px;font-weight:500;line-height:1.8;color:#f1d987;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
@media(max-width:480px){
 .voice-card.voice-message-card{padding:17px 13px;border-radius:14px}
 .voice-card.voice-message-card .voice-person{gap:10px;margin-bottom:17px}
 .voice-card.voice-message-card .voice-person img{flex-basis:38px;width:38px;height:38px}
 .voice-card.voice-message-card .voice-author{font-size:15px;line-height:1.7}
 .voice-card.voice-message-card blockquote.voice-body{padding:17px 14px;font-size:16px;line-height:1.95;border-radius:4px 13px 13px 13px}
 .voice-card.voice-message-card .voice-context{margin-top:18px;padding-top:15px}
 .voice-card.voice-message-card .voice-video-title{font-size:12px;line-height:1.9}
 .voice-card.voice-message-card .voice-footer{gap:8px 13px;margin-top:15px}
}
@media(max-width:760px){
 .content-dialog .no-reply-note{grid-column:1/-1;margin-top:17px;padding-left:14px}.content-dialog .no-reply-note strong{font-size:13px}.content-dialog .no-reply-note p{font-size:12px}
 .attachment-grid{gap:8px}.attachment-card img{height:80px}.attachment-details{padding:7px}.attachment-card button{font-size:12px;min-height:35px}
 .attachment-field input[type=file]{font-size:12px}.attachment-field input::file-selector-button{margin-right:6px;padding:9px}
 .community-filters{gap:6px}.community-filters button{font-size:11px;padding:9px 10px}.community-status{font-size:12px}
 .letter-service-note,.letter-result{font-size:12px}.letter-form .form-submit{width:100%;min-height:48px}.field-note{font-size:13px}
}
