@import url('/honor/honor.css');
@import url('/honor/finale-motion.css');
.discovery-wrap{flex-shrink:0}.room-footer #discovery-button{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;color:#785b26;font:inherit;font-size:12px;cursor:pointer;padding:0 8px}.room-footer #discovery-button img{width:45px;height:45px;object-fit:contain}.room-footer #discovery-button[data-complete=true]{background:#f1dfab;border-radius:22px}.room-footer{flex-wrap:wrap}
.room-footer #discovery-button{color:#377f95}.room-footer #discovery-button>svg{width:39px;height:39px;transform:rotate(-12deg)}.room-footer #discovery-button[data-complete=true]{background:#d7edf2}

/* Keepsake ending: one centered wreath, quiet branding, only immediate actions. */
.honor-dialog.honor-revealed[open]{display:grid;align-content:safe center;justify-items:center;gap:0;padding:42px 20px;overflow-y:auto;background:radial-gradient(ellipse at 50% 50%,#20333b 0%,#101e27 50%,#0b171f 100%)}
.honor-revealed>.honor-head{width:100%;flex-shrink:0}
.honor-revealed .honor-head .honor-close{position:fixed;top:16px;right:20px;width:40px;height:40px;min-height:40px;min-width:40px;border-radius:50%;font:24px/1 sans-serif;background:transparent;color:#9cafb7}
.honor-revealed .honor-kicker,.honor-revealed>.honor-lead{display:none}
.honor-dialog.honor-revealed h2{font:normal clamp(22px,2.3vw,30px)/1.35 RoomHand,ZaobaPF,sans-serif;letter-spacing:.015em;margin:0 0 18px;color:#e3e9e5}
.honor-revealed #honor-body{width:100%;min-width:0}
.honor-revealed .honor-reveal-stage{max-width:620px}
.honor-revealed .honor-wreath{container-type:inline-size;width:min(570px,60svh,88vw);max-width:100%;margin:0 auto 15px}
.honor-revealed .honor-number{top:13.1%;left:29%;width:42%;font:600 5.2cqw/1.15 'Avenir Next',sans-serif;letter-spacing:.07em;font-variant-numeric:tabular-nums;color:#6c4916;text-shadow:0 1px #fff9d488}
.honor-revealed .honor-number small{font-size:.51em;letter-spacing:.02em;font-weight:500;vertical-align:.12em}
.honor-revealed .honor-brand{left:29%;top:82.4%;width:42%;height:5%;gap:1.3cqw;white-space:nowrap;align-items:center;color:#6b4c1e}
.honor-revealed .tripo-wordmark{width:14cqw;height:4.3cqw;flex:none}
.honor-brand-cross{font:normal 2.4cqw/1 'Avenir Next',sans-serif;opacity:.7}
.honor-gift-brand{font:normal 3cqw/1 RoomHand,'Avenir Next',sans-serif;letter-spacing:-.025em;white-space:nowrap}
.honor-revealed .honor-final-actions{margin:0;gap:10px;justify-content:center}
.honor-revealed .honor-final-actions button{min-height:42px;min-width:122px;padding:9px 21px;border-radius:24px;font:500 13px/1.4 'Avenir Next','PingFang SC',sans-serif;background:#ffffff06;border:1px solid #73838b55;color:#d9e4e7;flex:none}
.honor-revealed .honor-final-actions button:first-child{background:#e7d6aa;border-color:#e7d6aa;color:#463b26}
.honor-revealed .honor-final-actions button:first-child:hover{background:#f3e4c1}
.honor-revealed .honor-final-actions button:hover:not(:first-child){background:#ffffff10;border-color:#9aadb077}
.honor-revealed .honor-photo-options{border:0;margin:12px auto 0!important;padding:0;max-width:390px}
.honor-revealed .honor-photo-options summary{list-style:none;display:block;width:max-content;margin:auto;padding:7px 16px;font-size:11px;letter-spacing:.02em;color:#8fa4ad}
.honor-revealed .honor-photo-options summary::-webkit-details-marker{display:none}
.honor-revealed .honor-photo-options[open]{padding:0 16px 12px;border-radius:16px;background:#172a33}
.honor-revealed .honor-preview-note{font:10px/1.5 'Avenir Next',sans-serif;letter-spacing:.06em;color:#718792;margin:3px 0 0}
.honor-revealed #honor-message{font-size:12px;padding:9px 14px;margin:10px auto 0;max-width:500px}
@media(max-width:520px){.honor-dialog.honor-revealed[open]{padding:48px 12px 28px}.honor-dialog.honor-revealed h2{font-size:22px;margin-bottom:18px}.honor-revealed .honor-wreath{width:min(88vw,56svh);margin-bottom:18px}.honor-revealed .honor-final-actions{gap:7px}.honor-revealed .honor-final-actions button{min-width:0;padding:10px 17px;font-size:12px}.honor-revealed .honor-head .honor-close{top:10px;right:10px}}
.honor-lettering{position:absolute;inset:0;width:100%;height:100%;z-index:3;fill:#6b4c1e;pointer-events:none}
.honor-download-sheet{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#08141bc9;backdrop-filter:blur(8px);padding:20px}
.honor-download-card{position:relative;width:min(430px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:28px;border:1px solid #536670;border-radius:24px;background:#162934;text-align:left;box-shadow:0 24px 80px #0006}
.honor-dialog .honor-download-card h3{margin:0 0 20px;text-align:center;font:24px RoomHand,ZaobaPF,sans-serif}
.honor-download-card .honor-sheet-close{position:absolute;right:10px;top:10px;border:0;background:none;font-size:22px;padding:4px;min-height:32px;width:32px;color:#9eafb7}
.honor-download-kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.honor-download-kinds label{cursor:pointer;position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;min-height:86px;border:1px solid #536670;border-radius:16px;background:#1b303c;color:#dfe8e9;font-size:14px}
.honor-download-kinds input{position:absolute;left:10px;top:10px;accent-color:#e7d6aa}
.honor-download-kinds label:has(input:checked){border-color:#dfcd9e;background:#e7d6aa16;color:#f2e2bd}
.honor-download-card small{display:block;font-size:11px;color:#8fa5b0;font-weight:400}
.honor-download-check{display:flex!important;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #53667044;cursor:pointer;font-size:14px}
.honor-download-check input{width:17px;height:17px;accent-color:#e7d6aa;flex:none}
.honor-download-card .honor-download-confirm{width:100%;margin-top:20px;border-radius:22px;background:#e7d6aa;color:#473b27;border-color:#e7d6aa;min-height:44px}
.honor-download-size{font-size:12px;text-align:center;color:#a6b8bf;min-height:38px;margin:15px 0 0!important}
.honor-download-state{font-size:12px;line-height:1.6;color:#b3c6ce;margin-top:10px}

.room-footer #discovery-button[data-mirror=true]{background:transparent;color:#d8c594}
