/* v45 exact latest screen overrides: source-matched blocks only. */

/* ===================================================================
   SCREEN: dungeonAttack        (adventure preparation)
   screen class = .game-guide-screen-dungeonAttack
   -------------------------------------------------------------------
   Annotation screen over the Dungeon setup screenshot. One image:
     --guide-bg   /assets/help/<lang>/dungeonAttack.webp
   Frames measured from the Japanese master (792x1407) x 1080/792.
   The slider-handle frame keeps the master's size but is re-centred on
   the English handle (master centre x322, English x255).
   This screen carries six callouts, so its text is set two steps
   smaller than the shared size and the boxes are kept wide.
   =================================================================== */

.game-guide-screen-dungeonAttack .game-guide-callout {
  min-height: 0;
  padding: 10px 17px;
  padding: 0.926cqw 1.574cqw;
  font-size: 20px;
  font-size: 2.407cqw;
}

.game-guide-screen-dungeonAttack .game-guide-frame-tabs,
.game-guide-screen-dungeonAttack .game-guide-window-tabs {
  left: 66.019%;
  top: 10.729%;
  width: 29.167%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-tabs > span {
  width: 342.857%;
  height: 1641.026%;
  left: -226.349%;
  top: -176.068%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-formation,
.game-guide-screen-dungeonAttack .game-guide-window-formation {
  left: 75.648%;
  top: 26.927%;
  width: 17.037%;
  height: 3.646%;
}
.game-guide-screen-dungeonAttack .game-guide-window-formation > span {
  width: 586.957%;
  height: 2742.857%;
  left: -444.022%;
  top: -738.571%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-minus,
.game-guide-screen-dungeonAttack .game-guide-window-minus {
  left: 5.278%;
  top: 41.094%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-minus > span {
  width: 857.143%;
  height: 1641.026%;
  left: -45.238%;
  top: -674.359%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-slider,
.game-guide-screen-dungeonAttack .game-guide-window-slider {
  left: 17.778%;
  top: 41.094%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-slider > span {
  width: 857.143%;
  height: 1641.026%;
  left: -152.381%;
  top: -674.359%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-plus,
.game-guide-screen-dungeonAttack .game-guide-window-plus {
  left: 82.870%;
  top: 41.094%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-plus > span {
  width: 857.143%;
  height: 1641.026%;
  left: -710.317%;
  top: -674.359%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-blessing,
.game-guide-screen-dungeonAttack .game-guide-window-blessing {
  left: 81.296%;
  top: 48.906%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-blessing > span {
  width: 857.143%;
  height: 1641.026%;
  left: -696.825%;
  top: -802.564%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-limitation,
.game-guide-screen-dungeonAttack .game-guide-window-limitation {
  left: 6.944%;
  top: 61.510%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-limitation > span {
  width: 857.143%;
  height: 1641.026%;
  left: -59.524%;
  top: -1009.402%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-difficulty,
.game-guide-screen-dungeonAttack .game-guide-window-difficulty {
  left: 74.907%;
  top: 61.510%;
  width: 19.167%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-difficulty > span {
  width: 521.739%;
  height: 1641.026%;
  left: -390.821%;
  top: -1009.402%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-autorepeat,
.game-guide-screen-dungeonAttack .game-guide-window-autorepeat {
  left: 6.944%;
  top: 67.552%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-autorepeat > span {
  width: 857.143%;
  height: 1641.026%;
  left: -59.524%;
  top: -1108.547%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-skip,
.game-guide-screen-dungeonAttack .game-guide-window-skip {
  left: 46.574%;
  top: 67.552%;
  width: 11.667%;
  height: 6.094%;
}
.game-guide-screen-dungeonAttack .game-guide-window-skip > span {
  width: 857.143%;
  height: 1641.026%;
  left: -399.206%;
  top: -1108.547%;
}

.game-guide-screen-dungeonAttack .game-guide-frame-start,
.game-guide-screen-dungeonAttack .game-guide-window-start {
  left: 35.370%;
  top: 78.490%;
  width: 29.444%;
  height: 8.802%;
}
.game-guide-screen-dungeonAttack .game-guide-window-start > span {
  width: 339.623%;
  height: 1136.095%;
  left: -120.126%;
  top: -891.716%;
}

/* 4. Auto Foray panel */
.game-guide-screen-difficulty-select .game-guide-frame-autoforay,
.game-guide-screen-difficulty-select .game-guide-window-autoforay {
  left: 30.185%;
  top: 77.604%;
  width: 24.537%;
  height: 9.323%;
}
.game-guide-screen-difficulty-select .game-guide-window-autoforay > span {
  width: 407.547%;
  height: 1072.626%;
  left: -123.019%;
  top: -832.402%;
}

/* --- callouts ----------------------------------------------------- */
/* Each box is anchored on the side its connector arrives from, so a
   longer translation always grows away from its own connector and into
   free space. Line budgets are in README.txt. */

.game-guide-screen-dungeonAttack .game-guide-callout-party {
  top: 18.750%;
  left: 38.519%;
  width: 52%;
}
.game-guide-screen-dungeonAttack .game-guide-callout-goalfloor {
  bottom: 61.198%;
  left: 10.648%;
  width: 78.426%;
  text-align: center;
}
.game-guide-screen-dungeonAttack .game-guide-callout-blessing {
  top: 49.271%;
  right: 24.074%;
  width: max-content;
  max-width: 70%;
  text-align: right;
}
.game-guide-screen-dungeonAttack .game-guide-callout-difficulty {
  top: 56.510%;
  right: 4.630%;
  width: max-content;
  max-width: 74%;
  text-align: right;
}
.game-guide-screen-dungeonAttack .game-guide-callout-checks {
  top: 61.719%;
  left: 23.148%;
  width: 48%;
}
.game-guide-screen-dungeonAttack .game-guide-callout-start {
  top: 88.542%;
  left: 16.204%;
  width: 66%;
  text-align: center;
}

/* --- connectors --------------------------------------------------- */
.game-guide-screen-dungeonAttack .game-guide-line-party-tabs {
  left: 80.648%;
  top: 16.823%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 1.927%;
}
.game-guide-screen-dungeonAttack .game-guide-line-party-formation {
  left: 83.796%;
  top: 21.667%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 5.260%;
}
.game-guide-screen-dungeonAttack .game-guide-line-goalfloor-minus {
  left: 10.648%;
  top: 38.802%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.292%;
}
.game-guide-screen-dungeonAttack .game-guide-line-goalfloor-slider {
  left: 23.241%;
  top: 38.802%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.292%;
}
.game-guide-screen-dungeonAttack .game-guide-line-goalfloor-plus {
  left: 88.333%;
  top: 38.802%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.292%;
}
.game-guide-screen-dungeonAttack .game-guide-line-blessing {
  left: 75.926%;
  top: 51.771%;
  width: 5.370%;
  height: 5px;
  height: max(2px, 0.741cqw);
}
.game-guide-screen-dungeonAttack .game-guide-line-difficulty {
  left: 84.074%;
  top: 59.427%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.083%;
}
.game-guide-screen-dungeonAttack .game-guide-line-checks-limitation {
  left: 18.611%;
  top: 64.271%;
  width: 4.537%;
  height: 5px;
  height: max(2px, 0.741cqw);
}
.game-guide-screen-dungeonAttack .game-guide-line-checks-autorepeat {
  left: 18.611%;
  top: 70.417%;
  width: 6.667%;
  height: 5px;
  height: max(2px, 0.741cqw);
}
.game-guide-screen-dungeonAttack .game-guide-line-checks-rail {
  left: 24.630%;
  top: 64.635%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 5.938%;
}
.game-guide-screen-dungeonAttack .game-guide-line-checks-skip {
  left: 52.037%;
  top: 64.635%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.917%;
}
.game-guide-screen-dungeonAttack .game-guide-line-start {
  left: 49.722%;
  top: 87.292%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 1.250%;
}

/* ===================================================================
   SCREEN: equipment-4
   screen class = .game-guide-screen-equipment-4
   -------------------------------------------------------------------
   Annotation screen over the Unlock Equipment Slot dialog.
   One image:
     --guide-bg   /assets/help/<lang>/equipment-4.webp
   NOTE: this master was supplied at 1080x1920, so the scale factor is
   1.0 - master pixels ARE canvas pixels here.
   Master frame:
     Unlock Cost row  x218..870 y1092..1184  ->  653 x 93
   Measured element extents (1080x1920):
     JA cost row  x233..846 y1103..1165
     EN cost row  x231..858 y1101..1163
   The rows sit in the same place (2px vertically); the English one is
   12px wider on the right ("14.8M" vs "1.23億") and still fits, so the
   master rect is copied verbatim.
   No connectors: the master draws all four notes without arrows.
   =================================================================== */

.game-guide-screen-equipment-4 .game-guide-dim {
  background: rgba(3, 2, 8, 0.74);
}
.game-guide-screen-equipment-4 .game-guide-callout {
  min-height: 0;
  padding: 10px 17px;
  padding: 0.926cqw 1.574cqw;
  font-size: 20px;
  font-size: 2.593cqw;
}

/* the Unlock Cost row. The master's 653x93 SIZE is kept and the frame
   is centred on the English row: this capture's bar runs x233..846
   (centre 539.5), so the frame sits x213..866. */
.game-guide-screen-equipment-4 .game-guide-frame-cost,
.game-guide-screen-equipment-4 .game-guide-window-cost {
  left: 19.722%;
  top: 56.875%;
  width: 60.463%;
  height: 4.844%;
}
.game-guide-screen-equipment-4 .game-guide-window-cost > span {
  width: 165.391%;
  height: 2064.516%;
  left: -32.619%;
  top: -1174.194%;
}

/* --- callouts ----------------------------------------------------- */
/* all four share one width and are centred on the canvas
   (x52..1028, centre 540) */
.game-guide-screen-equipment-4 .game-guide-callout-slot,
.game-guide-screen-equipment-4 .game-guide-callout-types,
.game-guide-screen-equipment-4 .game-guide-callout-order,
.game-guide-screen-equipment-4 .game-guide-callout-rarity {
  left: 4.815%;
  width: 90.370%;
}
.game-guide-screen-equipment-4 .game-guide-callout-slot   { top: 12.760%; }
/* 30px below the master's y so the first note has two lines of room
   rather than one; this box has 14 lines of its own */
.game-guide-screen-equipment-4 .game-guide-callout-types  { top: 21.875%; }
.game-guide-screen-equipment-4 .game-guide-callout-order  { top: 64.844%; }
.game-guide-screen-equipment-4 .game-guide-callout-rarity { top: 77.604%; }

/* ===================================================================
   SCREEN: limitbreak
   screen class = .game-guide-screen-limitbreak
   -------------------------------------------------------------------
   Composite page, as in the Japanese master: the character STAT screen
   is the background (it carries the Skill Enhance / Limit Break
   buttons), and the two Limit Break dialog panels are composited in
   from the Limit Break screenshot.
     --guide-bg      /assets/help/<lang>/limitbreak.webp        (stat screen)
     --guide-panel   /assets/help/<lang>/limitbreak-panel.webp  (dialog)
   Frame positions come from the master (792x1407 x 1080/792). The two
   composited panels keep their source aspect ratio, so they are a
   little wider than the master's boxes; each is re-centred on the
   master's box centre. Every frame's right edge stays inside 1080 so
   its border is never clipped by the canvas.
   =================================================================== */

.game-guide-screen-limitbreak .game-guide-dim {
  background: rgba(3, 2, 8, 0.72);
}
.game-guide-screen-limitbreak .game-guide-callout {
  min-height: 0;
  padding: 10px 17px;
  padding: 0.926cqw 1.574cqw;
  font-size: 20px;
  font-size: 2.407cqw;
}

/* ONE window for the whole Limit Break dialog, exactly as the master
   composites it: the dialog is cropped from --guide-panel as-is -
   title bar, character art and the panel column together - and laid
   over the dimmed stat screen. The master's crop runs from the
   dialog's top border down to the row where the stat screen resumes
   (master y384..1043 of 792 -> canvas y524..1422).
   Source crop 0,1013,1080x898: the dialog's top border is at y1013 in
   this capture and x maps 1:1 (the Owned pill sits at x674..948 in
   both captures). */
.game-guide-screen-limitbreak .game-guide-window-dialog {
  left: 0;
  top: 27.292%;
  width: 100%;
  height: 46.771%;
  --guide-window-src: var(--guide-panel);
}
.game-guide-screen-limitbreak .game-guide-window-dialog > span {
  width: 100%;
  height: 213.808%;
  left: 0;
  top: -112.806%;
}

/* The two frames now sit at the master's own rects, with no rescaling:
   effect panel  master x417..766 y470..775  -> canvas 569,641,476x416
   Owned + button master x482..699 y801..986 -> canvas 657,1092,296x252 */
.game-guide-screen-limitbreak .game-guide-frame-effect {
  left: 52.685%;
  top: 33.385%;
  width: 44.074%;
  height: 21.667%;
}
.game-guide-screen-limitbreak .game-guide-frame-held {
  left: 60.833%;
  top: 56.875%;
  width: 27.407%;
  height: 13.125%;
}

.game-guide-screen-limitbreak .game-guide-frame-buttons,
.game-guide-screen-limitbreak .game-guide-window-buttons {
  left: 50.000%;
  top: 86.458%;
  width: 50.000%;
  height: 4.896%;
}
.game-guide-screen-limitbreak .game-guide-window-buttons > span {
  width: 200.000%;
  height: 2042.553%;
  left: -100.000%;
  top: -1765.957%;
}

/* --- callouts ----------------------------------------------------- */
.game-guide-screen-limitbreak .game-guide-callout-effect {
  bottom: 71.927%;
  left: 10.741%;
  width: 78%;
  text-align: center;
}
.game-guide-screen-limitbreak .game-guide-callout-heart {
  top: 71.354%;
  left: 10.741%;
  width: 78%;
  text-align: center;
}
.game-guide-screen-limitbreak .game-guide-callout-open {
  top: 93.750%;
  left: 10.741%;
  width: 78%;
  text-align: center;
}

/* --- connectors --------------------------------------------------- */
.game-guide-screen-limitbreak .game-guide-line-effect {
  left: 74.213%;
  top: 28.073%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 5.313%;
}
.game-guide-screen-limitbreak .game-guide-line-heart {
  left: 74.213%;
  top: 70.000%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 1.354%;
}
.game-guide-screen-limitbreak .game-guide-line-open {
  left: 74.213%;
  top: 91.354%;
  width: 5px;
  width: max(2px, 0.741cqw);
  height: 2.396%;
}
