/* Shared authored paper, wooden buttons, ticket faces and coin sprites; no generated scene art. */
.highlight-overlay { position:absolute; inset:0; z-index:95; display:grid; place-items:center; background:rgba(20,17,11,.7); pointer-events:auto; color:#493724; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }
.highlight-overlay[hidden],.highlight-toast[hidden],.highlight-hud[hidden],.highlight-copy-fallback[hidden] { display:none; }
.highlight-panel { position:relative; isolation:isolate; display:flex; flex-direction:column; width:566px; height:664px; padding:72px 54px 38px; }
.highlight-content { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#9b8059 transparent; padding:0 2px; }
.highlight-content:focus-visible { outline:2px solid #a98a55; outline-offset:2px; }
.highlight-heading { text-align:center; }
.highlight-eyebrow { color:#7c6241; font-size:14px; letter-spacing:3px; }
.highlight-title { margin:12px 0 6px; color:#7c3325; font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; font-size:35px; font-weight:600; line-height:1.3; letter-spacing:2px; overflow-wrap:anywhere; }
.highlight-date { margin:0; color:#79664c; font-size:12px; font-variant-numeric:tabular-nums; }
.highlight-hero { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; align-items:center; min-height:158px; margin:20px 0 12px; padding:12px 0; border-block:1px solid #b99c6e; }
.highlight-art { justify-self:center; width:88px; height:88px; object-fit:contain; image-rendering:auto; }
.highlight-art.is-ticket { width:91px; height:121px; transform:rotate(-5deg); }
.highlight-hero-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
.highlight-kicker { font-size:14px; color:#765d3d; }
.highlight-value { font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; font-size:46px; font-weight:600; line-height:1.18; color:#994328; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.highlight-value.is-words { font-size:34px; }
.highlight-ticket { font-size:16px; color:#365e46; }
.highlight-summary { margin:0; font-size:17px; line-height:1.7; color:#4e412e; overflow-wrap:anywhere; }
.highlight-facts { margin:10px 0; font-size:13px; line-height:1.6; color:#755b3e; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.highlight-disclaimer { margin:16px 0 6px; font-size:12px; line-height:1.5; color:#7a674c; text-align:center; }
.highlight-actions { display:flex; justify-content:center; gap:10px; flex:none; margin-top:18px; }
.highlight-button { position:relative; isolation:isolate; min-width:104px; min-height:42px; padding:8px 15px; border:0; background:transparent; color:#fae8c4; font:inherit; font-size:15px; line-height:1.4; cursor:pointer; }
.highlight-button:hover { filter:brightness(1.1); }
.highlight-button:focus-visible,.highlight-copy-fallback:focus-visible { outline:3px solid #c28d42; outline-offset:3px; }
.highlight-status { flex:none; min-height:36px; margin:10px 0 0; font-size:12px; line-height:1.5; color:#486548; text-align:center; }
.highlight-copy-fallback { width:100%; min-height:94px; padding:8px; margin-top:10px; border:1px solid #a58b60; background:#f8eacb; color:#463620; resize:vertical; font:inherit; font-size:13px; line-height:1.5; user-select:text; }
.highlight-panel.is-revealed { animation:highlight-keepsake .42s ease-out both; }
.highlight-panel.is-revealed .highlight-art { animation:highlight-stamp .6s .1s ease-out both; }
.highlight-panel.is-revealed .highlight-art.is-ticket { animation-name:highlight-ticket; }
.highlight-hud { position:absolute; left:694px; top:15px; width:98px; height:51px; font-size:19px; }
.highlight-hud.is-rush { padding:8px 6px; color:#ffe7a2; font-size:16px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.highlight-toast { position:absolute; isolation:isolate; left:274px; top:110px; z-index:45; display:grid; grid-template-columns:48px minmax(0,1fr) 90px; gap:12px; align-items:center; width:476px; min-height:116px; padding:18px 20px; color:#4f3828; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; pointer-events:none; }
.highlight-toast-icon { width:42px; height:42px; image-rendering:pixelated; }
.highlight-announcement { display:flex; flex-direction:column; gap:4px; }
.highlight-toast-eyebrow { font-size:11px; color:#7c6442; letter-spacing:1px; }
.highlight-toast-title { font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; font-size:25px; font-weight:600; line-height:1.25; color:#8e3d28; }
.highlight-toast-detail { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:13px; line-height:1.5; }
.highlight-toast .highlight-button { min-width:0; min-height:38px; padding:7px 8px; font-size:14px; pointer-events:auto; }
.highlight-toast-coins { position:absolute; inset:0; pointer-events:none; overflow:visible; }
.highlight-toast-coin { position:absolute; top:18px; width:22px; height:22px; image-rendering:pixelated; opacity:0; }
.highlight-toast-coin.is-0 { left:52px; --coin-dx:-44px; --coin-dy:-34px; --coin-turn:-110deg; }
.highlight-toast-coin.is-1 { left:220px; --coin-dx:10px; --coin-dy:-50px; --coin-turn:130deg; }
.highlight-toast-coin.is-2 { right:46px; --coin-dx:48px; --coin-dy:-30px; --coin-turn:80deg; }
.highlight-toast[data-phase="arrive"] { animation:highlight-arrive .46s cubic-bezier(.22,1,.36,1) both; }
.highlight-toast[data-phase="arrive"] .highlight-toast-coin,.highlight-toast[data-phase="hold"] .highlight-toast-coin { animation:highlight-coin .8s ease-out both; }
.highlight-toast[data-phase="hold"] { transform:translateY(0); opacity:1; }
.highlight-toast[data-phase="leave"] { animation:highlight-leave .35s ease-in both; }
body.has-highlight-toast #news-banner { visibility:hidden; }
@keyframes highlight-arrive { from { opacity:0; transform:translateY(-28px) scale(.9); } 72% { opacity:1; transform:translateY(3px) scale(1.02); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes highlight-leave { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(-15px); } }
@keyframes highlight-coin { 0% { opacity:0; transform:translate(0,25px) rotate(0deg); } 25% { opacity:1; } 70% { opacity:1; } 100% { opacity:0; transform:translate(var(--coin-dx),var(--coin-dy)) rotate(var(--coin-turn)); } }
@keyframes highlight-keepsake { from { opacity:0; transform:translateY(16px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes highlight-stamp { from { opacity:0; transform:scale(1.5); } 65% { opacity:1; transform:scale(.95); } to { opacity:1; transform:scale(1); } }
@keyframes highlight-ticket { from { opacity:0; transform:translateY(35px) rotate(-16deg); } to { opacity:1; transform:translateY(0) rotate(-5deg); } }
body.reduced-motion .highlight-panel,body.reduced-motion .highlight-art,body.reduced-motion .highlight-toast,body.reduced-motion .highlight-toast-coin { animation:none !important; }
body.reduced-motion .highlight-toast-coin { display:none; }
@media (prefers-reduced-motion:reduce) { .highlight-panel,.highlight-art,.highlight-toast,.highlight-toast-coin { animation:none !important; } .highlight-toast-coin { display:none; } }
