/* NO-COMPATIBILITY HARD RED: One current runtime contract; no legacy accommodation, dual readers, aliases, fallback interpretation, or repair-on-read. Deterministic offline production transitions require an exact owner-approved plan. See docs/INVARIANTS/NO_COMPATIBILITY.md. */
/* Hagglefor theme: palette, shared graphic navigation and bounded identity decoration. */
/* Homepage activity strips are scoped to the Hagglefor landing surface. */
body.public-hagglefor-activity-page main { width: 100%; padding-inline: clamp(0.75rem, 1.35vw, 1.5rem); }
@media (max-width: 720px) { body.public-hagglefor-activity-page main { padding-inline: 0.6rem; } }
.hagglefor-activity { --activity-band-small-width: 76%; --activity-band-main-width: 100%; --activity-sign-burgundy: #7a1e1e; --activity-sign-gold: #e0c27a; --activity-sign-cream: #f8f4e5; color: var(--ink); min-width: 0; margin-top: 1.5rem; }
body.public-hagglefor-activity-page .hagglefor-activity h2 { margin: 0 auto; color: var(--activity-sign-gold); font-family: var(--font-information); font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 400; text-align: center; }
body.public-hagglefor-activity-page .hagglefor-activity__footer { margin: 0 auto; color: var(--activity-sign-gold); font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 700; text-align: center; }
.hagglefor-activity__band { box-sizing: border-box; min-width: 0; margin-inline: auto; background: transparent; border: 1px solid transparent; --activity-band-fill: var(--activity-sign-burgundy); --activity-band-edge: var(--activity-sign-gold); }
.hagglefor-activity__band--top,
.hagglefor-activity__band--bottom { width: var(--activity-band-small-width); padding: 0.3rem 0.5rem; }
.hagglefor-activity__band--top { border-bottom: 0; }
.hagglefor-activity__band--main { width: var(--activity-band-main-width); padding: 0 0.35rem 0.3rem; --activity-band-fill: var(--activity-sign-cream); --activity-band-edge: var(--activity-sign-burgundy); }
.hagglefor-activity__band--bottom { border-top: 0; }
@media (max-width: 900px) { .hagglefor-activity { --activity-band-small-width: 82%; } }
@media (max-width: 640px) { .hagglefor-activity { --activity-band-small-width: 90%; } }
/* Shared compound sign: portrait ends behind the wider ribbon. */
.activity-bands--canted { --activity-cut: 1rem; }
.activity-bands--canted .hagglefor-activity__band { position: relative; isolation: isolate; background: transparent; border-color: transparent; border-radius: 0; }
.activity-bands--canted .hagglefor-activity__band::before,
.activity-bands--canted .hagglefor-activity__band::after {
    content: ""; position: absolute; pointer-events: none;
    clip-path: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut));
}
.activity-bands--canted .hagglefor-activity__band::before { --cut: var(--activity-cut); inset: 0; z-index: -2; background: var(--activity-band-edge); }
.activity-bands--canted .hagglefor-activity__band::after { --cut: calc(var(--activity-cut) - 0.586px); inset: 1px; z-index: -1; background: var(--activity-band-fill); }
/* Cover the centre band's transparent block borders so the surfaces meet. */
.activity-bands--canted .hagglefor-activity__band--main::before { inset-block: -1px; }
.activity-bands--canted .hagglefor-activity__band--main::after { --cut: calc(var(--activity-cut) - 1.172px); inset: 1px 2px; }
/* Burgundy backing reaches the joins; only its outer edges retain gold. */
.activity-bands--canted .hagglefor-activity__band--top::after { bottom: 0; }
.activity-bands--canted .hagglefor-activity__band--bottom::after { top: 0; }
.activity-bands--canted .hagglefor-activity__band--top::before,
.activity-bands--canted .hagglefor-activity__band--top::after {
    clip-path: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 var(--cut));
}
.activity-bands--canted .hagglefor-activity__band--bottom::before,
.activity-bands--canted .hagglefor-activity__band--bottom::after {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));
}
@media (max-width: 900px) { .activity-bands--canted { --activity-cut: 0.85rem; } }
@media (max-width: 640px) {
    .activity-bands--canted { --activity-cut: 0.7rem; }
}
.hagglefor-activity__viewport { overflow: hidden; scrollbar-width: none; scroll-padding-inline: 6px; min-width: 0; margin-top: 0.75rem; padding: 0.3rem; }
.hagglefor-activity__viewport::-webkit-scrollbar { display: none; }
.hagglefor-activity__viewport {
    --activity-edge-fade: 50px;
    mask-image: linear-gradient(to right, transparent, #000 var(--activity-edge-fade), #000 calc(100% - var(--activity-edge-fade)), transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 var(--activity-edge-fade), #000 calc(100% - var(--activity-edge-fade)), transparent);
}
.hagglefor-activity__viewport:has(:focus-visible) { --activity-edge-fade: var(--activity-keyboard-fade, 50px); }
.hagglefor-activity__viewport:focus-visible { --activity-edge-fade: 0px; }
.hagglefor-activity__viewport:has(:focus-visible) .hagglefor-activity__track { translate: var(--activity-focus-shift, 0px) 0; }
.hagglefor-activity__track { display: flex; width: max-content; animation: hagglefor-activity-scroll var(--activity-duration) linear infinite; }
.hagglefor-activity--wanted .hagglefor-activity__track { animation-direction: reverse; }
.hagglefor-activity__cycle, .hagglefor-activity__sequence { display: flex; flex: none; }
.hagglefor-activity__sequence { align-items: flex-end; gap: 1.2rem; margin: 0; padding: 0 1.2rem 0 0; list-style: none; }
.hagglefor-activity__tile { flex: none; min-width: 4rem; }
.hagglefor-activity__tile > a { display: flex; flex-direction: column; align-items: center; color: #773b26; text-decoration: none; }
.hagglefor-activity__tile img { --homepage-marketplace-image-size: clamp(6rem, 10vw, 9rem); }
.hagglefor-activity__money { display: block; margin-top: 0.45rem; font-size: 1rem; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.hagglefor-activity__tile a:focus-visible, .hagglefor-activity__viewport:focus-visible { outline: 3px solid #773b26; outline-offset: 2px; }
@keyframes hagglefor-activity-scroll { to { transform: translateX(-50%); } }
@media (hover: hover) { .hagglefor-activity__viewport:hover .hagglefor-activity__track { animation-play-state: paused; } }
.hagglefor-activity__viewport:has(:focus-visible) .hagglefor-activity__track,
.hagglefor-activity__viewport:focus-visible .hagglefor-activity__track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
    .hagglefor-activity__viewport { overflow-x: auto; }
    .hagglefor-activity__track { animation: none; transform: none; }
    .hagglefor-activity__sequence[aria-hidden="true"], .hagglefor-activity__cycle[aria-hidden="true"] { display: none; }
}
body[class^="public-"] {
    --paper: #143d35;
    --panel: #f8f4e5;
    --public-frame-background: #f8f4e5;
    --public-card-background: #f8f4e5;
    --public-card-active-background: #e7efe2;
    --ink: #17251f;
    --muted: #53645b;
    --line: #c8d2c8;
    --accent: #9a4f2f;
    --surface-line: rgba(190, 207, 195, 0.92);
    background: #143d35;
}

body.public-account-page,
body.public-prelaunch-page {
    --accent: #e6c26f;
    --accent-dark: #773b26;
}

/* Shared Hagglefor navigation: three graphic anchors in one centered row. */
body[class^="public-"] .public-site-nav[data-hagglefor-nav] {
    --hagglefor-nav-image-height: clamp(2rem, 5vw, 3.9rem);
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.25rem;
    padding: 0.35rem 0.5rem;
    --accent: #9a4f2f;
}
body.public-account-page .public-title-with-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
body.public-account-page .public-title-with-action > h1 {
    min-width: 0;
    margin: 0;
}
body.public-account-page .public-title-with-action > form {
    flex: 0 0 auto;
    margin: 0;
}
@media (max-width: 40rem) {
    body.public-account-page .public-title-with-action[aria-labelledby="account-settings-title"] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Screen-only structural surfaces: all direct main panels, including public-card fills; never nested content cards. */
@media screen {
body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"])) {
    --hagglefor-sign-cut: 1rem;
    position: relative;
    isolation: isolate;
    filter: drop-shadow(0 0.3rem 0.45rem rgba(0, 0, 0, 0.22));
    background: transparent;
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
}
/* A flush membership strip must not clip the structural border or fill its cut corners. */
body.public-account-page > main > .public-membership--has-status {
    overflow: visible;
}
body.public-account-page > main > .public-membership--has-status > .public-membership__status {
    max-width: none;
    clip-path: polygon(var(--hagglefor-sign-cut) 0, calc(100% - var(--hagglefor-sign-cut)) 0, 100% var(--hagglefor-sign-cut), 100% 100%, 0 100%, 0 var(--hagglefor-sign-cut));
}
body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"]))::before,
body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"]))::after {
    content: ""; position: absolute; pointer-events: none;
    clip-path: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut));
}
body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"]))::before { --cut: var(--hagglefor-sign-cut); inset: -1px; z-index: -2; background: #7a1e1e; }
body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"]))::after { --cut: calc(var(--hagglefor-sign-cut) - 1.172px); inset: 1px; z-index: -1; background: #f8f4e5; }
@media (max-width: 900px) { body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"])) { --hagglefor-sign-cut: 0.8rem; } }
@media (max-width: 640px) { body[class^="public-"] :is(.public-site-nav[data-hagglefor-nav], body > main > :is(.section, .public-account-card, .public-content-panel, .public-prelaunch-card):not(.public-state-panel, [role="alert"])) { --hagglefor-sign-cut: 0.6rem; } }
}
body[class^="public-"] [data-hagglefor-nav] .public-hagglefor-nav__graphic {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
}
[data-hagglefor-nav] .public-site-nav__home { justify-self: start; }
[data-hagglefor-nav] .public-hagglefor-nav__trade { justify-self: center; }
[data-hagglefor-nav] .public-hagglefor-nav__account { justify-self: end; }
[data-hagglefor-nav] img { display: block; height: var(--hagglefor-nav-image-height); width: auto; max-width: 100%; object-fit: contain; }
body[class^="public-"] [data-hagglefor-nav] .public-site-nav__account-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 2.7rem;
    min-height: 2.7rem;
    padding: 0.16rem 0.68rem;
    font-size: 1.48rem;
    border: 1px solid #fff;
    pointer-events: none;
}
[data-hagglefor-nav] .public-hagglefor-nav__account .public-hagglefor-nav__cog {
    height: max(2.75rem, var(--hagglefor-nav-image-height));
}
@media (max-width: 720px) {
    body[class^="public-"] [data-hagglefor-nav] .public-site-nav__account-badge {
        min-width: 2.025rem;
        min-height: 2.025rem;
        padding: 0.12rem 0.51rem;
        font-size: 1.11rem;
    }
}
body[class^="public-"] [data-hagglefor-nav] a:focus-visible { outline: 3px solid #773b26; outline-offset: 2px; }
@media (hover: hover) { [data-hagglefor-nav] a:hover img { filter: drop-shadow(0 2px 2px #773b2660); } }

.public-hagglefor-home__logo {
    display: block;
    width: clamp(18rem, 32vw, 24rem);
    max-width: min(80vw, 100%);
    height: auto;
    margin: clamp(1.5rem, 3vw, 2.5rem) auto;
    filter: drop-shadow(0 0.25rem 0.35rem rgba(20, 15, 8, 0.3));
}

body.public-hagglefor-home-page {
    /* Preserve the distinct landing composition. */
    --public-frame-background: var(--panel);
    min-height: 100vh;
    color: #f8f4e5;
    font-family: var(--font-information);
}

body.public-hagglefor-activity-page .public-hagglefor-home__slugline {
    max-width: 100%;
    margin: 0 auto clamp(1.25rem, 2.5vw, 2rem);
    color: #e0c27a;
    font-size: clamp(0.9rem, 4.3vw, 2.25rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
}

body[class^="public-"] .public-site-footer[data-site="hagglefor"] {
    --footer-link-min-height: var(--public-control-min-height-touch);
    --footer-row-gap: 0.85rem;
    justify-content: center;
    color: rgba(255, 250, 240, 0.82);
    font-family: var(--font-information);
}

body[class^="public-"] .public-site-footer[data-site="hagglefor"] a:not(.public-control):not(.public-button):not(.version-badge),
body[class^="public-"] .public-site-footer[data-site="hagglefor"] .public-site-footer__sign-out {
    color: #e6c26f;
    font-weight: 400;
    text-decoration: none;
}

body[class^="public-"] .public-site-footer[data-site="hagglefor"] a:not(.public-control):not(.public-button):not(.version-badge):is(:hover, :focus) {
    text-decoration: none;
}

body[class^="public-"] .public-site-footer[data-site="hagglefor"] a:not(.public-control):not(.public-button):not(.version-badge):focus-visible {
    outline: auto;
    outline-offset: 0;
}

body[class^="public-"] .public-site-footer[data-site="hagglefor"] nav { justify-content: center; }
body.public-hagglefor-activity-page .hagglefor-activity,
body.public-hagglefor-activity-page .public-hagglefor-home__logo { filter: drop-shadow(0 0.3rem 0.45rem rgba(0, 0, 0, 0.22)); }
