/* Shared prayer-wall filter colors; the remaining layout rules apply on larger screens. */
.wall-filter {
    --filter-ink: #705633;
    --filter-edge: #c9ad7e;
    --filter-wash: #f8f0e3;
    --filter-fill: #8a6b3f;
    min-height: 36px;
    border-color: var(--filter-edge);
    border-radius: 999px;
    color: var(--filter-ink);
    background: var(--filter-wash);
    box-shadow: 0 2px 6px rgba(69, 46, 24, .08), inset 0 1px 0 rgba(255, 255, 255, .8);
    font-family: "Noto Serif TC", serif;
    font-size: clamp(13px, 3.8vw, 16px);
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.wall-filter[data-category="career"] { --filter-ink: #416b39; --filter-edge: #a5bf9b; --filter-wash: #eff6ed; --filter-fill: #528146; }
.wall-filter[data-category="love"] { --filter-ink: #914561; --filter-edge: #daa6b7; --filter-wash: #fff1f5; --filter-fill: #a4496d; }
.wall-filter[data-category="study"] { --filter-ink: #39758d; --filter-edge: #a5c8d3; --filter-wash: #eef7f9; --filter-fill: #4386a0; }
.wall-filter[data-category="wealth"] { --filter-ink: #6f5237; --filter-edge: #cbb497; --filter-wash: #f8f1e8; --filter-fill: #765339; }
.wall-filter[data-category="peace"] { --filter-ink: #687449; --filter-edge: #bcc6a1; --filter-wash: #f4f7ee; --filter-fill: #7e8a5b; }
.wall-filter[data-category="health"] { --filter-ink: #6c5198; --filter-edge: #bba9d2; --filter-wash: #f5f0fa; --filter-fill: #785aa8; }
.wall-filter[aria-pressed="true"] {
    border-color: var(--filter-fill);
    color: #fff;
    background: var(--filter-fill);
    box-shadow: 0 6px 14px rgba(68, 45, 28, .18), inset 0 1px 0 rgba(255, 255, 255, .25);
}
@media (hover: hover) { .wall-filter:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(68, 45, 28, .14); } }
@media (prefers-reduced-motion: reduce) { .wall-filter { transition: none; } }

@media (min-width: 768px) {
    .wall-intro { background: #fffdfa url('/images/lineliff/prayerwall/intro-bg-hor.png') center / cover no-repeat; }
    .wall-intro canvas { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; }

    body.prayer-paper-page {
        background: #f9f4e9 url('/images/lineliff/prayerwall/bg-page-landscape-v3.png') center / cover no-repeat;
    }
    .prayer-wall, .wish-select, .prayer-write, .prayer-complete, .moderation { background: transparent; }
    .wall-loading { background: #f9f4e9 url('/images/lineliff/prayerwall/bg-page-landscape-v3.png') center / cover no-repeat; }

    .prayer-wall { width: min(100%, 1000px); }
    .wall-header { padding-top: 30px; }
    .wall-header h1 { font-size: 58px; }
    .wall-header p { font-size: 28px; }
    .wall-search { max-width: 620px; margin: 28px auto 0; }
    .wall-filters { width: calc(100% - 44px); max-width: 840px; gap: 10px; margin: 20px auto 0; }
    .wall-filter { height: 46px; font-size: 17px; letter-spacing: .08em; }
    .wall-gallery { --card-width: 180px; gap: 24px; margin-top: 42px; }
    .wall-gallery:not(.is-grid) { min-height: 550px; }
    .wall-gallery.is-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; padding: 0 28px; }
    .wall-lane__group { gap: 18px; padding-right: 18px; }
    .wall-card h2 { font-size: 37px; }
    .wall-card__name { font-size: 24px; }
    .wall-card__name.is-legacy-long { font-size: 17px; }
    .wall-card__wish { font-size: 18px; }
    .wall-card__wish.is-short { font-size: 20px; }
    .wall-card__wish.is-legacy-long { font-size: 14px; }
    .wall-card-expired { font-size: 17px; }
    .wall-card-edit { top: 10px; right: 10px; }
    .wall-actions { gap: 14px; max-width: 600px; margin: 22px auto 18px; }
    .wall-action { font-size: 22px; letter-spacing: .06em; }
    .wall-action--primary::after { content: ""; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M3 3l5 7-5 7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: center; background-size: 9px 14px; background-repeat: no-repeat; }

    .wish-select { width: min(100%, 740px); padding: 34px 44px 50px; }
    .prayer-flow__steps { max-width: 600px; margin: 20px auto 0; }
    .wish-cards { gap: 30px 28px; margin-top: 38px; }
    .wish-card__copy strong { font-size: 38px; }
    .wish-card__copy span { font-size: 20px; }
    .wish-selected { margin-top: 35px; font-size: 28px; }
    .wish-submit { max-width: 480px; min-height: 64px; margin: 26px auto 0; font-size: 32px; }

    .prayer-write { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 42px; align-content: start; width: min(100%, 760px); padding: 34px 44px 54px; }
    .prayer-write > .prayer-flow__header, .prayer-write > .prayer-flow__steps { grid-column: 1 / -1; width: 100%; }
    .prayer-preview { grid-column: 1; width: 190px; margin: 50px auto 0; }
    .prayer-preview__copy h2 { font-size: 36px; }
    .prayer-preview__name { font-size: 24px; }
    .prayer-preview__name.is-legacy-long { font-size: 19px; }
    .prayer-preview__wish { font-size: 16px; }
    .prayer-preview__wish.is-short { font-size: 18px; }
    .prayer-form { grid-column: 2; gap: 12px; margin-top: 32px; }
    .prayer-form__field { gap: 8px; }
    .prayer-form textarea { height: 100px; resize: vertical; }
    .prayer-notice { padding: 14px 18px; }
    .prayer-consent { margin-top: 8px; }
    .prayer-submit { margin-top: 10px; }

    .prayer-complete { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: 44px; align-content: start; width: min(100%, 820px); min-height: 100vh; padding: 34px 52px 58px; }
    .prayer-complete > .prayer-flow__header, .prayer-complete > .prayer-flow__steps { grid-column: 1 / -1; width: 100%; }
    .prayer-complete .prayer-flow__header h1 { font-size: 56px; }
    .prayer-complete .prayer-flow__header p { font-size: 30px; }
    .prayer-complete .prayer-flow__steps { margin-top: 24px; }
    .prayer-complete .prayer-flow__steps::before { top: 25px; }
    .prayer-complete .prayer-flow__step { font-size: 21px; }
    .prayer-complete .prayer-flow__step-number { width: 50px; height: 50px; font-size: 29px; }
    .prayer-complete .prayer-flow__step.is-complete .prayer-flow__step-number { font-size: 32px; }
    .prayer-card { grid-column: 1; width: 240px; margin-top: 64px; }
    .prayer-card__copy h2 { font-size: 44px; }
    .prayer-card__name { font-size: 29px; }
    .prayer-card__name.is-legacy-long { font-size: 24px; }
    .prayer-card__wish { font-size: 20px; }
    .prayer-card__wish.is-short { font-size: 22px; }
    .complete-result { grid-column: 2; align-self: center; justify-self: center; width: 100%; max-width: 520px; margin-top: 0; }
    .complete-result__mark { width: 70px; height: 70px; font-size: 57px; }
    .complete-result h2 { font-size: 42px; }
    .complete-result__caption { font-size: 21px; }
    .complete-result__hint { font-size: 19px; }
    .complete-return { grid-column: 1 / -1; max-width: 540px; min-height: 74px; margin: 46px auto 0; font-size: 34px; }

    .card { max-width: 560px; padding: 42px 40px; }
    .actions { flex-direction: row; }
    .actions .button { flex: 1; }
    .actions .hint { flex-basis: 100%; }
    .actions { flex-wrap: wrap; }

    .moderation { width: min(100%, 760px); padding: 56px 40px 64px; }
    .moderation h1 { font-size: 38px; }
    .lookup { max-width: 560px; margin: 30px auto 0; }
    .search-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
    .search-panel > .field, .search-panel > .date-row, .search-panel > .date-actions, .search-panel > .lookup-button { min-width: 0; }

    .prayer-platform { max-width: 760px; min-height: 100vh; background-size: cover; }
    .prayer-platform__header { height: 170px; }
    .prayer-platform__brand { font-size: 31px; }
    .prayer-platform__menu-button { top: 54px; right: 32px; }
    .prayer-platform__menu { top: 108px; right: 32px; }
    .prayer-platform__content { max-width: 600px; margin: auto; padding: 280px 24px 0; }
    .prayer-platform__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .prayer-platform__notice { max-width: 520px; margin: 30px auto 0; }
    .prayer-platform__footer { max-width: 620px; margin: auto; }
}

@media (min-width: 1200px) {
    .prayer-wall { width: min(100%, 1200px); }
    .wall-gallery { --card-width: 190px; }
    .wall-gallery:not(.is-grid) { min-height: 580px; }
    .wall-gallery.is-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 22px; padding: 0 40px; }
    .wall-lane__group { gap: 24px; padding-right: 24px; }
    .wall-card__name { font-size: 26px; }
    .wall-card__name.is-legacy-long { font-size: 19px; }
    .wall-card__wish { font-size: 19px; }
    .wall-card__wish.is-short { font-size: 21px; }
    .wall-card__wish.is-legacy-long { font-size: 15px; }

    .wish-select { width: min(100%, 1400px); padding-right: 60px; padding-left: 60px; }
    .wish-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-top: 52px; }
    .wish-card__copy strong { font-size: 29px; }
    .wish-card__copy span { font-size: 18px; letter-spacing: 0; }

    .prayer-write { grid-template-columns: 250px minmax(0, 1fr); column-gap: 70px; width: min(100%, 960px); padding-right: 70px; padding-left: 70px; }
    .prayer-preview { width: 230px; }
    .prayer-preview__copy h2 { font-size: 42px; }
    .prayer-preview__name { font-size: 28px; }
    .prayer-preview__name.is-legacy-long { font-size: 22px; }
    .prayer-preview__wish { font-size: 18px; }
    .prayer-preview__wish.is-short { font-size: 21px; }

    .prayer-complete { grid-template-columns: 350px minmax(0, 1fr); column-gap: 72px; width: min(100%, 1120px); padding: 34px 64px 62px; }
    .prayer-complete .prayer-flow__header h1 { font-size: 62px; }
    .prayer-complete .prayer-flow__header p { font-size: 34px; }
    .prayer-complete .prayer-flow__step { font-size: 24px; }
    .prayer-complete .prayer-flow__steps::before { top: 28px; }
    .prayer-complete .prayer-flow__step-number { width: 56px; height: 56px; font-size: 32px; }
    .prayer-complete .prayer-flow__step.is-complete .prayer-flow__step-number { font-size: 36px; }
    .prayer-card { width: 320px; margin-top: 72px; transform: translateX(36px); }
    .prayer-card__copy h2 { font-size: 54px; }
    .prayer-card__name { font-size: 37px; }
    .prayer-card__name.is-legacy-long { font-size: 30px; }
    .prayer-card__wish { font-size: 25px; }
    .prayer-card__wish.is-short { font-size: 28px; }
    .complete-result__mark { width: 78px; height: 78px; font-size: 64px; }
    .complete-result h2 { font-size: 48px; }
    .complete-result__caption { font-size: 23px; }
    .complete-result__hint { font-size: 21px; }
    .complete-return { max-width: 620px; min-height: 80px; margin-top: 54px; font-size: 36px; }

    .card { max-width: 640px; }
    .moderation { width: min(100%, 1080px); padding-right: 56px; padding-left: 56px; }
    .list-scroll-hint { display: none; }
    .result { display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: 30px; align-items: start; width: min(860px, calc(100vw - 48px)); }
    .result .result-header { grid-column: 1 / -1; }
    .result .card-preview { grid-column: 1; grid-row: 2; }
    .result .details { grid-column: 2; grid-row: 2; margin-top: 0; }
    .result .disable-button, .result .result-feedback, .result .hint { grid-column: 2; }

    .prayer-platform { max-width: 1000px; }
    .prayer-platform__content { max-width: 700px; }
    .prayer-platform__notice { max-width: 600px; }
}
