.messages-screen{
    --msg-ink:#34251e;
    --msg-muted:#807267;
    --msg-gold:#b7812f;
    --msg-gold-soft:#ead6af;
    --msg-ivory:#fffdf8;
    --msg-card:#fff;
    background:
        radial-gradient(circle at 100% 5%,rgba(219,187,128,.2),transparent 22rem),
        radial-gradient(circle at 0 92%,rgba(244,222,200,.34),transparent 25rem),
        linear-gradient(180deg,#fff,#fffaf2)!important;
}
.messages-screen.exact-guestbook>header{
    min-height:220px;
    margin:-18px -18px 0;
    padding:30px 18px 22px;
    border-bottom:1px solid var(--msg-gold-soft)!important;
    background:
        linear-gradient(90deg,rgba(255,255,255,.93),rgba(255,251,244,.88)),
        radial-gradient(circle at 50% 0,#eed8b2,transparent 70%)!important;
}
.messages-screen.exact-guestbook>header:after{
    position:absolute;
    left:50%;
    bottom:12px;
    width:72px;
    height:1px;
    content:"";
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,var(--msg-gold),transparent);
}
.messages-screen.exact-guestbook>header h2{
    color:var(--msg-ink)!important;
    font-size:clamp(31px,8vw,41px)!important;
    letter-spacing:-.02em;
}
.messages-screen.exact-guestbook>header p{color:var(--msg-muted);font-size:15px}
.messages-screen .add-message{
    width:66px!important;
    height:66px!important;
    border:1px solid #d3a760!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#c49a50,#8e6325)!important;
    box-shadow:0 12px 28px rgba(125,85,30,.25)!important;
}
.messages-screen .message-summary{
    margin-top:18px;
    border:1px solid var(--msg-gold-soft)!important;
    border-radius:22px!important;
    background:linear-gradient(140deg,#fff,#fff9ee)!important;
}
.messages-screen .message-summary .crest{box-shadow:0 8px 24px rgba(101,70,31,.12)}
.messages-screen .message-summary h3{color:var(--msg-ink);font-size:22px}
.messages-screen .message-summary aside>b{color:var(--msg-gold)!important;font-size:32px}
.messages-screen .guestbook-tabs{
    position:sticky;
    z-index:4;
    top:0;
    padding:4px;
    border-color:var(--msg-gold-soft);
    border-radius:17px;
    box-shadow:0 9px 28px rgba(83,58,29,.1);
}
.messages-screen .guestbook-tabs button{min-height:48px;border-radius:13px!important;color:var(--msg-muted)}
.messages-screen .guestbook-tabs .active{
    background:linear-gradient(110deg,#c39a51,#8f6527)!important;
    box-shadow:0 6px 16px rgba(139,96,34,.2);
}
.messages-screen .guestbook-stats{
    border-color:var(--msg-gold-soft)!important;
    background:linear-gradient(120deg,#fffdf8,#f9edda)!important;
}
.messages-screen .guestbook-stats>div{color:var(--msg-gold)!important}
.message-discovery{
    display:grid;
    grid-template-columns:1fr 120px;
    gap:9px;
    margin:0 0 13px;
}
.message-search-wrap{position:relative}
.message-search-wrap:before{
    position:absolute;
    left:13px;
    top:50%;
    color:var(--msg-gold);
    content:"⌕";
    transform:translateY(-50%);
}
.message-discovery input,.message-discovery select{
    width:100%;
    min-height:45px;
    padding:0 13px;
    border:1px solid var(--msg-gold-soft)!important;
    border-radius:13px!important;
    color:var(--msg-ink);
    background:#fff!important;
}
.message-discovery input{padding-left:36px}
.message-results{
    grid-column:1/-1;
    margin:-2px 4px 0;
    color:var(--msg-muted);
    font-size:10px;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.messages-screen .message-live{
    padding:5px 15px!important;
    border-color:var(--msg-gold-soft)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 16px 42px rgba(86,59,26,.09)!important;
}
.messages-screen .guest-message{
    grid-template-columns:54px minmax(0,1fr) 50px;
    padding:18px 0;
    transition:transform .2s,background .2s;
}
.messages-screen .guest-message.is-featured{position:relative}
.messages-screen .guest-message.is-featured:before{
    position:absolute;
    top:9px;
    right:0;
    padding:3px 7px;
    border-radius:999px;
    color:#8d6224;
    content:"Latest wish";
    font-size:8px;
    letter-spacing:.07em;
    text-transform:uppercase;
    background:#fff2d9;
}
.messages-screen .guest-message h3{color:var(--msg-ink)!important;font-size:18px}
.messages-screen .guest-message time{color:#9b8e81}
.messages-screen .guest-message p{color:#584b42;font-size:16px;line-height:1.55}
.messages-screen .message-avatar{
    border:1px solid #d7b675;
    color:#966b29;
    background:linear-gradient(145deg,#fffaf0,#f0dab5);
}
.messages-screen .message-like{
    min-height:43px;
    border:1px solid #ead5ac;
    color:#a16f25!important;
    background:#fffaf0!important;
}
.messages-screen .message-like.liked{border-color:#a9782b;color:#fff!important;background:#a9782b!important}
.messages-screen #publicMessage{
    padding:22px!important;
    border:1px solid var(--msg-gold-soft)!important;
    border-radius:22px!important;
    background:linear-gradient(145deg,#fff,#fffaf1)!important;
    box-shadow:0 16px 42px rgba(86,59,26,.1)!important;
}
.messages-screen #publicMessage h3{margin:0 0 17px;color:var(--msg-ink)!important;font-size:25px}
.messages-screen #publicMessage label{color:#67574a;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.messages-screen #publicMessage textarea{min-height:125px;resize:vertical}
.message-character-count{
    display:block;
    margin:-7px 2px 10px;
    color:var(--msg-muted);
    font-size:9px;
    text-align:right;
}
.message-character-count.near-limit{color:#9c5e25}
.messages-screen #publicMessage .primary{min-height:54px!important;background:linear-gradient(110deg,#c39a51,#8d6325)!important}
.messages-screen .panel-status{border:1px solid #c9ddce;background:#f2faf4!important}
.messages-screen .message-no-results{padding:34px 15px;text-align:center;color:var(--msg-muted)}

@media(max-width:390px){
    .messages-screen .message-summary{grid-template-columns:74px 1fr!important}
    .message-discovery{grid-template-columns:1fr}
    .message-results{grid-column:1}
    .messages-screen #publicMessage{padding:18px!important}
}
@media(prefers-reduced-motion:reduce){
    .messages-screen *{transition:none!important}
}
