.brand:hover,.brand:focus-visible{color:#ffeb3b}.job-description{white-space:normal;text-align:left;min-width:28rem;max-width:44rem}.table-scroll table{min-width:0;width:max-content}.header-note{font-size:.875rem}.draft-links{display:flex;gap:1.5rem;flex-wrap:wrap}.home-menu-group{margin:.75rem 0;border:1px solid #b9cada;border-radius:.65rem;background:#fff;overflow:hidden}.home-menu-group>summary{display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;cursor:pointer;background:#eaf2f9;color:#123f68;font-size:1.12rem;font-weight:800;list-style:none}.home-menu-group>summary::-webkit-details-marker{display:none}.home-menu-group>summary::before{content:"＋";flex:0 0 1.25rem;color:#27699f;text-align:center}.home-menu-group[open]>summary::before{content:"−"}.home-menu-group>ul{margin:0;padding:.7rem 1.1rem .85rem 2.5rem;columns:2;column-gap:2rem}.home-menu-group>ul>li{break-inside:avoid;margin:.28rem 0}.site-footer{margin-top:1.5rem;padding:1.1rem max(1rem,calc((100% - 1180px)/2));border-top:1px solid #b9cada;background:#e5eef6;color:#36536d;text-align:center;font-size:.82rem;line-height:1.65}.site-footer p{margin:.15rem 0}.site-contact{width:min(36rem,100%);margin:.7rem auto 0;text-align:left}.site-contact>summary{cursor:pointer;text-align:center;font-weight:900;color:#164f78}.site-contact form{display:grid;gap:.65rem;margin-top:.7rem;padding:1rem;border:1px solid #a9bfd1;border-radius:.75rem;background:#f8fbfd}.site-contact label{display:grid;gap:.25rem;font-weight:800}.site-contact input,.site-contact textarea{width:100%;padding:.65rem;border:1px solid #829db4;border-radius:.45rem;background:#fff;font:inherit}.site-contact textarea{resize:vertical}.site-contact button{justify-self:start;padding:.6rem 1rem;border:0;border-radius:.5rem;background:#17689e;color:#fff;font:inherit;font-weight:900;cursor:pointer}.site-contact button:disabled{opacity:.55}.site-contact-status[data-error="true"]{color:#a51d1d}.site-contact-status{min-height:1.4em;font-weight:800}@media(max-width:800px){.site-shell{display:block}.header-inner{flex-wrap:wrap}.brand{white-space:normal}.job-description{min-width:22rem}.home-menu-group>ul{columns:1}}.game-store-links{margin:1rem 0 1.5rem;padding:1rem;border:1px solid #b8cad9;border-radius:.75rem;background:#f4f8fb;text-align:center}.game-store-title{margin:0;color:#123f68;font-size:1.1rem;line-height:1.4;border:0}.game-store-developer{margin:.2rem 0 .65rem;font-size:.9rem;font-weight:800}.game-store-developer a{color:#17689e}.game-store-guidance{margin:0 0 .75rem;font-weight:800;color:#294d69}.game-store-buttons{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}.game-store-button{display:flex;align-items:center;justify-content:center;width:145px;line-height:0;text-decoration:none;border-radius:.55rem;transition:transform .15s ease,filter .15s ease}.game-store-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.game-store-button:focus-visible{outline:3px solid #f4ba34;outline-offset:3px}.game-store-badge{display:block;width:145px;height:auto;max-width:100%}.game-store-badge--global{display:none!important}html:not([lang="ja"]) .game-store-badge--ja{display:none!important}html:not([lang="ja"]) .game-store-badge--global{display:block!important}@media(max-width:520px){.game-store-links{padding:.8rem}.game-store-title{font-size:1rem}.game-store-buttons{gap:.45rem}.game-store-button,.game-store-badge{width:132px}}.training-solo-note{font-weight:900;color:#164f78}.training-conditions{margin:.75rem 0;padding-left:1.5rem}.training-settings{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;margin:1rem 0;padding:.8rem 1rem;border:1px solid #a9bfd1;border-radius:.75rem;background:#f3f8fc}.training-settings label{display:grid;gap:.3rem;color:#164f78;font-weight:900}.training-settings select{min-width:9rem;padding:.55rem .7rem;border:1px solid #829db4;border-radius:.5rem;background:#fff;color:#17344d;font:inherit}.training-settings .training-save{display:flex;align-items:center;gap:.45rem;min-height:2.7rem;padding:0 .25rem;white-space:nowrap}.training-save input{width:1.1rem;height:1.1rem;margin:0;accent-color:#17689e}.training-map-tabs{display:flex;gap:.4rem;margin:1rem 0;padding:.35rem;overflow-x:auto;border:1px solid #a9bfd1;border-radius:.75rem;background:#e8f0f7;scrollbar-width:thin}.training-map-tab{flex:1 0 5rem;min-width:5rem;padding:.65rem .75rem;border:2px solid transparent;border-radius:.55rem;background:#fff;color:#164f78;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}.training-map-tab[aria-selected="true"]{border-color:#17689e;background:#17689e;color:#fff}.training-map-tab:focus-visible{outline:3px solid #f4ba34;outline-offset:2px}.training-map-panel[hidden]{display:none}.training-map-panel>h2{margin-top:.6rem}.training-rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.training-ranking{min-width:0}.training-ranking h3{margin:.25rem 0 .55rem;font-size:1.05rem;text-align:center}.training-ranking table{width:100%;min-width:20rem}.training-ranking td:first-child{width:3.5rem;text-align:center}.training-ranking td:last-child{text-align:right;font-weight:800;white-space:nowrap}.training-ranking tbody tr{cursor:pointer}.training-ranking tbody tr.training-row-linked td{background:#e7f2fb!important}.training-ranking tbody tr.training-row-selected td{background:#fff0a8!important}@media(max-width:1000px){.training-rankings{grid-template-columns:1fr}.training-ranking table{min-width:0}}.training-rankings{grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr))}.training-ranking{width:min(100%,27rem);justify-self:center}.training-ranking table{width:100%;min-width:0;table-layout:fixed}.training-ranking th,.training-ranking td{padding-inline:4px;text-align:center}.training-ranking td.training-location{text-align:center!important}.training-ranking td:last-child{text-align:center}.training-ranking th:first-child,.training-ranking td:first-child{width:2.3rem}.training-ranking th:nth-child(3),.training-ranking td.training-evasion{width:5rem}.training-ranking th:nth-child(3),.training-ranking th:nth-child(4){overflow-wrap:anywhere;line-height:1.2}.training-ranking td.training-evasion{font-weight:800;white-space:nowrap}.training-ranking th:nth-child(4),.training-ranking td:last-child{width:5.8rem}.training-location [data-training-location-name]{overflow-wrap:anywhere}.training-location .training-detail-button{max-width:100%}@media(max-width:600px){.training-ranking th,.training-ranking td{padding-inline:3px;font-size:.84rem}.training-ranking th:first-child,.training-ranking td:first-child{width:2rem}.training-ranking th:nth-child(3),.training-ranking td.training-evasion{width:4.4rem}.training-ranking th:nth-child(4),.training-ranking td:last-child{width:5rem}.training-location [data-training-location-name]{display:block}.training-location .training-detail-button{margin-top:.2rem}}@media(max-width:360px){.training-ranking table{min-width:20rem}}.training-sort-button{display:block;width:100%;min-height:2.5rem;padding:2px;border:0;border-radius:.3rem;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:1.2;white-space:normal;cursor:pointer;overflow-wrap:anywhere}.training-sort-button:hover{background:#dcecf8}.training-sort-button:focus-visible{outline:3px solid #f4ba34;outline-offset:1px}.training-sort-button [data-training-sort-arrow]{display:inline-block;color:#17689e;font-size:.78em}.training-rankings{display:block}.training-ranking{width:100%;max-width:none}.training-ranking table{width:100%;min-width:0;table-layout:fixed}.training-sort-status{caption-side:top;padding:.2rem .35rem .5rem;color:#164f78;font-size:.88rem;text-align:left}.training-ranking th,.training-ranking td{padding:.4rem .25rem;text-align:center}.training-ranking th:first-child,.training-ranking td:first-child{width:6%}.training-ranking th:nth-child(2),.training-ranking td:nth-child(2){width:40%}.training-ranking th:nth-child(3),.training-ranking td:nth-child(3){width:14%}.training-ranking th:nth-child(4),.training-ranking td:nth-child(4){width:20%}.training-ranking th:nth-child(5),.training-ranking td:nth-child(5){width:20%}.training-ranking td:nth-child(4),.training-ranking td:nth-child(5){font-weight:800;white-space:nowrap}.training-sort-button small{display:block;font-size:.75em;font-weight:600}@media(max-width:600px){.training-ranking th,.training-ranking td{padding-inline:2px;font-size:.76rem}.training-ranking th:first-child,.training-ranking td:first-child{width:7%}.training-ranking th:nth-child(2),.training-ranking td:nth-child(2){width:37%}.training-ranking th:nth-child(3),.training-ranking td:nth-child(3){width:15%}.training-ranking th:nth-child(4),.training-ranking td:nth-child(4),.training-ranking th:nth-child(5),.training-ranking td:nth-child(5){width:20.5%}.training-location .training-detail-button{font-size:.76rem}}@media(max-width:360px){.training-ranking table{min-width:0}}.training-ranking table {
  width: 100%;
  min-width: 740px;
  table-layout: fixed;
}
.training-ranking th,
.training-ranking td {
  padding: .4rem .2rem;
  text-align: center;
}
.training-ranking th:nth-child(1),
.training-ranking td:nth-child(1) { width: 5%; }
.training-ranking th:nth-child(2),
.training-ranking td:nth-child(2) { width: 29%; }
.training-ranking th:nth-child(3),
.training-ranking td:nth-child(3) { width: 9%; }
.training-ranking th:nth-child(4),
.training-ranking td:nth-child(4) { width: 7%; }
.training-ranking th:nth-child(5),
.training-ranking td:nth-child(5) { width: 12%; }
.training-ranking th:nth-child(6),
.training-ranking td:nth-child(6) { width: 10%; }
.training-ranking th:nth-child(7),
.training-ranking td:nth-child(7) { width: 14%; }
.training-ranking th:nth-child(8),
.training-ranking td:nth-child(8) { width: 14%; }
.training-ranking .training-location,
.training-ranking .training-evasion,
.training-ranking .training-trap,
.training-ranking .training-trap-job,
.training-ranking .training-terrain { text-align: center; }
.training-ranking .training-evasion,
.training-ranking td:nth-child(7),
.training-ranking td:nth-child(8) { font-weight: 800; white-space: nowrap; }
.training-ranking .training-terrain { overflow-wrap: anywhere; }
.training-ranking .training-trap-job { overflow-wrap: anywhere; }
.training-ranking td.training-location { padding-inline: .4rem; }
.training-location-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 32px;
  align-items: center;
  gap: .4rem;
}
.training-location-content [data-training-location-name] {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: center;
}
.training-location-content .training-detail-button {
  justify-self: end;
  margin: 0;
  white-space: nowrap;
}
.training-favorite-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #a8afb8;
  font: 18px/1 sans-serif;
  cursor: pointer;
}
.training-favorite-star.is-favorite { color: #f2b705; text-shadow: 0 0 1px #8a6500; }
.training-favorite-star:hover, .training-favorite-star:focus-visible { background: #e8f1fa; }
.training-favorite-star:focus-visible { outline: 3px solid #1764a0; }
.training-map-label { display: block; color: #52677d; font-size: .75rem; }
@media (max-width: 900px) {
  .training-location-content { grid-template-columns: minmax(0, 1fr) auto 44px; gap: .2rem; }
  .training-favorite-star { width: 44px; height: 44px; }
}
.training-trap-button,
.training-trap-close {
  min-height: 2rem;
  padding: .25rem .5rem;
  border: 1px solid #ae6b18;
  border-radius: .45rem;
  background: #fff7e6;
  color: #70420a;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.training-trap-button:hover,
.training-trap-close:hover { background: #ffe9bc; }
.training-trap-button:focus-visible,
.training-trap-close:focus-visible { outline: 3px solid #17689e; outline-offset: 2px; }
.training-trap-dialog {
  width: min(34rem, calc(100vw - 1.5rem));
  max-height: min(80vh, 42rem);
  padding: 1rem 1.25rem;
  border: 2px solid #ae6b18;
  border-radius: .8rem;
  background: #fffefa;
  color: #1f2937;
  box-shadow: 0 14px 36px rgb(0 0 0 / 24%);
  overflow: auto;
}
.training-trap-dialog::backdrop { background: rgb(12 25 36 / 58%); }
.training-trap-dialog h3 { margin: 0 0 .75rem; font-size: 1.18rem; }
.training-trap-dialog ol { margin: 0 0 .9rem; padding-left: 1.5rem; }
.training-trap-dialog li + li { border-top: 1px solid #d9c9a9; padding-top: .6rem; }
.training-trap-dialog p { margin: .35rem 0; }
.training-trap-message { white-space: pre-line; }
.training-trap-job-summary { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.training-trap-dialog:has(.training-trap-battle) { width: min(58rem, calc(100vw - 1.5rem)); }
.training-trap-facts { padding: .6rem .75rem; margin-block: .6rem; background: #f0f6fa; border-radius: .45rem; }
.training-trap-condition p { white-space: pre-line; }
.training-trap-damage-range { font-weight: 700; white-space: nowrap; }
.training-trap-job-entry { display: block; }
.training-trap-job-entry + .training-trap-job-entry { margin-top: .35rem; }
.training-trap-battle h4 { margin: .9rem 0 .35rem; }
.training-trap-battle .quest-detail-table-wrap { max-width: 100%; overflow-x: auto; }
.training-enemy-position { display: block; color: #4e6172; }
.training-location-content { grid-template-columns: minmax(0, 1fr) auto 32px 32px; }
.training-location-content .quest-note-button { position: static; transform: none; }
@media (max-width: 900px) {
  .training-location-content { grid-template-columns: minmax(0, 1fr) auto 44px 44px; }
}
@media (max-width: 600px) {
  .training-ranking table { min-width: 740px; }
  .training-ranking th,
  .training-ranking td { font-size: .8rem; }
}
.home-notices{margin:1.5rem 0;padding:1rem;border:0;border-radius:.35rem;background:#f3f7fa}
.home-notices h2{margin:0 0 .85rem;padding:0;font-size:1.2rem;border:0;background:transparent}
.home-notices-list{margin:0;padding-inline-start:1.3rem}
.home-notices-list li{margin:.55rem 0;line-height:1.6;overflow-wrap:anywhere}
.home-notice-new{display:inline-block;vertical-align:baseline;padding:.04rem .4rem;border:1px solid #d3a323;border-radius:.25rem;background:#ffe080;color:#674200;font:bold .8rem/1.4 Arial,sans-serif;letter-spacing:.035em;white-space:nowrap}
.home-notices time{color:#627486;font-size:.82rem;white-space:nowrap;margin-inline-end:.3rem}
.home-notices-list a{font-weight:700;text-decoration:none}
.home-notices-list a:hover{text-decoration:underline}
.home-notice-description{display:block;margin-block-start:.1rem;color:#354f65;font-size:.9rem}
.home-notices-empty{margin:.3rem 0;color:#627486;font-size:.9rem}
.home-notices [hidden]{display:none!important}
.home-notice-article{max-inline-size:75ch;text-align:start;font-size:1rem;color:#243746}
.home-notice-article h3{margin:.4rem 0 .8rem;font-size:1.1rem;line-height:1.5}
.home-notice-article p{margin:.65rem 0}
.home-notice-steps{padding-inline-start:1.4rem;margin:.65rem 0}
.home-notice-steps li{margin:.55rem 0;overflow-wrap:break-word}
@media(max-width:520px){.home-notices{padding:.75rem .7rem}.home-notices-list{padding-inline-start:1.05rem}.home-notices time{font-size:.76rem}.home-notice-description{font-size:.84rem}}

.route-card { margin:24px 0; padding:18px; border:2px solid #607a96; border-radius:8px; background:#f8fafc; scroll-margin-top:calc(var(--local-header-height, 180px) + 12px); }
.route-card h3 { margin-top:0; }
.route-result,.route-notice { padding:12px; background:#edf3fb; border-left:4px solid #4879b0; }
.route-card h2,.route-card .route-result,.route-card .route-notice { border-left:0; }
.route-card .quest-route-entry { margin:18px 0 24px; scroll-margin-top:calc(var(--local-header-height, 180px) + 12px); }
.route-card .quest-route-prerequisite { margin:6px 0 10px; }
.route-flow { margin:18px 0; }
.route-prerequisites { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:10px; border:2px solid #486d91; border-radius:7px; background:#eaf0f7; }
.route-prerequisites .route-prerequisites { border-color:#607a96; background:#f4f7fb; }
.route-branch { flex:1 1 230px; min-width:0; }
.route-prerequisites > .route-and ~ .route-branch { padding:8px; border:2px solid #597a98; border-left-width:5px; border-radius:6px; background:#edf5fc; }
.route-prerequisites > .route-and ~ .route-branch:nth-of-type(even) { border-color:#946c31; background:#fff6e7; }
.route-and { flex-basis:100%; margin:0; padding:8px; text-align:center; font-weight:bold; background:#dbe6f2; border-radius:4px; }
.route-step { padding:12px; text-align:center; background:#fff; border:1px solid #a6b6c7; border-radius:5px; overflow-wrap:anywhere; }
.route-step small { display:block; margin-top:6px; font-size:13px; color:#52657a; }
.route-arrow { margin:4px 0; text-align:center; font-size:22px; line-height:1.3; color:#355e86; font-weight:700; }
.route-card details > summary { cursor:pointer; padding:10px 0; }
.kind-nav{position:sticky;top:0;background:#fff;padding:10px;z-index:2}.table-scroll{max-width:100%}.route-card h2{margin-top:0}.route-step a{font-weight:bold}.quest-list-guide{display:flex;flex-wrap:wrap;align-items:center;max-width:100%;gap:8px 20px;margin:14px 0 18px;padding:10px 12px;overflow:visible;color:#334155;background:#f7fafc;border:1px solid #d7e1ea;border-radius:8px;font-size:.9rem}.quest-list-guide p{min-width:0;margin:0}.quest-threat-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700;cursor:pointer}.quest-threat-toggle input{width:17px;height:17px;margin:0;accent-color:#315f94;cursor:pointer}.quest-page-search{position:relative;max-width:42rem;margin:0 0 16px;padding:10px 12px;background:#eef5fb;border:1px solid #bfd0df;border-radius:8px}.quest-search{position:relative;flex:1 1 100%;max-width:42rem;margin:2px 0 0}.quest-search>label,.quest-page-search>label{display:block;margin-bottom:5px;font-weight:700}.quest-search-controls{display:flex;gap:8px;align-items:stretch}.quest-search-controls input{min-width:0;flex:1 1 auto;padding:8px 10px;border:1px solid #aebfce;border-radius:6px;background:#fff;color:#172033}.quest-search-controls button{flex:0 0 auto;padding:8px 16px;border:1px solid #315f94;border-radius:6px;background:#315f94;color:#fff;font-weight:700;cursor:pointer}.quest-search-suggestions{position:absolute;z-index:20;left:0;right:74px;top:100%;max-height:17rem;overflow:auto;margin:3px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid #9fb0c0;border-radius:6px;box-shadow:0 8px 20px rgba(15,23,42,.18)}.quest-page-search .quest-search-suggestions{left:12px;right:86px}.quest-search-suggestions[hidden]{display:none}.quest-search-suggestions button{display:block;width:100%;padding:7px 9px;text-align:left;border:0;border-radius:4px;background:#fff;color:#172033;cursor:pointer}.quest-search-suggestions button:hover,.quest-search-suggestions button:focus-visible{background:#e8f1fa}.quest-search-status{min-height:1.2em;margin:5px 0 0!important;color:#52657a}.quest-search-hit>td{background:#fff4b8!important;box-shadow:inset 0 2px #d97706,inset 0 -2px #d97706}.quest-copy-button{margin-left:6px;padding:2px 6px;background:#f4f7fb;color:#315f94;border:1px solid #aebfce;border-radius:4px;cursor:pointer}.quest-threat-badges{display:inline-flex;flex-wrap:wrap;align-items:center;max-width:100%;gap:4px;margin-left:7px;vertical-align:middle}.quest-name-cell--detail .quest-threat-badges{display:inline-grid;grid-template-columns:repeat(3,max-content)}.quest-threat-badges-sample{margin:4px 0 0 4px}.quest-threats-hidden .quest-threat-badges{display:none}.quest-threat-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;border:1px solid;border-radius:7px;font-size:.72rem;font-weight:700;line-height:1.25;letter-spacing:.02em;white-space:nowrap}.quest-threat-counter{color:#fff;background:#991b1b;border-color:#7f1d1d}.quest-threat-bow{color:#be185d;background:#fce7f3;border-color:#f9a8d4}.quest-threat-physical{color:#111827;background:#f3f4f6;border-color:#111827}.quest-threat-fire{color:#b42318;background:#feeceb;border-color:#f2998e}.quest-threat-water{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.quest-threat-lightning{color:#854d0e;background:#fef9c3;border-color:#facc15}.quest-threat-wind{color:#166534;background:#dcfce7;border-color:#86efac}.quest-threat-earth{color:#78350f;background:#fef3c7;border-color:#d6a85f}.quest-threat-ice{color:#0e7490;background:#cffafe;border-color:#67e8f9}.quest-threat-light{color:#a16207;background:#fffbeb;border-color:#fbbf24}.quest-threat-dark{color:#4c1d95;background:#ede9fe;border-color:#8b5cf6}.quest-threat-holy{color:#475569;background:#fff;border-color:#94a3b8;box-shadow:inset 0 0 0 1px #e2e8f0}.quest-threat-poison{color:#7e22ce;background:#f3e8ff;border-color:#c084fc}@media(max-width:700px){.route-card{padding:8px}.route-prerequisites{padding:6px}.quest-list-guide{gap:7px 14px;margin:10px 0 14px;padding:9px 10px}.quest-list-guide>p{flex:1 1 100%}.quest-threat-toggle{flex:1 1 100%}.quest-search,.quest-page-search{max-width:100%}.quest-search-suggestions,.quest-page-search .quest-search-suggestions{right:0}.quest-threat-badges{gap:3px;margin-left:5px}.quest-threat-badge{padding:2px 4px;font-size:.68rem}}

html:not([lang="ja"]) .quest-threat-badge--symbol{position:relative;width:1.65rem;height:1.55rem;padding:.1rem;border-radius:.42rem;overflow:visible}html:not([lang="ja"]) .quest-threat-badge--symbol svg{width:1.02rem;height:1.02rem;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}html:not([lang="ja"]) .quest-threat-badge--invalid::after{content:"×";position:absolute;right:-.23rem;bottom:-.28rem;display:grid;place-items:center;width:.76rem;height:.76rem;border:1px solid currentColor;border-radius:50%;background:#fff;color:inherit;font-size:.68rem;font-weight:900;line-height:1}.quest-page-search-hit{outline:3px solid #d97706;outline-offset:2px;background:#fff4b8!important}.sidebar>.quest-page-search--sidebar{margin:0 0 .8rem}

/* Keep horizontal panning local to each enemy table, not the dialog's grid. */
.quest-detail-dialog .quest-detail-dialog-inner{overflow-x:hidden;overflow-y:auto}
.quest-detail-dialog-body{grid-template-columns:minmax(0,1fr)}
.quest-detail-dialog-body>*{min-inline-size:0}
.quest-detail-table-wrap{inline-size:100%;min-inline-size:0;box-sizing:border-box;touch-action:auto}
.quest-detail-dialog .quest-detail-summary span{min-inline-size:0;max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
.quest-name-cell--detail{text-align:left!important}.sidebar>.quest-page-search--sidebar{position:relative;z-index:4;width:auto;margin:0 0 .75rem;padding:.72rem;border:1px solid #b9cada;border-radius:.55rem;background:#f5f9fd;box-shadow:none}.quest-page-search--sidebar>label{display:block;margin:0 0 .4rem;color:#173c60;font-size:.9rem;font-weight:700}.quest-page-search--sidebar .quest-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem}.quest-page-search--sidebar input[type=search]{width:100%;min-width:0;padding:.48rem .55rem;font-size:.85rem}.quest-page-search--sidebar .quest-search-controls button{padding:.42rem .55rem;white-space:nowrap}.quest-page-search--sidebar .quest-search-suggestions{position:absolute;top:calc(100% - .3rem);right:0;left:0;z-index:8;max-height:18rem;margin:0;padding:.35rem;overflow:auto;border:1px solid #9db4c9;border-radius:.45rem;background:#fff;box-shadow:0 .55rem 1.3rem rgba(13,43,70,.2)}.quest-page-search--sidebar .quest-search-status{margin:.35rem 0 0;font-size:.78rem;line-height:1.35}.quest-detail-button{appearance:none;margin-left:.35rem;padding:.18rem .48rem;border:1px solid #2467a8;border-radius:.45rem;background:#eaf4ff;color:#064f91;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;line-height:1.25;white-space:nowrap}.quest-detail-button:hover,.quest-detail-button:focus-visible{background:#cfe7ff;border-color:#064f91;outline:2px solid #8cc7ff;outline-offset:1px}.quest-detail-buttons-hidden .quest-detail-button{display:none}.quest-copy-buttons-hidden .quest-copy-button{display:none!important}.quest-copy-page-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-left:.7rem;color:#173c60;cursor:pointer;font-size:.88rem;font-weight:700;white-space:nowrap}.quest-copy-page-toggle input{width:1rem;height:1rem;margin:0;accent-color:#1769aa}.quest-detail-dialog{width:min(92vw,960px);max-height:min(88vh,820px);margin:auto;padding:0;border:0;border-radius:.8rem;background:#fff;color:#142033;box-shadow:0 18px 60px rgba(13,35,61,.32)}.quest-detail-dialog::backdrop{background:rgba(8,18,31,.62)}.quest-detail-dialog-inner{max-height:min(88vh,820px);overflow:auto}.quest-detail-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #cdd8e5;background:#edf5fc}.quest-detail-dialog-header h2{margin:0;color:#0b3157;font-size:clamp(1.15rem,2.7vw,1.55rem);line-height:1.35}.quest-detail-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:2.2rem;height:2.2rem;padding:0;border:1px solid #8ba2b9;border-radius:999px;background:#fff;color:#22384e;cursor:pointer;font-size:1.45rem;line-height:1;text-align:center}.quest-detail-dialog-body{display:grid;gap:1.1rem;padding:1rem 1.15rem 1.3rem}.quest-detail-enemy-info-hidden .quest-detail-enemy-badges{display:none}.quest-detail-enemy-info-hidden .quest-detail-enemy-table{min-width:420px}.quest-detail-enemy-info-hidden .quest-detail-enemy-table th:nth-child(n+3),.quest-detail-enemy-info-hidden .quest-detail-magic,.quest-detail-enemy-info-hidden .quest-detail-techniques{display:none}.quest-detail-summary{display:flex;gap:.55rem 1.1rem;flex-wrap:wrap;margin:0;padding:.7rem .85rem;border:1px solid #d8e0e9;border-radius:.55rem;background:#f7f9fc}.quest-detail-summary span{white-space:nowrap}.quest-detail-section-heading{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;flex-wrap:wrap;margin:0 0 .55rem}.quest-detail-section h3{margin:0;color:#124a7b;font-size:1.05rem}.quest-detail-enemy-info-toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.22rem .55rem;border:1px solid #9fb3c7;border-radius:.45rem;background:#f4f8fc;color:#173c60;cursor:pointer;font-size:.85rem;font-weight:700;white-space:nowrap}.quest-detail-enemy-info-toggle input{width:1rem;height:1rem;margin:0;accent-color:#1769aa}.quest-detail-table-wrap{overflow-x:auto;scrollbar-color:#3974aa #dce7f1;scrollbar-width:auto}.quest-detail-enemy-table{width:100%;min-width:860px;border-collapse:collapse;font-size:.92rem}.quest-detail-enemy-table th,.quest-detail-enemy-table td{padding:.52rem .58rem;border:1px solid #bccbd9;text-align:left;vertical-align:top}.quest-detail-enemy-table th{background:#dce9f5;color:#163b5d;white-space:nowrap}.quest-detail-enemy-table tbody tr.quest-detail-battle-even{background:#f7fafc}.quest-detail-battle-number{width:3.5rem;text-align:center!important;vertical-align:middle!important;font-weight:700}.quest-detail-enemy{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap;min-height:1.55rem}.quest-detail-enemy-name{font-weight:700;white-space:nowrap}.quest-detail-enemy-badges{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.quest-detail-magic{width:12rem}.quest-detail-techniques{min-width:17rem}.quest-detail-technique+.quest-detail-technique{margin-top:.4rem}.quest-detail-technique strong,.quest-detail-technique span{display:block}.quest-detail-technique strong{color:#0b5794}.quest-detail-technique span{margin-top:.12rem;color:#42566a;font-size:.82rem;line-height:1.45}.quest-detail-none,.quest-detail-no-battles{color:#738294}.quest-enemy-badge{display:inline-flex;align-items:center;min-height:1.35rem;padding:.08rem .38rem;border:1px solid currentColor;border-radius:.38rem;font-size:.72rem;font-weight:800;line-height:1.1;white-space:nowrap}.quest-enemy-badge--boss{min-height:1.65rem;padding:.12rem .55rem;border:2px solid #f0bd3a;border-radius:.48rem;background:#7a1d27;color:#fff4bd;box-shadow:0 1px 3px rgba(73,14,21,.28);font-size:.84rem;font-weight:900;letter-spacing:.04em}.quest-enemy-badge--counter{border-color:#7f1d1d;background:#991b1b;color:#fff}.quest-enemy-badge--weak{min-width:2.7rem;padding:.18rem .58rem;border:0;border-radius:0;clip-path:polygon(0 50%,10% 37%,6% 17%,28% 22%,40% 2%,53% 19%,72% 8%,78% 29%,99% 36%,88% 52%,100% 70%,77% 74%,68% 98%,51% 82%,31% 95%,25% 72%,5% 73%,13% 56%);text-shadow:0 1px 0 rgba(0,0,0,.18)}.quest-enemy-badge--resist{border-color:#a55708;background:#fff0dc;color:#843e00}.quest-enemy-badge--bow{border-color:#f9a8d4;background:#fce7f3;color:#be185d}.quest-enemy-badge--physical{border-color:#111827;background:#252b35;color:#fff}.quest-enemy-badge--fire{border-color:#ad1f1f;background:#fee2e2;color:#921717}.quest-enemy-badge--water,.quest-enemy-badge--ice{border-color:#1769aa;background:#dff1ff;color:#0b5794}.quest-enemy-badge--wind{border-color:#187657;background:#def7ec;color:#0f6146}.quest-enemy-badge--earth{border-color:#7b5a19;background:#f3ead2;color:#65450d}.quest-enemy-badge--lightning,.quest-enemy-badge--light,.quest-enemy-badge--holy{border-color:#9a7700;background:#fff8c9;color:#725700}.quest-enemy-badge--dark,.quest-enemy-badge--poison{border-color:#713e91;background:#f0e3fa;color:#5c277c}.quest-enemy-badge--neutral{border-color:#5c6d7e;background:#edf1f5;color:#38495a}.quest-enemy-badge--weak.quest-enemy-badge--fire{background:#c72d2d;color:#fff}.quest-enemy-badge--weak.quest-enemy-badge--water,.quest-enemy-badge--weak.quest-enemy-badge--ice{background:#1677bd;color:#fff}.quest-enemy-badge--weak.quest-enemy-badge--wind{background:#16865a;color:#fff}.quest-enemy-badge--weak.quest-enemy-badge--earth{background:#8a641b;color:#fff}.quest-enemy-badge--weak.quest-enemy-badge--lightning,.quest-enemy-badge--weak.quest-enemy-badge--light,.quest-enemy-badge--weak.quest-enemy-badge--holy{background:#c99a00;color:#17202b}.quest-enemy-badge--weak.quest-enemy-badge--dark,.quest-enemy-badge--weak.quest-enemy-badge--poison{background:#743f98;color:#fff}.quest-detail-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.quest-detail-info-card{min-width:0;padding:.78rem .85rem;border:1px solid #d4dee8;border-radius:.55rem;background:#fbfcfe}.quest-detail-info-card h3{margin:0 0 .45rem;color:#124a7b;font-size:.98rem}.quest-detail-info-card p{margin:0;overflow-wrap:anywhere}@media(max-width:720px){.sidebar>.quest-page-search--sidebar{margin-bottom:.55rem}.quest-detail-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.quest-detail-dialog-inner{max-height:calc(100vh - 1rem)}.quest-detail-dialog-header,.quest-detail-dialog-body{padding-left:.8rem;padding-right:.8rem}.quest-detail-info-grid{grid-template-columns:1fr}}

.quest-detail-dialog-header h2 {
  box-sizing: border-box;
  display: inline-block;
  flex: 0 1 auto;
  align-self: flex-start;
  inline-size: fit-content;
  max-inline-size: calc(100% - 3.2rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0b3157 !important;
  overflow-wrap: break-word;
}

.quest-detail-dialog-close {
  width: 44px;
  height: 44px;
}

.training-location { text-align: left !important; }
.training-location .training-detail-button { display: inline-block; }
.training-summoned-by { display: block; margin-top: .3rem; color: #42566a; }
.quest-detail-enemy-info-hidden .training-summoned-by { display: none; }
.training-detail-dialog .quest-detail-dialog-body > * { min-width: 0; }
.training-detail-dialog .quest-detail-table-wrap { max-width: 100%; }
.training-detail-dialog.quest-detail-enemy-info-hidden .quest-detail-enemy-table { min-width: 0; }

@media (max-width: 900px) {
  .quest-detail-button,
  .quest-copy-button,
  .quest-search-controls button {
    min-width: 44px;
    min-height: 44px;
  }

  .quest-detail-button {
    padding: 0.35rem 0.55rem;
  }

  .quest-copy-button {
    padding: 0.3rem 0.55rem;
  }

  .quest-copy-page-toggle,
  .quest-threat-toggle,
  .quest-detail-enemy-info-toggle {
    min-height: 44px;
  }

  .quest-check-cell input {
    width: 24px !important;
    height: 24px !important;
  }
}
/* Highlight the equipment row reached from an acquisition link. */
tr[id^="equipment-"] {
  scroll-margin-top: var(--equipment-anchor-offset, 10rem);
}
tr[id^="equipment-"]:target > td {
  background: #fff1b8 !important;
  box-shadow: inset 0 2px #c38b14, inset 0 -2px #c38b14;
}

/* Keep quest links from route/equipment pages centered and unmistakable. */
.quest-detail-table tr.quest-linked-target > td {
  background: #ffefad !important;
  box-shadow: inset 0 3px #c45f00, inset 0 -3px #c45f00;
}
.quest-detail-table tr.quest-linked-target > td:first-child {
  box-shadow: inset 4px 0 #c45f00, inset 0 3px #c45f00, inset 0 -3px #c45f00;
}
.quest-detail-table tr.quest-linked-target > td:last-child {
  box-shadow: inset -4px 0 #c45f00, inset 0 3px #c45f00, inset 0 -3px #c45f00;
}
.quest-related-link, .quest-related-link:visited, .quest-related-link:hover { color:inherit; text-decoration:none !important; }
.quest-related-link:focus-visible { outline:2px solid #315f94; outline-offset:2px; }

.quest-column-settings {
  flex: 1 1 100%;
  max-width: 60rem;
  border: 1px solid #9fb5c9;
  border-radius: 8px;
  background: #fff;
}

.quest-column-settings > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 12px;
  color: #173f68;
  font-weight: 700;
  cursor: pointer;
  list-style-position: inside;
}

.quest-column-settings > summary:hover,
.quest-column-settings > summary:focus-visible {
  background: #edf5fc;
}

.quest-column-settings > summary small {
  margin-inline-start: auto;
  color: #52657a;
  font-size: .78rem;
  font-weight: 600;
}

.quest-column-settings-body {
  padding: 0 12px 12px;
  border-top: 1px solid #d6e1eb;
}

.quest-column-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}

.quest-column-actions button {
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid #315f94;
  border-radius: 6px;
  background: #f4f8fc;
  color: #244f7c;
  font-weight: 700;
  cursor: pointer;
}

.quest-column-actions button:hover,
.quest-column-actions button:focus-visible {
  background: #dcecf9;
}

.quest-column-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 6px 12px;
}

.quest-column-option {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 4px 7px;
  border-radius: 5px;
  cursor: pointer;
}

.quest-column-option:hover {
  background: #eef5fb;
}

.quest-column-option:has(input:disabled) {
  color: #52657a;
  cursor: default;
}

.quest-column-option input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #315f94;
}

.quest-column-hidden {
  display: none !important;
}

@media (max-width: 700px) {
  .quest-column-settings > summary {
    align-items: flex-start;
    min-height: 44px;
    padding: 7px 9px;
  }

  .quest-column-actions button,
  .quest-column-option {
    min-height: 44px;
  }

  .quest-column-settings > summary small {
    max-width: 55%;
    text-align: end;
  }

  .quest-column-settings-body {
    padding: 0 9px 10px;
  }

  .quest-column-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.quest-detail-table td[data-quest-field="name"] {
  position: relative;
  padding-right: 42px;
  min-width: 10rem;
}
.quest-favorite-star {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #a8afb8;
  font: 18px/1 sans-serif;
  cursor: pointer;
}
.quest-favorite-star:hover, .quest-favorite-star:focus-visible { background: #e8f1fa; }
.quest-favorite-star.is-favorite { color: #f2b705; text-shadow: 0 0 1px #8a6500; }
.quest-favorite-star:focus-visible { outline: 3px solid #1764a0; outline-offset: 2px; }
@media (max-width: 900px) {
  .quest-detail-table td[data-quest-field="name"] { padding-right: 52px; height: 44px; }
  .quest-favorite-star { width: 44px; height: 44px; }
}
[data-quest-favorites-list] { min-width: 0; max-width: 100%; }
[data-quest-favorites-list] .table-scroll { max-width: 100%; overflow-x: auto; }
[data-quest-favorites-status]:empty { display: none; }
/* List preferences never hide controls inside the detail dialog. */
.quest-notes-buttons-hidden .quest-detail-table .quest-note-button,
.quest-favorites-buttons-hidden .quest-detail-table .quest-favorite-star { display: none !important; }
.quest-detail-section-heading .quest-favorite-star { position: static; transform: none; flex: 0 0 auto; width: 44px; height: 44px; }
.quest-detail-heading-label { display: block; margin-block-end: .25rem; font-size: .8em; font-weight: 500; }

.quest-detail-table td[data-quest-field="name"] { padding-right: 78px; }
.quest-note-button {
  position: absolute; right: 40px; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; padding: 0; margin: 0; border: 0;
  border-radius: 5px; background: transparent; color: #9a8064; cursor: pointer;
}
.quest-note-button:hover, .quest-note-button:focus-visible { background: #f3ece3; color: #785b40; }
.quest-note-button.has-note {
  color: #936000; background: transparent;
}
.quest-note-button.has-note:hover, .quest-note-button.has-note:focus-visible { color: #785000; background: transparent; }
.quest-note-button.has-note svg { stroke-width: 2; }
.quest-note-button.has-note svg rect { fill: #ffd34d; }
.quest-detail-section-heading .quest-note-button { position: static; transform: none; flex: 0 0 auto; width: 44px; height: 44px; }
.quest-note-button:focus-visible { outline: 3px solid #1764a0; outline-offset: 2px; }
.quest-note-dialog {
  box-sizing: border-box; width: min(560px, calc(100vw - 28px));
  max-height: calc(100dvh - 32px); overflow: auto; padding: 20px;
  border: 1px solid #b7cadf; border-radius: 12px; background: white; color: #173653;
  box-shadow: 0 12px 48px #1234;
}
.quest-note-dialog::backdrop { background: #10283f80; }
.quest-note-dialog h2 { margin: 0 0 12px; font-size: 1.1rem; overflow-wrap: anywhere; }
.quest-note-dialog p { font-size: .9rem; }
.quest-note-dialog textarea { box-sizing: border-box; display: block; width: 100%; min-height: 150px; resize: vertical; font: inherit; padding: 10px; border: 1px solid #7898b7; border-radius: 6px; }
.quest-note-dialog [role="alert"] { color: #a22525; }
.quest-note-dialog [role="alert"]:empty { display: none; }
.quest-note-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.quest-note-actions button { padding: 9px 18px; min-height: 44px; font: inherit; cursor: pointer; border: 1px solid #7898b7; border-radius: 6px; background: white; color: #173653; }
.quest-note-actions .quest-note-save { background: #315f8d; color: white; }
.quest-note-actions .quest-note-cancel { border: 2px solid #785b40; color: #674528; background: #f3ece3; font-weight: 700; }
.quest-note-actions .quest-note-cancel:hover, .quest-note-actions .quest-note-cancel:focus-visible { background: #e6d7c5; }
.quest-note-dialog .quest-note-actions { position: sticky; bottom: -20px; padding: 12px 0; background: #fff; }
.quest-note-card { margin: 16px 0; padding: 16px; border: 1px solid #b7cadf; border-radius: 10px; }
.quest-note-card h2 { margin: 0 0 12px; font-size: 1.05rem; overflow-wrap: anywhere; }
.quest-note-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.quest-note-heading h2 { flex: 1 1 16rem; min-width: 0; margin: 0; }
.quest-note-heading .quest-note-detail { flex: 0 0 auto; margin: 0; }
.quest-note-card textarea { box-sizing: border-box; width: 100%; min-height: 120px; padding: 10px; resize: vertical; font: inherit; border: 1px solid #7898b7; border-radius: 6px; }
.quest-note-card [role="status"]:empty { display: none; }
.quest-note-status:not(:empty) { padding: 10px 12px; border-inline-start: 4px solid #785b40; background: #f3ece3; color: #674528; font-weight: 700; }
.quest-note-back { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; min-width: 58px; padding: 7px 12px; border: 1px solid #7898b7; border-radius: 6px; background: #edf5fc; color: #173653; text-decoration: none; font-weight: 700; }
.quest-note-back:hover, .quest-note-back:focus-visible { background: #d7e8f7; color: #123f69; }
.quest-note-back:focus-visible { outline: 2px solid #1764a0; outline-offset: 2px; }
.quest-note-back-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.quest-note-back-links > span { margin-inline-end: 4px; font-weight: 700; }
@media (max-width: 900px) {
  .quest-detail-table td[data-quest-field="name"] { padding-right: 100px; }
  .quest-note-button { right: 52px; width: 44px; height: 44px; }
}
