/* 📅 每日簽到視窗（js/signin.js）：沿用單機版小視窗的外框（.lmui-ov .cl-ov，見 lmui.css），這裡只放 7 格和簽到鈕。
   直式（窄）＝4 欄：第 1～4 天一排，第 5、6 天＋第 7 天（占兩格）一排；寬的（橫式、平板、桌機）＝7 格一排（第 7 天占兩格＝8 欄） */
.si-ov .box { max-width: 380px; }
.si-ov .bd { gap: 8px; padding: 10px 8px 6px; }
.si-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.si-day { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 2px 8px; border: 1px solid #4a3f30; border-radius: 6px; background: #1a1612; color: #d9cdb2; min-width: 0; }
.si-day .si-n { font-size: 12px; font-weight: 700; color: #cdb98a; white-space: nowrap; }
.si-day .si-ic { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
.si-day .si-ic img { width: 100%; height: 100%; object-fit: contain; }
.si-day .si-ic img.ic35 { image-rendering: pixelated; }
.si-day .si-ic em { position: absolute; right: -6px; bottom: -4px; padding: 0 3px; border-radius: 4px; background: rgba(0,0,0,.78); color: #fff; font: 700 12px/1.3 sans-serif; font-style: normal; text-shadow: 0 1px 0 #000; }
.si-day .si-ok { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 30px; font-weight: 700; color: #8fe08a; text-shadow: 0 0 6px #000, 0 1px 0 #000; pointer-events: none; }
.si-day.done > .si-n, .si-day.done > .si-ic { opacity: .38; }
.si-day.today { border-color: #f2c14e; background: linear-gradient(#3a2c12, #1f1709); box-shadow: 0 0 10px rgba(242,193,78,.75); animation: siGlow 1.6s ease-in-out infinite; }
.si-day.today .si-n { color: #ffe9a8; }
.si-day.soon { border-style: dashed; border-color: #b7945a; }
.si-day.big { grid-column: span 2; padding-top: 8px; border-color: #b7945a; background: linear-gradient(#2d2210, #17110a); }
.si-day.big .si-ic { width: 56px; height: 56px; }
.si-day.big .si-n { color: #ffd77a; font-size: 13px; }
.si-day.big.today { border-color: #f2c14e; background: linear-gradient(#4a3512, #231809); }
.si-day.just { animation: siStamp .7s cubic-bezier(.2, 1.4, .4, 1); }
.si-day.just .si-ok { animation: siOk .7s cubic-bezier(.2, 1.6, .4, 1); }
.si-cap { text-align: center; font-size: 13px; color: #cfd8a8; }
.si-rule { text-align: center; font-size: 12px; color: #a8997a; }
.si-ov .ft { padding: 8px; }
.si-ov .ft button { min-height: 50px; font-size: 19px; letter-spacing: 3px; }
.si-ov .ft button.lit { border-color: #f2c14e; background: linear-gradient(#8a6417, #4a3309); color: #fff3cf; text-shadow: 0 1px 0 #000; box-shadow: 0 0 10px rgba(242,193,78,.55); }
@keyframes siGlow { 0%, 100% { box-shadow: 0 0 6px rgba(242,193,78,.55); } 50% { box-shadow: 0 0 14px 2px rgba(242,193,78,.95); } }
@keyframes siStamp { 0% { transform: scale(1.18); } 100% { transform: scale(1); } }
@keyframes siOk { 0% { transform: scale(2.4); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@media (min-width: 560px) {
  .si-ov .box { max-width: 560px; }
  .si-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (max-height: 500px) {   /* 矮的畫面（手機橫放的電腦版面，視窗只有兩百多高）：縮一點才放得下；只動簽到視窗裡面，跟版面無關 */
  .si-ov .bd { padding-top: 4px; gap: 4px; }
  .si-day { padding: 4px 2px 5px; gap: 2px; }
  .si-day .si-ic { width: 34px; height: 34px; }
  .si-day.big .si-ic { width: 42px; height: 42px; }
  .si-ov .ft button { min-height: 40px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .si-day.today, .si-day.just, .si-day.just .si-ok { animation: none; } }
