*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,textarea,select{font-family:inherit;font-size:inherit}

.icon-inline{
  display:inline-block;
  width:1em;height:1em;
  vertical-align:-0.15em;
  flex-shrink:0;
}

/* 觸控回饋 — 統一 44px 最小點擊區 */
.btn,
.main-nav a,
.mobile-tab a,
.card,
.library-card,
.photo-card,
.album-card,
.group-card{
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease;
}
.btn:active,
.main-nav a:active,
.mobile-tab a:active{transform:scale(0.97)}
.card:active,.library-card:active,.photo-card:active,.album-card:active,.group-card:active{
  transform:scale(0.985);
}
.empty-card:active,.form-card:active{transform:none}

.thumb-carousel a{transition:transform .15s ease,filter .15s ease}
.thumb-carousel a:active{transform:scale(0.93);filter:brightness(.9)}
