/* Same portrait composition; more readable lobby labels. */
#app .lobby-best>span{font-size:12px;letter-spacing:1.5px}
#app .lobby-best>b{font-size:34px;line-height:1.1}
#app .lobby-best>small{font-size:10px}
#app>.call-panels .call-lobby .call-panel-links button{font-size:12px;min-height:42px;letter-spacing:.5px}
#app .call-lobby .call-play>span{font-size:20px;line-height:1.2}
#app .call-lobby .call-play>small{font-size:10px}
.quest-prelude .oath-rankings{translate:-7px 8px}
.tutorial-blessings{text-align:center;width:100%;padding:10px 4px;color:#e8e4d2}
.tutorial-blessings>strong{font-size:12px;letter-spacing:1.8px}
.tutorial-blessings>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}
.tutorial-blessings section{padding:9px 4px;min-height:157px;background:#132321df;border:3px solid #819b9b;box-shadow:inset 0 0 0 1px #c4d0c2,0 4px #091411;transition:transform .2s,box-shadow .2s}
.tutorial-blessings .blessing-art{width:52px;height:52px;color:#b9cdcc}
.tutorial-blessings b{display:block;font-size:13px;margin:4px 0 8px}
.tutorial-blessings small{display:block;font:12px/1.3 Georgia,serif;color:#dad9c5}
.tutorial-blessings section.chosen{transform:translateY(-5px);border-color:#e3edce;box-shadow:0 0 18px #a6dbb96b}
.tutorial-blessings>span{font-size:12px;color:#ddeac5}
@media(max-width:350px){#app>.call-panels .call-lobby .call-panel-links button{font-size:11px}.tutorial-blessings small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tutorial-blessings section{transition:none}}

.opening-legend{transition:opacity .95s ease-in-out}
/* A legible pixel seal; no rotated exclamation or clipped diamond on items. */
.stage-wardrobe .unlock-notice{width:14px;height:14px;transform:none;border:2px solid #f2dba2;background:#b58b42;box-shadow:0 2px #15261d,inset 1px 1px #f7e4b5;animation:none}
.stage-wardrobe .unlock-notice>b{transform:none;font:700 12px/1 Georgia,serif;color:#211d13}
.stage-wardrobe .dragon-subtabs .unlock-notice{width:12px;height:12px;transform:none}

/* A compact, readable damage forecast beneath the enemy bar. */
.stage-combat .combat .enemy-vitals .threat{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;font:700 10px/1.2 Georgia,serif;letter-spacing:.4px;color:#e3c7a4;white-space:nowrap;text-shadow:1px 1px #101712,-1px -1px #101712}
.stage-combat .combat .enemy-vitals .threat b{font:700 14px/1 Georgia,serif;color:#fff0cc;font-variant-numeric:tabular-nums}
.stage-combat .combat .enemy-vitals .threat:empty{display:none}

/* Reveal the already-styled oath button; disabled and automatic focus must not flash it. */
#app .oath-ceremony .oath-continue.btn.btn{opacity:0;visibility:hidden;filter:none;transition:opacity .35s ease-out,transform .1s;outline:none}
#app .oath-ceremony .oath-continue.btn.btn:disabled{opacity:0!important;visibility:hidden;filter:none;pointer-events:none}
#app .oath-ceremony.oath-complete .oath-continue.btn.btn:not(:disabled){opacity:1;visibility:visible;pointer-events:auto}
#app .oath-ceremony .oath-continue.btn.btn:focus-visible{filter:none;outline:1px solid #e4c98b;outline-offset:3px}

.blessing-art.blessing-painted{clip-path:circle(48% at 50% 50%);image-rendering:pixelated;overflow:hidden}
