.dec-home-entry{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;margin:0 0 14px;background:#f1f2efdd;backdrop-filter:blur(14px);color:#27382d;border-radius:14px;text-align:left;min-height:45px}
.dec-home-entry>span{font-size:12px;white-space:nowrap;color:#586558}
.dec-home-entry strong{font-size:13px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dec-home-entry>.icon{width:14px;flex-shrink:0}
.dec-day{background:#f5f4ef;color:#343b34}
.dec-day .screen-header{border-bottom:1px solid #deded5}
.dec-day .screen-header .back{color:#65715d}
.dec-day-scroll{padding:23px 23px 35px}
.dec-kicker{font-size:10px;letter-spacing:2px;color:#8b9185;margin:0 0 15px}
.dec-day h2{font-size:25px;font-weight:500;line-height:1.5;letter-spacing:.5px;margin:0 0 5px}
.dec-day time{font-size:11px;color:#94998d}
.dec-day article{margin:25px 0}
.dec-day article p,.dec-answer p{font:16px/1.95 var(--serif);white-space:pre-line;margin:16px 0;color:#414b3f}
.dec-day article p:empty{display:none}
.dec-day figure{margin:16px 0}
.dec-day figure img{width:100%;border-radius:10px}
.dec-day figcaption{font-size:11px;color:#7d8477;margin-top:8px}
.dec-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;color:#34432f;border:1px solid #d7dece;border-radius:13px;min-height:47px;padding:12px 14px;text-align:left;width:100%;font-size:14px;line-height:1.55;margin:9px 0;white-space:normal}
.dec-choice>span{color:#8f9b84;flex-shrink:0}
.dec-choices{margin:20px 0 0}
.dec-choices:empty{display:none}
.dec-chat-card{margin:25px 0;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e1d7;border-radius:17px;padding:18px 13px;color:#263522;width:100%;text-align:left}
.dec-chat-card .avatar{width:43px;height:43px;flex-shrink:0}
.dec-chat-card>span:nth-child(2){flex:1;min-width:0}
.dec-chat-card strong{font-size:16px;font-weight:600;display:block}
.dec-chat-card small{display:block;font-size:12px;color:#89917f;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dec-chat-card>.icon{width:14px;flex-shrink:0}
.dec-answer{margin:25px 0;padding:1px 15px;border-left:2px solid #afbea3;background:#e9ede4}
.dec-answer p{font-family:var(--sans);font-size:14px;line-height:1.8}
.dec-memory-card{border:1px solid #d5dccc;padding:15px;border-radius:14px;background:#ebece4;margin:20px 0}
.dec-memory-card p,.dec-foot{font-size:12px;color:#818b76;line-height:1.8}
.dec-memory-card .dec-choice{margin-top:0}
.dec-foot{margin:30px 0 0}
.dec-finish{border-top:1px solid #d8ded1;padding-top:17px;margin-top:25px}
.dec-finish>p{font-size:16px}.dec-finish>small{font-size:12px;color:#89917f}
.th-chat-screen .composer-area{padding-bottom:5px}
.th-chat-screen .dec-choices{margin-top:5px}
.th-chat-screen .dec-choice{background:#f5faffeb;color:#263e4c;border-color:#e8f1fa}
.th-input-hint{display:flex;align-items:center;gap:10px;padding:10px 13px;background:#e5edf6cc;border-radius:28px;color:#7f929f;font-size:14px}
.th-input-hint span{flex:1}.th-input-hint .icon{width:20px;height:20px}
.th-message-image{width:100%;max-width:220px;display:block;border-radius:12px}
.th-image-note{display:block;font-size:10px;color:#849085;margin:7px 0}
.dec-gallery{background:#f8f8f5;color:#333a30}
.dec-proof-heading{padding:12px 20px 14px}
.dec-proof-heading small{font-size:10px;letter-spacing:1.5px;color:#8b9383}
.dec-proof-heading h2{font-size:22px;font-weight:500;margin:9px 0}
.dec-proof-heading p{font-size:13px;line-height:1.6;color:#7b8673;margin:0}
.dec-proof-large{display:block;width:calc(100% - 40px);max-height:39dvh;object-fit:contain;margin:0 auto;background:#deded6;border-radius:6px}
.dec-placeholder{font-size:11px;color:#8b9381;text-align:center;margin:9px 0 15px}
.dec-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 8px}
.dec-proof-strip button{padding:4px;background:white;border:2px solid transparent;border-radius:7px;color:#646f59}
.dec-proof-strip button[aria-pressed=true]{border-color:#7a906b}
.dec-proof-strip img{height:72px;width:100%;object-fit:cover;border-radius:3px;display:block}
.dec-proof-strip span{font-size:11px;display:block;padding:5px 0 1px}
.dec-gallery .dec-choice{width:calc(100% - 40px);margin:10px 20px}
.dec-selection-summary{padding:12px 20px;font-size:13px;color:#75816c;line-height:1.7}
.dec-doc{padding:20px 24px 35px;color:#3b4238}
.dec-doc>small{font-size:10px;color:#8b9283;letter-spacing:1px}
.dec-doc h2{font:26px Georgia,serif;margin:16px 0 20px}
.dec-doc dl{display:grid;grid-template-columns:55px 1fr;gap:15px 10px;font-size:13px;border-top:1px solid #d6dccf;border-bottom:1px solid #d6dccf;padding:20px 0}
.dec-doc dd{margin:0;color:#78816f}.dec-doc dt{font-variant-numeric:tabular-nums}
.dec-doc img{width:100%;max-height:300px;object-fit:cover;margin-top:15px;border-radius:8px}
.dec-doc p{font-size:14px;line-height:1.9;color:#757e6b}
.dec-mood{display:flex;gap:8px}.dec-mood span{flex:1;min-height:70px;display:flex;align-items:flex-end;padding:10px;font-size:11px;background:#c7c5bb;color:white;border-radius:5px}
.dec-mood span:nth-child(2){background:#e2d6b8;color:#7a735f}.dec-mood span:nth-child(3){background:#627a65}
.dec-mail-attachment{margin:20px 0;white-space:normal}
.dec-album-entry{display:flex;align-items:center;gap:12px;width:calc(100% - 34px);margin:0 17px 20px;padding:15px;background:#f0f1ed;border-radius:13px;color:#4c6543;text-align:left}
.dec-album-entry>span{flex:1;font-size:15px}.dec-album-entry small{display:block;color:#86917c;font-size:12px;margin-top:5px}
.dec-album-entry>.icon:last-child{width:15px}
.dec-calendar-entry{padding:0 18px}
@media(max-height:740px){.dec-home-entry{margin-bottom:10px;padding-top:7px;padding-bottom:7px}.dec-proof-strip img{height:54px}.dec-day-scroll{padding-top:18px}}
/* In-person scenes retain the image while each line advances. */
.onsite-scene{position:relative;isolation:isolate;overflow:hidden;background:#211a17;color:#fff;display:flex;flex-direction:column}
.scene-backdrop{position:absolute;inset:-25px;background-position:center;background-size:cover;filter:blur(22px) brightness(.48);z-index:-3}
.scene-portrait{position:absolute;top:9%;left:0;width:100%;height:65%;object-fit:contain;object-position:center top;z-index:-2}
.studio-scene .scene-portrait{top:0;height:86%;object-fit:cover;object-position:50% 22%}
.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#100c0a65 0%,transparent 22%,transparent 43%,#211a1775 57%,#211a17f7 75%,#211a17 100%);z-index:-1}
.studio-scene{background:#191b1b}.studio-scene .scene-vignette{background:linear-gradient(180deg,#1115,transparent 22%,transparent 40%,#191b1b91 58%,#191b1b 78%)}
.scene-top{display:flex;justify-content:space-between;align-items:center;padding:calc(18px + env(safe-area-inset-top)) 21px 12px;gap:12px;text-shadow:0 1px 8px #0008}
.scene-top>span{font-size:10px;letter-spacing:1.8px;line-height:1.8}.scene-top small{display:block;font-size:11px;letter-spacing:1px;color:#f2e1c5bb}
.scene-top button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;color:#fff;background:#21191150;border:1px solid #fff3;border-radius:24px;font-size:12px;backdrop-filter:blur(8px)}
.scene-top .icon{width:15px;height:15px}
.scene-bottom{margin-top:auto;padding:0 23px calc(20px + env(safe-area-inset-bottom));max-height:57%;overflow-y:auto;scrollbar-width:thin}
.scene-speaker{min-height:25px;font-size:13px;letter-spacing:2px;color:#e0c29e;display:flex;align-items:center;justify-content:space-between}
.scene-speaker>span{font-size:10px;letter-spacing:1px;color:#b8aa9870}
.scene-line{font:19px/1.85 var(--serif);margin:10px 0 20px;min-height:105px;white-space:pre-line;letter-spacing:.5px;text-shadow:0 1px 8px #0006}
.scene-line.narration{font-size:16px;line-height:1.95;color:#eee7de}
.scene-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edddc325;padding-top:10px;gap:12px}
.scene-controls button{min-height:44px;display:flex;align-items:center;gap:8px;color:#f5e5ce;background:transparent;padding:7px 0;font-size:13px}.scene-controls button:disabled{opacity:.2}
.scene-controls .icon{height:16px;width:16px}.scene-wait{font-size:11px;color:#b6a58c}
.scene-choices{margin:8px 0 15px}.scene-choices .dec-choice{color:#f6ead9;border:1px solid #dfc4a14d;border-radius:7px;background:#eadac30d;font-size:14px;margin:8px 0;padding:11px 13px;backdrop-filter:blur(12px)}
.scene-choices .dec-choice:active{background:#eadac325}.scene-choices .dec-choice>span{color:#d9be96}
.onsite-scene button:focus-visible{outline:2px solid #f5d6a5;outline-offset:3px}
@media(max-height:700px){.scene-bottom{padding:0 19px 12px;max-height:63%}.scene-line{font-size:17px;min-height:64px;margin:6px 0 10px}.scene-line.narration{font-size:15px;line-height:1.7}.scene-top{padding-top:12px}.scene-choices .dec-choice{font-size:13px;padding:9px 11px;min-height:44px;margin:6px 0}}
.dance-images{position:absolute;inset:0;z-index:-2}.dance-image{position:absolute;inset:9% 0 auto;width:100%;height:62%;object-fit:cover;object-position:50% 38%;opacity:0;transition:opacity 1.4s ease}.dance-image.active{opacity:1}.dance-image:nth-child(2){object-position:49% 40%}.dance-image:nth-child(3){object-position:56% 30%}
.music-scene .scene-bottom{max-height:59%;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.music-scene .scene-line{min-height:108px}.dance-music-title{font-size:10px;color:#c6b7a3;display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:.3px}.dance-music-title span{font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap;color:#b8a68d}.dance-track{height:2px;background:#d4bea328;margin:12px 0}.dance-track i{display:block;height:100%;background:#c9b38d;transition:width .2s linear}.music-scene .scene-controls{border:0;padding-top:0}.music-scene .scene-controls button{font-size:12px}.dance-error{font-size:12px;line-height:1.7;color:#e4bf99}.music-scene .scene-choices:empty{display:none}
@media(max-height:700px){.music-scene .scene-line{min-height:65px}.music-scene .scene-bottom{max-height:65%}.dance-image{height:59%;top:10%}}
@media(prefers-reduced-motion:reduce){.dance-image,.dance-track i{transition:none}}

.contact-scene .scene-portrait{object-position:60% 36%}
.scene-voice{display:flex;align-items:center;gap:12px;margin:0 0 8px;color:#c9baa6;font-size:11px}.scene-voice button{min-height:44px;padding:8px 12px;border:1px solid #e5cdaa48;border-radius:22px;color:#e9d3b8;background:#d6b68112;font-size:12px}.scene-voice span{flex:1}

.afterparty-album-thumb{width:48px;height:48px;object-fit:cover;border-radius:8px}.th-message-image[role=button]{cursor:pointer}

.dance-voice-status{font-size:10px;color:#ceb895;margin-top:7px;min-height:12px}
/* Event media lives in the same phone library and chat bubbles. */
.chat-photo-button{display:block;border:0;background:transparent;padding:0;max-width:100%;border-radius:10px;overflow:hidden;cursor:pointer}
.chat-photo-button:focus-visible{outline:3px solid #285bb4;outline-offset:3px}
.chat-voice{display:grid;gap:8px;max-width:245px;min-width:180px}
.chat-voice>span:first-child{font-size:12px;color:#52616c}
.chat-voice audio{width:100%;height:40px}
.chat-voice-caption{font-size:14px}
.th-chat-screen .composer-note:empty{min-height:4px;margin:0}
