.naw-quest-page-shell,
.naw-quest-page-shell *,
.naw-quest-page-shell *::before,
.naw-quest-page-shell *::after {
    box-sizing: border-box;
}

.naw-quest-page-shell {
    height: auto !important;
    min-height: 800px;
    overflow: visible;
}

.naw-quest-page-root {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: auto;
    min-height: 0;
    color: #2e1c0e;
}

.naw-quest-main-tabs {
    flex: 0 0 auto;
    display: flex;
    gap: 6px;
    margin: 0 0 10px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid rgba(82, 55, 25, .28);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.08)),
        rgba(240,223,195,.52);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
    -webkit-overflow-scrolling: touch;
}

.naw-quest-main-tab {
    position: relative;
    flex: 1 0 auto;
    min-width: 130px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid rgba(82,55,25,.22);
    border-radius: 8px;
    background: rgba(255,255,255,.14);
    color: #4b3014;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s ease, background .15s ease, color .15s ease;
}

.naw-quest-main-tab > span {
    margin-right: 4px;
}

.naw-quest-main-tab .naw-quest-main-tab-badge {
    position: absolute;
    top: -7px;
    right: -5px;
    width: auto;
    min-width: 20px;
    margin: 0;
    padding: 0 5px;
    pointer-events: none;
    cursor: inherit;
    line-height: 18px;
}

.naw-quest-main-tab small {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 5px;
    border-radius: 999px;
    background: rgba(82,55,25,.10);
    font-size: 9px;
    font-weight: 800;
    vertical-align: middle;
}

.naw-quest-main-tab:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.24);
}

.naw-quest-main-tab.is-active {
    border-color: rgba(242,197,91,.65);
    color: #fff1bd;
    background: linear-gradient(180deg, rgba(110,75,28,.95), rgba(45,31,12,.96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 4px 12px rgba(53,30,16,.16);
}

.naw-quest-main-tab.is-active small {
    background: rgba(255,241,189,.13);
}

.naw-modern-quest-feedback {
    display: none;
    flex: 0 0 auto;
    margin-bottom: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
}

.naw-modern-quest-feedback:not(:empty) {
    display: block;
}

.naw-modern-quest-feedback.is-success {
    color: #1f6330;
    border: 1px solid rgba(31,99,48,.28);
    background: rgba(49,135,68,.12);
}

.naw-modern-quest-feedback.is-error {
    color: #8b2f27;
    border: 1px solid rgba(139,47,39,.30);
    background: rgba(185,58,49,.11);
}

.naw-quest-view-panel {
    display: none;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: visible;
    overflow-x: hidden;
    padding: 2px 4px 12px 0;
}

.naw-quest-view-panel.is-active {
    display: block;
}

.naw-modern-quest-overview {
    min-width: 0;
}

.naw-modern-quest-eyebrow {
    display: inline-block;
    margin-bottom: 4px;
    color: #466c3b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.naw-modern-quest-intro {
    display: grid;
    gap: 10px;
    margin-bottom: 11px;
    padding: 13px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 16% 0%, rgba(255,255,255,.26), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.20), rgba(98,44,13,.09)),
        rgba(240,223,195,.50);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 12px rgba(53,30,16,.08);
}

.naw-modern-quest-intro h2,
.naw-quest-historical-head h2,
.naw-modern-quest-coming-soon h2 {
    margin: 0;
    color: #2e1c0e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.2;
}

.naw-modern-quest-intro p,
.naw-quest-historical-head p,
.naw-modern-quest-coming-soon p {
    margin: 6px 0 0;
    color: #5b432b;
    font-size: 12px;
    line-height: 1.5;
}

.naw-modern-quest-destination {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 9px;
    background: rgba(255,255,255,.16);
}

.naw-modern-quest-destination > span {
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-modern-quest-destination > strong {
    margin: 2px 0 4px;
    color: #3e250d;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.naw-modern-quest-destination > small {
    color: #6b5139;
    font-size: 10px;
    line-height: 1.35;
}

.naw-modern-quest-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 13px;
}

.naw-modern-quest-summary-card {
    min-width: 0;
    padding: 9px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 9px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.07)),
        rgba(240,223,195,.44);
}

.naw-modern-quest-summary-card > span,
.naw-modern-quest-summary-card > strong,
.naw-modern-quest-summary-card > small {
    display: block;
}

.naw-modern-quest-summary-card > span {
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.naw-modern-quest-summary-card > strong {
    margin: 2px 0;
    color: #2e1c0e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1;
}

.naw-modern-quest-summary-card > small {
    color: #6b5139;
    font-size: 9px;
}

.naw-modern-quest-summary-card.is-highlight {
    border-color: rgba(166,123,38,.38);
    background:
        linear-gradient(180deg, rgba(255,237,167,.24), rgba(155,108,54,.12)),
        rgba(225,197,145,.42);
}

.naw-modern-quest-summary-card.is-done {
    border-color: rgba(52,115,60,.30);
    background:
        linear-gradient(180deg, rgba(126,176,113,.18), rgba(60,113,55,.08)),
        rgba(226,216,183,.42);
}

.naw-modern-quest-chapter + .naw-modern-quest-chapter {
    margin-top: 16px;
}

.naw-modern-quest-chapter-head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
    padding: 0 2px 7px;
    border-bottom: 1px solid rgba(82,55,25,.20);
}

.naw-modern-quest-chapter-icon {
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(82,55,25,.25);
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    color: #3e250d;
    font-size: 18px;
}

.naw-modern-quest-chapter-head h3 {
    margin: 0;
    color: #3e250d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
}

.naw-modern-quest-chapter-head p {
    margin: 2px 0 0;
    color: #6b5139;
    font-size: 10px;
    line-height: 1.35;
}

.naw-modern-quest-card-list {
    display: grid;
    gap: 9px;
}

.naw-modern-quest-card {
    position: relative;
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.24), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.09)),
        rgba(240,223,195,.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 4px 11px rgba(53,30,16,.08);
}

.naw-modern-quest-card.is-locked {
    opacity: .72;
    filter: saturate(.68);
}

.naw-modern-quest-card.is-completed {
    border-color: rgba(166,123,38,.45);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 5px 15px rgba(130,91,24,.14);
}

.naw-modern-quest-card.is-claimed {
    border-color: rgba(52,115,60,.30);
}

.naw-modern-quest-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.naw-modern-quest-card-title {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.naw-modern-quest-status-icon {
    flex: 0 0 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    font-size: 13px;
}

.naw-modern-quest-card h4 {
    margin: 0 0 3px;
    color: #2e1c0e;
    font-size: 14px;
    line-height: 1.25;
}

.naw-modern-quest-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    color: #5b432b;
    background: rgba(82,55,25,.08);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.is-completed .naw-modern-quest-status-pill {
    color: #775613;
    background: rgba(166,123,38,.15);
}

.is-claimed .naw-modern-quest-status-pill {
    color: #2f6a38;
    background: rgba(52,115,60,.12);
}

.naw-modern-quest-progress-number {
    flex: 0 0 auto;
    color: #4b3014;
    font-size: 12px;
    font-weight: 900;
}

.naw-modern-quest-description {
    margin: 8px 0;
    color: #5b432b;
    font-size: 11px;
    line-height: 1.45;
}

.naw-modern-quest-lock-message {
    display: grid;
    gap: 2px;
    margin: 8px 0;
    padding: 8px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 8px;
    background: rgba(82,55,25,.07);
    color: #5f4933;
    font-size: 10px;
}

.naw-modern-quest-lock-message strong {
    color: #4b3014;
}

.naw-modern-quest-progress-track {
    height: 7px;
    overflow: hidden;
    margin: 9px 0;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    background: rgba(65,42,20,.14);
}

.naw-modern-quest-progress-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #477f3d, #7dad69);
}

.is-completed .naw-modern-quest-progress-track > span,
.is-claimed .naw-modern-quest-progress-track > span {
    background: linear-gradient(90deg, #9a7020, #d2aa4a);
}

.naw-modern-quest-any-note {
    margin-bottom: 7px;
    color: #72551f;
    font-size: 10px;
    font-style: italic;
}

.naw-modern-quest-objectives {
    display: grid;
    gap: 5px;
}

.naw-modern-quest-objective {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 6px 7px;
    border: 1px solid rgba(82,55,25,.14);
    border-radius: 7px;
    background: rgba(255,255,255,.12);
}

.naw-modern-quest-objective.is-completed {
    border-color: rgba(52,115,60,.22);
    background: rgba(73,139,67,.09);
}

.naw-modern-quest-objective-check {
    flex: 0 0 18px;
    color: #7b624b;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
}

.naw-modern-quest-objective.is-completed .naw-modern-quest-objective-check {
    color: #38753f;
}

.naw-modern-quest-objective-main {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.naw-modern-quest-objective-main > span {
    min-width: 0;
    color: #4b3014;
    font-size: 10px;
    line-height: 1.35;
}

.naw-modern-quest-objective-main > small {
    flex: 0 0 auto;
    color: #725b42;
    font-size: 9px;
    font-weight: 800;
}

.naw-modern-quest-advice {
    margin-top: 8px;
    border-top: 1px solid rgba(82,55,25,.14);
    padding-top: 7px;
}

.naw-modern-quest-advice summary {
    color: #466c3b;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.naw-modern-quest-advice p {
    margin: 6px 0 0;
    color: #5b432b;
    font-size: 10px;
    line-height: 1.45;
}

.naw-modern-quest-reward-zone {
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid rgba(82,55,25,.16);
}

.naw-modern-quest-reward-title {
    margin-bottom: 5px;
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.naw-modern-quest-rewards {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.naw-modern-quest-reward-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 25px;
    padding: 3px 7px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    color: #4b3014;
    font-size: 9px;
}

.naw-modern-quest-reward-pill img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.naw-modern-quest-reward-pill strong {
    font-size: 10px;
}

.naw-modern-quest-reward-pill.is-rarity-colored > strong,
.naw-modern-quest-reward-pill.is-rarity-colored > span:last-child {
    color: var(--naw-reward-rarity-color, #4b3014);
    font-weight: 900;
}

.naw-modern-quest-reward-emoji {
    font-size: 14px;
}

.naw-modern-quest-reward-empty {
    color: #725b42;
    font-size: 10px;
    font-style: italic;
}

.naw-modern-quest-claim {
    width: 100%;
    min-height: 36px;
    margin-top: 10px;
    padding: 7px 11px;
    border-color: #375146;
    border-radius: 18px;
    color: #f8f4f4;
    background: radial-gradient(ellipse at top, #58b863, #00000029), radial-gradient(ellipse at bottom, #14401f, #00000082);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 4px 10px rgba(20,64,31,.18);
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.naw-modern-quest-claim:hover:not(:disabled),
.naw-modern-quest-claim:active:not(:disabled),
.naw-modern-quest-claim:focus:not(:disabled) {
    color: #f8f4f4;
    background: #375146e6;
    border-color: #375146e6;
}

.naw-modern-quest-claim:disabled {
    cursor: wait;
    opacity: .65;
}

.naw-modern-quest-claimed-info {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin-top: 9px;
    padding: 7px 8px;
    border: 1px solid rgba(52,115,60,.22);
    border-radius: 8px;
    color: #37653c;
    background: rgba(73,139,67,.09);
    font-size: 9px;
}

.naw-modern-quest-claimed-info strong {
    width: 100%;
}

.naw-modern-quest-empty,
.naw-modern-quest-coming-soon,
.naw-quest-historical-head {
    padding: 16px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.20), rgba(98,44,13,.08)),
        rgba(240,223,195,.50);
}

.naw-modern-quest-empty {
    color: #5b432b;
    text-align: center;
    font-style: italic;
}

.naw-modern-quest-coming-soon {
    margin-top: 4px;
    text-align: center;
}

.naw-modern-quest-coming-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 9px;
    border: 1px solid rgba(82,55,25,.26);
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    color: #5b432b;
    font-size: 26px;
}

.naw-modern-quest-coming-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 12px 0;
}

.naw-modern-quest-coming-pills span {
    padding: 5px 8px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    color: #5b432b;
    background: rgba(255,255,255,.14);
    font-size: 9px;
    font-weight: 800;
}

.naw-modern-quest-coming-soon > small {
    color: #725b42;
    font-size: 9px;
}

.naw-quest-historical-head {
    margin-bottom: 10px;
}

.naw-quest-historical-content {
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 10px;
    background: rgba(255,255,255,.10);
}

@media (min-width: 640px) {
    .naw-modern-quest-intro {
        grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr);
        align-items: stretch;
    }

    .naw-modern-quest-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .naw-modern-quest-card-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 618px) {
    /*
     * Le cadre historique .cadre-plein-centre-l-l impose encore une largeur
     * fixe de 450 px et une hauteur fixe sur les petits écrans. La page de
     * quêtes contient désormais un volume dynamique : on neutralise ces deux
     * contraintes uniquement pour ce shell afin d'éviter tout débordement sur
     * les téléphones étroits sans modifier les autres pages du jeu.
     */
    .naw-quest-page-shell {
        width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px) !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 18px 6px 20px !important;
        padding: 42px 8px 18px !important;
        overflow: visible;
        background:
            radial-gradient(circle at 20% 0%, rgba(255,255,255,.24), transparent 34%),
            radial-gradient(#f0dfc3, #f0ddbf, #f0ddbf, #d2b796) !important;
        border: 2px solid rgba(82,55,25,.42);
        border-radius: 9px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 5px 16px rgba(53,30,16,.16);
        background-size: auto !important;
    }

    .naw-quest-page-shell > .cadre-plein-centre-titre {
        top: -18px;
    }

    .naw-quest-page-root {
        height: auto;
        min-height: 0;
    }

    .naw-quest-view-panel {
        overflow: visible;
    }

    .naw-quest-main-tab {
        min-width: 118px;
        font-size: 10px;
    }
}

/* ============================================================
   Contrats hebdomadaires — phase 4
   Mobile-first : aucune interaction essentielle ne dépend du survol.
   ============================================================ */
.naw-weekly-quest-overview {
    min-width: 0;
}

.naw-weekly-quest-hero {
    display: grid;
    gap: 10px;
    margin-bottom: 10px;
    padding: 13px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 16% 0%, rgba(255,255,255,.25), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.20), rgba(98,44,13,.09)),
        rgba(240,223,195,.50);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 12px rgba(53,30,16,.08);
}

.naw-weekly-quest-hero h2 {
    margin: 0;
    color: #2e1c0e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.2;
}

.naw-weekly-quest-hero p {
    margin: 6px 0 0;
    color: #5b432b;
    font-size: 12px;
    line-height: 1.5;
}

.naw-weekly-period-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 9px;
    background: rgba(255,255,255,.16);
}

.naw-weekly-period-card > span {
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-weekly-period-card > strong {
    margin: 2px 0 4px;
    color: #3e250d;
    font-size: 14px;
}

.naw-weekly-period-card > small {
    color: #6b5139;
    font-size: 10px;
}

.naw-weekly-selection-bar {
    margin-bottom: 10px;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.07)),
        rgba(240,223,195,.46);
}

.naw-weekly-selection-count {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.naw-weekly-selection-count span {
    color: #5b432b;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.naw-weekly-selection-count strong {
    color: #3e250d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
}

.naw-weekly-selection-track {
    height: 8px;
    margin: 7px 0;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    background: rgba(65,42,20,.14);
}

.naw-weekly-selection-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #477f3d, #7dad69);
}

.naw-weekly-selection-bar p {
    margin: 0;
    color: #6b5139;
    font-size: 10px;
    line-height: 1.4;
}

.naw-weekly-quest-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 10px;
}

.naw-weekly-destination {
    margin-bottom: 12px;
}

.naw-weekly-contract-grid {
    display: grid;
    gap: 9px;
}

.naw-weekly-contract-card {
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.24), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.09)),
        rgba(240,223,195,.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 4px 11px rgba(53,30,16,.08);
}

.naw-weekly-contract-card.is-selected,
.naw-weekly-contract-card.is-active {
    border-color: rgba(70,108,59,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 5px 14px rgba(62,105,54,.11);
}

.naw-weekly-contract-card.is-completed {
    border-color: rgba(166,123,38,.45);
}

.naw-weekly-contract-card.is-previous-period {
    border-style: dashed;
}

.naw-weekly-contract-top {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.naw-weekly-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    font-size: 17px;
}

.naw-weekly-contract-title {
    min-width: 0;
}

.naw-weekly-category-label {
    display: block;
    margin-bottom: 2px;
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-weekly-contract-title h3 {
    margin: 0;
    color: #2e1c0e;
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.naw-weekly-status-pill {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    margin-top: 2px;
    padding: 2px 7px;
    border-radius: 999px;
    color: #5b432b;
    background: rgba(82,55,25,.08);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.is-selected .naw-weekly-status-pill,
.is-active .naw-weekly-status-pill {
    color: #39643a;
    background: rgba(73,139,67,.11);
}

.is-completed .naw-weekly-status-pill {
    color: #775613;
    background: rgba(166,123,38,.15);
}

.naw-weekly-contract-description {
    margin: 8px 0;
    color: #5b432b;
    font-size: 11px;
    line-height: 1.45;
}

.naw-weekly-previous-period-label {
    margin: 7px 0;
    padding: 5px 7px;
    border-radius: 7px;
    color: #72551f;
    background: rgba(166,123,38,.10);
    font-size: 9px;
    font-weight: 800;
}

.naw-weekly-select-button {
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
    padding: 9px 12px;
    border: 1px solid rgba(38,66,55,.9);
    border-radius: 22px;
    color: #f2e8dc;
    background: radial-gradient(ellipse at top, #58b863, #14401f);
    box-shadow: 0 2px 7px rgba(0,0,0,.16);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    touch-action: manipulation;
}

.naw-weekly-select-button:disabled {
    color: #725f4d;
    border-color: rgba(82,55,25,.20);
    background: rgba(82,55,25,.10);
    box-shadow: none;
    cursor: not-allowed;
}

.naw-weekly-choice-warning {
    display: block;
    margin-top: 5px;
    color: #765637;
    font-size: 9px;
    text-align: center;
}

.naw-weekly-selected-notice {
    display: grid;
    gap: 2px;
    margin-top: 9px;
    padding: 7px 8px;
    border: 1px solid rgba(52,115,60,.22);
    border-radius: 8px;
    color: #37653c;
    background: rgba(73,139,67,.09);
    font-size: 9px;
}

.naw-weekly-selected-notice strong {
    font-size: 10px;
}

.naw-weekly-previous-section {
    margin-top: 18px;
}

@media (min-width: 640px) {
    .naw-weekly-quest-hero {
        grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr);
        align-items: stretch;
    }

    .naw-weekly-quest-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 760px) {
    .naw-weekly-contract-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .naw-weekly-contract-top {
        grid-template-columns: 34px minmax(0, 1fr) auto;
    }

    .naw-weekly-status-pill {
        grid-column: auto;
        justify-self: end;
        margin-top: 0;
    }
}

@media (max-width: 450px) {
    .naw-quest-main-tabs {
        gap: 5px;
        padding: 5px;
    }

    .naw-quest-main-tab {
        min-width: 108px;
        min-height: 44px;
        padding: 7px 8px;
        font-size: 10px;
    }

    .naw-quest-main-tab .naw-quest-main-tab-badge {
        top: -5px;
        right: -3px;
    }

    .naw-weekly-quest-hero,
    .naw-weekly-selection-bar,
    .naw-weekly-contract-card {
        padding: 10px;
    }

    .naw-weekly-quest-hero h2 {
        font-size: 18px;
    }

    .naw-weekly-quest-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .naw-modern-quest-objective-main {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .naw-modern-quest-objective-main > small {
        align-self: flex-start;
    }

    .naw-modern-quest-reward-pill {
        min-height: 28px;
    }

    .naw-modern-quest-claim,
    .naw-weekly-select-button {
        min-height: 46px;
        font-size: 12px;
    }
}

/* ============================================================
   Contrats mensuels — phase 5
   Mobile-first : une seule spécialisation, cartes tactiles et sans hover requis.
   ============================================================ */
.naw-monthly-quest-overview {
    min-width: 0;
}

.naw-monthly-quest-hero {
    display: grid;
    gap: 10px;
    margin-bottom: 10px;
    padding: 13px;
    border: 1px solid rgba(82,55,25,.30);
    border-radius: 11px;
    background:
        radial-gradient(circle at 82% 0%, rgba(255,239,190,.20), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(86,55,92,.08)),
        rgba(240,223,195,.50);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 12px rgba(53,30,16,.08);
}

.naw-monthly-quest-hero h2 {
    margin: 0;
    color: #2e1c0e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.2;
}

.naw-monthly-quest-hero p {
    margin: 6px 0 0;
    color: #5b432b;
    font-size: 12px;
    line-height: 1.5;
}

.naw-monthly-period-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(104,75,91,.25);
    border-radius: 9px;
    background: rgba(255,255,255,.16);
}

.naw-monthly-period-card > span {
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-monthly-period-card > strong {
    margin: 2px 0 4px;
    color: #3e250d;
    font-size: 14px;
}

.naw-monthly-period-card > small {
    color: #6b5139;
    font-size: 10px;
}

.naw-monthly-selection-bar {
    margin-bottom: 10px;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.17), rgba(86,55,92,.07)),
        rgba(240,223,195,.46);
}

.naw-monthly-selection-count {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.naw-monthly-selection-count span {
    color: #5b432b;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.naw-monthly-selection-count strong {
    color: #3e250d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
}

.naw-monthly-selection-track {
    height: 8px;
    margin: 7px 0;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    background: rgba(65,42,20,.14);
}

.naw-monthly-selection-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #76558a, #a67b9e);
}

.naw-monthly-selection-bar p {
    margin: 0;
    color: #6b5139;
    font-size: 10px;
    line-height: 1.4;
}

.naw-monthly-quest-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 10px;
}

.naw-monthly-destination {
    margin-bottom: 12px;
}

.naw-monthly-contract-grid {
    display: grid;
    gap: 9px;
}

.naw-monthly-contract-card {
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 82% 0%, rgba(255,239,190,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(86,55,92,.08)),
        rgba(240,223,195,.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 4px 11px rgba(53,30,16,.08);
}

.naw-monthly-contract-card.is-selected,
.naw-monthly-contract-card.is-active {
    border-color: rgba(118,85,138,.40);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 5px 14px rgba(98,65,112,.12);
}

.naw-monthly-contract-card.is-completed {
    border-color: rgba(166,123,38,.45);
}

.naw-monthly-contract-card.is-previous-period {
    border-style: dashed;
}

.naw-monthly-contract-top {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.naw-monthly-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(104,75,91,.25);
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    font-size: 17px;
}

.naw-monthly-contract-title {
    min-width: 0;
}

.naw-monthly-category-label {
    display: block;
    margin-bottom: 2px;
    color: #765637;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-monthly-contract-title h3 {
    margin: 0;
    color: #2e1c0e;
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.naw-monthly-status-pill {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    margin-top: 2px;
    padding: 2px 7px;
    border-radius: 999px;
    color: #5b432b;
    background: rgba(82,55,25,.08);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.is-selected .naw-monthly-status-pill,
.is-active .naw-monthly-status-pill {
    color: #684a79;
    background: rgba(118,85,138,.12);
}

.is-completed .naw-monthly-status-pill {
    color: #775613;
    background: rgba(166,123,38,.15);
}

.naw-monthly-contract-description {
    margin: 8px 0;
    color: #5b432b;
    font-size: 11px;
    line-height: 1.45;
}

.naw-monthly-previous-period-label {
    margin: 7px 0;
    padding: 5px 7px;
    border-radius: 7px;
    color: #6a4c75;
    background: rgba(118,85,138,.09);
    font-size: 9px;
    font-weight: 800;
}

.naw-monthly-select-button {
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
    padding: 9px 12px;
    border: 1px solid rgba(78,55,88,.90);
    border-radius: 22px;
    color: #f7edf4;
    background: radial-gradient(ellipse at top, #9c72aa, #4f385c);
    box-shadow: 0 2px 7px rgba(0,0,0,.16);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    touch-action: manipulation;
}

.naw-monthly-select-button:disabled {
    color: #725f4d;
    border-color: rgba(82,55,25,.20);
    background: rgba(82,55,25,.10);
    box-shadow: none;
    cursor: not-allowed;
}

.naw-monthly-choice-warning {
    display: block;
    margin-top: 5px;
    color: #765637;
    font-size: 9px;
    text-align: center;
}

.naw-monthly-selected-notice {
    display: grid;
    gap: 2px;
    margin-top: 9px;
    padding: 7px 8px;
    border: 1px solid rgba(118,85,138,.25);
    border-radius: 8px;
    color: #684a79;
    background: rgba(118,85,138,.09);
    font-size: 9px;
}

.naw-monthly-selected-notice strong {
    font-size: 10px;
}

.naw-monthly-previous-section {
    margin-top: 18px;
}

@media (min-width: 640px) {
    .naw-monthly-quest-hero {
        grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr);
        align-items: stretch;
    }

    .naw-monthly-quest-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 760px) {
    .naw-monthly-contract-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .naw-monthly-contract-top {
        grid-template-columns: 34px minmax(0, 1fr) auto;
    }

    .naw-monthly-status-pill {
        grid-column: auto;
        justify-self: end;
        margin-top: 0;
    }
}

@media (max-width: 450px) {
    .naw-monthly-quest-hero,
    .naw-monthly-selection-bar,
    .naw-monthly-contract-card {
        padding: 10px;
    }

    .naw-monthly-quest-hero h2 {
        font-size: 18px;
    }

    .naw-monthly-quest-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .naw-monthly-select-button {
        min-height: 46px;
        font-size: 12px;
    }
}


/* Aide pédagogique de la page Quêtes — même langage UI que les pages Héros. */
#information.naw-quest-information {
    box-sizing: border-box;
    width: min(760px, calc(100% - 20px));
    max-height: calc(100vh - 90px);
    min-width: 0;
    padding: 32px 12px 12px;
    overflow-y: auto;
    border: 1px solid rgba(82,55,25,.30);
    border-radius: 10px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.28), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(98,44,13,.08)),
        rgba(240,223,195,.97);
    color: #3e250d;
    box-shadow: 0 12px 30px rgba(53,30,16,.28), inset 0 1px 0 rgba(255,255,255,.18);
}

.naw-quest-information .close-information {
    top: 5px;
    left: 5px;
}

.naw-hero-help {
    display: grid;
    gap: 10px;
}

.naw-hero-help-hero {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(91,52,20,.20), rgba(255,244,214,.78));
    border: 1px solid rgba(82,55,25,.30);
    box-shadow: inset 0 0 18px rgba(255,255,255,.18);
}

.naw-hero-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 20%, #fff0c9, #b7884f 58%, #5f3817 100%);
    color: #fff7dc;
    font-size: 23px;
    text-shadow: 0 2px 3px rgba(0,0,0,.42);
    box-shadow: 0 2px 7px rgba(0,0,0,.25), inset 0 0 8px rgba(255,255,255,.22);
}

.naw-hero-help-kicker {
    color: #7b5a30;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.naw-hero-help-title {
    margin-top: 1px;
    color: #2f1d0d;
    font-size: 15px;
    font-weight: 900;
}

.naw-hero-help-lead {
    margin-top: 3px;
    color: #4f3920;
    font-size: 12px;
    line-height: 1.42;
}

.naw-hero-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.naw-hero-help-card {
    padding: 9px;
    border-radius: 8px;
    background: rgba(255,255,255,.24);
    border: 1px solid rgba(82,55,25,.20);
    box-shadow: inset 0 0 12px rgba(255,255,255,.12);
}

.naw-hero-help-card-title {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #2f1d0d;
    font-size: 12px;
    font-weight: 900;
}

.naw-hero-help-card-title span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(82,55,25,.13);
}

.naw-hero-help-card-text {
    margin-top: 5px;
    color: #4f3920;
    font-size: 11px;
    line-height: 1.38;
}

.naw-hero-help-section {
    padding: 9px 10px;
    border-radius: 8px;
    background: rgba(37,143,10,.08);
    border: 1px solid rgba(37,143,10,.20);
}

.naw-hero-help-section-title {
    margin-bottom: 5px;
    color: #254d13;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.naw-hero-help-list {
    margin: 0 0 0 18px;
    padding: 0;
}

.naw-hero-help-list li {
    margin: 3px 0;
    color: #3d2b18;
}

.naw-hero-help-details {
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 8px;
    background: rgba(255,255,255,.20);
}

.naw-hero-help-details summary {
    cursor: pointer;
    padding: 8px 10px;
    color: #3e250d;
    font-size: 12px;
    font-weight: 900;
    background: linear-gradient(90deg, rgba(98,44,13,.08), rgba(98,44,13,.20), rgba(98,44,13,.08));
}

.naw-hero-help-details-body {
    display: grid;
    gap: 6px;
    padding: 8px 10px 10px;
}

.naw-hero-help-tip {
    padding: 6px 7px;
    border-radius: 6px;
    background: rgba(255,248,230,.60);
    color: #4f3920;
    font-size: 11px;
    line-height: 1.35;
}

.naw-quest-help-legend {
    gap: 7px 14px;
    color: #3d2b18;
    font-size: 11px;
}

@media (max-width: 720px) {
    #information.naw-quest-information {
        top: 10px;
        width: calc(100% - 12px);
        max-height: calc(100vh - 70px);
        padding: 30px 8px 8px;
    }

    .naw-hero-help-hero {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 8px;
    }

    .naw-hero-help-icon {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .naw-hero-help-grid {
        grid-template-columns: 1fr;
    }

    .naw-hero-help-title {
        font-size: 13px;
    }

    .naw-hero-help-card,
    .naw-hero-help-section {
        padding: 8px;
    }
}

/* ============================================================
   Parcours principal Nature At War — refonte de l'ancien système
   La logique métier et les sélecteurs AJAX historiques sont conservés.
   Mobile-first, navigation tactile et états visibles sans hover.
   ============================================================ */
.naw-legacy-quest-overview,
.naw-legacy-quest-overview *,
.naw-legacy-quest-overview *::before,
.naw-legacy-quest-overview *::after {
    box-sizing: border-box;
}

.naw-legacy-quest-overview {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.naw-legacy-quest-hero,
.naw-legacy-navigator-card,
.naw-legacy-quest-card {
    min-width: 0;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 12px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255,255,255,.30), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(98,44,13,.09)),
        rgba(240,223,195,.50);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 5px 15px rgba(53,30,16,.10);
}

.naw-legacy-quest-hero {
    display: grid;
    gap: 10px;
    padding: 13px;
}

.naw-legacy-quest-hero h2,
.naw-legacy-quest-title-zone h2,
.naw-legacy-section-heading h3,
.naw-legacy-objectives-head h3,
.naw-legacy-reward-head h3 {
    margin: 0;
    color: #2e1c0e;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.2;
}

.naw-legacy-quest-hero h2 {
    font-size: 20px;
}

.naw-legacy-quest-hero p,
.naw-legacy-section-heading p {
    margin: 6px 0 0;
    color: #5b432b;
    font-size: 11px;
    line-height: 1.5;
}

.naw-legacy-overall-progress-card {
    display: grid;
    gap: 7px;
    align-self: stretch;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.24), rgba(80,124,68,.09)),
        rgba(255,255,255,.12);
}

.naw-legacy-overall-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.naw-legacy-overall-progress-head > span {
    color: #5b432b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.naw-legacy-overall-progress-head strong {
    color: #365d31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1;
}

.naw-legacy-overall-progress-track,
.naw-legacy-objective-progress-track {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 999px;
    background: rgba(65,42,20,.13);
}

.naw-legacy-overall-progress-track {
    height: 9px;
}

.naw-legacy-overall-progress-track > span,
.naw-legacy-objective-progress-track > span {
    display: block;
    height: 100%;
    max-width: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #477f3d, #7dad69);
    transition: width .28s ease;
}

.naw-legacy-overall-progress-card > small {
    color: #6b5139;
    font-size: 9px;
}

.naw-legacy-navigator-card {
    padding: 11px;
}

.naw-legacy-section-heading {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 9px;
}

.naw-legacy-section-heading--navigator {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.naw-legacy-section-heading-badge {
    flex: 0 0 20px;
    margin-left: auto;
    cursor: default;
}

.naw-legacy-section-heading h3,
.naw-legacy-objectives-head h3,
.naw-legacy-reward-head h3 {
    font-size: 16px;
}

.naw-legacy-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    color: #6b5139;
    font-size: 9px;
    font-weight: 800;
}

.naw-legacy-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.naw-legacy-legend i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(82,55,25,.30);
    border-radius: 50%;
    color: #6b5139;
    background: #ead4b0;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

.naw-legacy-legend i.is-claimable {
    color: #fff8dc;
    border-color: #8e671e;
    background: #aa7b25;
    box-shadow: 0 0 0 2px rgba(166,123,38,.16);
}

.naw-legacy-legend i.is-claimed {
    color: #fff;
    border-color: #365f39;
    background: #4f8648;
    box-shadow: 0 0 0 2px rgba(79,134,72,.14);
}

.naw-legacy-quest-navigator {
    display: flex;
    gap: 7px;
    min-width: 0;
    padding: 4px 2px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(82,55,25,.34) transparent;
}

.naw-legacy-quest-navigator::-webkit-scrollbar {
    height: 7px;
}

.naw-legacy-quest-navigator::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(82,55,25,.34);
}

.naw-legacy-quest-step-wrap {
    flex: 0 0 auto;
    scroll-snap-align: center;
}

.naw-legacy-quest-step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(82,55,25,.30);
    border-radius: 10px;
    color: #4b3014;
    background:
        linear-gradient(180deg, rgba(255,255,255,.25), rgba(98,44,13,.09)),
        rgba(240,223,195,.70);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    font-family: Verdana, sans-serif;
    transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease;
}

.naw-legacy-quest-step:hover,
.naw-legacy-quest-step:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(70,108,59,.58);
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 4px 10px rgba(53,30,16,.13);
}

.naw-legacy-step-number {
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.naw-legacy-step-state {
    position: absolute;
    top: -4px;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.32);
    border-radius: 50%;
    color: #6b5139;
    background: #ead4b0;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.naw-legacy-quest-step.is-claimable .naw-legacy-step-state::after {
    content: '';
    position: absolute;
    top: -45%;
    left: -125%;
    width: 62%;
    height: 190%;
    pointer-events: none;
    background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,255,255,.52), rgba(255,255,255,.14), transparent);
    transform: skewX(-18deg);
    transition: left .45s ease;
    animation: nawLegacyClaimableStarGlint 2.8s ease-in-out infinite;
    will-change: left;
}

@keyframes nawLegacyClaimableStarGlint {
    0%,
    58%,
    100% {
        left: -125%;
    }

    76% {
        left: 145%;
    }
}

.naw-legacy-quest-step.is-claimable {
    border-color: rgba(166,123,38,.55);
    background:
        linear-gradient(180deg, rgba(255,238,174,.38), rgba(166,123,38,.13)),
        rgba(240,223,195,.74);
}

.naw-legacy-quest-step.is-claimable .naw-legacy-step-state {
    color: #fff8dc;
    border-color: #8e671e;
    background: #aa7b25;
    box-shadow: 0 0 0 2px rgba(166,123,38,.16);
}

.naw-legacy-quest-step.is-claimed {
    border-color: rgba(52,115,60,.38);
    color: #315e35;
    background:
        linear-gradient(180deg, rgba(126,176,113,.22), rgba(60,113,55,.08)),
        rgba(240,223,195,.68);
}

.naw-legacy-quest-step.is-claimed .naw-legacy-step-state {
    color: #fff;
    border-color: #365f39;
    background: #4f8648;
}

.naw-legacy-quest-step.quete-selected,
.naw-legacy-quest-step.is-active {
    transform: translateY(-1px);
    border-color: rgba(242,197,91,.78);
    color: #fff1bd;
    background: linear-gradient(180deg, rgba(110,75,28,.97), rgba(45,31,12,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        0 0 0 2px rgba(242,197,91,.18),
        0 5px 12px rgba(53,30,16,.20);
}

.naw-legacy-quest-card {
    padding: 11px;
}

.naw-legacy-quest-card-header {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(82,55,25,.18);
}

.naw-legacy-quest-number {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 11px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.28), rgba(98,44,13,.10)),
        rgba(240,223,195,.68);
}

.naw-legacy-quest-number span {
    color: #765637;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.naw-legacy-quest-number strong {
    color: #3e250d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1;
}

.naw-legacy-quest-title-zone {
    min-width: 0;
}

.naw-legacy-quest-title-zone h2 {
    overflow-wrap: anywhere;
    font-size: 20px;
}

.naw-legacy-status-pill {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 999px;
    color: #5b432b;
    background: rgba(82,55,25,.08);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.naw-legacy-status-pill.is-claimable {
    color: #7c5713;
    border-color: rgba(166,123,38,.30);
    background: rgba(166,123,38,.14);
}

.naw-legacy-status-pill.is-claimed {
    color: #2f6a38;
    border-color: rgba(52,115,60,.26);
    background: rgba(52,115,60,.11);
}

.naw-legacy-quest-intro-grid {
    display: grid;
    gap: 9px;
    margin-bottom: 9px;
}

.naw-legacy-quest-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 124px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.16);
    border-radius: 12px;
    background:
        radial-gradient(circle at top, rgba(255,255,255,.22), rgba(255,255,255,.04) 62%),
        linear-gradient(180deg, rgba(84,57,28,.10), rgba(84,57,28,.03)),
        rgba(255,255,255,.14);
}

/*
 * L'ancien moteur de quêtes injecte encore .contourImage autour de l'image.
 * On neutralise uniquement sa boîte dans cette page pour conserver le HTML
 * historique sans hériter de sa bordure globale.
 */
.naw-legacy-quest-visual-media > .contourImage {
    display: contents;
}

.naw-legacy-quest-visual .imagecsscontour,
.naw-legacy-quest-visual-media > img {
    display: block;
    max-width: 100%;
    max-height: 152px;
    width: auto;
    height: auto;
    border: 1px solid rgba(129,92,36,.34);
    border-radius: 10px;
    object-fit: contain;
    background: rgba(255,255,255,.18);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 7px 18px rgba(53,30,16,.18),
        0 0 0 2px rgba(255,247,221,.15);
}

.naw-legacy-quest-description,
.naw-legacy-objectives-card,
.naw-legacy-reward-card {
    min-width: 0;
    padding: 11px;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 10px;
    background: rgba(255,255,255,.14);
}

.naw-legacy-quest-description {
    color: #4f3925;
    font-size: 11px;
    line-height: 1.58;
}

.naw-legacy-block-label {
    display: block;
    margin-bottom: 5px;
    color: #466c3b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.naw-legacy-objectives-card,
.naw-legacy-reward-card {
    margin-top: 10px;
}

.naw-legacy-objectives-head,
.naw-legacy-reward-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.naw-legacy-objectives-head > strong {
    flex: 0 0 auto;
    min-width: 48px;
    padding: 6px 8px;
    border-radius: 8px;
    color: #365d31;
    background: rgba(70,108,59,.10);
    text-align: center;
    font-size: 11px;
}

.naw-legacy-objective-progress-track {
    height: 7px;
    margin-bottom: 9px;
}

.naw-legacy-objective-list {
    display: grid;
    gap: 6px;
}

.naw-legacy-objective {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding: 7px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 8px;
    background: rgba(82,55,25,.045);
}

.naw-legacy-objective.is-complete {
    border-color: rgba(52,115,60,.24);
    background: rgba(52,115,60,.075);
}

.naw-legacy-objective-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 50%;
    color: #7a624a;
    background: rgba(255,255,255,.18);
    font-size: 12px;
    font-weight: 900;
}

.naw-legacy-objective.is-complete .naw-legacy-objective-icon {
    color: #fff;
    border-color: #3d703f;
    background: #54884e;
}

.naw-legacy-objective-text {
    min-width: 0;
    color: #4f3925;
    font-size: 10px;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

.naw-legacy-objective-state {
    grid-column: 2;
    justify-self: start;
    color: #7a624a;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.naw-legacy-objective.is-complete .naw-legacy-objective-state {
    color: #34703b;
}

.naw-legacy-reward-card {
    border-color: rgba(166,123,38,.26);
    background:
        linear-gradient(180deg, rgba(255,239,184,.12), rgba(155,108,54,.06)),
        rgba(255,255,255,.13);
}

.naw-legacy-reward-destination {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 999px;
    color: #6b5139;
    background: rgba(82,55,25,.08);
    font-size: 8px;
    font-weight: 800;
}

.naw-legacy-reward-content {
    display: grid;
    gap: 8px;
}

.naw-legacy-reward-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.naw-legacy-reward-pill {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid rgba(166,123,38,.28);
    border-radius: 999px;
    color: #4b3014;
    background: rgba(255,237,167,.18);
    font-size: 9px;
}

.naw-legacy-reward-pill strong {
    color: #775613;
    font-size: 11px;
}

.naw-legacy-reward-pill.is-empty {
    color: #725b42;
    font-style: italic;
}

.naw-legacy-reward-state {
    color: #6b5139;
    font-size: 9px;
    font-weight: 800;
}

.naw-legacy-reward-state.is-ready {
    color: #815d16;
}

.naw-legacy-reward-state.is-claimed {
    color: #34703b;
}

.naw-legacy-reward-state.is-locked {
    color: #725b42;
    font-weight: 700;
}

.naw-legacy-reward-action {
    display: flex;
    justify-content: flex-end;
    margin-top: 9px;
}

.naw-legacy-claim-button,
.naw-legacy-next-button {
    margin: 0;
    font-weight: 800;
}

.naw-legacy-next-button {
    min-height: 42px;
}

.naw-legacy-claim-button {
    width: auto;
    max-width: 240px;
    min-height: 36px;
    padding: 0 14px;
    font-size: 11px;
}

.naw-legacy-claim-button.disabled,
.naw-legacy-claim-button:disabled {
    opacity: .50;
    cursor: not-allowed !important;
    filter: grayscale(.25);
}

.naw-legacy-reward-action:empty {
    display: none;
}

.actionRecupRecompense {
    display: none;
    margin-top: 8px;
    padding: 8px;
    border: 1px solid rgba(82,55,25,.16);
    border-radius: 8px;
    background: rgba(255,255,255,.16);
    font-size: 10px;
    line-height: 1.4;
}

.actionRecupRecompense:not(:empty) {
    display: block;
}

.naw-legacy-advice {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 10px;
    background: rgba(255,255,255,.12);
}

.naw-legacy-advice summary {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 48px;
    padding: 8px 10px;
    cursor: pointer;
    list-style: none;
}

.naw-legacy-advice summary::-webkit-details-marker {
    display: none;
}

.naw-legacy-advice summary:focus-visible {
    outline: 2px solid rgba(70,108,59,.55);
    outline-offset: -2px;
}

.naw-legacy-advice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(70,108,59,.28);
    border-radius: 50%;
    color: #466c3b;
    background: rgba(70,108,59,.09);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 900;
}

.naw-legacy-advice summary strong,
.naw-legacy-advice summary small {
    display: block;
}

.naw-legacy-advice summary strong {
    color: #3e250d;
    font-size: 11px;
}

.naw-legacy-advice summary small {
    margin-top: 2px;
    color: #6b5139;
    font-size: 9px;
    line-height: 1.35;
}

.naw-legacy-advice-chevron {
    color: #6b5139;
    font-size: 18px;
    transition: transform .18s ease;
}

.naw-legacy-advice[open] .naw-legacy-advice-chevron {
    transform: rotate(180deg);
}

.naw-legacy-advice-content {
    padding: 0 11px 11px 50px;
    color: #4f3925;
    font-size: 10px;
    line-height: 1.55;
}

.naw-legacy-advice-content a {
    font-weight: 800;
    text-decoration: underline;
}

.naw-legacy-help-guide {
    display: grid;
    gap: 9px;
}

.naw-legacy-help-intro {
    margin: 0;
    color: #4a3320;
    font-weight: 700;
}

.naw-legacy-help-steps {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
}

.naw-legacy-help-steps li {
    padding-left: 2px;
}

.naw-legacy-help-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.naw-legacy-advice-content .naw-legacy-help-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid rgba(70,108,59,.28);
    border-radius: 8px;
    background: rgba(70,108,59,.09);
    color: #36572f;
    font-size: 9px;
    line-height: 1.25;
    text-decoration: none;
}

.naw-legacy-advice-content .naw-legacy-help-link:hover,
.naw-legacy-advice-content .naw-legacy-help-link:focus-visible,
.naw-legacy-advice-content .naw-legacy-help-link:visited {
    color: #36572f;
    text-decoration: none;
}

.naw-legacy-help-link span {
    font-size: 13px;
    line-height: 1;
}

.naw-legacy-help-validation,
.naw-legacy-help-tip {
    padding: 7px 9px;
    border-radius: 8px;
    line-height: 1.45;
}

.naw-legacy-help-validation {
    border-left: 3px solid rgba(70,108,59,.58);
    background: rgba(70,108,59,.08);
}

.naw-legacy-help-tip {
    border-left: 3px solid rgba(151,103,34,.50);
    background: rgba(151,103,34,.08);
}

@media (max-width: 559px) {
    .naw-legacy-advice-content {
        padding-left: 11px;
    }

    .naw-legacy-help-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    .naw-legacy-advice-content .naw-legacy-help-link {
        width: 100%;
        min-height: 34px;
        font-size: 10px;
    }
}

.naw-legacy-quest-footer {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(82,55,25,.16);
}

.naw-legacy-quest-footer > small {
    color: #725b42;
    font-size: 9px;
    line-height: 1.4;
}

.naw-legacy-next-button {
    width: 100%;
}

.naw-legacy-hidden-input {
    display: none;
}

@media (min-width: 560px) {
    .naw-legacy-quest-hero {
        grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr);
        align-items: stretch;
    }

    .naw-legacy-overall-progress-card {
        align-content: center;
    }

    .naw-legacy-section-heading {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }

    .naw-legacy-quest-card-header {
        grid-template-columns: 52px minmax(0, 1fr) auto;
    }

    .naw-legacy-status-pill {
        grid-column: auto;
        justify-self: end;
    }

    .naw-legacy-quest-intro-grid {
        grid-template-columns: minmax(126px, .52fr) minmax(0, 1.48fr);
        align-items: start;
    }

    .naw-legacy-quest-visual {
        min-height: 132px;
        padding: 8px;
    }

    .naw-legacy-quest-visual .imagecsscontour,
    .naw-legacy-quest-visual-media > img {
        max-height: 116px;
    }

    .naw-legacy-objective {
        grid-template-columns: 28px minmax(0, 1fr) auto;
    }

    .naw-legacy-objective-state {
        grid-column: auto;
        justify-self: end;
    }

    .naw-legacy-quest-footer {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .naw-legacy-next-button {
        width: auto;
        min-width: 170px;
    }
}

@media (min-width: 700px) {
    .naw-legacy-quest-card {
        padding: 14px;
    }

    .naw-legacy-quest-title-zone h2 {
        font-size: 23px;
    }

    .naw-legacy-objective-text,
    .naw-legacy-quest-description {
        font-size: 11px;
    }
}

@media (max-width: 450px) {
    .naw-legacy-quest-hero,
    .naw-legacy-navigator-card,
    .naw-legacy-quest-card {
        padding: 10px;
    }

    .naw-legacy-quest-hero h2,
    .naw-legacy-quest-title-zone h2 {
        font-size: 18px;
    }


    .naw-legacy-quest-step {
        width: 46px;
        height: 46px;
    }

    .naw-legacy-objectives-head,
    .naw-legacy-reward-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .naw-legacy-reward-destination {
        align-self: flex-start;
    }

    .naw-legacy-reward-action {
        max-width: none;
        width: 100%;
    }

    .naw-legacy-claim-button {
        width: auto;
        max-width: min(240px, 100%);
        min-height: 38px;
    }

    .naw-legacy-advice-content {
        padding-left: 11px;
    }
}


/* ============================================================
   Parcours historique — hiérarchie compacte Héros OFF / mobile
   ============================================================ */
.naw-legacy-section-title-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.naw-legacy-navigator-claimable {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 3px;
    border-radius: 7px;
    color: #775516;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.naw-legacy-navigator-claimable:hover,
.naw-legacy-navigator-claimable:focus-visible {
    outline: none;
    background: rgba(166,123,38,.10);
    box-shadow: 0 0 0 2px rgba(166,123,38,.12);
    transform: translateY(-1px);
}

.naw-legacy-navigator-claimable img {
    display: block;
    width: 17px;
    height: 17px;
    object-fit: contain;
    transform-origin: 50% 60%;
    animation: nawTreasureClaimableNudge 2.4s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(166,123,38,.24));
    will-change: transform;
}

@keyframes nawTreasureClaimableNudge {
    0%,
    58%,
    100% {
        transform: translateY(0) scale(1) rotate(0deg);
    }

    66% {
        transform: translateY(-2px) scale(1.07) rotate(-5deg);
    }

    74% {
        transform: translateY(0) scale(1.03) rotate(4deg);
    }

    82% {
        transform: translateY(-1px) scale(1.05) rotate(-3deg);
    }

    90% {
        transform: translateY(0) scale(1.01) rotate(1deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .naw-legacy-navigator-claimable img,
    .naw-legacy-quest-step.is-claimable .naw-legacy-step-state::after {
        animation: none;
        will-change: auto;
    }
}

.naw-legacy-navigator-progress {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    min-width: 0;
    color: #684d34;
    font-size: 8px;
    line-height: 1.1;
    white-space: nowrap;
}

.naw-legacy-navigator-progress > span {
    font-weight: 800;
    letter-spacing: .02em;
}

.naw-legacy-navigator-progress strong {
    color: #365d31;
    font-size: 11px;
}

.naw-legacy-navigator-progress small {
    color: #725b42;
    font-size: 8px;
}

.naw-legacy-navigator-progress .naw-legacy-overall-progress-track {
    width: 42px;
    height: 4px;
}

.naw-legacy-quest-visual-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-width: 0;
}

.naw-legacy-status-pill--visual {
    display: none;
}

.naw-legacy-mission-toggle {
    min-height: 30px;
    margin: 5px 0 0;
    padding: 4px 8px;
    border: 1px solid rgba(70,108,59,.28);
    border-radius: 7px;
    color: #3d6638;
    background: rgba(70,108,59,.08);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.naw-legacy-mission-toggle[hidden] {
    display: none !important;
}

.naw-legacy-quest-bottom-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(108px, auto);
    gap: 6px;
    align-items: start;
    margin-top: 10px;
}

.naw-legacy-quest-bottom-actions .naw-legacy-advice {
    margin-top: 0;
}

.naw-legacy-quest-bottom-actions .naw-legacy-next-button {
    width: auto;
    min-width: 108px;
    min-height: 44px;
    padding: 7px 9px;
    font-size: 10px;
    line-height: 1.2;
    white-space: normal;
}

@media (max-width: 559px) {
    .naw-legacy-section-heading--navigator {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 7px;
    }

    .naw-legacy-section-heading--navigator h3 {
        font-size: 14px;
    }

    .naw-legacy-navigator-progress .naw-legacy-overall-progress-track {
        width: 34px;
    }

    .naw-legacy-navigator-card,
    .naw-legacy-quest-card {
        padding: 9px;
    }

    .naw-legacy-quest-card-header {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 7px;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }

    .naw-legacy-quest-number {
        width: 42px;
        height: 42px;
        border-radius: 9px;
    }

    .naw-legacy-quest-number strong {
        font-size: 19px;
    }

    .naw-legacy-quest-title-zone h2 {
        font-size: 17px;
    }

    .naw-legacy-quest-card-header > #legacyQuestStatus {
        display: none;
    }

    .naw-legacy-quest-intro-grid {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 7px;
        align-items: stretch;
        margin-bottom: 8px;
    }

    .naw-legacy-quest-visual {
        position: relative;
        min-height: 90px;
        height: 100%;
        padding: 4px;
    }

    .naw-legacy-quest-visual .imagecsscontour,
    .naw-legacy-quest-visual-media > img {
        max-height: 82px;
        border-radius: 8px;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.24),
            0 4px 10px rgba(53,30,16,.16),
            0 0 0 1px rgba(255,247,221,.16);
    }

    #legacyQuestStatusMobile.naw-legacy-status-pill--visual {
        position: absolute;
        right: 4px;
        bottom: 4px;
        z-index: 2;
        display: inline-flex;
        min-height: 20px;
        max-width: calc(100% - 8px);
        padding: 3px 6px;
        overflow: hidden;
        font-size: 8px;
        line-height: 1.05;
        text-overflow: ellipsis;
        white-space: nowrap;
        box-shadow: 0 1px 4px rgba(53,30,16,.18);
    }

    .naw-legacy-quest-description {
        padding: 8px;
        font-size: 11px;
        line-height: 1.48;
    }

    .naw-legacy-quest-description .naw-legacy-block-label {
        margin-bottom: 3px;
        font-size: 8px;
    }

    .naw-legacy-mission-copy.is-collapsed {
        max-height: 2.96em;
        overflow: hidden;
    }

    .naw-legacy-objectives-card,
    .naw-legacy-reward-card {
        margin-top: 8px;
        padding: 9px;
    }

    .naw-legacy-objectives-head h3,
    .naw-legacy-reward-head h3 {
        font-size: 14px;
    }

    .naw-legacy-advice summary {
        grid-template-columns: 28px minmax(0, 1fr) 14px;
        gap: 5px;
        min-height: 44px;
        padding: 6px 7px;
    }

    .naw-legacy-advice-icon {
        width: 26px;
        height: 26px;
        font-size: 15px;
    }

    .naw-legacy-advice summary strong {
        font-size: 10px;
    }

    .naw-legacy-advice summary small {
        display: none;
    }

    .naw-legacy-advice-chevron {
        font-size: 15px;
    }

    .naw-legacy-advice-content {
        padding: 0 8px 8px;
        font-size: 10px;
    }
}

@media (min-width: 560px) {
    .naw-legacy-section-heading--navigator {
        align-items: center;
    }

    .naw-legacy-quest-visual .imagecsscontour,
    .naw-legacy-quest-visual-media > img {
        max-height: 116px;
    }

    .naw-legacy-mission-toggle {
        display: none !important;
    }

    .naw-legacy-quest-bottom-actions {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }

    .naw-legacy-quest-bottom-actions .naw-legacy-next-button {
        min-width: 170px;
        font-size: 11px;
    }
}

/* Phase 16 — récompenses dynamiques hebdomadaires et mensuelles */
.naw-recurring-reward-notice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px 11px;
    border: 1px solid rgba(70,108,59,.28);
    border-radius: 11px;
    background:
        radial-gradient(circle at 0 0, rgba(255,255,255,.30), transparent 40%),
        rgba(70,108,59,.08);
}

.naw-recurring-reward-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(70,108,59,.30);
    border-radius: 50%;
    color: #466c3b;
    background: rgba(255,255,255,.22);
    font-size: 17px;
}

.naw-recurring-reward-notice strong,
.naw-recurring-reward-notice p {
    display: block;
    margin: 0;
}

.naw-recurring-reward-notice strong {
    color: #34522f;
    font-size: 11px;
}

.naw-recurring-reward-notice p {
    margin-top: 2px;
    color: #5f4933;
    font-size: 9px;
    line-height: 1.45;
}

.naw-recurring-reward-meta {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
    margin: 9px 0;
    padding: 7px 8px;
    border: 1px solid rgba(82,55,25,.18);
    border-radius: 9px;
    background: rgba(255,255,255,.15);
}

.naw-recurring-reward-meta.is-pending {
    grid-template-columns: 30px minmax(0, 1fr);
    border-style: dashed;
    opacity: .78;
}

.naw-recurring-reward-tier-icon,
.naw-recurring-reward-meta.is-pending > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #765637;
    background: rgba(118,86,55,.10);
    font-size: 14px;
}

.naw-recurring-reward-tier-copy {
    min-width: 0;
}

.naw-recurring-reward-meta strong,
.naw-recurring-reward-meta small {
    display: block;
}

.naw-recurring-reward-meta strong {
    color: #3d2815;
    font-size: 10px;
}

.naw-recurring-reward-meta small {
    margin-top: 2px;
    color: #70583f;
    font-size: 8px;
    line-height: 1.35;
}

.naw-recurring-reward-lock {
    padding: 3px 6px;
    border-radius: 999px;
    color: #39643a;
    background: rgba(73,139,67,.12);
    font-size: 8px;
    font-weight: 900;
    white-space: nowrap;
    text-transform: uppercase;
}

.naw-modern-quest-reward-zone {
    position: relative;
}

.naw-weekly-contract-card .naw-modern-quest-reward-zone,
.naw-monthly-contract-card .naw-modern-quest-reward-zone {
    padding: 9px;
    border: 1px solid rgba(82,55,25,.16);
    border-radius: 9px;
    background: rgba(255,255,255,.12);
}

.naw-weekly-contract-card .naw-modern-quest-reward-title,
.naw-monthly-contract-card .naw-modern-quest-reward-title {
    color: #466c3b;
}

@media (max-width: 450px) {
    .naw-recurring-reward-meta {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .naw-recurring-reward-lock {
        grid-column: 1 / -1;
        justify-self: start;
        margin-left: 35px;
    }

    .naw-recurring-reward-notice {
        grid-template-columns: 32px minmax(0, 1fr);
        padding: 9px;
    }

    .naw-recurring-reward-notice-icon {
        width: 30px;
        height: 30px;
    }
}

/* Les récompenses objets réutilisent exactement les tooltips de heroinventory. */
.naw-modern-quest-reward-item-tooltip {
    cursor: help;
}

.naw-modern-quest-reward-item-tooltip:focus {
    outline: 2px solid rgba(88, 184, 99, .75);
    outline-offset: 2px;
}

/* Phase 17 — lecture prioritaire et densité réduite de la page Quêtes */
.naw-modern-quest-focus {
    display: grid;
    gap: 9px;
    margin: 0 0 13px;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.24);
    border-radius: 10px;
    background: rgba(255,255,255,.13);
}

.naw-modern-quest-focus-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.naw-modern-quest-focus-copy strong {
    color: #3e250d;
    font-size: 13px;
}

.naw-modern-quest-focus-copy span {
    color: #66503a;
    font-size: 11px;
    line-height: 1.4;
}

.naw-modern-quest-filter-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.naw-modern-quest-filter-buttons button {
    min-width: 0;
    min-height: 42px;
    padding: 7px 6px;
    border: 1px solid rgba(82,55,25,.28);
    border-radius: 8px;
    color: #4b331e;
    background: rgba(240,223,195,.58);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    cursor: pointer;
}

.naw-modern-quest-filter-buttons button.is-active {
    border-color: rgba(57,100,58,.48);
    color: #274f2b;
    background: linear-gradient(180deg, rgba(139,184,121,.27), rgba(76,128,66,.13));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}

.naw-modern-quest-filter-buttons button:focus-visible,
.naw-recurring-reward-details > summary:focus-visible,
.naw-recurring-other-contracts > summary:focus-visible {
    outline: 2px solid rgba(57,100,58,.72);
    outline-offset: 2px;
}

.naw-modern-quest-filter-empty {
    margin: 0 0 13px;
    padding: 11px;
    border: 1px dashed rgba(82,55,25,.28);
    border-radius: 9px;
    color: #66503a;
    background: rgba(255,255,255,.10);
    font-size: 12px;
    text-align: center;
}

.naw-modern-quest-card[hidden],
.naw-modern-quest-chapter[hidden],
.naw-modern-quest-filter-empty[hidden] {
    display: none !important;
}

.naw-recurring-quest-summary {
    grid-template-columns: minmax(0, 1fr);
}

.naw-recurring-reward-details,
.naw-recurring-other-contracts {
    margin: 0 0 12px;
    border: 1px solid rgba(82,55,25,.23);
    border-radius: 10px;
    background: rgba(255,255,255,.11);
    overflow: hidden;
}

.naw-recurring-reward-details > summary,
.naw-recurring-other-contracts > summary {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    min-height: 44px;
    padding: 9px 11px;
    color: #4d351f;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    user-select: none;
}

.naw-recurring-reward-details > summary::-webkit-details-marker,
.naw-recurring-other-contracts > summary::-webkit-details-marker {
    display: none;
}

.naw-recurring-reward-details > summary::after,
.naw-recurring-other-contracts > summary::after {
    content: "⌄";
    margin-left: auto;
    color: #72563b;
    font-size: 15px;
    line-height: 1;
    transition: transform .18s ease;
}

.naw-recurring-reward-details[open] > summary::after,
.naw-recurring-other-contracts[open] > summary::after {
    transform: rotate(180deg);
}

.naw-recurring-other-contracts > summary span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 24px;
    padding: 2px 7px;
    border-radius: 999px;
    color: #4d351f;
    background: rgba(82,55,25,.09);
    font-size: 11px;
}

.naw-recurring-reward-details .naw-recurring-reward-notice {
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(70,108,59,.20);
    border-radius: 0;
    box-shadow: none;
}

.naw-recurring-other-contracts-body {
    padding: 0 9px 9px;
    border-top: 1px solid rgba(82,55,25,.14);
}

.naw-recurring-other-contracts-body .naw-weekly-contract-grid,
.naw-recurring-other-contracts-body .naw-monthly-contract-grid {
    padding-top: 9px;
}

.naw-legacy-quest-hero--compact {
    gap: 8px;
    padding: 10px 11px;
}

.naw-legacy-quest-hero--compact h2 {
    font-size: 18px;
}

.naw-legacy-quest-hero--compact p {
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.4;
}

.naw-legacy-quest-hero--compact .naw-legacy-overall-progress-card {
    padding: 8px 9px;
}

@media (min-width: 520px) {
    .naw-modern-quest-focus {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .naw-modern-quest-filter-buttons {
        min-width: 285px;
    }

    .naw-recurring-quest-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Accès contextuels depuis les objectifs de quêtes. */
.naw-legacy-objective-guide-link {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.naw-legacy-objective-guide-link:hover,
.naw-legacy-objective-guide-link:focus,
.naw-legacy-objective-guide-link:visited {
    color: inherit;
    text-decoration: none;
}

.naw-legacy-objective-guide-link:hover .naw-legacy-objective-guide-arrow,
.naw-legacy-objective-guide-link:focus .naw-legacy-objective-guide-arrow {
    transform: translateX(3px);
}

.naw-legacy-objective-guide-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(88, 59, 29, .24);
    border-radius: 999px;
    background: rgba(255,255,255,.23);
    font-size: 13px;
    line-height: 1;
    transition: transform .16s ease;
}

.naw-legacy-help-objectives {
    display: grid;
    gap: 7px;
    margin: 11px 0;
    padding: 10px;
    border: 1px solid rgba(82,55,25,.20);
    border-radius: 10px;
    background: rgba(255,255,255,.12);
}

.naw-legacy-help-objectives-title {
    color: #4d351f;
    font-size: 12px;
}

.naw-legacy-help-objectives > p {
    margin: -2px 0 2px;
    color: #6c543c;
    font-size: 10px;
    line-height: 1.4;
}

.naw-legacy-help-objective-link {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    border: 1px solid rgba(84, 57, 28, .19);
    border-radius: 8px;
    background: rgba(245, 224, 183, .34);
    color: #4b351f;
    text-decoration: none;
}

.naw-legacy-help-objective-link:hover,
.naw-legacy-help-objective-link:focus,
.naw-legacy-help-objective-link:visited {
    color: #4b351f;
    text-decoration: none;
}

.naw-legacy-help-objective-label {
    min-width: 0;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.naw-legacy-help-objective-action {
    flex: 0 0 auto;
    white-space: nowrap;
    color: #6b4928;
    font-size: 10px;
    font-weight: 900;
}

@media (max-width: 519px) {
    .naw-legacy-help-objective-link {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .naw-legacy-help-objective-action {
        align-self: flex-end;
    }
}

@media (prefers-reduced-motion: reduce) {
    .naw-legacy-objective-guide-arrow {
        transition: none;
    }
}
