/* ==========================================================================
   NPC card (#npcPortraitCard): a journal-book page.
   Uses the Quest Journal's classes (journal-book, journal-title, journal-story,
   journal-entry, journal-actions, journal-primary) from journal.css, and the
   rules below are scoped to this card so other windows keep their own styles.
   Loaded last so it replaces the older card rules.
   ========================================================================== */

html body #npcPortraitCard.npc-card-book{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
 transform:translate(-50%,-50%);z-index:70;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;margin:0;
 width:min(540px,calc(100vw - 24px))!important;height:min(600px,calc(100dvh - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;
 padding:18px 20px 16px;border:1px solid #6e5a35;border-radius:10px;
 background:linear-gradient(180deg,#0f1a15,#0a120e);color:#e6d9b6;
 box-shadow:0 0 0 100vmax #0009,inset 0 0 0 1px #000,inset 0 0 0 2px #ebd39122,0 18px 48px #000c;
 font-family:Grenze Gotisch,Georgia,serif;font-size:16.5px;line-height:1.45;scrollbar-width:thin;scrollbar-color:#6e5a35 transparent}
html body #npcPortraitCard.npc-card-book[hidden]{display:none!important}

/* Close: a 44px touch target at the page corner. */
html body #npcPortraitCard.npc-card-book #npcPortraitDismiss{position:absolute!important;top:6px;right:6px;z-index:1;
 width:44px!important;height:44px!important;min-width:44px;min-height:44px!important;margin:0!important;padding:0!important;
 display:flex;align-items:center;justify-content:center;border:1px solid #8a2a24!important;border-radius:50%;
 background:radial-gradient(circle,#5a1a17,#2a0b0a)!important;color:#f3d6c8!important;font:400 28.5px/1 Grenze Gotisch,Georgia,serif;cursor:pointer;box-shadow:none}
html body #npcPortraitCard.npc-card-book #npcPortraitDismiss:hover{border-color:#e2766c;background:radial-gradient(circle,#8a2a24,#3a0f0d)!important}
html body #npcPortraitCard.npc-card-book #npcPortraitDismiss:focus-visible{outline:2px solid #d7b36a;outline-offset:2px}

/* Header: portrait beside the NPC name in the journal heading style. */
html body #npcPortraitCard.npc-card-book .npc-card-head{display:flex;align-items:center;gap:14px;min-width:0;padding-right:44px}
html body #npcPortraitCard.npc-card-book #npcPortraitImage{flex:none;width:76px!important;height:76px!important;max-width:none;object-fit:cover;
 border:2px solid #b9954f;border-radius:50%;background:#0a0f0d;box-shadow:0 0 0 2px #000,0 0 0 4px #6e5a3566}
html body #npcPortraitCard.npc-card-book #npcPortraitName{flex:1 1 auto;min-width:0;margin:0!important;padding:0 0 6px!important;
 font:400 26.5px/1.15 Grenze Gotisch,Georgia,serif!important;font-variant:small-caps;letter-spacing:.03em;color:#f6e7c0!important;
 border-bottom:1px solid #6e5a35!important;overflow-wrap:anywhere}

/* Body: dialogue, quest entry, actions. */
html body #npcPortraitCard.npc-card-book .npc-portrait-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
html body #npcPortraitCard.npc-card-book #npcPortraitDialogue{margin:0!important;max-height:none!important;overflow:visible!important;
 font:italic 17.5px/1.5 Grenze Gotisch,Georgia,serif!important;color:#d9ccaa!important;overflow-wrap:anywhere}

/* Quest entry: a journal page entry with its own label, name and text. */
html body #npcPortraitCard.npc-card-book #npcPortraitQuest.npc-card-quest{position:relative;margin:4px 0 0!important;padding:14px 14px 12px!important;
 border:1px solid #6e5a3577!important;border-radius:6px!important;background:linear-gradient(180deg,#14231c,#101c16)!important;box-shadow:inset 0 0 18px #00000088!important}
html body #npcPortraitCard.npc-card-book .npc-card-quest::before{content:"Quest"!important;display:block!important;position:absolute;top:-9px;left:12px;padding:0 6px;background:#0f1a15;
 font:700 12px/1 Grenze Gotisch,Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#b9954f}
html body #npcPortraitCard.npc-card-book .npc-card-quest-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
html body #npcPortraitCard.npc-card-book #npcQuestName{display:block;min-width:0;font:700 20px/1.25 Grenze Gotisch,Georgia,serif;color:#ebd391;overflow-wrap:anywhere}
html body #npcPortraitCard.npc-card-book #npcQuestText{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;
 margin:0!important;font:16.5px/1.5 Grenze Gotisch,Georgia,serif!important;color:#d9ccaa!important;overflow-wrap:anywhere}

/* Page turner: the x/y quests pager. */
html body #npcPortraitCard.npc-card-book #npcQuestPager{flex:none;min-width:44px;min-height:44px!important;margin:-6px -6px 0 0!important;padding:0 12px!important;
 border:1px solid #b9954f!important;border-radius:22px!important;background:transparent!important;color:#d7b36a!important;font:700 14.5px/1 Grenze Gotisch,Georgia,serif!important;
 box-shadow:none!important;cursor:pointer}
html body #npcPortraitCard.npc-card-book #npcQuestPager:hover{background:#b9954f22!important;color:#f6e7c0!important}
html body #npcPortraitCard.npc-card-book #npcQuestPager:focus-visible{outline:2px solid #d7b36a;outline-offset:2px}

/* Actions: tab-style text buttons; the primary action is a gold button. */
html body #npcPortraitCard.npc-card-book .npc-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0!important;padding:10px 0 0;
 border-top:1px solid #6e5a3566;justify-content:flex-start}
html body #npcPortraitCard.npc-card-book .npc-card-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;
 margin:0!important;padding:6px 4px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;
 background:transparent!important;background-image:none!important;box-shadow:none!important;color:#c9b98c!important;
 font:400 18.5px/1.2 Grenze Gotisch,Georgia,serif!important;letter-spacing:.02em;text-shadow:none;cursor:pointer;box-sizing:border-box}
html body #npcPortraitCard.npc-card-book .npc-card-actions button:hover:not(:disabled){color:#f6e7c0!important;border-bottom-color:#b9954f!important}
html body #npcPortraitCard.npc-card-book .npc-card-actions button:focus-visible{outline:2px solid #d7b36a;outline-offset:2px}
html body #npcPortraitCard.npc-card-book .npc-card-actions button[hidden]{display:none!important}
html body #npcPortraitCard.npc-card-book .npc-card-actions button:disabled{opacity:.45;cursor:default}
html body #npcPortraitCard.npc-card-book .npc-card-actions button.journal-primary{min-height:46px!important;padding:8px 22px!important;
 border:1px solid #6e5a35!important;border-bottom:1px solid #6e5a35!important;border-radius:4px!important;background:linear-gradient(#d7b36a,#a9803f)!important;
 color:#1a1208!important;font:700 18.5px/1.2 Grenze Gotisch,Georgia,serif!important;box-shadow:0 0 0 1px #000,inset 0 1px 0 #fff4!important}
html body #npcPortraitCard.npc-card-book .npc-card-actions button.journal-primary:hover:not(:disabled){filter:brightness(1.08);color:#1a1208!important}

/* When a quest Accept or Claim is the main action, Talk becomes a secondary tab. */
html body #npcPortraitCard.npc-card-book .npc-card-actions:has(#npcPortraitAccept:not([hidden]),#npcPortraitClaim:not([hidden])) #npcPortraitTalk{
 background:transparent!important;color:#c9b98c!important;border:0!important;border-bottom:2px solid transparent!important;box-shadow:none!important;font:400 18.5px/1.2 Grenze Gotisch,Georgia,serif!important;padding:6px 4px!important}

/* Phone widths: full-width card, larger portrait-free header, two-up action row. */
@media (max-width:600px){
 html body #npcPortraitCard.npc-card-book{padding:16px 14px 14px;gap:10px;max-height:calc(100dvh - 16px)}
 html body #npcPortraitCard.npc-card-book #npcPortraitImage{width:60px!important;height:60px!important}
 html body #npcPortraitCard.npc-card-book #npcPortraitName{font-size:23px!important}
 html body #npcPortraitCard.npc-card-book .npc-card-head{padding-right:40px;gap:12px}
 html body #npcPortraitCard.npc-card-book #npcPortraitDismiss{top:4px;right:4px}
 html body #npcPortraitCard.npc-card-book .npc-card-actions button.journal-primary{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){html body #npcPortraitCard.npc-card-book .npc-card-actions button{transition:none}}

/* Close is the last button of the action row (primary, Talk, Journal, Track, then close), not a corner button. */
html body #npcPortraitCard.npc-card-book .npc-card-actions #npcPortraitDismiss{position:static!important;top:auto!important;right:auto!important;z-index:auto;
 width:auto!important;height:auto!important;min-width:44px;min-height:44px!important;margin:0!important;padding:0 12px!important;
 font:400 16.5px/1 Grenze Gotisch,Georgia,serif;color:#c9b98c;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}
html body #npcPortraitCard.npc-card-book .npc-card-actions #npcPortraitDismiss:hover{color:#f6e7c0;border-bottom-color:#b9954f}
html body #npcPortraitCard.npc-card-book .npc-card-head{padding-right:0!important}
