/* Wedding tea blessings: quiet paper, warm ink, generous touch targets. */
.gw-page{--gw-ink:#584b3b;--gw-muted:#746550;--gw-line:#d8cbb8;--gw-paper:#fffaf2;color:var(--gw-ink)}
.gw-hero{max-width:1160px;margin:auto;padding:64px 6% 40px;display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center}.gw-hero h1{font-size:clamp(2.3rem,5vw,4.3rem);line-height:1.3;margin:.3em 0}.gw-hero p{max-width:690px;line-height:1.95}.gw-hero .section-kicker{letter-spacing:.15em}.gw-teacups{width:100%;color:#9a7d58}.gw-note{font-size:.93rem;color:var(--gw-muted)}
.gw-library{max-width:1160px;margin:auto;padding:0 6% 72px}.gw-tools{background:var(--gw-paper);border:1px solid var(--gw-line);border-radius:20px;padding:24px;margin-bottom:32px}.gw-search-row{display:flex;align-items:end;gap:12px}.gw-search-field{flex:1;min-width:0}.gw-search-field label{display:block;font-size:.9rem;margin-bottom:8px}.gw-search-field input{width:100%;box-sizing:border-box;font:inherit;padding:14px 16px;color:var(--gw-ink);border:1px solid #aa967b;background:#fffdf9;border-radius:8px;min-height:48px}.gw-clear,.gw-filter,.gw-copy{font:inherit;cursor:pointer;border:1px solid #aa967b;color:var(--gw-ink);background:transparent;min-height:44px;border-radius:8px;padding:10px 16px}.gw-clear:hover,.gw-filter:hover,.gw-copy:hover{background:#eee4d5}.gw-filter[aria-pressed=true]{background:#66563f;border-color:#66563f;color:white}.gw-filter-groups{margin-top:20px}.gw-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.gw-filter-group>span{font-size:.85rem;flex-basis:100%;color:var(--gw-muted)}.gw-filter{font-size:.9rem}.gw-results-count{margin:20px 0 0;font-size:.9rem}.gw-category{scroll-margin-top:100px;margin:44px 0}.gw-category h2{font-size:1.7rem;margin:0}.gw-category-heading{border-bottom:1px solid var(--gw-line);padding-bottom:16px;margin-bottom:24px}.gw-category-heading p{margin:6px 0 0;color:var(--gw-muted);font-size:.88rem}.gw-relatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gw-relative{min-width:0;background:var(--gw-paper);border:1px solid var(--gw-line);border-radius:16px;padding:24px}.gw-relative h3{margin:0 0 20px;font-size:1.35rem}.gw-entry+.gw-entry{border-top:1px solid var(--gw-line);padding-top:22px;margin-top:22px}.gw-original{white-space:pre-line;font-size:1.14rem;line-height:1.9;margin:0 0 16px;overflow-wrap:anywhere}.gw-translation{line-height:1.75;font-size:.94rem;color:var(--gw-muted);margin-bottom:18px}.gw-translation summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.gw-translation p{white-space:pre-line}.gw-copy{font-size:.85rem}.gw-empty{padding:30px 0}.gw-bottom{border-top:1px solid var(--gw-line);padding-top:30px;line-height:1.9}.gw-bottom a{margin-right:24px}.gw-manual{margin-top:12px}.gw-manual textarea{width:100%;min-height:150px;box-sizing:border-box;font:inherit;padding:12px}.gw-page [hidden]{display:none!important}.gw-page :focus-visible{outline:3px solid #836843;outline-offset:4px}.gw-status{position:fixed;z-index:30;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);padding:12px 20px;border-radius:10px;background:#514630;color:#fff;box-shadow:0 4px 24px #0002}.gw-status:empty{display:none}.gw-promo{margin:28px 0;padding:24px;border:1px solid #c9b89d;border-radius:16px;background:#fffaf2}.gw-promo h2,.gw-promo h3{margin-top:0}.gw-promo p{line-height:1.8}
@media(max-width:767px){.gw-hero{padding-top:40px;grid-template-columns:1fr;gap:8px}.gw-teacups{width:150px;justify-self:center;grid-row:1}.gw-hero h1{font-size:2.35rem}.gw-relatives{grid-template-columns:1fr}.gw-tools{padding:18px}.gw-filter{padding:9px 12px}.gw-library{padding-bottom:40px}.gw-relative{padding:20px}.gw-search-row{align-items:stretch;flex-wrap:wrap}.gw-search-field{flex-basis:100%}.gw-clear{width:100%}.gw-status{bottom:110px;font-size:.9rem}.gw-category{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.gw-page *{scroll-behavior:auto!important}}
.gw-filter-groups .gw-filter-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gw-filter-group>span{grid-column:1/-1}.gw-filter-groups .gw-filter{text-align:left;min-height:62px;padding:14px 18px;background:#fffdf8}.gw-filter-groups .gw-filter:hover{background:#eee4d5}.gw-filter[data-gw-filter=all]{display:none}.gw-drill{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px}.gw-drill>.gw-filter{flex-basis:100%;text-align:left;border:0;padding-left:0}.gw-relative-choice{flex:1;min-width:160px;min-height:90px;border:1px solid #bba98d;border-radius:12px;background:#fffdf8;color:#584b3b;font:inherit;font-size:1.15rem;cursor:pointer;padding:20px}.gw-relative-choice:hover{background:#eee4d5}.gw-original[data-long-press]{touch-action:pan-y}.gw-category:has(.gw-relative[hidden]) .gw-relatives{grid-template-columns:1fr}.gw-category .gw-relative{max-width:100%}.gw-promo{grid-column:1/-1}@media(max-width:600px){.gw-filter-groups .gw-filter-group{grid-template-columns:1fr}.gw-relative-choice{flex-basis:100%}}
/* One stable panel: switch family/title without exiting, and tap the words themselves. */
.gw-tools{position:sticky;top:88px;z-index:15;padding:18px 22px;box-shadow:0 4px 18px #66563f0c}.gw-family-controls{margin-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center}.gw-family-label{font-size:.9rem}.gw-family-select{width:100%;min-width:0;min-height:44px;border:1px solid #aa967b;border-radius:8px;padding:10px 12px;background:#fffdf8;color:#584b3b;font:inherit}.gw-relative-controls{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.gw-relative-controls .gw-relative-choice{flex:1;min-width:0;min-height:44px;font-size:.94rem;padding:10px 14px;border-radius:8px}.gw-relative-choice[aria-pressed=true]{background:#66563f;color:#fff;border-color:#66563f}.gw-results-count{margin-top:12px;min-height:1.4em}.gw-phrase{display:block;width:100%;min-height:62px;text-align:left;font:inherit;color:inherit;background:#fffdf8;border:1px solid #d8cbb8;border-radius:10px;padding:16px 18px;cursor:pointer;touch-action:manipulation}.gw-phrase:hover{background:#f2e8d9;border-color:#aa967b}.gw-phrase:active{background:#e9ddcb}.gw-phrase .gw-original{display:block;margin:0;pointer-events:none}.gw-entry+.gw-entry{border:0;margin-top:14px;padding-top:0}.gw-translation{padding:0 8px;margin-bottom:0}.gw-category{overflow-anchor:none}.gw-status{pointer-events:none}.gw-relative{padding:20px}.gw-hero{padding-bottom:24px}@media(max-width:767px){.gw-tools{top:76px;padding:14px}.gw-search-row{flex-wrap:nowrap;align-items:end;gap:8px}.gw-search-field{flex-basis:auto}.gw-clear{width:auto;min-width:64px;padding:10px 8px;font-size:.82rem}.gw-search-field input{padding:10px 12px;min-height:44px}.gw-family-controls{margin-top:10px;gap:8px}.gw-family-select{font-size:.88rem}.gw-relative-controls .gw-relative-choice{font-size:.88rem;padding:9px 8px;flex-basis:0}.gw-results-count{font-size:.82rem;margin-top:8px}.gw-phrase{padding:14px}.gw-phrase .gw-original{font-size:1.08rem}}
.gw-tools{top:12px}@media(max-width:767px){.gw-tools{top:8px}}
/* Reference menu: four immediate, four paternal and three maternal pairs. */
.gw-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}
.gw-menu-group{min-width:0}.gw-menu-group h2{font-size:1.25rem;line-height:1.5;text-align:center;margin:0 0 16px;color:#584b3b}
.gw-menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gw-menu-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:76px;padding:15px 10px;border:1px solid #c4b398;border-radius:16px;background:#fffaf2;color:#584b3b;font:inherit;font-weight:600;line-height:1.5;text-align:center;cursor:pointer}
.gw-menu-tile small{font-size:.75rem;font-weight:400;line-height:1.45}.gw-menu-tile:hover{background:#eee4d5}.gw-menu-tile[aria-pressed=true]{background:#66563f;border-color:#66563f;color:#fff}.gw-menu-tile:focus-visible{outline:3px solid #836843;outline-offset:4px}
.gw-relative-controls:empty{display:none}
@media(max-width:1000px){.gw-group-grid{grid-template-columns:1fr;gap:28px;max-width:620px;margin:28px auto}.gw-menu-tile{min-height:68px;font-size:1rem}.gw-menu-group h2{text-align:left}}
