/* The persistent contract occupies its existing row; the entry notice overlays it. */
.quest-strip[role=button]{cursor:pointer;border-color:#d7ec9188}
.quest-strip[role=button]:hover,.quest-strip[role=button]:focus-visible{outline:2px solid #d7ec91;outline-offset:2px}
.battle-layout .quest-strip small{display:block!important;font-size:.78rem;white-space:normal}
.quest-announcement{position:fixed;z-index:180;top:clamp(76px,12vh,140px);left:50%;transform:translateX(-50%);width:min(590px,calc(100vw - 28px));max-height:72dvh;overflow:auto;padding:24px;background:#203d32;color:#fff8da;border:2px solid #d7ec91;border-radius:16px;box-shadow:0 16px 65px #000b;transition:opacity .24s,transform .24s;box-sizing:border-box}
.quest-announcement.leaving{opacity:0;transform:translate(-50%,-30px) scale(.8);pointer-events:none}
.quest-detail h2{margin:.4rem 0 1rem;color:#e5f7b0;font-size:1.6rem}
.quest-detail h3{margin:.5rem 0;font-size:1rem}
.quest-detail .quest-objective{font-size:1.15rem;line-height:1.6;margin:.5rem 0 1rem}
.quest-detail dl{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;padding:1rem;background:#10231b66;border-radius:8px}
.quest-detail dt{opacity:.8}.quest-detail dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.quest-detail>p:last-child{font-size:.9rem;line-height:1.6}
.quest-notice-actions{display:flex;gap:10px;margin:1rem 0 .7rem;flex-wrap:wrap}
.quest-notice-actions button{min-height:42px;padding:8px 16px}
.quest-announcement>small{display:block;line-height:1.5;opacity:.8}
@media(max-width:600px){.quest-announcement{padding:16px;top:70px;max-height:70dvh}.quest-detail h2{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.quest-announcement{transition:none}}
