/* AEB 閱讀森活抽禮券 — aeb_taebdc100126.css */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:#efeadb;color:#2f3a2e;font-family:"Noto Sans TC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#46603a}a:hover{color:#2f3a2e}
button,select{font:inherit;cursor:pointer}
@keyframes seedHop{0%,62%,100%{transform:translateY(0) scaleY(1)}70%{transform:translateY(-5px) scaleY(1.06)}80%{transform:translateY(0) scaleY(.92)}88%{transform:translateY(-2px) scaleY(1.02)}}
@keyframes popTree{0%{transform:scale(.94)}45%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes treeSway{0%,100%{transform:scale(1) rotate(-.8deg)}50%{transform:scale(1.035) rotate(.8deg)}}
@keyframes tagSwing{0%,100%{transform:rotate(-2.6deg)}50%{transform:rotate(2.6deg)}}
@keyframes sparkUp{0%{opacity:0;transform:translateY(6px) scale(.4)}30%{opacity:1;transform:translateY(-6px) scale(1.1)}100%{opacity:0;transform:translateY(-30px) scale(.5)}}
@keyframes dropFall{0%{opacity:0;top:0%;transform:scaleY(.7)}14%{opacity:1}76%{opacity:1;top:92%;transform:scaleY(1.3)}92%{opacity:0;top:100%;transform:scaleY(.75)}100%{opacity:0;top:100%}}
@keyframes splashRing{0%{opacity:0;transform:scale(.3)}30%{opacity:.85}100%{opacity:0;transform:scale(1.9)}}
@keyframes canTip{0%{transform:rotate(0) translateY(-4px)}25%{transform:rotate(-16deg) translateY(0)}70%{transform:rotate(-16deg) translateY(0)}100%{transform:rotate(0) translateY(-4px)}}
@keyframes caretBlink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@keyframes waterPulse{0%{transform:scale(.96)}40%{transform:scale(1.07)}70%{transform:scale(.99)}100%{transform:scale(1)}}
/* ── 天候／時相圖層 ─────────────────────────── */
@keyframes skyDisc{0%,100%{transform:translate(-50%,-50%);opacity:1}50%{transform:translate(-50%,calc(-50% - 4px));opacity:.92}}
@keyframes skyStar{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.95;transform:scale(1.25)}}
@keyframes skyCloud{0%{transform:translateX(0)}100%{transform:translateX(220%)}}
@keyframes skyRain{0%{top:-14%;opacity:0}8%{opacity:.95}92%{opacity:.95}100%{top:104%;opacity:0}}
@keyframes skySnow{0%{top:-12%;opacity:0;margin-left:0}12%{opacity:.95}100%{top:102%;opacity:0;margin-left:26px}}
@keyframes skyFlash{0%{opacity:0}4%{opacity:.95}8%{opacity:.16}12%{opacity:.8}20%{opacity:.06}28%,100%{opacity:0}}
@keyframes skyBolt{0%{opacity:0}3%{opacity:1}7%{opacity:.2}11%{opacity:.95}18%{opacity:0}100%{opacity:0}}
@keyframes skyPuddle{0%{opacity:0;transform:scale(.35)}25%{opacity:.9}100%{opacity:0;transform:scale(1.7)}}
@keyframes windSway{0%,100%{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}
[data-wind="3"] [data-r="windwrap"]{animation-name:windGust!important}
@keyframes windGust{0%,100%{transform:rotate(-3.4deg) skewX(1.5deg)}50%{transform:rotate(3.4deg) skewX(-1.5deg)}}

@keyframes fieldFlash{0%,100%{box-shadow:none}30%,70%{box-shadow:0 0 0 4px rgba(177,84,59,.38)}}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ── 前導動畫：光斑森林 ───────────────────────── */
@keyframes introBeam{0%{opacity:0;transform:translateY(-30px) skewX(-14deg)}40%{opacity:.5}100%{opacity:.22;transform:translateY(0) skewX(-14deg)}}
@keyframes introGlow{0%{opacity:0;transform:scale(.6)}45%{opacity:.85}100%{opacity:.25;transform:scale(1.25)}}
@keyframes introFall{0%{transform:translate3d(0,-80px,0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate3d(60px,110vh,0) rotate(320deg);opacity:0}}
@keyframes introCharUp{0%{opacity:0;transform:translateY(22px) scale(.9);filter:blur(6px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes introRise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
html.introing,html.introing body{overflow:hidden}
html.formopen,html.formopen body{overflow:hidden;overscroll-behavior:none;touch-action:none}
html.formopen [data-r="formwrap"]{touch-action:pan-y}
#intro{position:fixed;inset:0;z-index:9999;overflow:hidden;background:linear-gradient(165deg,#1e3a22,#122417 70%);opacity:1;transition:opacity .7s ease}
#intro.out{opacity:0;pointer-events:none}
#intro .ib{position:absolute;top:-6vh;height:130vh;filter:blur(20px);background:linear-gradient(#ffe9a8,rgba(255,233,168,0));animation:introBeam 1.4s .1s both}
#intro .ig{position:absolute;border-radius:50%;background:radial-gradient(circle,#fff3cd,rgba(255,243,205,0) 70%);animation:introGlow 1.8s .3s both}
#intro .il{position:absolute;top:0;border-radius:60% 8% 60% 8%;background:#9ac47f}
#intro .iw{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}
#intro h1{margin:0;display:flex;gap:2px;font-family:"Noto Serif TC",serif;font-size:clamp(30px,7.4vw,62px);font-weight:900;letter-spacing:.08em;color:#f3f8ea}
#intro .ilogo{display:block;width:auto;height:clamp(30px,6vw,52px);margin-bottom:6px;animation:introRise .8s .35s both}
#intro .ilogos{display:flex;align-items:flex-end;justify-content:center;gap:clamp(10px,3vw,30px);flex-wrap:nowrap;max-width:100%}
#intro .ilogo-s{height:clamp(18px,3.4vw,30px);margin-bottom:6px}
#intro .ilogo-r{height:clamp(15.3px,2.9vw,25.5px)}
@media(max-width:520px){
  #intro .ilogo{height:5.6vw;margin-bottom:4px}
  #intro .ilogo-s{height:3.4vw;margin-bottom:4px}
  #intro .ilogo-r{height:2.9vw}
  #intro .ilogos{gap:2.6vw}
}
#intro .ilogos .ilogo-s:first-child{animation-delay:.15s}
#intro .ilogos .ilogo-s:last-child{animation-delay:.55s}
#intro h1 span{animation:introCharUp .7s both}
#intro .ir{height:1px;width:min(280px,54vw);background:rgba(243,248,234,.45);animation:introRise .8s 1.8s both}
#intro .is{margin:0;font-size:clamp(11px,2.6vw,14px);font-weight:700;letter-spacing:.34em;color:#c9dcb4;animation:introRise .8s 2s both}
#intro .iq{margin:2px 0 0;font-family:"Noto Serif TC",serif;font-size:clamp(15px,3.4vw,22px);font-weight:500;letter-spacing:.22em;color:#f3f8ea;animation:introRise .8s 2.2s both}
#intro .id{margin:0;font-size:clamp(12px,2.8vw,15px);font-weight:500;letter-spacing:.14em;color:#e6f0d8;animation:introRise .8s 2.5s both}
#intro .ik{position:absolute;right:16px;bottom:16px;border:1px solid rgba(243,248,234,.4);background:transparent;color:#e6f0d8;font-size:12px;font-weight:700;letter-spacing:.16em;padding:9px 18px;border-radius:999px;animation:introRise .6s 1.2s both}
#intro .ik:hover{background:rgba(243,248,234,.14)}

@media(prefers-reduced-motion:reduce){#intro *{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}}
[data-r="nav"]{display:flex;flex-direction:column;top:0}
[data-r="logo"]{height:clamp(22px,2.5vw,38px)}
[data-r="logo2"]{height:clamp(14.4px,1.6vw,24px)}
[data-r="logo3"]{height:clamp(12px,1.32vw,20px)}
[data-r="hdrL"]>div:nth-of-type(1),[data-r="hdrC"]>div:nth-of-type(1){flex-wrap:wrap;row-gap:4px;align-items:center!important}
[data-r="content"]{display:flex;flex-direction:column;min-width:0;scrollbar-width:thin;scrollbar-color:#8ea079 #ece5d1}
[data-r="content"]::-webkit-scrollbar{width:12px}
[data-r="content"]::-webkit-scrollbar-track{background:#ece5d1;border-left:1px solid #ded5bd}
[data-r="content"]::-webkit-scrollbar-thumb{background:#8ea079;border:3px solid #ece5d1;border-radius:999px}
[data-r="content"]::-webkit-scrollbar-thumb:hover{background:#6f8a5c}
[data-r="aside"],[data-r="nav"]{scrollbar-width:thin;scrollbar-color:#b9c0a8 #ece5d1}
[data-r="aside"]::-webkit-scrollbar,[data-r="nav"]::-webkit-scrollbar{width:8px;height:8px}
[data-r="aside"]::-webkit-scrollbar-thumb,[data-r="nav"]::-webkit-scrollbar-thumb{background:#b9c0a8;border-radius:999px}
[data-r="aside"]::-webkit-scrollbar-track,[data-r="nav"]::-webkit-scrollbar-track{background:#ece5d1}
[data-r="row"]{display:grid;gap:18px}
[data-r="aboutitems"],[data-r="aboutfaqs"]{display:grid;gap:14px}
[data-r="w1"],[data-r="w2"],[data-r="w5"],[data-r="w6"]{display:flex}
[data-r="formgrid"]{display:grid;gap:14px}
[data-r="wcards"]{display:none}
@media(min-width:1080px){
  html,body{height:100%;overflow:hidden}
  [data-r="shell"]{height:100vh;grid-template-columns:minmax(0,1fr) 124px;grid-template-rows:minmax(0,1fr)}
  [data-r="main"]{grid-area:1/1;padding:26px 0 18px;min-height:0}
  [data-r="nav"]{grid-area:1/2;flex-direction:column;justify-content:flex-start;gap:16px;padding:18px 0;position:relative;background:#f8f3e3;border-left:1.5px solid #ded5bd;overflow-y:auto}
  [data-r="nav"]::before{content:"";position:absolute;right:20px;top:0;bottom:0;width:11px;background:#8a5a3b}
  [data-r="tab"]{position:relative;flex:1;min-height:96px;writing-mode:vertical-rl;padding:18px 11px;margin:0 38px 0 14px;font-size:17px}
  [data-r="tab"]::after{content:"";position:absolute;right:-36px;top:50%;width:36px;height:2px;background:#c9c0a7}
  [data-r="tab"][data-active="1"]::after{height:3px;background:#8a5a3b;right:-46px;width:46px}
  [data-r="tab"]{transition:transform .22s ease,box-shadow .22s ease,font-size .22s ease}
  [data-r="tab"][data-active="1"]{transform:translateX(-10px);box-shadow:3px 3px 0 #e3d3bd;font-size:26px}
  [data-r="inner"]{width:min(80vw,100%);height:100%;min-height:0}
  [data-r="content"]{flex:1;min-height:0;padding-bottom:12px;overflow:auto}
  [data-r="h1"]{font-size:clamp(28px,2.4vw,38px)}
  [data-r="row"]{grid-template-columns:clamp(168px,17vw,280px) minmax(0,1fr);gap:clamp(24px,3vw,48px);padding-left:18px;transition:background .35s ease}
  [data-r="row"]:hover{background:linear-gradient(90deg,#f7f2e2 0%,rgba(247,242,226,0) 78%)}
  [data-r="chapter"]{position:sticky;top:0}
  [data-r="aboutitems"]{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
  [data-r="aboutfaqs"]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  [data-r="missionpage"]{flex:1;min-height:0}
  [data-r="mission"]{grid-template-columns:clamp(300px,27vw,392px) minmax(0,1fr);flex:1;min-height:0}
  [data-r="aside"]{min-height:0;overflow:auto}
  [data-r="boardwrap"]{height:100%;display:flex;justify-content:center}
  [data-r="board"]{height:100%;aspect-ratio:1.1/1;max-width:100%;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}
  [data-r="stage"]{grid-area:2/2/5/5}
  [data-r="w1"]{grid-area:1/1}[data-r="w2"]{grid-area:1/5}[data-r="w3"]{grid-area:3/1;display:flex}[data-r="w4"]{grid-area:3/5;display:flex}[data-r="w5"]{grid-area:5/1}[data-r="w6"]{grid-area:5/5}
  [data-r="tile"][data-i="0"]{grid-area:1/2}[data-r="tile"][data-i="1"]{grid-area:1/3}[data-r="tile"][data-i="2"]{grid-area:1/4}[data-r="tile"][data-i="3"]{grid-area:2/5}[data-r="tile"][data-i="4"]{grid-area:4/5}[data-r="tile"][data-i="5"]{grid-area:5/4}[data-r="tile"][data-i="6"]{grid-area:5/3}[data-r="tile"][data-i="7"]{grid-area:5/2}[data-r="tile"][data-i="8"]{grid-area:4/1}[data-r="tile"][data-i="9"]{grid-area:2/1}
  [data-r="platform"],[data-r="grove"]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  [data-r="metrics"]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  [data-r="winner"]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
  [data-r="formgrid"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-r="formgrid"] [data-span="2"]{grid-column:span 2}
  [data-r="formgrid"] [data-span="full"]{grid-column:1 / -1}
}
[data-r="mbar"]{display:none}
[data-r="magcap"]{opacity:0;transition:opacity .22s ease}
[data-r="maggrid"] > *:hover [data-r="magcap"],
[data-r="maggrid"] > *:focus-visible [data-r="magcap"],
[data-r="maggrid"] > *[data-peek="1"] [data-r="magcap"]{opacity:1}
@media(max-width:1079px){
  [data-r="maggrid"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  [data-r="shell"]{min-height:100vh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  [data-r="main"]{grid-area:2/1;padding:18px 16px 28px}
  [data-r="mbar"]{display:flex;grid-area:1/1;position:sticky;top:0;z-index:60;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f3efe0}
  [data-r="nav"]{display:none!important}
  [data-r="nav"][data-open="1"]{display:flex!important;position:fixed;left:0;right:0;top:57px!important;z-index:70;flex-direction:column;padding:10px 12px 14px;border-bottom:2px solid #2f3a2e;box-shadow:0 14px 26px rgba(24,30,20,.2)}
  [data-r="tab"]{flex:0 0 auto;min-height:50px;writing-mode:horizontal-tb;padding:0 18px;margin:5px 0}
  [data-r="divider"]{display:none}
  [data-r="hdrL"]{align-items:center}
  [data-r="hdrL"]>div:nth-of-type(1),[data-r="hdrC"]>div:nth-of-type(1){display:none!important}
  [data-r="hdrT"] [data-r="logo"]{display:none!important}
  [data-r="hdrL"] h1{margin-left:auto;margin-right:auto}
  [data-r="hdrT"]{flex-direction:column;align-items:center;text-align:center}
  [data-r="inner"]{width:100%}
  [data-r="h1"]{font-size:28px}
  [data-r="row"],[data-r="mission"],[data-r="winner"],[data-r="aboutitems"],[data-r="aboutfaqs"]{grid-template-columns:minmax(0,1fr)}
  [data-r="hero"]{height:240px}
  [data-r="board"]{width:100%}
  [data-r="board"]{grid-template-columns:repeat(4,minmax(0,1fr))}
  [data-r="stage"]{grid-column:1/-1;order:1;min-height:clamp(300px,64vw,400px)}
  [data-r="tile"]{order:2;min-height:72px}
  [data-r="w1"],[data-r="w2"]{order:0}
  [data-r="w3"],[data-r="w4"]{display:none}
  [data-r="w5"],[data-r="w6"]{order:3}
  [data-r="formgrid"]{grid-template-columns:minmax(0,1fr)}
  [data-r="platform"],[data-r="grove"],[data-r="metrics"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* 行動版：閱讀任務單頁不滾動 */
  [data-tab="mission"] [data-r="hdrL"] img{height:38px!important}
  [data-tab="mission"] [data-r="hdrL"]{padding-bottom:0!important}
  [data-r="mbar"]{padding:6px 12px!important}
  [data-r="aside"]>div:nth-of-type(1),[data-r="aside"]>div:nth-of-type(2),[data-r="aside"]>div:nth-of-type(3),[data-r="aside"]>div:nth-of-type(4){padding:8px 10px!important;gap:6px!important;flex:none}
  [data-r="aside"]>div:nth-of-type(3),[data-r="aside"]>div:nth-of-type(4){display:none!important}
  [data-r="msg"]{padding:6px 8px!important;font-size:clamp(10px,2.9vw,13px)!important;line-height:1.3!important;letter-spacing:0!important;white-space:nowrap!important;overflow:visible!important;min-height:0!important}
  [data-r="mlinks"]{display:inline-flex!important}
  [data-r="tagwrap"]{right:8px!important;top:calc(var(--msgh,38px) + 6px)!important}
  [data-r="tagbtn"]{font-size:11px!important;padding:6px 9px!important;min-height:0!important;box-shadow:2px 2px 0 #ded5bd!important}
  [data-r="mroll"]{display:flex!important;width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;box-shadow:none!important;font-size:13px!important}
  [data-r="w6"]{display:none!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child{gap:4px!important;justify-content:flex-start!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span{width:calc(10% - 3.6px)!important;min-height:44px!important;gap:0!important;padding:3px 0!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span{border-radius:10px!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span>span:first-child{display:none!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span[data-done="1"]{background:#3f5a33!important;border:1.5px solid #2f3a2e!important;color:#fbf7ea!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span[data-done="1"][data-gold="1"]{background:#8a6a1c!important;border-color:#6d5314!important}
  [data-r="aside"]>div:nth-of-type(2)>div:last-child>span>span:last-child{font-size:13px!important;line-height:1.05!important;letter-spacing:0!important;writing-mode:vertical-rl!important;text-orientation:upright!important}
  [data-r="aside"]>div:nth-of-type(2)>div:first-child>div:first-child{font-size:16px!important}
  [data-r="aside"] select{min-height:38px!important;font-size:13px!important}
  [data-r="aside"] button[data-r="mroll"]{width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;box-shadow:none!important;font-size:13px!important}
  [data-r="aside"] button:not([data-r="mroll"]){min-height:42px!important;font-size:14px!important;box-shadow:3px 3px 0 #ded5bd!important}
  [data-r="unitbtns"]{gap:6px!important;margin-left:auto!important}
  [data-r="aside"] [data-r="unitbtns"] button:not([data-r="mroll"]){min-height:0!important;height:auto!important;padding:5px 10px!important;font-size:11px!important;line-height:1.2!important;box-shadow:none!important}
  [data-r="w1"],[data-r="w2"],[data-r="w5"],[data-r="w6"]{display:none!important}
  [data-r="tile"]{min-height:42px!important;padding:4px!important;border-radius:12px!important}
  [data-r="tile"]>span:first-child{font-size:14px!important;letter-spacing:.04em!important}
  [data-r="tile"]>span:nth-child(2){font-size:10px!important;line-height:1.25!important}
  [data-tab="mission"] [data-r="main"]{padding:6px 10px 10px!important}
  [data-tab="mission"] [data-r="hdrL"] img{height:34px!important}
  [data-tab="mission"] [data-r="hdrL"]{padding-bottom:0!important}
  [data-tab="mission"] [data-r="mbar"]{padding:5px 12px!important}
  [data-r="missionpage"]{gap:6px!important}
  [data-r="board"]{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:minmax(42px,auto);gap:6px!important;padding:6px!important}
  [data-r="stage"]{grid-column:1/-1!important;grid-row:1!important;min-height:24vh!important;max-height:30vh!important}
  /* 行動版：閱讀任務改為單欄卡片流 */
  [data-r="mission"]{display:flex!important;flex-direction:column;gap:8px}
  [data-r="aside"]{display:contents!important}
  [data-r="aside"]>div,[data-r="aside"]>.sc-if{border:2px solid #2f3a2e;border-radius:16px;box-shadow:4px 4px 0 #ded5bd;background:#fbf7ea}
  [data-r="aside"]>div:nth-of-type(1){order:1;border-bottom:2px solid #2f3a2e!important;background:#f8f3e3!important;padding:16px!important}
  [data-r="aside"]>div:nth-of-type(2){order:2;padding:16px!important}
  [data-r="boardwrap"]{order:3}
  [data-r="aside"]>div:nth-of-type(3){order:4;padding:16px!important}
  [data-r="aside"]>div:nth-of-type(4){order:5;padding:16px!important;margin-top:0!important}
  [data-r="formfoot"]{flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  [data-r="formfoot"] button{width:100%!important;max-width:280px!important}
  [data-r="footer"]{margin-top:8px!important;min-height:0!important;padding:10px 0!important}
  [data-r="wtable"]{display:none!important}
  [data-r="wcards"]{display:flex!important;flex-direction:column;gap:10px}
  /* 中文段落折行：關閉 pretty，讓每行填滿再換行 */
  [data-r="content"] p,[data-r="content"] div,[data-r="tip"] div{text-wrap:wrap!important;line-break:strict;word-break:normal;overflow-wrap:break-word}
  /* 10 種養分的長提示：改為最多兩行，不再截斷 */
  [data-r="msg"]{white-space:normal!important;overflow:hidden!important;line-height:1.35!important;font-size:clamp(10.5px,3vw,13px)!important;padding:7px 10px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  /* 單位名稱選單加高 */
  [data-r="aside"] select{min-height:48px!important;font-size:15px!important;padding:0 12px!important;line-height:1.4!important}
  [data-r="formcard"]{scroll-behavior:auto!important;margin-bottom:96px}
  [data-r="formwrap"]{align-items:flex-start!important;-webkit-overflow-scrolling:touch}
  /* 各分頁標題圖統一高度（與閱讀任務一致） */
  [data-r="hdrL"] img{height:34px!important}
  [data-r="mbarbtns"] button{box-shadow:2px 2px 0 #ded5bd}
  [data-r="joinbtn"]{display:none!important}
  [data-r="skybadge"]{right:8px!important;bottom:8px!important;padding:3px 8px!important;font-size:10px!important;gap:4px!important;box-shadow:none!important}
  [data-r="windwrap"]{inset:14px 10px 34px!important}
  [data-r="stage"] [data-r="msg"]{-webkit-line-clamp:2}
  /* iOS Safari 對 <16px 的輸入元件會在 focus 時自動放大整頁，且不會還原 —— 造成提交後畫面位移 */
  input,select,textarea,[data-r="aside"] select{font-size:16px!important}
  /* 任何殘留的水平溢出都不該讓整頁可橫向捲動 */
  html,body{max-width:100%;overflow-x:hidden}
}
@media(max-width:619px){
  [data-r="maggrid"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  [data-r="board"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-r="platform"],[data-r="grove"],[data-r="metrics"]{grid-template-columns:minmax(0,1fr)}
}

.promo-x{display:inline-block;font-weight:900;color:#8a5a3b;background:#fdf6e3;border:1.5px solid #c79a5e;border-radius:6px;padding:0 6px;margin:0 2px;letter-spacing:.02em}
.promo-nb{white-space:nowrap}
/* 新手指引文字折行：避免莫名斷行 */
[data-r="tip"],[data-r="tip"] *{text-wrap:wrap!important;line-break:strict;word-break:normal;overflow-wrap:normal;hanging-punctuation:allow-end}
[data-r="tip"] span,[data-r="tip"] div,[data-r="tip"] p{white-space:normal}

/* 手機自動偵測電話/日期造成的連結樣式（iOS Safari） */
a[href^="tel:"], a[href^="sms:"], a[href^="mailto:"] { color: inherit; text-decoration: none; pointer-events: none; }

/* ── 「參加活動」鈕：呼吸光環 + 懸停浮起 ───────────── */
@keyframes joinPulse{0%{box-shadow:0 0 0 0 rgba(63,90,51,.42)}70%{box-shadow:0 0 0 14px rgba(63,90,51,0)}100%{box-shadow:0 0 0 0 rgba(63,90,51,0)}}
@keyframes joinBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
[data-r="joinbtn"]{position:relative;cursor:pointer;animation:joinBob 3.2s ease-in-out infinite;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
[data-r="joinbtn"]::after{content:"";position:absolute;inset:-2px;border-radius:16px;pointer-events:none;animation:joinPulse 2.8s ease-out infinite}
[data-r="joinbtn"]:hover,[data-r="joinbtn"]:active{animation:none}
[data-r="joinbtn"]:hover{background:#46603a;transform:translate(-2px,-4px);box-shadow:5px 6px 0 #ded5bd}
[data-r="joinbtn"]:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #ded5bd}
[data-r="joinbtn"]:focus-visible{outline:2px solid #8a5a3b;outline-offset:3px}

@media(prefers-reduced-motion:reduce){[data-r="joinbtn"],[data-r="joinbtn"]::after{animation:none!important}}

@keyframes tagGlow{0%,100%{box-shadow:2px 2px 0 #d9c489,0 0 0 0 rgba(216,160,32,.55)}50%{box-shadow:2px 2px 0 #d9c489,0 0 0 8px rgba(216,160,32,0)}}
