/* The village phrasebook shares the app's cream, forest and warm gold palette. */
.vwb-shell{max-width:1020px;margin:auto;color:var(--ink,#30493d)}
.vwb-shell h2{font-family:Georgia,serif;font-size:clamp(29px,4vw,42px);line-height:1.15;margin:10px 0 15px}
.vwb-lead{max-width:740px;font-size:17px;line-height:1.65}
.vwb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:23px 0}
.vwb-stats>div{padding:18px;border-radius:17px;background:#edf1e5;border:1px solid #d7dfca}
.vwb-stats b{display:block;font-family:Georgia,serif;font-size:32px;color:#315943}
.vwb-stats span{display:block;font-size:13px;line-height:1.5;margin-top:5px;color:#4d6456}
.vwb-review-invitation{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:22px;border:1px solid #c9d6b9;border-radius:18px;background:linear-gradient(110deg,#f5f1dd,#f2f5e9)}
.vwb-review-invitation b{font-size:18px}.vwb-review-invitation p{max-width:620px;font-size:14px;line-height:1.6;margin:7px 0 0}.vwb-review-invitation button{flex-shrink:0;white-space:normal}
.vwb-filters{display:flex;gap:13px;align-items:end;flex-wrap:wrap;margin:24px 0}.vwb-filters>div{display:flex;gap:8px;flex:1;flex-wrap:wrap}.vwb-filters label{display:grid;gap:5px;font-size:12px;font-weight:600}.vwb-filters select{max-width:100%;min-height:44px;background:#fffdf6;border:1px solid #bbcbb1;border-radius:10px;padding:8px 12px;font:inherit;color:#304d3b}.vwb-filters [aria-pressed=true]{border-color:#41694b;background:#e2ecd8;color:#254c35}
.vwb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vwb-card{min-width:0;background:#fffdf6;border:1px solid #d8dfca;border-radius:18px;padding:21px;display:flex;flex-direction:column;box-shadow:0 3px 0 #31543806}.vwb-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.vwb-card-top span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#60745e}.vwb-card-top small{color:#426649;font-size:11px;background:#edf3e5;padding:3px 8px;border-radius:20px}.vwb-card h3{font-family:Georgia,serif;font-size:23px;line-height:1.4;margin:15px 0 9px;overflow-wrap:anywhere}.vwb-card p{font-size:14px;line-height:1.65;margin:0 0 13px}.vwb-card blockquote{border-left:3px solid #cfb06a;padding:2px 0 2px 12px;font-size:13px;line-height:1.65;margin:2px 0 18px;color:#5a6d5a}.vwb-card-actions{margin-top:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vwb-card-actions button{font-size:13px;min-height:44px;white-space:normal}.vwb-card-actions button:disabled{opacity:1;color:#436448;background:#edf3e5;border-color:#ccdbc0;cursor:default}
.vwb-shell button:focus-visible,.vwb-shell select:focus-visible,.vwb-context button:focus-visible{outline:3px solid #a97328;outline-offset:4px}.vwb-shell button{min-height:44px}.vwb-shell button:disabled{cursor:default}.vwb-voice-note{display:block;font-size:12px;line-height:1.6;color:#5a6c5b;margin:20px 0 6px}.vwb-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #dce3ce;margin-top:25px;padding-top:16px}.vwb-empty{grid-column:1/-1;border:1px dashed #b9c9ab;border-radius:18px;text-align:center;padding:35px 25px;background:#f6f7ee}.vwb-empty>span{font-size:34px;color:#8a9c71}.vwb-empty h3{font-family:Georgia,serif;font-size:25px}.vwb-empty p{max-width:550px;margin:0 auto 20px;line-height:1.6}
.vwb-context{padding:22px;margin-top:22px;border-top:1px solid #d9dfca;background:#f8f6ec;border-radius:15px}.vwb-section-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.vwb-section-top small{font-size:10px;letter-spacing:.09em;color:#657459}.vwb-section-top h3{font-family:Georgia,serif;font-size:23px;margin:6px 0}.vwb-context>p{font-size:13px;line-height:1.6}.vwb-context-cards{display:grid;gap:12px;margin-top:14px}.vwb-context .vwb-card{padding:16px}.vwb-context .vwb-card h3{font-size:21px}.vwb-context .vwb-card p{font-size:13px}.vwb-context .vwb-voice-note{font-size:11px}
.vwb-review-progress{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:12px 0;border-bottom:1px solid #dce2ce}.vwb-question{font-size:clamp(18px,3vw,23px);line-height:1.6;max-width:800px;margin:25px 0}.vwb-choices{display:grid;gap:12px;margin-bottom:20px}.vwb-choice{display:grid;grid-template-columns:32px 1fr;text-align:left;align-items:center;column-gap:12px;row-gap:5px;width:100%;background:#fffdf7;border:1px solid #cbd7bd;border-radius:14px;padding:17px;font:inherit;color:#304b3b;line-height:1.5}.vwb-choice>span:first-child{border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:#edf1e5;font-weight:700}.vwb-choice small{grid-column:2;font-size:12px;color:#315943}.vwb-choice:disabled{opacity:1}.vwb-choice.vwb-correct{background:#edf5e3;border:2px solid #587b46}.vwb-choice.vwb-missed{background:#fbf0dd;border-color:#c9a263}.vwb-feedback{padding:21px;border-radius:16px;border:1px solid #c2d2b2;background:#f0f6e8;margin:10px 0 22px;line-height:1.6}.vwb-feedback.vwb-again{border-color:#d9c494;background:#fbf4e4}.vwb-feedback p{margin:10px 0;font-size:15px}.vwb-feedback blockquote{font-family:Georgia,serif;font-size:22px;margin:15px 0;padding-left:13px;border-left:3px solid #b69b59}.vwb-feedback small{display:block;font-size:12px;color:#5d6b53;margin-top:10px}
@media(min-width:1150px){.vwb-context-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.village-place-panel .vwb-context-cards{grid-template-columns:1fr}.village-place-panel .vwb-context{padding:14px}
@media(max-width:650px){.vwb-stats{gap:7px}.vwb-stats>div{padding:13px 10px}.vwb-stats b{font-size:28px}.vwb-stats span{font-size:11px}.vwb-grid{grid-template-columns:1fr}.vwb-review-invitation{flex-direction:column;align-items:stretch;gap:17px;padding:18px}.vwb-card{padding:18px}.vwb-filters{align-items:stretch}.vwb-filters>div{flex-basis:100%}.vwb-filters label{flex:1;min-width:130px}.vwb-filters select{width:100%}.vwb-context{padding:16px}.vwb-choice{padding:14px 12px;font-size:15px;column-gap:9px}.vwb-footer{flex-direction:column;align-items:flex-start}.vwb-review-progress{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vwb-shell *,.vwb-context *{scroll-behavior:auto}}
