:root {
    color-scheme: light;
    --forest-950: #102a1c;
    --forest-900: #173c27;
    --forest-800: #205132;
    --forest-700: #2d6d3d;
    --leaf: #6cae4a;
    --leaf-light: #b9db70;
    --cream: #fff9e8;
    --paper: #fffdf6;
    --sand: #f3e6bd;
    --gold: #d9982f;
    --gold-dark: #9b611d;
    --ink: #3d2b19;
    --muted: #796a56;
    --line: #dfce9e;
    --shadow: 0 14px 36px #18331c1c, 0 3px 8px #18331c12;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-width: 320px;
    color: var(--ink);
    background:
        radial-gradient(circle at 8% 5%, #d8edb7 0 9%, transparent 28%),
        radial-gradient(circle at 92% 18%, #f5dfa5 0 8%, transparent 26%),
        linear-gradient(180deg, #edf5d7 0, #f8f1d9 33rem, #f5efd9 100%);
    font-family: Inter, ui-rounded, "Segoe UI", system-ui, sans-serif;
    line-height: 1.5;
}

a { color: inherit; }
button, input, select { font: inherit; }

.wiki-nav-head { display: flex; align-items: center; gap: 7px; }
.wiki-nav-head .brand { flex: 1; min-width: 0; }
.wiki-nav-toggle { width: 31px; height: 31px; border: 1px solid #ffffff25; border-radius: 10px; color: #f4ffe9; background: #071c0d42; cursor: pointer; font-size: 1.4rem; line-height: 1; }
.wiki-nav-toggle:hover { background: #ffffff1b; }
.wiki-portal-link { display: grid; grid-template-columns: 25px minmax(0, 1fr) 15px; gap: 7px; align-items: center; min-height: 43px; margin: 0 0 17px; padding: 8px 10px; border: 1px solid #f3cf6f60; border-radius: 13px; color: #fff4c8; background: #d1932b21; font-size: .82rem; text-decoration: none; }
.wiki-portal-link:hover { background: #d1932b3b; }
.wiki-portal-link i { font-style: normal; text-align: right; }
.wiki-shell.is-nav-collapsed { grid-template-columns: 82px minmax(0, 1fr); }
.wiki-shell.is-nav-collapsed .wiki-nav { padding-inline: 13px; overflow-x: visible; }
.wiki-shell.is-nav-collapsed .wiki-nav-head .brand { justify-content: center; }
.wiki-shell.is-nav-collapsed .brand > span:last-child, .wiki-shell.is-nav-collapsed .nav-label, .wiki-shell.is-nav-collapsed .wiki-portal-link b, .wiki-shell.is-nav-collapsed .wiki-portal-link i { display: none; }
.wiki-shell.is-nav-collapsed .brand-mark { width: 48px; height: 48px; }
.wiki-shell.is-nav-collapsed .wiki-nav-toggle { position: absolute; top: 72px; right: -14px; z-index: 2; color: var(--forest-900); background: #f7dfa0; border-color: #d6ac4d; box-shadow: 0 4px 10px #081d1130; }
.wiki-shell.is-nav-collapsed .wiki-nav-toggle span { display: inline-block; transform: rotate(180deg); }
.wiki-shell.is-nav-collapsed .wiki-portal-link { display: grid; grid-template-columns: 1fr; justify-items: center; padding: 9px; }
.wiki-shell.is-nav-collapsed .nav-group summary { grid-template-columns: 1fr; justify-items: center; padding: 10px 5px; }
.wiki-shell.is-nav-collapsed .nav-group summary strong, .wiki-shell.is-nav-collapsed .nav-group summary i, .wiki-shell.is-nav-collapsed .nav-links { display: none; }

.wiki-shell {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    min-height: 100vh;
}

.wiki-nav {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 24px 18px;
    color: #f4ffe9;
    background:
        radial-gradient(circle at 20% 0, #3d7f4b 0, transparent 34%),
        linear-gradient(165deg, var(--forest-800), var(--forest-950));
    box-shadow: 12px 0 35px #15382028;
    z-index: 20;
    overflow-y: auto;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 17px;
    background: linear-gradient(145deg, #fff0a8, #e7ad43);
    box-shadow: inset 0 0 0 3px #fff6c7, 0 6px 16px #081d1138;
    font-size: 27px;
}

.brand strong { display: block; font-size: 1.08rem; }
.brand small { display: block; color: #b9d7bd; font-weight: 700; }

.nav-label {
    margin: 18px 10px 8px;
    color: #9cc2a5;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.nav-groups { display: grid; gap: 8px; }
.nav-group {
    overflow: hidden;
    border: 1px solid #ffffff16;
    border-radius: 14px;
    background: #071c0d18;
}
.nav-group summary {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    min-height: 43px;
    padding: 8px 11px;
    cursor: pointer;
    color: #eff9df;
    list-style: none;
    font-size: .9rem;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary:hover { background: #ffffff0d; }
.nav-group summary > i { font-style: normal; text-align: center; transition: transform .16s ease; }
.nav-group[open] summary > i { transform: rotate(180deg); }
.nav-group .nav-links { display: grid; gap: 3px; padding: 0 6px 7px; }
.nav-links { display: grid; gap: 5px; }
.nav-links a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 39px;
    padding: 7px 9px;
    border-radius: 10px;
    color: #dcebdd;
    font-weight: 750;
    text-decoration: none;
}
.nav-links a:hover { background: #ffffff12; color: white; }
.nav-links a.is-active {
    color: var(--forest-950);
    background: linear-gradient(135deg, #f7dfa0, #eab64e);
    box-shadow: 0 5px 15px #081d112e;
}
.nav-icon { width: 25px; text-align: center; font-size: 1.15rem; }

.wiki-main { min-width: 0; }
.mobile-topbar {
    display: none;
    position: sticky;
    top: 0;
    z-index: 30;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    color: white;
    background: var(--forest-900);
}
.mobile-topbar button {
    border: 0;
    border-radius: 10px;
    padding: 8px 12px;
    color: var(--forest-950);
    background: #f3cb68;
    font-weight: 900;
}

.content {
    width: min(1420px, 100%);
    margin: 0 auto;
    padding: 34px clamp(18px, 4vw, 58px) 70px;
}

.hero {
    position: relative;
    overflow: hidden;
    padding: clamp(26px, 5vw, 56px);
    border: 2px solid #dfb24e;
    border-radius: 32px;
    color: white;
    background:
        linear-gradient(90deg, #173e26f2, #2a6c39df),
        url("assets/town_map_v2.png") center/cover;
    box-shadow: var(--shadow);
}
.hero::after {
    content: "🌿";
    position: absolute;
    right: clamp(12px, 4vw, 48px);
    bottom: -35px;
    font-size: clamp(7rem, 18vw, 13rem);
    opacity: .12;
    transform: rotate(-12deg);
}
.eyebrow {
    margin: 0 0 7px;
    color: #f3d578;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}
h1 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(2.1rem, 5vw, 4.3rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.hero-copy {
    max-width: 760px;
    margin: 16px 0 0;
    color: #e0efe0;
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.searchbar {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 10px;
    max-width: 760px;
    margin-top: 24px;
}
.searchbar input, .filter-select {
    width: 100%;
    min-height: 48px;
    border: 2px solid #ffffff45;
    border-radius: 15px;
    padding: 10px 15px;
    color: var(--ink);
    background: #fffdf4f2;
    outline: none;
}
.searchbar input:focus, .filter-select:focus {
    border-color: #f2c65b;
    box-shadow: 0 0 0 4px #f2c65b38;
}
.primary-button, .secondary-button {
    min-height: 48px;
    border: 0;
    border-radius: 15px;
    padding: 10px 18px;
    cursor: pointer;
    font-weight: 900;
}
.primary-button { color: #2b1b0b; background: linear-gradient(#ffd978, #eab043); }
.secondary-button { color: var(--forest-800); background: #ecf4d9; }

.stats-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(110px, 1fr));
    gap: 12px;
    margin: 18px 0 0;
}
.stat {
    padding: 16px;
    border: 1px solid #ffffff2e;
    border-radius: 17px;
    background: #ffffff12;
    backdrop-filter: blur(8px);
}
.stat strong { display: block; color: #ffe495; font-size: 1.55rem; }
.stat span { color: #dceadc; font-size: .82rem; font-weight: 800; }

.page-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin: 34px 0 18px;
}
.page-head h2 {
    margin: 0;
    color: var(--forest-900);
    font-size: clamp(1.6rem, 3vw, 2.25rem);
}
.page-head p { max-width: 760px; margin: 4px 0 0; color: var(--muted); }
.result-count {
    flex: none;
    border-radius: 999px;
    padding: 7px 12px;
    color: var(--forest-800);
    background: #dcecc5;
    font-size: .82rem;
    font-weight: 900;
}

.category-grid, .catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.category-card, .catalog-card, .panel {
    border: 1px solid var(--line);
    border-radius: 23px;
    background: var(--paper);
    box-shadow: var(--shadow);
}
.category-card {
    display: block;
    min-height: 160px;
    padding: 22px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}
.category-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px #18331c26; }
.category-card .big-icon { font-size: 2.4rem; }
.category-card h3 { margin: 10px 0 3px; color: var(--forest-900); }
.category-card p { margin: 0; color: var(--muted); }

.catalog-card {
    overflow: hidden;
    min-width: 0;
}
.card-art {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 174px;
    background:
        radial-gradient(circle, #fff9d6 0 28%, transparent 61%),
        linear-gradient(145deg, #e4f2c8, #f3e4ad);
}
.card-art img {
    width: 132px;
    height: 132px;
    object-fit: contain;
    filter: drop-shadow(0 11px 9px #2a421c2b);
}
.level-badge, .category-badge {
    position: absolute;
    top: 10px;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .72rem;
    font-weight: 950;
}
.level-badge { left: 10px; color: #fff8d6; background: #285f36e8; }
.category-badge { right: 10px; color: #5d3b13; background: #ffdd80e8; }
.card-body { padding: 17px; }
.card-body h3 { margin: 0; color: var(--forest-900); font-size: 1.15rem; }
.card-body .slug { color: #99856d; font-size: .75rem; font-weight: 700; }
.description { min-height: 3em; margin: 9px 0 13px; color: var(--muted); font-size: .91rem; }

.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    border: 1px solid #ded5b9;
    border-radius: 999px;
    padding: 4px 8px;
    color: #624928;
    background: #faf3da;
    font-size: .77rem;
    font-weight: 850;
}
.chip.is-green { border-color: #c5dcad; color: #315f33; background: #eaf4dc; }
.chip.is-blue { border-color: #c7dbe5; color: #2e5f72; background: #eaf4f7; }
.chip.is-gold { border-color: #ecd39b; color: #7b5415; background: #fff0c7; }

/* Regelauflistungen in den erklärenden Bereichen.
   Bewusst ohne Aufzählungspunkte: Der fette Satzanfang trägt die Aussage,
   der Rest erklärt sie. */
.rule-list {
    display: grid;
    gap: 9px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.rule-list li {
    position: relative;
    padding: 11px 15px 11px 38px;
    border-radius: 13px;
    background: #f5f7ec;
    border: 1px solid #e6ead6;
    font-size: .92rem;
    line-height: 1.55;
}
.rule-list li::before {
    content: "▪";
    position: absolute;
    left: 16px;
    top: 10px;
    color: var(--leaf);
    font-size: .9rem;
}
.rule-list strong { color: var(--ink); }

/* Kompakte Inhaltsliste innerhalb einer Angebotskarte */
.mini-list {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid var(--line);
}
.mini-title {
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--muted);
}
.mini-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .85rem;
    font-weight: 650;
}
.mini-row img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    flex: 0 0 26px;
}

.ingredients {
    display: grid;
    gap: 6px;
    margin: 13px 0;
}
.ingredient {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-radius: 11px;
    padding: 6px 9px;
    background: #f2f4e6;
    font-size: .84rem;
    font-weight: 750;
}
.ingredient img { width: 30px; height: 30px; object-fit: contain; }

.filter-row {
    display: grid;
    grid-template-columns: minmax(170px, 280px) auto;
    gap: 10px;
    margin: 0 0 18px;
}

.upgrade-group { margin-bottom: 20px; overflow: hidden; }
.upgrade-title {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 18px;
    color: white;
    background: linear-gradient(90deg, var(--forest-800), var(--forest-700));
}
.upgrade-title img { width: 48px; height: 48px; object-fit: contain; }
.upgrade-title h3 { margin: 0; }
.upgrade-table-wrap { overflow-x: auto; }
table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
}
th, td {
    padding: 11px 13px;
    border-bottom: 1px solid #e8dfc7;
    text-align: left;
    vertical-align: middle;
}
th {
    color: #6c512b;
    background: #f7edce;
    font-size: .74rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
tbody tr:hover { background: #f5f7ea; }

.garden-card .card-art { min-height: 215px; }
.garden-card .card-art img { width: 100%; height: 215px; object-fit: cover; filter: none; }

.town-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    align-items: start;
    gap: 18px;
    margin-bottom: 20px;
}
.town-map {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8.4;
    max-height: 430px;
    overflow: hidden;
    border: 2px solid #c89538;
    border-radius: 25px;
    background: #dceabc;
    box-shadow: var(--shadow);
}
.town-map img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
    display: block;
}
.town-map-label {
    position: absolute;
    inset: auto 14px 14px;
    padding: 12px 14px;
    border: 1px solid #e0b24c;
    border-radius: 15px;
    color: #fff8dc;
    background: #173d29e8;
    backdrop-filter: blur(6px);
}
.town-map-label strong { display: block; font-size: 1.05rem; }
.guide-note { padding: 22px; }
.guide-note h3 { margin: 0 0 8px; color: var(--forest-900); }
.guide-note p { color: var(--muted); }
.guide-note ol { margin: 12px 0 0; padding-left: 22px; }
.guide-note li { margin-bottom: 7px; }

.place-grid { display: grid; gap: 16px; }
.place-card {
    display: grid;
    grid-template-columns: 154px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
}
.place-art {
    display: grid;
    place-items: center;
    min-height: 190px;
    background: linear-gradient(145deg, #e0efc7, #f6dda5);
}
.place-art img {
    width: 126px;
    height: 126px;
    object-fit: contain;
    filter: drop-shadow(0 9px 8px #263b2129);
}
.place-copy { padding: 19px 21px; }
.place-copy h3 { margin: 0; color: var(--forest-900); font-size: 1.28rem; }
.place-owner { color: var(--gold-dark); font-weight: 900; }
.place-copy p { margin: 8px 0; color: var(--muted); }
.place-copy .how-it-works {
    border-left: 4px solid var(--leaf);
    padding: 7px 0 7px 11px;
    color: #40563b;
    background: linear-gradient(90deg, #edf5de, transparent);
}

.shop-section { margin-bottom: 27px; overflow: hidden; }
.shop-banner {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 20px;
    color: white;
    background:
        radial-gradient(circle at 8% 15%, #ffffff21, transparent 27%),
        linear-gradient(120deg, var(--forest-800), #63983e);
}
.shop-banner.is-building { background: linear-gradient(120deg, #315e78, #b27034); }
.shop-banner.is-decoration { background: linear-gradient(120deg, #713d71, #c87953); }
.shop-banner img { width: 108px; height: 108px; object-fit: contain; }
.shop-banner h2 { margin: 0; font-size: 1.55rem; }
.shop-banner p { margin: 6px 0 0; color: #eff8e9; }
.shop-owner { color: #ffe294; font-weight: 950; }
.shop-explanation {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 14px;
    background: #f9f3df;
}
.shop-explanation div {
    border: 1px solid #e3d5ad;
    border-radius: 13px;
    padding: 10px 12px;
    background: #fffdf7;
}
.shop-explanation strong { display: block; color: var(--forest-800); font-size: .79rem; }
.shop-explanation span { color: var(--muted); font-size: .84rem; }
.shop-stock { padding: 0 14px 14px; }
.shop-stock summary {
    cursor: pointer;
    padding: 14px 2px;
    color: var(--forest-800);
    font-weight: 950;
}
.stock-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    gap: 10px;
}
.stock-item {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border: 1px solid #e3d8ba;
    border-radius: 14px;
    padding: 10px;
    background: white;
}
.stock-item img { width: 56px; height: 56px; object-fit: contain; }
.stock-item h4 { margin: 0; color: var(--forest-900); }
.stock-item p { margin: 2px 0 6px; color: var(--muted); font-size: .78rem; }
.stock-facts { display: flex; flex-wrap: wrap; gap: 4px; }
.stock-facts span {
    border-radius: 999px;
    padding: 3px 6px;
    color: #68491e;
    background: #f9eac0;
    font-size: .68rem;
    font-weight: 850;
}

.guide-intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin: 32px 0 18px;
    padding: 24px;
    background:
        radial-gradient(circle at 6% 30%, #fff6c7 0 8%, transparent 30%),
        linear-gradient(135deg, #fffdf4, #edf5d8);
}
.guide-intro-mark {
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
    border: 2px solid #d8a341;
    border-radius: 24px;
    background: linear-gradient(145deg, #ffe99b, #edb64d);
    box-shadow: inset 0 0 0 4px #fff5bf;
    font-size: 2.2rem;
}
.guide-intro h2 { margin: 0; color: var(--forest-900); font-size: 1.7rem; }
.guide-intro p { max-width: 950px; margin: 6px 0 0; color: var(--muted); font-size: 1.02rem; }

.guide-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.guide-toc a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d6c795;
    border-radius: 999px;
    padding: 7px 11px;
    color: var(--forest-800);
    background: #fffaf0;
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}
.guide-toc a:hover { border-color: var(--leaf); background: #edf5de; }
.guide-chapters { display: grid; gap: 17px; }
.guide-chapter {
    padding: clamp(18px, 3vw, 28px);
    scroll-margin-top: 18px;
}
.guide-chapter-head {
    display: flex;
    align-items: center;
    gap: 13px;
}
.guide-chapter-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: #e8f2cf;
    font-size: 1.65rem;
}
.chapter-number {
    display: block;
    color: var(--gold-dark);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.guide-chapter h2 { margin: 1px 0 0; color: var(--forest-900); font-size: 1.38rem; }
.guide-lead { max-width: 1050px; margin: 14px 0; color: var(--muted); }
.guide-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.guide-list li {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 7px;
    border-radius: 13px;
    padding: 9px 10px;
    background: #f5f5e8;
}
.guide-list li > span {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: white;
    background: var(--leaf);
    font-size: .72rem;
    font-weight: 950;
}
.guide-list p { margin: 0; color: #5e503c; font-size: .88rem; }
.guide-chapter .guide-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    margin-top: 14px;
    border: 1px solid #e4c569;
    border-radius: 14px;
    padding: 11px 13px;
    color: #6d501c;
    background: #fff2c8;
    font-size: .86rem;
}
.guide-chapter .guide-note strong { color: #704a0d; }

.wiki-live-panel { margin-top: 22px; padding: 24px; overflow: hidden; background: linear-gradient(135deg, #fffdf6, #e8f3d7); }
.wiki-live-head { display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.wiki-live-head h2 { margin: 0; color: var(--forest-900); }
.wiki-live-head p { max-width: 720px; margin: 4px 0 0; color: var(--muted); }
.wiki-live-grid { display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); gap: 10px; margin-top: 18px; }
.wiki-live-grid article { padding: 14px; border: 1px solid #bcd49c; border-radius: 16px; background: #fffffff0; }
.wiki-live-grid strong { display: block; color: var(--forest-800); font-size: 1.35rem; }
.wiki-live-grid span { display: block; margin-top: 3px; color: var(--muted); font-size: .76rem; font-weight: 800; }
.wiki-live-footer { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: #5b704e; font-size: .84rem; font-weight: 750; }
.wiki-live-footer small { margin-left: auto; color: var(--muted); }
.wiki-lab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lab-card { padding: 22px; }
.lab-card h3 { margin: 5px 0; color: var(--forest-900); }
.lab-card > p { min-height: 46px; margin: 0 0 14px; color: var(--muted); }
.lab-icon { font-size: 2rem; }
.lab-card label { display: grid; gap: 5px; margin-top: 10px; color: var(--forest-800); font-size: .82rem; font-weight: 900; }
.lab-card input, .lab-card select { width: 100%; min-height: 43px; border: 1px solid #c7d9a7; border-radius: 11px; padding: 8px 10px; color: var(--ink); background: #fffef9; }
.lab-result { min-height: 74px; margin-top: 15px; padding: 12px; border-radius: 13px; color: #4c5d38; background: #edf5df; font-size: .86rem; font-weight: 700; line-height: 1.55; }
.lab-result strong { color: var(--forest-900); }

@media (max-width: 780px) {
    .wiki-live-head { display: grid; }
    .wiki-live-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wiki-lab-grid { grid-template-columns: 1fr; }
    .lab-card > p { min-height: 0; }
}
.related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}
.related-grid a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 17px;
    padding: 13px;
    background: var(--paper);
    box-shadow: var(--shadow);
    text-decoration: none;
}
.related-grid a > span { grid-row: span 2; font-size: 1.7rem; }
.related-grid strong { color: var(--forest-800); }
.related-grid small { color: var(--muted); }

.facts-board {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 10px;
}
.facts-board > div {
    min-height: 105px;
    border: 1px solid #d6c68e;
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(145deg, #fffdf5, #edf4dc);
    box-shadow: var(--shadow);
}
.facts-board strong { display: block; color: var(--forest-800); font-size: 1.35rem; }
.facts-board span { display: block; margin-top: 3px; color: var(--muted); font-size: .8rem; font-weight: 750; }

.people-grid, .quest-grid, .compact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
}
.person-card {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
}
.person-card > img {
    width: 116px;
    height: 160px;
    object-fit: cover;
    object-position: top center;
    align-self: stretch;
    background: #e3efcb;
}
.person-card > div { padding: 15px; }
.person-card h3, .compact-card h3, .quest-card h3 { margin: 2px 0 5px; color: var(--forest-900); }
.person-card p, .compact-card p, .quest-card p { margin: 0 0 9px; color: var(--muted); font-size: .88rem; }

.quest-card {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    overflow: hidden;
}
.quest-art {
    display: grid;
    place-items: center;
    min-height: 210px;
    background: linear-gradient(150deg, #e6f1ca, #f6dfa7);
}
.quest-art img { width: 86px; height: 86px; object-fit: contain; }
.quest-copy { padding: 16px; }
.quest-objective {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin: 10px 0;
    border-left: 4px solid var(--leaf);
    padding: 8px 10px;
    background: #eef5df;
    font-size: .82rem;
}
.quest-objective strong { color: var(--forest-800); }
.quest-objective span { color: var(--muted); }
.reward-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.reward-row span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 10px;
    padding: 5px 7px;
    background: #f7efd5;
    font-size: .74rem;
    font-weight: 800;
}
.reward-row img { width: 25px; height: 25px; object-fit: contain; }

.compact-card {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    min-height: 130px;
    padding: 14px;
}
.compact-card > img {
    width: 68px;
    height: 68px;
    object-fit: contain;
}
.compact-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: #edf3d8;
    font-size: 1.8rem;
}
.compact-card > div { min-width: 0; }
.event-rewards { display: grid; gap: 4px; margin-top: 8px; }
.event-rewards span {
    border-left: 3px solid var(--gold);
    border-radius: 7px;
    padding: 5px 7px;
    color: var(--muted);
    background: #faf1d6;
    font-size: .72rem;
}
.event-rewards strong { color: var(--forest-800); }

.rental-wiki-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    align-items: center;
    gap: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 10%, #ffd97888, transparent 34%),
        linear-gradient(135deg, #fff9e8, #e4f1cf);
}
.rental-wiki-intro h2 { margin: 3px 0 8px; color: var(--forest-900); }
.rental-wiki-intro p { max-width: 850px; margin: 0; color: var(--muted); }
.rental-wiki-intro > img {
    width: 170px;
    height: 170px;
    object-fit: contain;
    filter: drop-shadow(0 14px 12px #3b54272f);
}
.rental-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0 26px;
}
.rental-flow article {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    border: 1px solid #d7c78e;
    border-radius: 17px;
    padding: 12px;
    background: #fffaf0;
    box-shadow: var(--shadow);
}
.rental-flow article > strong {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    background: var(--forest-700);
}
.rental-flow span { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.rental-flow b { display: block; color: var(--forest-900); font-size: .88rem; }
.rental-machine-grid { display: grid; gap: 16px; }
.rental-machine-card {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    padding: 0;
    overflow: hidden;
}
.rental-art-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    min-height: 260px;
    padding: 22px;
    background:
        radial-gradient(circle at 50% 72%, #9bcf71 0 20%, transparent 21%),
        linear-gradient(155deg, #e6f2cb, #f6dfa5);
}
.rental-art-stage > div { min-width: 0; text-align: center; }
.rental-art-stage small {
    display: block;
    color: var(--forest-800);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.rental-art-stage img {
    width: 100%;
    height: 170px;
    object-fit: contain;
    filter: drop-shadow(0 10px 8px #4b3d242c);
}
.rental-art-stage > span { color: var(--gold-dark); font-size: 1.4rem; font-weight: 950; }
.rental-machine-copy { padding: 22px; }
.rental-machine-copy h3 { margin: 3px 0 6px; color: var(--forest-900); font-size: 1.35rem; }
.rental-machine-copy > p { margin: 0 0 14px; color: var(--muted); }
.rental-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin: 0;
}
.rental-facts > div {
    border: 1px solid #dfe5c8;
    border-radius: 11px;
    padding: 8px 10px;
    background: #f6f8eb;
}
.rental-facts dt { color: var(--muted); font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.rental-facts dd { margin: 2px 0 0; color: var(--forest-900); font-size: .82rem; font-weight: 850; }
.rental-prices { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.rental-prices span {
    display: inline-flex;
    gap: 5px;
    border-radius: 999px;
    padding: 6px 10px;
    color: #6e4c15;
    background: #ffe9a8;
    font-size: .74rem;
}

.level-number {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 2px solid #cf9b37;
    border-radius: 50%;
    color: white;
    background: var(--forest-700);
}
.level-rewards { display: grid; gap: 4px; min-width: 125px; font-size: .8rem; font-weight: 800; }
.unlock-cell { min-width: 360px; }
.unlock-summary { margin: 0 0 8px; color: var(--muted); font-size: .82rem; }
.unlock-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 7px; }
.unlock-entry {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    border-radius: 11px;
    padding: 6px;
    background: #f2f5e7;
}
.unlock-entry > img { width: 40px; height: 40px; object-fit: contain; }
.unlock-entry small, .unlock-entry strong, .unlock-entry em { display: block; }
.unlock-entry small { color: var(--gold-dark); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.unlock-entry strong { color: var(--forest-900); font-size: .78rem; }
.unlock-entry em { overflow: hidden; color: var(--muted); font-size: .68rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.muted-text { color: var(--muted); font-size: .8rem; }

.empty-state {
    padding: 44px 24px;
    border: 2px dashed #cfbd8d;
    border-radius: 23px;
    color: var(--muted);
    background: #fffaf0b8;
    text-align: center;
}
.empty-state strong { display: block; color: var(--forest-800); font-size: 1.2rem; }

.footer {
    margin-top: 44px;
    padding-top: 18px;
    border-top: 1px solid #d8cba7;
    color: var(--muted);
    font-size: .84rem;
}

@media (max-width: 1050px) {
    .stats-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Pflanzenlexikon: Übersicht zum Stöbern, eigene Bühne pro Pflanze. */
.plant-back-link { display: inline-flex; margin-bottom: 13px; color: var(--forest-800); font-size: .85rem; font-weight: 850; text-decoration: none; }
.plant-back-link:hover { text-decoration: underline; }
.plant-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.plant-directory-card { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 13px; align-items: center; min-height: 150px; padding: 14px; overflow: hidden; border: 1px solid #d9cca2; border-radius: 20px; color: inherit; background: linear-gradient(145deg, #fffdf5, #edf5df); box-shadow: var(--shadow); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.plant-directory-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px #4f64212b; }
.plant-directory-card > img { width: 105px; height: 112px; object-fit: contain; filter: drop-shadow(0 8px 6px #4d5c2433); }
.plant-directory-card span { color: #8a6729; font-size: .7rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.plant-directory-card h3 { margin: 5px 0; color: var(--forest-900); font-size: 1.08rem; }
.plant-directory-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: .79rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.plant-directory-card small { display: block; margin-top: 8px; color: var(--forest-800); font-size: .74rem; font-weight: 800; }
.plant-hero { display: grid; grid-template-columns: minmax(150px, .48fr) minmax(0, 1fr); align-items: center; gap: 24px; overflow: hidden; padding: 24px; border-top: 5px solid #719c43; background: radial-gradient(circle at 4% 10%, #e9f6c9, transparent 32%), linear-gradient(120deg, #fffdf4, #e6f0cf); }
.plant-hero-art { display: grid; place-items: center; min-height: 190px; border-radius: 22px; background: radial-gradient(circle, #fffbe9, #d9ebbd); }.plant-hero-art img { width: 100%; max-width: 215px; height: 210px; object-fit: contain; filter: drop-shadow(0 13px 9px #50662545); }.plant-hero-copy h2 { margin: 0 0 8px; color: var(--forest-900); font-size: clamp(1.8rem, 5vw, 2.65rem); }.plant-hero-copy > p { max-width: 700px; margin: 0 0 15px; color: var(--muted); line-height: 1.58; }
.plant-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }.plant-stat-grid article { padding: 14px; border: 1px solid #d9cea8; border-radius: 16px; background: #fffdf5; }.plant-stat-grid span, .plant-stat-grid strong, .plant-stat-grid small { display: block; }.plant-stat-grid span { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }.plant-stat-grid strong { margin-top: 5px; color: var(--forest-900); font-size: 1.12rem; }.plant-stat-grid small { margin-top: 4px; color: #77654b; font-size: .7rem; line-height: 1.32; }
.plant-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.plant-care-board, .plant-live-board { padding: 20px; }.plant-care-board h3, .plant-live-board h3 { margin: 0 0 12px; color: var(--forest-900); }.plant-care-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; padding: 11px 0; border-top: 1px solid var(--line); }.plant-care-row > span { font-size: 1.2rem; }.plant-care-row strong, .plant-care-row small { display: block; }.plant-care-row strong { color: var(--forest-800); font-size: .86rem; }.plant-care-row small { margin-top: 3px; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.plant-live-board { background: linear-gradient(145deg, #f0f7e3, #fffdf4); }.plant-live-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 10px 0; border-top: 1px solid #d8e2c7; }.plant-live-line:first-of-type { border-top: 0; }.plant-live-line span { color: #58704a; font-size: .77rem; font-weight: 800; }.plant-live-line strong { color: var(--forest-900); font-size: .87rem; text-align: right; }.plant-live-line small { grid-column: 1 / -1; color: var(--muted); font-size: .72rem; }
.plant-bonus-stage { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(120px, .55fr)); gap: 12px; align-items: stretch; margin-top: 14px; padding: 20px; border-color: #b8cf87; background: linear-gradient(135deg, #e4f0c6, #fff8df); }.plant-bonus-stage h3 { margin: 0 0 5px; color: var(--forest-900); }.plant-bonus-stage p { max-width: 570px; margin: 0; color: #5d6e4c; font-size: .82rem; line-height: 1.48; }.plant-effect-summary { padding: 12px; border-radius: 14px; background: #fffdf4; }.plant-effect-summary span, .plant-effect-summary strong, .plant-effect-summary small { display: block; }.plant-effect-summary span { color: #6b8448; font-size: .67rem; font-weight: 850; }.plant-effect-summary strong { margin-top: 5px; color: var(--forest-900); font-size: 1rem; }.plant-effect-summary small { margin-top: 4px; color: var(--muted); font-size: .68rem; line-height: 1.32; }
.plant-effect-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }.plant-effect-grid article { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; align-items: center; padding: 13px; }.plant-effect-grid img { width: 72px; height: 70px; object-fit: contain; }.plant-effect-grid span { color: #7e672c; font-size: .68rem; font-weight: 850; text-transform: uppercase; }.plant-effect-grid h3 { margin: 3px 0; color: var(--forest-900); font-size: .92rem; }.plant-effect-grid p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.35; }.plant-effect-grid small { display: block; margin-top: 5px; color: #687755; font-size: .68rem; font-weight: 800; }.plant-method-note { margin-top: 14px; padding: 16px 19px; border-left: 5px solid #ca9b3d; color: #695538; background: #fff7df; }.plant-method-note strong { color: #684b1c; }.plant-method-note p { margin: 5px 0 0; font-size: .82rem; line-height: 1.5; }
.plant-weather-stage { margin: 15px 0; overflow: hidden; padding: 20px; border: 1px solid #b9d2df; background: radial-gradient(circle at 93% 8%, #d8efff 0, transparent 27%), linear-gradient(135deg, #edf8ff, #fffbea 60%, #e6f1d7); }.plant-weather-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .42fr); gap: 16px; align-items: center; }.plant-weather-heading h3 { margin: 2px 0 6px; color: #244e62; font-size: 1.42rem; }.plant-weather-heading p { max-width: 700px; margin: 0; color: #506777; font-size: .82rem; line-height: 1.5; }.plant-temperature-gauge { padding: 12px; border: 1px solid #afd0d6; border-radius: 16px; background: #ffffffbd; text-align: center; }.plant-temperature-gauge span, .plant-temperature-gauge strong, .plant-temperature-gauge small { display: block; }.plant-temperature-gauge span { color: #4d7182; font-size: .66rem; font-weight: 850; text-transform: uppercase; }.plant-temperature-gauge strong { margin: 3px 0; color: #205c74; font-size: 1.25rem; }.plant-temperature-gauge small { color: #687f72; font-size: .67rem; }.plant-weather-live { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 11px; align-items: center; margin-top: 15px; padding: 13px; border: 1px solid #d8cfb1; border-radius: 18px; background: #fffdf5; }.plant-weather-live.is-good { border-color: #94c384; background: linear-gradient(100deg, #e5f5d8, #fffdf5); }.plant-weather-live.is-bad { border-color: #dfac8d; background: linear-gradient(100deg, #fff0e8, #fffdf5); }.plant-weather-live-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #dcecf5; font-size: 1.75rem; }.plant-weather-live span { color: #5e7780; font-size: .67rem; font-weight: 900; letter-spacing: .05em; }.plant-weather-live h4 { margin: 2px 0; color: #294653; font-size: 1rem; }.plant-weather-live p { margin: 0; color: #596763; font-size: .76rem; line-height: 1.4; }.plant-weather-live > strong { color: #316a43; font-size: 1.2rem; text-align: right; }.plant-weather-live.is-bad > strong { color: #a64c34; }.plant-weather-live > strong small { display: block; color: inherit; font-size: .64rem; }.plant-weather-preferences { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }.plant-weather-preferences article { padding: 12px; border-radius: 15px; }.plant-weather-preferences article.is-good { background: #e1f2da; }.plant-weather-preferences article.is-bad { background: #ffeadf; }.plant-weather-preferences span, .plant-weather-preferences strong, .plant-weather-preferences small { display: block; }.plant-weather-preferences span { font-size: .66rem; font-weight: 900; letter-spacing: .05em; }.plant-weather-preferences strong { margin: 5px 0; color: #345b37; font-size: .78rem; line-height: 1.42; }.plant-weather-preferences .is-bad strong { color: #813f30; }.plant-weather-preferences small { color: #61705e; font-size: .68rem; }.plant-weather-timeline { margin-top: 14px; padding: 13px; border-radius: 17px; background: #ffffffc7; }.plant-weather-timeline-title { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }.plant-weather-timeline-title strong { color: #315566; }.plant-weather-timeline-title small { color: #6b7568; font-size: .69rem; text-align: right; }.plant-weather-timeline-rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }.plant-weather-timeline-rows article { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 8px; border-left: 4px solid #87ac77; border-radius: 10px; background: #eef6e8; }.plant-weather-timeline-rows article.is-bad { border-left-color: #ce755e; background: #fff0e9; }.plant-weather-timeline-rows article.is-neutral { border-left-color: #c3a65f; background: #fff8df; }.weather-timeline-icon { font-size: 1.2rem; }.plant-weather-timeline-rows strong, .plant-weather-timeline-rows small { display: block; }.plant-weather-timeline-rows strong { color: #3b5142; font-size: .73rem; }.plant-weather-timeline-rows small { margin-top: 2px; color: #687265; font-size: .63rem; line-height: 1.25; }.plant-weather-timeline-rows b { color: #3e7d46; font-size: .75rem; }.plant-weather-timeline-rows .is-bad b { color: #a64b39; }.plant-weather-rules { margin-top: 12px; }.plant-weather-rules summary { cursor: pointer; color: #31596a; font-size: .78rem; font-weight: 850; }.plant-weather-rules > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }.plant-weather-rules article { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 8px; border-radius: 11px; background: #f5f1e5; }.plant-weather-rules article.is-good { background: #eaf6e3; }.plant-weather-rules article.is-bad { background: #fff0e9; }.plant-weather-rules article > span { font-size: 1.1rem; }.plant-weather-rules article strong { color: #425042; font-size: .75rem; }.plant-weather-rules article b { color: #437b45; font-size: .72rem; }.plant-weather-rules article.is-bad b { color: #ab4d39; }.plant-weather-rules article small { grid-column: 2 / -1; color: #667064; font-size: .65rem; line-height: 1.3; }
.building-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }.building-directory-card { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 13px; align-items: center; min-height: 156px; padding: 14px; overflow: hidden; border: 1px solid #cdb98b; border-radius: 20px; color: inherit; background: linear-gradient(145deg, #fffdf5, #f1ead7); box-shadow: var(--shadow); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }.building-directory-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px #624b252c; }.building-directory-card > img { width: 110px; height: 114px; object-fit: contain; filter: drop-shadow(0 8px 6px #60461e35); }.building-directory-card span { color: #866125; font-size: .7rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }.building-directory-card h3 { margin: 5px 0; color: var(--forest-900); font-size: 1.06rem; }.building-directory-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: .79rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.building-directory-card small { display: block; margin-top: 8px; color: var(--forest-800); font-size: .73rem; font-weight: 800; }
.building-hero { display: grid; grid-template-columns: minmax(150px, .48fr) minmax(0, 1fr); align-items: center; gap: 24px; overflow: hidden; padding: 24px; border-top: 5px solid #a96d28; background: radial-gradient(circle at 4% 10%, #f8e6b8, transparent 35%), linear-gradient(120deg, #fffdf6, #eee4cf); }.building-hero-art { display: grid; place-items: center; min-height: 190px; border-radius: 22px; background: radial-gradient(circle, #fff9e9, #e8d7b2); }.building-hero-art img { width: 100%; max-width: 235px; height: 210px; object-fit: contain; filter: drop-shadow(0 13px 9px #5d431e45); }.building-hero-copy h2 { margin: 0 0 8px; color: var(--forest-900); font-size: clamp(1.8rem, 5vw, 2.65rem); }.building-hero-copy > p { max-width: 700px; margin: 0 0 15px; color: var(--muted); line-height: 1.58; }
.building-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }.building-stat-grid article { padding: 14px; border: 1px solid #d7c69f; border-radius: 16px; background: #fffdf7; }.building-stat-grid span, .building-stat-grid strong, .building-stat-grid small { display: block; }.building-stat-grid span { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }.building-stat-grid strong { margin-top: 5px; color: var(--forest-900); font-size: 1.12rem; }.building-stat-grid small { margin-top: 4px; color: #77654b; font-size: .7rem; line-height: 1.32; }
.building-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.building-function-board, .building-live-board { padding: 20px; }.building-function-board h3, .building-live-board h3 { margin: 0 0 12px; color: var(--forest-900); }.building-effect-callout { padding: 15px; border: 1px solid #d7c58e; border-radius: 16px; background: #fff9e9; }.building-effect-callout strong { color: #76521d; }.building-effect-callout p { margin: 7px 0; color: #5d573e; font-size: .85rem; line-height: 1.48; }.building-effect-callout small { color: var(--muted); font-size: .75rem; line-height: 1.4; }.building-live-board { background: linear-gradient(145deg, #f3eee1, #fffdf6); }.building-live-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 10px 0; border-top: 1px solid #ded5c3; }.building-live-line:first-of-type { border-top: 0; }.building-live-line span { color: #765f3f; font-size: .77rem; font-weight: 800; }.building-live-line strong { color: var(--forest-900); font-size: .87rem; text-align: right; }.building-live-line small { grid-column: 1 / -1; color: var(--muted); font-size: .72rem; }
.building-upgrade-stage { margin-top: 14px; padding: 20px; background: #fffdf5; }.building-upgrade-stage h3 { margin: 0 0 13px; color: var(--forest-900); }.building-recipe-head { margin-top: 28px; }.building-recipe-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.building-recipe-grid article { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 14px; }.building-recipe-grid article > img { width: 96px; height: 104px; object-fit: contain; }.building-recipe-grid span { color: #866125; font-size: .68rem; font-weight: 850; text-transform: uppercase; }.building-recipe-grid h3 { margin: 4px 0; color: var(--forest-900); font-size: 1rem; }.building-recipe-grid p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.38; }.recipe-mini-ingredients { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0; }.recipe-mini-ingredients small { padding: 3px 6px; border-radius: 7px; color: #6b5b3d; background: #f1ead5; font-size: .67rem; }.building-recipe-grid strong, .building-recipe-grid div > small:last-child { display: block; }.building-recipe-grid strong { color: var(--forest-800); font-size: .75rem; }.building-recipe-grid div > small:last-child { margin-top: 4px; color: #7d704f; font-size: .68rem; }

@media (max-width: 780px) {
    .wiki-shell { display: block; }
    .wiki-shell.is-nav-collapsed { display: block; }
    .plant-weather-heading, .plant-weather-preferences, .plant-weather-timeline-rows, .plant-weather-rules > div { grid-template-columns: 1fr; }.plant-weather-live { grid-template-columns: 48px minmax(0, 1fr); }.plant-weather-live > strong { grid-column: 2; text-align: left; }.plant-weather-timeline-title { display: block; }.plant-weather-timeline-title small { display: block; margin-top: 4px; text-align: left; }
    .wiki-shell.is-nav-collapsed .wiki-nav { padding-inline: 18px; }
    .wiki-shell.is-nav-collapsed .wiki-nav-head .brand { justify-content: flex-start; }
    .wiki-shell.is-nav-collapsed .brand > span:last-child, .wiki-shell.is-nav-collapsed .nav-label, .wiki-shell.is-nav-collapsed .wiki-portal-link b, .wiki-shell.is-nav-collapsed .wiki-portal-link i, .wiki-shell.is-nav-collapsed .nav-group summary strong, .wiki-shell.is-nav-collapsed .nav-group summary i, .wiki-shell.is-nav-collapsed .nav-links { display: initial; }
    .wiki-shell.is-nav-collapsed .wiki-portal-link { grid-template-columns: 25px minmax(0, 1fr) 15px; justify-items: stretch; padding: 8px 10px; }
    .wiki-shell.is-nav-collapsed .nav-group summary { grid-template-columns: 24px minmax(0, 1fr) 18px; justify-items: stretch; padding: 8px 11px; }
    .wiki-nav-toggle { display: none; }
    .mobile-topbar { display: flex; }
    .wiki-nav {
        position: fixed;
        inset: 55px auto 0 0;
        width: min(310px, 88vw);
        height: auto;
        transform: translateX(-105%);
        transition: transform .2s ease;
    }
    .wiki-nav.is-open { transform: translateX(0); }
    .content { padding: 18px 13px 48px; }
    .hero { border-radius: 23px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .searchbar, .filter-row { grid-template-columns: 1fr; }
    .page-head { align-items: start; flex-direction: column; }
    .town-intro { grid-template-columns: 1fr; }
    .town-map { aspect-ratio: 4 / 3; max-height: 390px; }
    .place-card { grid-template-columns: 110px minmax(0, 1fr); }
    .place-art img { width: 92px; height: 92px; }
    .shop-explanation { grid-template-columns: 1fr; }
    .guide-list { grid-template-columns: 1fr; }
    .quest-grid, .people-grid, .compact-grid { grid-template-columns: 1fr; }
    .rental-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rental-machine-card { grid-template-columns: 1fr; }
    .rental-art-stage { min-height: 220px; }
}

@media (max-width: 420px) {
    .catalog-grid, .category-grid { grid-template-columns: 1fr; }
    .stat { padding: 12px; }
    .place-card { display: block; }
    .place-art { min-height: 130px; }
    .shop-banner { grid-template-columns: 76px minmax(0, 1fr); gap: 10px; }
    .shop-banner img { width: 72px; height: 72px; }
    .guide-intro { grid-template-columns: 1fr; }
    .guide-intro-mark { width: 60px; height: 60px; }
    .guide-chapter .guide-note { grid-template-columns: 1fr; }
    .person-card, .quest-card { grid-template-columns: 86px minmax(0, 1fr); }
    .rental-wiki-intro { grid-template-columns: 1fr; }
    .rental-wiki-intro > img { width: 130px; height: 130px; justify-self: center; }
    .rental-flow { grid-template-columns: 1fr; }
    .rental-art-stage { grid-template-columns: 1fr 18px 1fr; padding: 14px; }
    .rental-art-stage img { height: 125px; }
    .rental-facts { grid-template-columns: 1fr; }
    .person-card > img { width: 86px; height: 145px; }
    .quest-art { min-height: 180px; }
    .quest-art img { width: 72px; height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* ── Ranking-Widget (Startseite) ─────────────────────────────────────────── */
.ranking-widget {
    margin-top: 36px;
    background: var(--paper);
    border: 1.5px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.ranking-widget-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px 16px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--line);
}
.ranking-widget-head h2 { margin: 0 0 4px; font-size: 1.15rem; color: var(--forest-900); }
.ranking-widget-head p  { margin: 0; font-size: .88rem; color: var(--muted); }
.ranking-more-btn {
    display: inline-block;
    padding: 9px 18px;
    border-radius: 8px;
    border: 1.5px solid var(--forest-700);
    color: var(--forest-700);
    font-size: .84rem;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.ranking-more-btn:hover { background: var(--forest-700); color: #fff; }

/* ── Ranking-Tabelle ─────────────────────────────────────────────────────── */
.ranking-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ranking-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}
.ranking-table thead th {
    background: var(--sand);
    color: var(--muted);
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 10px 14px;
    text-align: left;
    white-space: nowrap;
}
.ranking-table tbody tr { border-top: 1px solid var(--line); transition: background .1s; }
.ranking-table tbody tr:hover { background: var(--sand); }
.ranking-table td { padding: 11px 14px; color: var(--ink); }
.ranking-table td:first-child { width: 44px; }

.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: .8rem;
    font-weight: 900;
    background: var(--sand);
    color: var(--muted);
    padding: 0 4px;
}
.rank-badge.rank-1 { background: #f9d24e; color: #7a5500; }
.rank-badge.rank-2 { background: #d8d8d8; color: #555; }
.rank-badge.rank-3 { background: #e8a96a; color: #6b3300; }

.player-link {
    font-weight: 700;
    color: var(--forest-700);
    text-decoration: none;
}
.player-link:hover { text-decoration: underline; color: var(--forest-900); }
.guild-ranking-identity { display: flex; align-items: center; gap: 9px; }
.guild-ranking-emblem { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 38px; border-radius: 9px 9px 13px 13px; color: #fff; background: var(--guild-color); font-size: 1rem; }

/* ── Sortier-Leiste (Ranking-Seite) ─────────────────────────────────────── */
.ranking-sort-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}
.ranking-sort-btn {
    display: inline-block;
    padding: 7px 14px;
    border-radius: 20px;
    border: 1.5px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s;
}
.ranking-sort-btn:hover { border-color: var(--forest-700); color: var(--forest-700); }
.ranking-sort-btn.is-active {
    background: var(--forest-700);
    border-color: var(--forest-700);
    color: #fff;
}

/* ── Pagination ──────────────────────────────────────────────────────────── */
.pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 24px;
    justify-content: center;
}
.pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1.5px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s;
}
.pagination-btn:hover { border-color: var(--forest-700); color: var(--forest-700); }
.pagination-btn.is-active {
    background: var(--forest-700);
    border-color: var(--forest-700);
    color: #fff;
    pointer-events: none;
}
.pagination-ellipsis { padding: 0 4px; color: var(--muted); line-height: 36px; }

/* ── Spielerprofil ───────────────────────────────────────────────────────── */
.player-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    padding: 24px;
}
.player-avatar {
    flex-shrink: 0;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--forest-700);
    display: flex;
    align-items: center;
    justify-content: center;
}
.player-avatar span {
    font-size: 1.5rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.02em;
}
.player-identity { flex: 1 1 200px; }
.player-identity .eyebrow {
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--muted);
    margin-bottom: 2px;
}
.player-identity h2 { margin: 0 0 2px; font-size: 1.6rem; color: var(--forest-900); }

/* Öffentliches Gildenprofil */
.guild-profile-hero {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    overflow: hidden;
    padding: 26px;
    border-top: 5px solid var(--guild-color);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--guild-color) 16%, transparent), transparent 42%),
        var(--paper);
}
.guild-profile-hero::after {
    content: '';
    position: absolute;
    right: -42px;
    bottom: -75px;
    width: 190px;
    height: 190px;
    border: 28px solid color-mix(in srgb, var(--guild-color) 9%, transparent);
    border-radius: 50%;
    pointer-events: none;
}
.guild-emblem {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 0 0 86px;
    place-items: center;
    width: 86px;
    height: 96px;
    border: 3px solid color-mix(in srgb, var(--guild-color) 70%, #fff);
    border-radius: 24px 24px 36px 36px;
    color: white;
    background: linear-gradient(145deg, color-mix(in srgb, var(--guild-color) 75%, #fff), var(--guild-color));
    box-shadow: 0 10px 22px color-mix(in srgb, var(--guild-color) 25%, transparent);
}
.guild-emblem span { font-size: 2.6rem; filter: drop-shadow(0 2px 1px #0003); }
.guild-profile-hero .player-identity { position: relative; z-index: 1; }
.guild-profile-hero .player-identity h2 { font-size: clamp(1.55rem, 4vw, 2.15rem); }
.guild-profile-hero .player-identity h2 small { color: var(--guild-color); font-size: .55em; }
.guild-description { max-width: 760px; margin: 7px 0 8px; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.guild-description.is-empty { font-style: italic; }
.guild-profile-grid, .guild-live-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.guild-overview-card, .guild-live-card { padding: 20px; }
.section-kicker {
    margin-bottom: 8px;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.guild-overview-card h3, .guild-live-card h3 { margin: 0 0 5px; color: var(--forest-900); }
.guild-overview-card > p, .guild-live-card > p { margin: 0 0 14px; color: var(--muted); font-size: .88rem; }
.guild-level-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--forest-900); }
.guild-level-line span { color: var(--muted); font-size: .8rem; font-weight: 750; }
.guild-progress { height: 10px; margin: 10px 0 17px; overflow: hidden; border-radius: 20px; background: #e2e6d7; }
.guild-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--leaf), #e2b744); }
.guild-mini-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.guild-mini-facts > div { padding: 10px 11px; border-radius: 12px; background: #f4f3e7; }
.guild-mini-facts span, .guild-mini-facts strong { display: block; }
.guild-mini-facts span { color: var(--muted); font-size: .72rem; font-weight: 750; }
.guild-mini-facts strong { margin-top: 2px; color: var(--forest-800); font-size: .91rem; }
.guild-decoration-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.guild-decoration-list span { padding: 7px 10px; border: 1px solid #d8cfae; border-radius: 12px; color: var(--forest-800); background: #fffdf5; font-size: .8rem; font-weight: 750; }
.guild-soft-empty { padding: 12px; border-radius: 13px; color: var(--muted); background: #f4f3e7; font-size: .84rem; }
.guild-section-head { margin-top: 30px; }
.guild-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.guild-stat-card { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; padding: 16px; border: 1px solid #d6c68e; border-radius: 17px; background: linear-gradient(145deg, #fffdf5, #edf4dc); box-shadow: var(--shadow); }
.guild-stat-icon { grid-row: span 2; font-size: 1.6rem; }
.guild-stat-card strong, .guild-stat-card span { display: block; }
.guild-stat-card strong { color: var(--forest-900); font-size: 1.25rem; }
.guild-stat-card div span { color: var(--ink); font-size: .78rem; font-weight: 800; }
.guild-stat-card small { grid-column: 1 / -1; margin-top: 8px; color: var(--muted); line-height: 1.35; }
.guild-duel-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.guild-duel-row:first-of-type { border-top: 0; }
.guild-duel-row strong, .guild-duel-row span { display: block; }
.guild-duel-row span { margin-top: 2px; color: var(--muted); font-size: .76rem; }
.guild-duel-row b { flex: 0 0 auto; color: var(--forest-900); font-size: 1.05rem; }
.guild-achievement-list { display: grid; gap: 8px; margin-top: 12px; }
.guild-achievement-list > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; padding: 9px 10px; border-radius: 13px; background: #f4f3e7; }
.guild-achievement-list > div > span { font-size: 1.35rem; text-align: center; }
.guild-achievement-list p, .guild-achievement-list strong, .guild-achievement-list small { display: block; margin: 0; }
.guild-achievement-list strong { color: var(--forest-800); font-size: .86rem; }
.guild-achievement-list small { margin-top: 2px; color: var(--muted); line-height: 1.35; }
.guild-next-perk { margin-top: 12px; padding: 10px 12px; border: 1px dashed #c8aa50; border-radius: 12px; color: #68521c; background: #fff4cd; font-size: .8rem; }

/* Festivalhalle: ein lebendiger Veranstaltungsort statt einer weiteren Tabellenansicht. */
.festival-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr); align-items: center; overflow: hidden; padding: 0 0 0 28px; border: 0; color: #fff; background: linear-gradient(120deg, #2b1654, #67318c 58%, #c06aae); }
.festival-hero-copy { padding: 28px 0; }
.festival-hero .section-kicker { color: #ffdc86; }
.festival-hero h2 { margin: 0 0 8px; color: #fff; font-size: clamp(1.45rem, 4vw, 2.1rem); }
.festival-hero p { max-width: 620px; margin: 0 0 14px; color: #f5dffc; line-height: 1.55; }
.festival-hero > img { width: 100%; max-height: 250px; object-fit: contain; align-self: end; filter: drop-shadow(0 14px 18px #18052588); }
.festival-flow, .festival-rule-board, .festival-rewards { display: grid; gap: 10px; margin: 15px 0 28px; }
.festival-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.festival-flow article { display: flex; gap: 9px; align-items: flex-start; padding: 14px; border-radius: 16px; color: #543365; background: linear-gradient(145deg, #fff9eb, #f7e1fa); }
.festival-flow article > span { display: grid; flex: 0 0 29px; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: #fff; background: #7b3d98; font-weight: 900; }
.festival-flow strong, .festival-flow small { display: block; }.festival-flow small { margin-top: 2px; line-height: 1.35; font-size: .75rem; }
.festival-rule-board { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.festival-rule-board article { padding: 16px; border: 1px solid #e9ce85; border-radius: 17px; background: #fffdf4; box-shadow: var(--shadow); }.festival-rule-board strong, .festival-rule-board span, .festival-rule-board small { display: block; }.festival-rule-board strong { color: #7d4297; font-size: 1.23rem; }.festival-rule-board span { margin-top: 3px; color: var(--forest-800); font-weight: 850; font-size: .8rem; }.festival-rule-board small { margin-top: 7px; color: var(--muted); line-height: 1.35; font-size: .73rem; }
.festival-arena-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.festival-arena { padding: 19px; border-top: 4px solid #8c4aa3; }.festival-arena-head { display: flex; justify-content: space-between; gap: 12px; }.festival-arena-head h3 { margin: 0; color: #482e58; }.festival-arena-head > strong { display: grid; place-items: center; min-width: 44px; height: 44px; border-radius: 14px; color: #fff; background: #8c4aa3; }.festival-arena > p { margin: 8px 0; color: var(--muted); font-size: .85rem; }.festival-timer { display: inline-block; margin: 3px 0 10px; padding: 6px 9px; border-radius: 10px; color: #60316e; background: #f3dff5; font-size: .76rem; font-weight: 850; }.festival-contestants { display: grid; gap: 5px; }.festival-contestants > div { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid #eee5dd; }.festival-contestants > div > span { font-size: 1.1rem; }.festival-contestants p { flex: 1; margin: 0; }.festival-contestants strong, .festival-contestants small { display: block; }.festival-contestants small { color: var(--muted); font-size: .72rem; }.festival-contestants b { color: #7b3d98; font-size: .75rem; }.festival-empty { display: flex; align-items: center; gap: 16px; padding: 15px; background: #fff8ec; }.festival-empty img { width: 110px; height: 110px; object-fit: contain; }.festival-empty strong, .festival-empty span { display: block; }.festival-empty span { margin-top: 4px; color: var(--muted); font-size: .84rem; }
.festival-winners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }.festival-winners > span { color: var(--muted); }.festival-winners article { display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid #ecd48d; border-radius: 15px; background: linear-gradient(145deg, #fffdf5, #fff0c2); }.festival-winners article > span { font-size: 1.3rem; }.festival-winners div { flex: 1; min-width: 0; }.festival-winners strong, .festival-winners small { display: block; }.festival-winners strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64411c; font-size: .84rem; }.festival-winners small { margin-top: 2px; color: #887157; font-size: .7rem; }.festival-winners b { color: #9b6413; font-size: .7rem; white-space: nowrap; }.festival-rewards { grid-template-columns: repeat(3, minmax(0, 1fr)); }.festival-rewards article { display: grid; grid-template-columns: auto 1fr; gap: 1px 9px; padding: 14px; border-radius: 16px; background: #f1e4b8; }.festival-rewards article > span { grid-row: span 2; font-size: 1.55rem; }.festival-rewards strong { color: #684618; }.festival-rewards small { color: #806c4b; font-size: .77rem; }

/* Das Gildenhandbuch übernimmt die räumliche Sprache des Gildenhauses. */
.guild-handbook-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(180px, .85fr); align-items: center; overflow: hidden; margin-top: 28px; padding: 0 0 0 24px; background: linear-gradient(135deg, #e9f3d3, #fef3d5); }.guild-handbook-hero h2 { margin: 0 0 7px; color: var(--forest-900); }.guild-handbook-hero p { margin: 0; color: var(--muted); line-height: 1.55; }.guild-handbook-hero img { width: 100%; max-height: 220px; object-fit: contain; }.guild-station-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 28px; }.guild-station-grid article { padding: 15px; border-radius: 16px; background: #f5f1df; }.guild-station-grid span { display: block; margin-bottom: 7px; font-size: 1.45rem; }.guild-station-grid strong, .guild-station-grid small { display: block; }.guild-station-grid strong { color: var(--forest-800); }.guild-station-grid small { margin-top: 4px; color: var(--muted); line-height: 1.35; font-size: .75rem; }.guild-room-browser { display: grid; gap: 8px; margin-bottom: 24px; }.guild-room-browser article { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #d3c59a; border-radius: 15px; background: #fffdf5; }.guild-room-mode { font-size: 1.35rem; }.guild-room-browser strong, .guild-room-browser small, .guild-room-browser em { display: block; }.guild-room-browser strong { color: var(--forest-800); }.guild-room-browser small, .guild-room-browser em { margin-top: 2px; color: var(--muted); font-size: .75rem; }.guild-room-browser em { color: #6c5235; font-style: normal; }.guild-room-browser b { color: var(--forest-800); font-size: .75rem; text-align: right; }.guild-room-status { padding: 5px 8px; border-radius: 9px; color: #fff; background: #4d7f44; font-size: .7rem; font-weight: 850; }.guild-project-pulse { padding: 10px 0; border-top: 1px solid var(--line); }.guild-project-pulse:first-of-type { border-top: 0; }.guild-project-pulse strong, .guild-project-pulse span { display: block; }.guild-project-pulse strong { color: var(--forest-800); }.guild-project-pulse span { margin-top: 3px; color: var(--muted); font-size: .75rem; }.guild-project-pulse .guild-progress { margin: 8px 0 0; height: 7px; }.guild-perk-road { display: grid; gap: 8px; margin-top: 9px; }.guild-perk-road > div { display: grid; grid-template-columns: 29px 1fr; gap: 8px; }.guild-perk-road > div > span { display: grid; place-items: center; height: 29px; border-radius: 50%; background: #e8efcf; }.guild-perk-road p { margin: 0; }.guild-perk-road small, .guild-perk-road strong, .guild-perk-road em { display: block; }.guild-perk-road small { color: #9a7631; font-size: .68rem; font-weight: 800; }.guild-perk-road strong { color: var(--forest-800); font-size: .82rem; }.guild-perk-road em { margin-top: 1px; color: var(--muted); font-size: .7rem; font-style: normal; line-height: 1.3; }.guild-achievement-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }.guild-achievement-catalog article { display: flex; gap: 9px; padding: 12px; border-radius: 14px; background: #eff4e2; }.guild-achievement-catalog article > span { font-size: 1.35rem; }.guild-achievement-catalog strong, .guild-achievement-catalog small { display: block; }.guild-achievement-catalog strong { color: var(--forest-800); font-size: .82rem; }.guild-achievement-catalog small { margin-top: 2px; color: var(--muted); font-size: .7rem; line-height: 1.32; }

@media (max-width: 780px) {
    .ranking-widget-head { padding: 16px; }
    .ranking-table thead th, .ranking-table td { padding: 9px 10px; }
    .player-profile-header { padding: 18px; }
    .guild-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .festival-flow, .festival-rule-board, .guild-station-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .festival-winners, .guild-achievement-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .plant-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }.plant-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.plant-bonus-stage { grid-template-columns: repeat(2, minmax(0, 1fr)); }.plant-bonus-stage > div:first-child { grid-column: 1 / -1; }.plant-effect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .building-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }.building-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.building-recipe-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
    .ranking-sort-bar { gap: 4px; }
    .ranking-sort-btn { font-size: .78rem; padding: 5px 11px; }
    .guild-profile-hero { padding: 18px; gap: 13px; }
    .guild-emblem { flex-basis: 62px; width: 62px; height: 70px; border-radius: 18px 18px 25px 25px; }
    .guild-emblem span { font-size: 1.8rem; }
    .guild-profile-grid, .guild-live-grid { grid-template-columns: 1fr; }
    .guild-mini-facts { grid-template-columns: 1fr; }
    .guild-stat-grid { grid-template-columns: 1fr; }
    .festival-hero, .guild-handbook-hero { grid-template-columns: 1fr; padding: 20px; }
    .festival-hero > img, .guild-handbook-hero img { max-height: 170px; }
    .festival-flow, .festival-rule-board, .festival-arena-grid, .festival-winners, .festival-rewards, .guild-station-grid, .guild-achievement-catalog { grid-template-columns: 1fr; }
    .guild-room-browser article { grid-template-columns: auto minmax(0, 1fr); }.guild-room-browser b, .guild-room-status { grid-column: 2; justify-self: start; text-align: left; }
    .plant-directory, .plant-detail-grid, .plant-stat-grid, .plant-bonus-stage, .plant-effect-grid { grid-template-columns: 1fr; }.plant-directory-card { grid-template-columns: 86px minmax(0, 1fr); }.plant-directory-card > img { width: 86px; height: 98px; }.plant-hero { grid-template-columns: 1fr; gap: 15px; padding: 17px; }.plant-hero-art { min-height: 145px; }.plant-hero-art img { height: 155px; }.plant-bonus-stage > div:first-child { grid-column: auto; }
    .building-directory, .building-detail-grid, .building-stat-grid, .building-recipe-grid { grid-template-columns: 1fr; }.building-directory-card { grid-template-columns: 86px minmax(0, 1fr); }.building-directory-card > img { width: 86px; height: 98px; }.building-hero { grid-template-columns: 1fr; gap: 15px; padding: 17px; }.building-hero-art { min-height: 145px; }.building-hero-art img { height: 155px; }.building-recipe-grid article { grid-template-columns: 78px minmax(0, 1fr); }.building-recipe-grid article > img { width: 78px; height: 88px; }
}
/* Live-Ernte-Duell: deliberately unlike the catalogue cards, with a match-board feel. */
.harvest-duel-wiki { overflow:hidden; background:radial-gradient(circle at 50% -30%,#fffbd9 0 20%,transparent 53%),linear-gradient(135deg,#fff8df,#e8f2d8); border:2px solid #d3a544; box-shadow:0 20px 46px #6e56172c; }
.harvest-duel-hero { display:grid; grid-template-columns:120px 1fr 120px; gap:1rem; align-items:center; }
.harvest-duel-hero img { width:110px; height:110px; object-fit:contain; }
.harvest-duel-hero img:last-child { justify-self:end; }
.harvest-duel-hero h2 { margin:.2rem 0; color:#4e3017; }.harvest-duel-hero h2 em{font-style:normal;font-size:.62em;display:inline-flex;vertical-align:middle;margin:0 .25rem;padding:.18em .4em;border-radius:99px;background:#6b4e2e;color:#fff2c6;letter-spacing:.08em}.harvest-duel-hero .eyebrow i{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;background:#dc4d38;border-radius:50%;box-shadow:0 0 0 .25rem #dc4d3825;animation:harvestPulse 1.5s infinite}@keyframes harvestPulse{50%{transform:scale(.75);opacity:.5}}
.harvest-score { display:grid; grid-template-columns:1fr minmax(140px,2fr) 1fr; align-items:center; gap:.8rem; margin:1rem 0 .65rem; text-align:center; }
.harvest-score>div:first-child{color:#b5443b}.harvest-score>div:last-child{color:#356da9}.harvest-score strong { display:block; color:currentColor; font-size:2rem; line-height:1; }.harvest-score span{font-size:.82rem;font-weight:800}.harvest-score-track{height:22px;border-radius:99px;background:#3973b4;overflow:hidden;border:2px solid #fff;box-shadow:inset 0 2px 4px #153c6d55}.harvest-score-track i{display:block;height:100%;background:linear-gradient(90deg,#d94d45,#b93436);border-radius:99px;transition:width .6s ease}.harvest-facts{display:flex;gap:.5rem;flex-wrap:wrap}.harvest-facts span{padding:.45rem .65rem;border-radius:99px;background:#fff9e9;color:#5e4a2a;font-size:.83rem;font-weight:700}.harvest-live-callout{margin-top:.75rem;padding:.65rem .8rem;border-radius:13px;background:#f0eee2;color:#5c543d;font-weight:800}.harvest-live-callout.alpha{background:#fbe2df;color:#8c3933}.harvest-live-callout.bravo{background:#dfeafb;color:#2e609b}.harvest-live-callout small{font-weight:600;float:right;opacity:.8}
.harvest-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.harvest-total-card{position:relative;overflow:hidden;text-align:center}.harvest-total-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#c94d43}.harvest-total-card.bravo:before{background:#3973b4}.harvest-total-card.center:before{background:#d69b37}.harvest-total-card span,.harvest-total-card small{display:block;color:#6d5b3a}.harvest-total-card strong{display:block;margin:.35rem 0;font-size:1.7rem;color:#42351f}.harvest-reward-card{background:linear-gradient(135deg,#fff7d6,#f1e0a3)}.harvest-rule-pills{display:flex;gap:.4rem;flex-wrap:wrap}.harvest-rule-pills span{border-radius:99px;background:#fffdf2;padding:.32rem .55rem;color:#70603b;font-size:.78rem;font-weight:700}.panel-title-row{display:flex;justify-content:space-between;align-items:start}.panel-title-row h2{margin:.1rem 0}.ranking-medal{font-size:1.8rem}.harvest-ranking{list-style:none;padding:0;margin:.5rem 0 0}.harvest-ranking li{display:flex;align-items:center;gap:.65rem;padding:.55rem 0;border-bottom:1px dashed #ddcfaa}.harvest-ranking li:last-child{border-bottom:0}.harvest-ranking li>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e9d79d;color:#69451f}.harvest-ranking li:nth-child(1)>b{background:#dba733;color:#fff}.harvest-ranking li span{flex:1}.harvest-ranking small{display:block;font-size:.73rem;color:#746348;font-weight:600}.harvest-ranking strong{color:#477542;text-align:right}.harvest-jackpot-card{background:radial-gradient(circle at 85% 12%,#fff6bc 0 10%,transparent 30%),linear-gradient(135deg,#6d4724,#3f2e21);color:#fff2c4}.harvest-jackpot-card h2,.harvest-jackpot-card p{color:inherit}.harvest-jackpot-card .eyebrow{color:#ffd66c}.jackpot-number{font-weight:900;font-size:2rem;color:#ffe18b;text-shadow:0 2px 0 #4d2e13}.jackpot-number small{font-size:.45em}
.harvest-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.harvest-day-card{border:1px solid #e3c979;border-radius:18px;background:#fffbed;overflow:hidden;box-shadow:0 4px 15px #5d46121a}.harvest-day-card.is-current{border:3px solid #d68131;box-shadow:0 8px 23px #ca702642}.harvest-day-top{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;background:#f4e4b1;color:#60421e;font-weight:800}.harvest-day-top strong{font-size:.8rem;color:#447046;text-align:right}.harvest-day-crop{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem}.harvest-day-crop img{width:46px;height:46px;object-fit:contain}.harvest-day-crop b,.harvest-day-crop small{display:block}.harvest-day-crop small,.harvest-day-score small{color:#776442;font-size:.76rem}.harvest-day-score{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:0 .85rem .75rem}.harvest-day-score span{padding:.55rem;border-radius:10px;background:#fbe2df;color:#8c3933;font-size:.78rem}.harvest-day-score span+span{background:#dfeafb;color:#2e609b}.harvest-day-score b,.harvest-day-score small{display:block}.harvest-day-score b{font-size:1.1rem}.harvest-day-leaders{display:flex;gap:.35rem;flex-wrap:wrap;padding:.65rem .85rem;background:#f3f7e7}.harvest-day-leaders small{width:100%;color:#68734c}.harvest-day-leaders span{border-radius:99px;background:white;padding:.25rem .45rem;font-size:.73rem;color:#5d5034}.harvest-day-card footer{padding:.65rem .85rem;color:#667644;font-size:.78rem;font-weight:700;border-top:1px dashed #dfcc95}
@media (max-width:620px){.harvest-duel-hero{grid-template-columns:64px 1fr 64px}.harvest-duel-hero img{width:62px;height:62px}.harvest-score{grid-template-columns:1fr}.harvest-score-track{order:3}.harvest-score strong{font-size:1.5rem}.harvest-live-callout small{float:none;display:block;margin-top:.2rem}}
@media (max-width:760px){.harvest-insight-grid{grid-template-columns:1fr}.harvest-insight-grid .panel{margin:0}}

/* Ernte-Duell: eigene breite Arenabühne statt einer Reihe abgeschnittener Wappen. */
.harvest-matchboard{position:relative;isolation:isolate;overflow:hidden;min-height:338px;margin:0 0 1rem;border:2px solid #d6a23e;border-radius:26px;background:#173b35;box-shadow:0 20px 50px #21371938}
.harvest-matchboard-art{position:absolute;z-index:-2;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(1.04) contrast(1.03)}
.harvest-matchboard:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#172e2b46,transparent 28% 72%,#172e2b46),linear-gradient(0deg,#102c27b8 0%,transparent 58%)}
.harvest-matchboard-content{position:relative;display:flex;min-height:338px;padding:1.15rem 1.25rem;flex-direction:column;justify-content:space-between;color:#fff9dd;text-shadow:0 1px 2px #17241f99}
.harvest-matchboard-top,.harvest-matchboard-footer{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.78rem;font-weight:800;letter-spacing:.025em}.harvest-matchboard-top>span:not(.harvest-live-dot){padding:.36rem .62rem;border:1px solid #ffe8a166;border-radius:99px;background:#19382fd1}.harvest-live-dot{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .62rem;border-radius:99px;background:#bd3e35;color:white;box-shadow:0 0 0 .18rem #bd3e3538}.harvest-live-dot:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#fff5c9;animation:harvestPulse 1.45s infinite}.harvest-crop-chip{margin-left:auto!important;background:#dba63bd9!important;color:#473115;border-color:#ffecaa80!important;text-shadow:none}
.harvest-matchboard-heading{max-width:650px;margin:1.2rem auto .75rem;text-align:center}.harvest-matchboard-heading>div>span{display:block;margin-bottom:.2rem;color:#ffdfa0;font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.harvest-matchboard-heading h2{margin:0;color:#fff7cb;font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.05;text-shadow:0 3px 0 #47301a}.harvest-matchboard-heading h2 b{display:inline-block;margin:0 .22rem;padding:.12rem .42rem;border-radius:7px;background:#d59634;color:#42280f;font-family:inherit;font-size:.46em;vertical-align:middle;text-shadow:none;text-transform:uppercase}.harvest-matchboard-heading p{max-width:530px;margin:.62rem auto 0;color:#fff8d9;font-size:.9rem;font-weight:600}.harvest-matchboard-heading p strong{color:#ffe187}
.harvest-matchboard .harvest-score{max-width:790px;width:100%;margin:0 auto;grid-template-columns:1fr minmax(190px,1.75fr) 1fr;gap:.8rem;align-items:center}.harvest-matchboard .harvest-team-score{min-width:0;padding:.55rem .7rem;border:1px solid #fff1bc73;border-radius:14px;background:#142d28d6;box-shadow:inset 0 1px #fff8d444;text-align:center}.harvest-matchboard .harvest-team-score.alpha{color:#ffe2d6;border-color:#e9796885}.harvest-matchboard .harvest-team-score.bravo{color:#d7ecff;border-color:#75afe785}.harvest-matchboard .harvest-team-score strong{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em}.harvest-matchboard .harvest-team-score span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;font-weight:900;color:inherit}.harvest-matchboard .harvest-score-track{position:relative;height:32px;border:2px solid #ffedb3;background:#3d70a2;box-shadow:0 3px 0 #392416a6,inset 0 2px 4px #18385c}.harvest-matchboard .harvest-score-track i{background:linear-gradient(90deg,#e97862,#bf423d)}.harvest-matchboard .harvest-score-track b{position:absolute;z-index:1;inset:0;display:grid;place-items:center;color:#fff9dc;font-size:.73rem;letter-spacing:.02em;text-shadow:0 1px 2px #17251f;font-weight:900}
.harvest-matchboard-footer{justify-content:center;margin-top:.85rem;color:#fff3c2}.harvest-matchboard-footer span{padding:.37rem .62rem;border-radius:8px;background:#18382fd1;border:1px solid #ffe6a550}.harvest-matchboard+.harvest-live-callout{margin-top:-.25rem;margin-bottom:1.1rem;border:1px solid #d6c18f;box-shadow:0 8px 18px #4435131c;text-align:center}
.harvest-round-timer{background:#28393ad9!important;color:#fff7ce!important;border-color:#f8dd9b75!important}.harvest-round-timer time{margin-left:.25rem;color:#ffe184;font-variant-numeric:tabular-nums}.harvest-feature-row{display:grid;grid-template-columns:1.45fr .8fr;gap:1rem;margin:1rem 0}.harvest-feature-row>.panel{min-width:0}.harvest-potm-card{position:relative;overflow:hidden;min-height:190px;padding:1.25rem 1.4rem;color:#fff9dc;background-size:cover;background-position:center}.harvest-potm-card h2{margin:.22rem 0;color:#ffe28a;font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.25rem);text-shadow:0 2px #432a14}.harvest-potm-card p{max-width:58%;margin:0;color:#fff6d7;font-weight:650;line-height:1.45}.harvest-potm-card .eyebrow{color:#ffe0a2}.potm-badge{position:absolute;right:1.2rem;top:1.1rem;display:grid;place-items:center;width:47px;height:47px;border:2px solid #ffea9d;border-radius:50%;background:#dc9d2c;color:#fff9d9;font-size:1.5rem;box-shadow:0 4px 0 #8c5619}.harvest-round-card{position:relative;overflow:hidden;padding:1.1rem 1.2rem;background:linear-gradient(145deg,#fffdf0,#dbe9ca)}.harvest-round-card:after{content:"";position:absolute;width:130px;height:130px;right:-44px;bottom:-56px;border:13px dotted #81a36444;border-radius:50%}.harvest-round-card h2{position:relative;margin:.2rem 0;color:#405d36;font-size:1.18rem}.harvest-big-clock{position:relative;display:block;margin:.65rem 0 .3rem;color:#b06929;font-size:1.85rem;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.harvest-round-card p{position:relative;margin:0;color:#647356;font-size:.83rem;line-height:1.45}.harvest-ledger{padding:1.2rem!important;margin:1rem 0}.harvest-ledger .page-head,.harvest-duel-history .page-head{margin:0 0 1rem}.harvest-ledger-list{display:grid;gap:.65rem}.harvest-ledger-day{overflow:hidden;border:1px solid #ded2a6;border-radius:15px;background:#fffdf5}.harvest-ledger-day summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;cursor:pointer;color:#4c3a1e;font-weight:900;list-style:none}.harvest-ledger-day summary::-webkit-details-marker{display:none}.harvest-ledger-day summary:before{content:"›";margin-right:.25rem;color:#be832c;font-size:1.6rem;line-height:.7;transition:transform .18s}.harvest-ledger-day[open] summary:before{transform:rotate(90deg)}.harvest-ledger-day summary span{flex:1}.harvest-ledger-day summary b{color:#52773e;text-align:right}.harvest-ledger-day summary small{display:block;color:#86775d;font-size:.73rem}.harvest-ledger-day ol{margin:0;padding:0 1rem .8rem;list-style:none}.harvest-ledger-day li{display:flex;align-items:center;gap:.65rem;padding:.55rem 0;border-top:1px dashed #e5d7b3}.harvest-ledger-day li>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#efe1bd;color:#755221;font-size:.77rem}.harvest-ledger-day li span{flex:1;font-weight:800;color:#49371f}.harvest-ledger-day li small{display:block;color:#89795e;font-size:.73rem;font-weight:650}.harvest-ledger-day li strong{color:#44733e;text-align:right}.harvest-empty-ledger{padding:0 1rem .85rem;margin:0;color:#88795c}.harvest-duel-history{padding:1.2rem!important;margin-top:1rem}.harvest-past-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:.8rem}.harvest-past-event{position:relative;overflow:hidden;padding:1rem;border:1px solid #d9c789;border-radius:17px;background:linear-gradient(145deg,#fffef6,#f2eddc)}.harvest-past-event:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#d0ae55}.harvest-past-event.alpha:before{background:#c45448}.harvest-past-event.bravo:before{background:#4d81b7}.harvest-past-event>span{display:block;color:#927b52;font-size:.72rem;font-weight:800}.harvest-past-event h3{margin:.4rem 0 .15rem;color:#4b3920;font-size:1.05rem}.harvest-past-event>strong{display:block;margin-bottom:.45rem;color:#53783d}.harvest-past-event>div{color:#695334;font-weight:850}.harvest-past-event>div b:first-child{color:#b64a41}.harvest-past-event>div b:last-child{color:#3f73aa}.harvest-past-event small{display:block;margin-top:.35rem;color:#85745c}.harvest-history-empty{padding:1rem;border-radius:13px;background:#f3f6e8;color:#63734b}
.harvest-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.harvest-dashboard-grid>.panel{min-width:0;padding:1.15rem 1.2rem}.harvest-dashboard-grid h2{margin:.18rem 0 .55rem;color:#43331c;font-size:1.24rem}.harvest-dashboard-grid .eyebrow{display:block;color:#bd8123;font-size:.74rem;font-weight:950;letter-spacing:.1em}.harvest-leader-panel{position:relative;background:linear-gradient(145deg,#fffef7,#eef5df)}.harvest-leader-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:23px 23px 0 0;background:linear-gradient(90deg,#e5b433,#f8df82)}.harvest-reward-card{position:relative;background:radial-gradient(circle at 88% 15%,#fff6c1 0 8%,transparent 24%),linear-gradient(145deg,#fff9dd,#f3dfa0)}.harvest-reward-card:before{content:"";position:absolute;right:1.1rem;top:.8rem;width:39px;height:39px;border-radius:50%;background:#e7ac35;box-shadow:0 3px 0 #aa7020}.harvest-reward-card:after{content:"★";position:absolute;right:1.75rem;top:1.22rem;color:#fff9d7;font-size:1.2rem}.harvest-reward-card p{position:relative;z-index:1;line-height:1.5}.harvest-reward-card p strong{display:inline-block;color:#684518;font-size:1.1rem}.harvest-season-leaders{background:linear-gradient(145deg,#f6f2ff,#ebe5f8)}.harvest-jackpot-card{min-height:175px}.harvest-dashboard-grid .ranking-medal{line-height:1}.harvest-dashboard-grid .harvest-ranking{margin-top:.4rem}
@media (max-width:620px){.harvest-matchboard{min-height:0;border-radius:20px}.harvest-matchboard-art{position:relative;height:150px;background-size:100% auto;background-position:top center;filter:saturate(1.05)}.harvest-matchboard:after{inset:0;background:linear-gradient(0deg,#122c27 0%,transparent 30%)}.harvest-matchboard-content{min-height:0;margin-top:-24px;padding:.85rem .75rem 1rem;border-radius:20px 20px 0 0;background:linear-gradient(180deg,#1b4037ec,#15342e 75%)}.harvest-matchboard-top{justify-content:center}.harvest-crop-chip{margin-left:0!important}.harvest-matchboard-heading{margin:.85rem auto .7rem}.harvest-matchboard-heading h2{font-size:1.45rem}.harvest-matchboard-heading p{font-size:.82rem}.harvest-matchboard .harvest-score{grid-template-columns:1fr 1.15fr 1fr;gap:.38rem}.harvest-matchboard .harvest-team-score{padding:.45rem .28rem;border-radius:10px}.harvest-matchboard .harvest-team-score strong{font-size:1.3rem}.harvest-matchboard .harvest-team-score span{font-size:.65rem}.harvest-matchboard .harvest-score-track{height:29px;min-width:0}.harvest-matchboard .harvest-score-track b{font-size:.62rem}.harvest-matchboard-footer{gap:.35rem;margin-top:.65rem;font-size:.66rem}.harvest-matchboard-footer span{padding:.28rem .38rem}.harvest-matchboard+.harvest-live-callout{margin-top:0;font-size:.83rem}}
@media (max-width:760px){.harvest-feature-row,.harvest-dashboard-grid{grid-template-columns:1fr}.harvest-dashboard-grid>.panel{padding:1rem}.harvest-dashboard-grid h2{font-size:1.16rem}.harvest-potm-card{min-height:180px}.harvest-ledger,.harvest-duel-history{padding:1rem!important}}
@media (max-width:520px){.harvest-matchboard-top{gap:.35rem}.harvest-round-timer{order:4;width:100%;text-align:center}.harvest-potm-card p{max-width:72%}.harvest-ledger-day summary{padding:.7rem .75rem;font-size:.84rem}.harvest-ledger-day summary b{font-size:.79rem}.harvest-past-events{grid-template-columns:1fr}}

/* Großes Gildenhandbuch: ein zusammenhängendes Lesedokument statt Kachelwand. */
.guild-manual{overflow:hidden;padding:0;background:#fffdf5;border:1px solid #d9c88e;box-shadow:0 16px 42px #4e381b1c}.guild-manual-header{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:2rem;align-items:center;padding:2.35rem clamp(1.4rem,4vw,4rem);color:#fff8dd;background:radial-gradient(circle at 86% 18%,#e4bd5990 0 9%,transparent 30%),linear-gradient(135deg,#214c3b,#16352e 65%,#112a27)}.guild-manual-header h2{max-width:760px;margin:.35rem 0 .8rem;color:#fff5cc;font-family:Georgia,serif;font-size:clamp(1.75rem,3.3vw,3.1rem);line-height:1.05;text-shadow:0 2px 0 #10231e}.guild-manual-header p{max-width:760px;margin:0;color:#e9efd8;font-weight:650;line-height:1.65}.guild-manual-header .section-kicker{color:#f8d77a}.guild-manual-header img{width:100%;max-height:215px;object-fit:contain;filter:drop-shadow(0 16px 16px #071b16a8)}.guild-manual-body{max-width:1040px;margin:auto;padding:1.2rem clamp(1.15rem,4vw,4rem) 3.3rem}.guild-manual-toc{display:flex;gap:.45rem;flex-wrap:wrap;padding:1rem 0 1.25rem;border-bottom:1px solid #e5d9b8}.guild-manual-toc a{padding:.48rem .72rem;border:1px solid #c9ad69;border-radius:999px;background:#fff9e7;color:#426a40;font-size:.8rem;font-weight:900;text-decoration:none}.guild-manual-toc a:hover{background:#edf3dc;color:#274e31}.guild-manual-section{padding:2.1rem 0;border-bottom:1px solid #e6dcc2}.guild-manual-section:last-child{border-bottom:0}.guild-manual-section h2{margin:.3rem 0 .75rem;color:#3f3120;font-family:Georgia,serif;font-size:clamp(1.55rem,2.5vw,2.25rem)}.guild-manual-section h3{margin:1.45rem 0 .35rem;color:#53773e;font-size:1.15rem}.guild-manual-section>p,.guild-manual-split p{color:#604f36;line-height:1.72}.guild-manual-note{padding:.85rem 1rem;border-left:5px solid #d59d37;border-radius:0 12px 12px 0;background:#fff3cf!important;color:#674d22!important;font-weight:700}.guild-manual-table-wrap{overflow-x:auto;margin:1.1rem 0;border:1px solid #ded0a7;border-radius:14px;background:#fffefa}.guild-manual table{width:100%;border-collapse:collapse;min-width:620px}.guild-manual th{padding:.78rem .9rem;background:#f0e5bd;color:#5b4320;font-size:.76rem;letter-spacing:.04em;text-align:left;text-transform:uppercase}.guild-manual td{padding:.76rem .9rem;border-top:1px solid #eee2c5;color:#5e4e35;vertical-align:top}.guild-manual td strong{color:#3e632f}.guild-manual td small{display:block;margin-top:.2rem;color:#837254;line-height:1.4}.guild-manual-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.guild-manual-split>div{padding:.1rem 1.1rem .85rem;border-top:4px solid #83a25a;background:linear-gradient(135deg,#f5f8e9,#fffdf5)}.guild-manual-split>div+div{border-color:#c99c4b;background:linear-gradient(135deg,#fff6de,#fffdf5)}.guild-level-compendium{padding-bottom:0}.guild-level-compendium>p{max-width:780px}.guild-level-entry{margin:.55rem 0;border:1px solid #ddd0ab;border-radius:13px;background:#fffefa;overflow:hidden;transition:box-shadow .2s,border-color .2s}.guild-level-entry[open]{border-color:#9bb570;box-shadow:0 8px 18px #42623018}.guild-level-entry summary{display:grid;grid-template-columns:112px minmax(150px,1fr) auto;gap:.8rem;align-items:center;padding:.8rem 1rem;cursor:pointer;list-style:none;color:#58452a}.guild-level-entry summary::-webkit-details-marker{display:none}.guild-level-entry summary:after{content:'+';font-size:1.35rem;color:#618746}.guild-level-entry[open] summary:after{content:'–'}.guild-level-entry summary>span{display:inline-flex;justify-content:center;padding:.33rem .5rem;border-radius:999px;background:#e4efd2;color:#426936;font-size:.77rem;font-weight:950}.guild-level-entry summary strong{font-size:.9rem}.guild-level-entry summary small{color:#89785b;font-size:.76rem;font-weight:700;text-align:right}.guild-level-entry>div{padding:0 1rem .85rem;border-top:1px dashed #dfd1aa}.guild-level-entry>div>p{margin:.8rem 0 0;color:#79694c;line-height:1.55}.guild-level-entry ul{display:grid;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}.guild-level-entry li{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem .7rem;border-radius:10px;background:#f5f8ea}.guild-level-entry li>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e2efd2}.guild-level-entry li p{margin:0}.guild-level-entry li strong,.guild-level-entry li small{display:block}.guild-level-entry li strong{color:#466a35;font-size:.88rem}.guild-level-entry li small{margin-top:.12rem;color:#6f6047;line-height:1.45}
@media (max-width:680px){.guild-manual-header{grid-template-columns:1fr;padding:1.65rem 1.2rem}.guild-manual-header img{max-height:150px;order:-1}.guild-manual-body{padding:1rem 1rem 2.25rem}.guild-manual-split{grid-template-columns:1fr}.guild-level-entry summary{grid-template-columns:100px minmax(0,1fr) auto}.guild-level-entry summary small{display:none}.guild-level-entry summary:after{justify-self:end}.guild-manual table{min-width:560px}}

/* Gartenkunden: öffentliches Rufprofil, direkt aus denselben Regeln wie das Rufbuch. */
.customer-profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0}.customer-profile-facts>div{padding:.8rem .9rem;border:1px solid #d9cfaa;border-radius:14px;background:linear-gradient(145deg,#fffef6,#f0f5e3)}.customer-profile-facts span,.customer-profile-facts strong{display:block}.customer-profile-facts span{color:var(--muted);font-size:.72rem;font-weight:800}.customer-profile-facts strong{margin-top:.2rem;color:var(--forest-900);font-size:.9rem}.reputation-opinion-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.15rem 0}.reputation-opinion{padding:1rem 1.1rem;border:1px solid #d8d0b5;border-radius:17px;background:#fffdf7}.reputation-opinion.is-positive{border-color:#9fbe7d;background:linear-gradient(145deg,#f5f9eb,#fffdf7)}.reputation-opinion.is-negative{border-color:#dca09a;background:linear-gradient(145deg,#fff3ef,#fffdf7)}.reputation-opinion h3{margin:0 0 .65rem;color:var(--forest-900)}.reputation-opinion.is-negative h3{color:#9b4238}.reputation-opinion p{margin:0;color:var(--muted);font-size:.85rem}.reputation-opinion ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.reputation-opinion li{padding:.62rem .7rem;border-radius:11px;background:#ffffffa8}.reputation-opinion strong,.reputation-opinion span{display:block}.reputation-opinion strong{color:#3c7039;font-size:.84rem}.reputation-opinion.is-negative strong{color:#a4453c}.reputation-opinion span{margin-top:.18rem;color:var(--muted);font-size:.76rem;line-height:1.4}.customer-milestone-list{margin-top:1.25rem}.customer-milestone-list h3{margin-bottom:.25rem}.customer-milestone-list>p{margin:.2rem 0 .8rem;color:var(--muted);font-size:.84rem}.customer-milestone-list>div{display:grid;grid-template-columns:105px 1fr auto;gap:.7rem;align-items:center;padding:.62rem .75rem;border-top:1px dashed #ded2ad}.customer-milestone-list strong{color:#547d3c}.customer-milestone-list span{color:#65543a;font-size:.82rem}.customer-milestone-list small{color:var(--muted);font-size:.76rem;text-align:right}@media(max-width:720px){.customer-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.reputation-opinion-grid{grid-template-columns:1fr}.customer-milestone-list>div{grid-template-columns:82px 1fr}.customer-milestone-list small{grid-column:2;text-align:left}}
