/* Ann public customer voices: warm page, quiet pine reading panels. */
.ann-letters{--voices-ink:#172a24;--voices-paper:#f6f2e8;--voices-gold:#c6a36d;box-sizing:border-box;min-width:0;position:relative;margin:48px 0 0;padding:0 40px;color:var(--voices-ink);font-family:Inter,"Noto Sans TC",sans-serif}
.ann-letters *{box-sizing:border-box}
.ann-letters__masthead{display:block;margin-bottom:24px}
.ann-letters .ann-letters__eyebrow{margin:0 0 10px;color:#766344;font:500 13px/1.6 Inter,"Noto Sans TC",sans-serif;letter-spacing:.08em}
.ann-letters .ann-letters__title{margin:0;color:var(--voices-ink);font:500 36px/1.3 "Noto Serif TC","Songti TC",serif;letter-spacing:.025em}
.ann-letters .ann-letters__intro{margin:12px 0 0;color:#62685f;font:400 15px/1.65 Inter,"Noto Sans TC",sans-serif}
.ann-letters__rail{position:relative;display:flex;gap:24px;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;padding:0 0 2px;cursor:grab}
.ann-letters__rail::-webkit-scrollbar{display:none}
.ann-letters__rail.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.ann-letters__letter{position:relative;flex:0 0 calc((100% - 64px)/2);min-width:0;display:flex;flex-direction:column;padding:28px;scroll-snap-align:start;background:var(--voices-ink);color:var(--voices-paper);border:1px solid #294037;border-radius:4px}
.ann-letters__letter.is-peek{contain:size;align-self:stretch;overflow:hidden}
.ann-letters__letter.is-peek>*{visibility:hidden}
.ann-letters__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #526052;color:#d2c6b6}
.ann-letters__card-label{font:400 13px/1.7 Inter,"Noto Sans TC",sans-serif;letter-spacing:.04em}
.ann-letters__number{color:var(--voices-gold);font:400 21px/1 Georgia,serif}
.ann-letters .ann-letters__excerpt{margin:20px 0 0;padding:0;border:0;color:var(--voices-paper);font:400 21px/1.7 "Noto Serif TC","Songti TC",serif;white-space:pre-line;overflow-wrap:anywhere;letter-spacing:.015em;cursor:text}
.ann-letters .ann-letters__letter--short .ann-letters__excerpt{font-size:25px;line-height:1.6}
.ann-letters__byline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:#d2c6b6;font:400 13px/1.7 Inter,"Noto Sans TC",sans-serif;cursor:text}
.ann-letters__nick{color:var(--voices-paper);font-weight:500}
.ann-letters__byline time{font-variant-numeric:tabular-nums;white-space:nowrap}
.ann-letters__details{margin-top:14px;border-top:1px solid #526052}
.ann-letters__details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:10px 0 0;list-style:none;cursor:pointer;color:#ddc295;font:500 13px/1.6 Inter,"Noto Sans TC",sans-serif}
.ann-letters__details summary::-webkit-details-marker{display:none}
.ann-letters__close,.ann-letters__details[open] .ann-letters__read{display:none}
.ann-letters__details[open] .ann-letters__close{display:inline}
.ann-letters__plus{font:300 23px/1 Inter,sans-serif;transition:transform .2s}
.ann-letters__details[open] .ann-letters__plus{transform:rotate(45deg)}
.ann-letters__full{padding:18px 0 0;color:var(--voices-paper);font:400 16px/1.85 Inter,"Noto Sans TC",sans-serif;white-space:pre-line;overflow-wrap:anywhere;cursor:text}
.ann-letters__controls{display:flex;align-items:center;gap:12px;margin-top:18px}
.ann-letters__controls[hidden]{display:none}
.ann-letters .ann-letters__hint{margin:0;flex:1;color:#62685f;font:400 13px/1.7 Inter,"Noto Sans TC",sans-serif}
.ann-letters__touch-hint{display:none}
.ann-letters .ann-letters__arrow{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #9b835c;border-radius:50%;background:transparent;color:#695334;cursor:pointer;box-shadow:none;transition:background .2s,color .2s}
.ann-letters__arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.ann-letters .ann-letters__arrow:disabled{opacity:.3;cursor:default}
.ann-letters__position{min-width:80px;color:#645e51;text-align:center;font:400 13px/1.6 Inter,sans-serif;letter-spacing:.04em;white-space:nowrap}
.ann-letters .ann-letters__footer{display:flex;justify-content:space-between;gap:20px;padding-top:16px;margin-top:16px;border-top:1px solid #d6d0c2;color:#62685f;font:400 13px/1.7 Inter,"Noto Sans TC",sans-serif}
.ann-letters__footer p{margin:0;color:inherit;font:inherit}
.ann-letters__update{white-space:nowrap}
.ann-letters__status:empty{display:none}
.ann-letters__status{padding:26px 0;color:#62685f;font-size:14px;line-height:1.9}
.ann-letters .ann-letters__retry{margin-left:15px;padding:7px 0;background:transparent;border:0;border-bottom:1px solid #9b835c;border-radius:0;color:#695334;font:inherit;cursor:pointer}
.ann-letters .ann-letters__sample{margin:14px 0 0;color:#766344;font:400 13px/1.65 Inter,"Noto Sans TC",sans-serif}
.ann-letters :is(button,summary,[tabindex]):focus-visible{outline:2px solid #bf9755;outline-offset:4px}
.ann-letters__rail:focus-visible{outline-offset:-2px}
@media(hover:hover){.ann-letters .ann-letters__arrow:not(:disabled):hover{background:#172a24;color:#f6f2e8}.ann-letters__details summary:hover{color:#f4ddba}}
.ann-letters--compact{margin:32px 0 0;padding:0}
.ann-letters--compact .ann-letters__title{font-size:28px;line-height:1.35}
.ann-letters--compact .ann-letters__letter{flex-basis:calc(100% - 28px);padding:20px}
.ann-letters--compact .ann-letters__rail{gap:12px}
.ann-letters--compact .ann-letters__rail:after{content:"";flex:0 0 16px}
.ann-letters--compact .ann-letters__excerpt{font-size:18px}
.ann-letters--compact .ann-letters__letter--short .ann-letters__excerpt{font-size:23px}
.ann-letters--compact .ann-letters__hint{flex-basis:100%}
.ann-letters--compact .ann-letters__controls{flex-wrap:wrap;padding-right:46px}
.ann-letters--compact .ann-letters__position{flex:1;min-width:60px}
.ann-letters--compact .ann-letters__footer{display:block}
.ann-letters--compact .ann-letters__update{display:none}
.ann-social--profile{margin-top:32px!important;padding-top:20px!important;padding-inline:40px!important}
.ann-social--compact{margin-top:24px!important;padding-top:16px!important;margin-inline:0!important}
@media(max-width:700px){
 .ann-letters{margin-top:36px;padding:0 20px}
 .ann-letters--compact{padding:0;margin-inline:-18px}
 .ann-letters--compact .ann-letters__sample{padding-right:32px}
 .ann-social--compact{margin-inline:-18px!important}
 .ann-letters__masthead{margin-bottom:16px}
 .ann-letters .ann-letters__eyebrow{margin-bottom:8px;letter-spacing:.04em}
 .ann-letters .ann-letters__title{font-size:28px;line-height:1.35}
 .ann-letters .ann-letters__intro{margin-top:8px;font-size:14px;line-height:1.65}
 .ann-letters__letter{flex-basis:calc(100% - 28px);padding:20px}
 .ann-letters__rail{gap:12px}
 .ann-letters__rail:after{content:"";flex:0 0 16px}
 .ann-letters .ann-letters__excerpt{font-size:18px;line-height:1.7;margin-top:14px}
 .ann-letters .ann-letters__letter--short .ann-letters__excerpt{font-size:23px;line-height:1.55}
 .ann-letters__meta{padding-bottom:10px}
 .ann-letters__byline{margin-top:18px}
 .ann-letters__controls{gap:10px;flex-wrap:wrap;margin-top:16px}
 .ann-letters .ann-letters__hint{flex-basis:100%;font-size:13px}
 .ann-letters__touch-hint{display:inline}.ann-letters__drag-hint{display:none}
 .ann-letters__position{flex:1;min-width:60px}
 .ann-letters .ann-letters__footer{display:block;font-size:13px}
 .ann-letters__update{display:none}
 .ann-letters .ann-letters__sample{font-size:12px;margin:14px 0 0}
 .ann-social--profile{margin-top:24px!important;padding-top:16px!important;padding-inline:20px!important}
}
@media(max-width:350px){.ann-letters:not(.ann-letters--compact){padding-inline:15px}.ann-letters .ann-letters__title{font-size:27px;letter-spacing:0}.ann-letters .ann-letters__excerpt{font-size:17px}.ann-letters .ann-letters__letter--short .ann-letters__excerpt{font-size:22px}.ann-social--profile{padding-inline:15px!important}}
@media(prefers-reduced-motion:reduce){.ann-letters *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
