/* LINE 官方帳號卡片動畫（index/theme/ln.js，捲到附近才載入） */
.ln-sec{--ln-bg:#FAF7EF;--ln-card:#FFFFFF;--ln-line:#E6DFC9;--ln-ink:#1D2A36;--ln-ink2:#45525E;--ln-mute:#7A8590;--ln-blue:#2C6AA8;--ln-cop:#8E6228;--ln-red:#B23A2E;
  --ln-serif:'Noto Serif TC',serif;--ln-sans:'Noto Sans TC',sans-serif;--ln-mono:'IBM Plex Mono',ui-monospace,'Noto Sans TC',monospace;
  --ln-gut:clamp(16px,4vw,48px);
  padding:clamp(56px,8vw,112px) 0 0;background:var(--ln-bg);color:var(--ln-ink)}
.ln-head{max-width:1180px;margin:0 auto;padding:0 var(--ln-gut)}
.ln-label{display:flex;align-items:center;gap:12px;margin:0;font:500 14px/1.5 var(--ln-mono);letter-spacing:.06em;color:var(--ln-blue)}
.ln-label::before{content:"";width:28px;height:2px;background:var(--ln-blue)}
.ln-h2{font:700 clamp(28px,3.2vw,46px)/1.3 var(--ln-serif);margin:14px 0 0;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.ln-lead{margin:18px 0 0;max-width:40em;font:400 16px/1.85 var(--ln-sans);color:var(--ln-ink2)}
.ln-cue-rm,html.rm .ln-cue-mo{display:none}html.rm .ln-cue-rm{display:inline}
.ln-show{position:relative;height:400vh;margin-top:clamp(32px,5vw,56px)}
.ln-stage{--ln-dock:0px;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ln-bg);display:flex;align-items:center;gap:clamp(24px,4vw,64px);
  padding:clamp(24px,4vh,48px) var(--ln-gut) calc(clamp(24px,4vh,48px) + var(--ln-dock));border-top:1px solid var(--ln-line);border-bottom:1px solid var(--ln-line)}
.ln-stage{justify-content:center}
.ln-caps{flex:0 1 min(460px,44%);display:grid}
.ln-cap{grid-area:1/1;opacity:0;pointer-events:none}
.ln-cap:first-child{opacity:1;pointer-events:auto}
.ln-n{font:500 14px/1.5 var(--ln-mono);letter-spacing:.06em;color:var(--ln-blue);margin:0}
.ln-warn .ln-n{color:var(--ln-red)}
.ln-cap h3{font:700 clamp(22px,2.2vw,30px)/1.4 var(--ln-serif);margin:10px 0 0;color:var(--ln-ink);word-break:keep-all;overflow-wrap:anywhere}
.ln-cap p:not(.ln-n),.ln-txt{margin:12px 0 0;font:400 16px/1.8 var(--ln-sans);color:var(--ln-ink2)}
.ln-txt strong{color:inherit;font-weight:400}
.ln-h3{max-width:1180px;margin:0 auto 24px;padding:0 var(--ln-gut);font:700 clamp(24px,2.6vw,34px)/1.35 var(--ln-serif);color:var(--ln-ink)}
.ln-sec.ln-withh3{padding-top:clamp(48px,6vw,80px)}
.ln-cap ul{margin:8px 0 0 1.2em;font:400 15px/1.7 var(--ln-sans);color:var(--ln-ink2)}
.ln-cap a{color:var(--ln-blue);text-decoration:underline;text-underline-offset:3px}
.ln-art{flex:1 1 0;max-width:380px;align-self:stretch;position:relative;min-width:0;min-height:0}
.ln-nohead{padding-top:0}.ln-nohead .ln-show{margin-top:0}
.ln-sec text{font-family:var(--ln-sans)}
html.ln-pin #nav{transform:translateY(-100%)!important}
html.ln-pin .float-btns{opacity:0;pointer-events:none}
@media (max-width:768px){
  html.has-dock .ln-stage{--ln-dock:calc(66px + env(safe-area-inset-bottom,0px))}
  .ln-stage{flex-direction:column;align-items:stretch;gap:10px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + var(--ln-dock))}
  .ln-caps{flex:none}
  .ln-cap h3{font-size:21px}
  .ln-cap p:not(.ln-n),.ln-txt{font-size:15px;margin-top:8px;line-height:1.7}
}
/* 減少動態／沒有 JS：各段直接排開 */
.ln-show.ln-rm,html.rm .ln-show{height:auto}
.ln-show.ln-rm .ln-stage,html.rm .ln-stage{position:static;height:auto;display:block;padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(32px,5vw,56px);border-bottom:0}
.ln-show.ln-rm .ln-art,html.rm .ln-art{display:none}
.ln-show.ln-rm .ln-caps,html.rm .ln-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px 40px;max-width:1180px;margin:0 auto}
.ln-show.ln-rm .ln-cap,html.rm .ln-cap{grid-area:auto;opacity:1!important;pointer-events:auto;transform:none!important}
.ln-fig{position:relative;margin-top:20px;border:1px solid var(--ln-line);background:var(--ln-card)}

/* 手機畫面：LINE 聊天室示意 */
.ln-dots{display:flex;gap:6px;justify-content:center;margin:0 0 10px}
.ln-dots i{width:22px;height:4px;border-radius:2px;background:var(--ln-line);transition:background .3s}
.ln-dots i.on{background:var(--ln-cop)}
.ln-art{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ln-phone{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;max-height:640px;aspect-ratio:9/17;max-width:100%;border:8px solid #16191D;border-radius:30px;background:#DCE3EA;overflow:hidden;box-shadow:0 24px 50px -28px rgba(29,42,54,.5)}
.ln-bar{flex:none;display:flex;align-items:baseline;gap:8px;padding:12px 14px 9px;background:#F7F8FA;border-bottom:1px solid rgba(0,0,0,.07);font:700 15px/1.2 var(--ln-sans);color:#1d2228}
.ln-bar small{font:400 12px/1 var(--ln-sans);color:#6d7680}
.ln-feed{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:10px 9px 12px;overflow:hidden}
.ln-m{display:none;max-width:88%}
.ln-m.in{display:flex;animation:ln-pop .4s ease-out both}
@keyframes ln-pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ln-them{align-self:flex-start}.ln-me{align-self:flex-end}.ln-wn{align-self:center;max-width:94%}
.ln-b{font:400 13px/1.55 var(--ln-sans);padding:7px 11px;border-radius:15px;color:#1d2228;box-shadow:0 1px 1px rgba(0,0,0,.05);word-break:break-word}
.ln-them .ln-b{background:#fff;border-top-left-radius:5px}
.ln-me .ln-b{background:#9BE07A;border-top-right-radius:5px}
.ln-b b{display:block;font-weight:700;margin-bottom:3px}
.ln-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.ln-chips span{font:500 12px/1.4 var(--ln-sans);color:var(--ln-blue);border:1px solid var(--ln-blue);background:#fff;border-radius:999px;padding:3px 10px}
.ln-chips span{position:relative;transition:background .2s,color .2s}
.ln-chips span.tap{background:var(--ln-blue);color:#fff}
.ln-chips span.tap::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid rgba(44,106,168,.7);animation:ln-rip .7s ease-out}
@keyframes ln-rip{from{transform:scale(.6);opacity:1}to{transform:scale(4);opacity:0}}
.ln-ty .ln-b{display:flex;gap:4px;padding:11px 13px}
.ln-ty i{width:6px;height:6px;border-radius:50%;background:#9aa3ad;animation:ln-bob 1s infinite}
.ln-ty i:nth-child(2){animation-delay:.15s}.ln-ty i:nth-child(3){animation-delay:.3s}
@keyframes ln-bob{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.ln-wn .ln-b{background:#FBEDEA;border:1px solid var(--ln-red);color:#6b1f17;border-radius:10px}
.ln-ph{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:74px;height:58px;border-radius:10px;background:linear-gradient(135deg,#C9D3DC,#AEBBC7);font:500 11px/1.2 var(--ln-sans);color:#33414d;text-align:center}
.ln-ph i{font-style:normal;font-size:15px}
.ln-imgs{display:flex;gap:5px;width:190px;max-width:100%}
.ln-imgs .ln-ph{flex:1 1 0;min-width:0;width:auto;height:54px}
.ln-m,.ln-b{min-width:0}
.ln-prof{flex:1 1 0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;color:#33414d;font:400 12px/1.4 var(--ln-sans)}
.ln-prof i{font-style:normal;width:56px;height:56px;border-radius:50%;background:#1D2A36;color:#FBF9EF;display:grid;place-items:center;font:700 24px/1 var(--ln-serif);flex:none}
.ln-prof b{font:700 15px/1.3 var(--ln-sans);color:#1d2228}
.ln-in{flex:none;display:flex;align-items:center;padding:8px 12px 10px;background:#F7F8FA;border-top:1px solid rgba(0,0,0,.07);font:400 12px/1 var(--ln-sans);color:#9aa3ad}
.ln-in span{flex:1;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:8px 12px}
.ln-tag{margin:10px 0 0;font:400 12px/1.4 var(--ln-mono);color:var(--ln-mute);text-align:center}
.ln-fig{display:flex;justify-content:center;padding:18px}
.ln-fig .ln-phone{flex:none;height:480px}
@media (max-width:768px){
  .ln-art{flex:1}
  .ln-phone{max-height:600px;width:min(78vw,300px);aspect-ratio:auto;max-width:none}
  .ln-b{font-size:12.5px;padding:6px 10px}
  .ln-tag{margin-top:6px}
}
