*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f4f6;color:#111827}main{padding:16px;max-width:760px;margin:0 auto}.app-header{padding:18px 16px;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3}.app-header h1{margin:0;font-size:22px}.eyebrow{font-size:12px;letter-spacing:.12em;color:#9ca3af;margin:0 0 4px}.card{background:white;border-radius:18px;padding:18px;margin:0 0 16px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.hidden{display:none!important}label{display:block;font-size:14px;margin:14px 0 8px}input,textarea{width:100%;padding:13px;border:1px solid #d1d5db;border-radius:12px;font-size:16px;margin-top:6px}button{border:0;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:700}.primary{background:#111827;color:white;width:100%;margin-top:8px}.small-btn{background:white;color:#111827}.ghost{background:#e5e7eb;color:#111827;width:100%;margin-top:8px}.danger{background:#dc2626;color:white;flex:1;margin-top:8px}.row{display:flex;gap:10px}.row .primary,.row .ghost{flex:1;width:auto}.muted{color:#6b7280;font-size:14px}.message{font-weight:700;color:#2563eb}.member-card{text-align:center}.member-number{font-weight:700}.qr-box{display:flex;justify-content:center;padding:18px;background:#f9fafb;border-radius:16px;margin-top:12px}.points{font-size:44px;}.grid-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.nav-card{background:white;border-radius:16px;padding:18px;text-decoration:none;color:#111827;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.06);min-height:72px;display:flex;align-items:center}.bottom-note{text-align:center;color:#6b7280;font-size:12px;margin:24px}.reader{width:100%;overflow:hidden;border-radius:16px;background:#111827}.log-list{display:flex;flex-direction:column;gap:8px}.log-item{padding:12px;background:#f9fafb;border-radius:12px;font-size:14px}.log-item strong{display:block}.point-card{text-align:center}@media(max-width:420px){.grid-nav{grid-template-columns:1fr}.app-header h1{font-size:18px}}

.single-link{width:100%;justify-content:center}
.small-link{background:white;color:#111827;text-decoration:none;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:800}
.history-list{display:flex;flex-direction:column;gap:10px}
.history-item{width:100%;text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:13px 14px;color:#111827}
.history-item-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-weight:800}
.history-item-date{white-space:nowrap;color:#6b7280;font-size:12px;font-weight:600}
.history-item-body{margin-top:6px;color:#4b5563;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.history-item-meta{margin-top:8px;color:#6b7280;font-size:12px}
.loading{text-align:center;color:#6b7280;font-weight:700;padding:12px}
.scroll-sentinel{height:1px}
.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}
.modal.hidden{display:none!important}
.modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.56)}
.modal-content{position:relative;background:white;width:min(520px,100%);max-height:82vh;overflow:auto;border-radius:20px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;background:#f3f4f6;color:#111827;padding:0;font-size:22px;line-height:36px}
.modal-content h2{padding-right:38px;margin:4px 0 12px}
.modal-body-text{white-space:pre-wrap;line-height:1.7;color:#374151}


.back-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  background:#111827;
  color:white;
  text-decoration:none;
  border-radius:16px;
  padding:15px 18px;
  margin:0 0 16px;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.10)
}

.pull-refresh-indicator{
  position:fixed;
  top:0;
  left:50%;
  transform:translate(-50%,-120%);
  z-index:999;
  background:#111827;
  color:white;
  padding:10px 16px;
  border-radius:0 0 16px 16px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:transform .18s ease;
  pointer-events:none
}

.pull-refresh-indicator.visible{
  transform:translate(-50%,0)
}

.rank-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f3f4f6;color:#111827;border:1px solid #e5e7eb;border-radius:999px;padding:8px 14px;margin:4px auto 10px;font-weight:900}
.rank-black{background:linear-gradient(135deg,#111827,#374151,#000);border-color:#111827;color:#fff}
.rank-platinum{background:linear-gradient(135deg,#e5e7eb,#fff,#c7d2fe);border-color:#a5b4fc}
.rank-gold{background:linear-gradient(135deg,#fef3c7,#fde68a,#f59e0b);border-color:#f59e0b}
.rank-silver{background:linear-gradient(135deg,#f3f4f6,#e5e7eb,#d1d5db);border-color:#d1d5db}
.rank-bronze{background:linear-gradient(135deg,#fef3c7,#d97706,#92400e);border-color:#92400e;color:#111827}
.visit-input-block{margin-top:18px;padding:14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px}
.visit-input-block h3{margin:0 0 8px;font-size:17px}
.card-sub-action{margin:10px 0 4px}.detail-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.detail-row{background:#f9fafb;border-radius:12px;padding:12px}.detail-row small{display:block;color:#6b7280;font-weight:700;margin-bottom:4px}
.amount-strong{font-size:20px;font-weight:900}


/* USER VIEW - THIRD GLASS THEME */
body:has(#memberView),body:has(#registerView){
  background:radial-gradient(circle at 20% 0%,#fff,#eef2f7 55%,#e5e7eb);
  color:#303844;
  font-family:"Times New Roman","Hiragino Mincho ProN","Yu Mincho",serif;
}
body:has(#memberView)::before,body:has(#registerView)::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(120deg,rgba(255,255,255,.28),transparent 35%,rgba(255,255,255,.35) 60%,transparent);
}
body:has(#memberView) main,body:has(#registerView) main{max-width:760px;padding:18px 14px}
body:has(#memberView) .app-header,body:has(#registerView) .app-header{
  background:transparent;color:#39424e;padding:26px 18px 14px;box-shadow:none;position:relative;
}
body:has(#memberView) .app-header::after,body:has(#registerView) .app-header::after{
  content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(80,90,105,.45),transparent)
}
body:has(#memberView) .app-header>div,body:has(#registerView) .app-header>div{display:flex;align-items:center;gap:14px}
body:has(#memberView) .app-header>div::before,body:has(#registerView) .app-header>div::before{
  content:"P";font-family:"Times New Roman",serif;font-size:44px;line-height:1;color:#374151;
  text-shadow:0 1px 0 #fff,0 8px 18px rgba(31,41,55,.22);padding-right:14px;border-right:1px solid rgba(55,65,81,.42)
}
body:has(#memberView) .app-header .eyebrow,body:has(#registerView) .app-header .eyebrow{display:none}
body:has(#memberView) .app-header h1,body:has(#registerView) .app-header h1{
  font-size:22px;letter-spacing:.14em;font-weight:500;color:#4b5563;text-transform:uppercase;line-height:1.15;text-shadow:0 1px 0 #fff
}
body:has(#memberView) .small-btn,body:has(#registerView) .small-btn{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(235,240,246,.72));
  color:#374151;border:1px solid rgba(180,190,205,.75);border-radius:18px;padding:13px 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -8px 18px rgba(180,190,205,.18),0 10px 24px rgba(31,41,55,.12)
}
body:has(#memberView) .card,body:has(#registerView) .card{
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(245,248,252,.44));
  border:1px solid rgba(170,181,196,.7);border-radius:28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -14px 26px rgba(180,190,205,.16),0 18px 40px rgba(31,41,55,.10);
  backdrop-filter:blur(14px)
}
body:has(#memberView) .point-card .eyebrow{
  color:#4b5563;letter-spacing:.28em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px
}
body:has(#memberView) .point-card{text-align:center;padding:18px;border-radius:22px}
body:has(#memberView) .points{font-size:54px;font-weight:500;color:#2f3742;text-shadow:0 1px 0 #fff}
body:has(#memberView) .grid-nav{gap:10px}
body:has(#memberView) .nav-card{
  min-height:72px;justify-content:center;gap:12px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(238,243,248,.48));
  border:1px solid rgba(175,185,200,.72);color:#46515f;border-radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -9px 18px rgba(180,190,205,.14),0 10px 22px rgba(31,41,55,.08)
}
body:has(#memberView) .nav-card::before{font-size:24px;opacity:.68}
body:has(#memberView) .grid-nav .nav-card:nth-child(1)::before{content:"🔔"}
body:has(#memberView) .grid-nav .nav-card:nth-child(2)::before{content:"📋"}
body:has(#memberView) #couponLink::before{content:"🎟"}
body:has(#memberView) #noticeLink::before{content:"🔔"}
body:has(#memberView) #blogLink::before{content:"✎"}
body:has(#memberView) #castLink::before{content:"🎙"}
body:has(#memberView) #scheduleLink::before{content:"🗓"}
body:has(#memberView) #officialLink::before{content:"◎"}
body:has(#memberView) .ghost,body:has(#registerView) .ghost{
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(235,240,246,.5));border:1px solid rgba(175,185,200,.72);color:#4b5563;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 18px rgba(31,41,55,.08)
}
body:has(#registerView) h2{letter-spacing:.08em;color:#303844}
body:has(#registerView) .primary,body:has(#memberView) .primary{background:linear-gradient(145deg,#374151,#111827);color:white;box-shadow:0 12px 24px rgba(17,24,39,.18)}
body:has(#registerView) input,body:has(#memberView) input,body:has(#registerView) textarea,body:has(#memberView) textarea{
  background:rgba(255,255,255,.76);border:1px solid rgba(175,185,200,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)
}
body:has(#memberView) .bottom-note,body:has(#registerView) .bottom-note{color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(max-width:420px){
  body:has(#memberView) .app-header h1,body:has(#registerView) .app-header h1{font-size:20px;letter-spacing:.12em}
  body:has(#memberView) .app-header>div::before,body:has(#registerView) .app-header>div::before{font-size:44px}
  body:has(#memberView) .points{font-size:46px}
}

/* MEMBER CARD - refined user screen */
body:has(#memberView:not(.hidden)){
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.98), rgba(238,243,248,.86) 38%, rgba(223,230,238,.92) 100%),
    linear-gradient(145deg,#f8fafc,#e5e7eb);
}
body:has(#memberView:not(.hidden))::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 96% 13%, rgba(255,255,255,.95) 0 2px, transparent 10px),
    radial-gradient(circle at 5% 68%, rgba(255,255,255,.9) 0 1px, transparent 9px),
    linear-gradient(115deg, transparent 0 20%, rgba(255,255,255,.34) 33%, transparent 45% 100%);
  mix-blend-mode:screen;
}
body:has(#memberView:not(.hidden)) .member-page-header{
  max-width:760px;
  margin:0 auto;
  backdrop-filter:none;
}
body:has(#memberView:not(.hidden)) .brand-block .eyebrow{
  display:block;
  margin:0;
  color:#5d6673;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.32em;
}
body:has(#memberView:not(.hidden)) .brand-block{
  gap:9px;
}
body:has(#memberView:not(.hidden)) .brand-block h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  letter-spacing:.17em;
  color:#3f4854;
}
body:has(#memberView:not(.hidden)) .notify-pill{
  min-width:86px;
  height:46px;
  border-radius:19px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:700;
}
.notify-icon{font-size:20px;line-height:1;display:inline-block;transform:rotate(180deg);opacity:.75}
body:has(#memberView:not(.hidden)) .point-card::after,
body:has(#memberView:not(.hidden)) .nav-card::after{
  content:"";
  position:absolute;
  right:8px;
  top:8px;
  width:16px;
  height:16px;
  background:radial-gradient(circle,#fff 0 16%,rgba(255,255,255,.6) 18%,transparent 56%);
  filter:blur(.1px);
  opacity:.8;
  pointer-events:none;
}
body:has(#memberView:not(.hidden)) .point-card,
body:has(#memberView:not(.hidden)) .nav-card{position:relative;overflow:hidden}
.qr-frame{
  position:relative;
  width:min(420px,100%);
  margin:20px auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.qr-logo{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:74px;
  height:74px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(226,232,240,.86));
  border:1px solid rgba(155,166,183,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 8px 18px rgba(31,41,55,.22);
  color:#46515f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:52px;
  line-height:1;
  text-shadow:0 1px 0 #fff, 0 6px 12px rgba(31,41,55,.22);
  pointer-events:none;
}
body:has(#memberView:not(.hidden)) .point-card{
  margin-top:-4px;
  margin-bottom:14px;
}
body:has(#memberView:not(.hidden)) .grid-nav{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body:has(#memberView:not(.hidden)) .nav-card{
  min-height:68px;
  padding:14px 12px;
  text-align:center;
}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(1)::before{content:"🎟"}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(2)::before{content:"♧";transform:rotate(180deg);font-size:25px}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(3)::before{content:"✎"}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(4)::before{content:"♬"}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(5)::before{content:"▦"}
body:has(#memberView:not(.hidden)) .grid-nav .nav-card:nth-child(6)::before{content:"◎"}
.bottom-tab{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:20;
  min-height:65px;
  padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));
  display:flex;
  justify-content:space-around;
  gap:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(227,232,239,.92));
  border-top:1px solid rgba(170,181,196,.78);
  box-shadow:0 -10px 28px rgba(31,41,55,.12);
  backdrop-filter:blur(16px);

}
.bottom-tab-item{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#596472;
  text-decoration:none;
  border-radius:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bottom-tab-item span{font-size:26px;line-height:1}
.bottom-tab-item small{font-size:11px;font-weight:700;white-space:nowrap}
.bottom-tab-item.active{
  background:rgba(255,255,255,.48);
  color:#2f3742;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) main{padding-left:10px;padding-right:10px;padding-bottom:108px}
  .qr-logo{width:62px;height:62px;font-size:44px;border-radius:14px}
  .bottom-tab-item span{font-size:23px}.bottom-tab-item small{font-size:10px}
}


/* Premium menu refinement: simple luxury / clean Japanese serif */
body:has(#memberView:not(.hidden)) .premium-menu{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:2px 0 14px;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-card{
  min-height:64px;
  padding:13px 14px;
  border-radius:17px;
  color:#2f3842;
  text-decoration:none;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:.08em;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(233,237,242,.82) 52%,rgba(255,255,255,.9));
  border:1px solid rgba(147,158,171,.42);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.95),
    inset 0 -10px 18px rgba(193,201,211,.18),
    0 8px 18px rgba(51,64,80,.10);
  position:relative;
  overflow:hidden;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-card::before,
body:has(#memberView:not(.hidden)) .premium-menu .nav-card::after{
  content:none!important;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-card .nav-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  font-family:"Times New Roman","Yu Mincho",serif;
  font-size:20px;
  line-height:1;
  color:#5f6974;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(222,227,234,.86));
  border:1px solid rgba(143,154,168,.42);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 3px 8px rgba(72,84,98,.08);
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-card:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 8px rgba(75,85,99,.14);
}
body:has(#memberView:not(.hidden)) .premium-bottom-tab{
  grid-template-columns:repeat(3,1fr)!important;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(249,251,253,.94),rgba(224,229,236,.96));
  border-top:1px solid rgba(154,164,176,.42);
  box-shadow:0 -8px 28px rgba(55,65,81,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
body:has(#memberView:not(.hidden)) .premium-bottom-tab .bottom-tab-item{
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  letter-spacing:.06em;
  color:#5f6873;
  border-radius:16px;
  padding:8px 4px 7px;
  text-decoration:none;
}
body:has(#memberView:not(.hidden)) .premium-bottom-tab .bottom-tab-item span{
  font-family:"Times New Roman","Yu Mincho",serif;
  font-size:22px;
  line-height:1;
  margin-bottom:3px;
}
body:has(#memberView:not(.hidden)) .premium-bottom-tab .bottom-tab-item small{
  font-size:12px;
  font-weight:600;
}
body:has(#memberView:not(.hidden)) .premium-bottom-tab .bottom-tab-item.active{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(214,220,229,.74));
  color:#2f3842;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 5px 14px rgba(51,65,85,.10);
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .premium-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body:has(#memberView:not(.hidden)) .premium-menu .nav-card{min-height:58px;font-size:14px;padding:11px 10px;gap:9px;letter-spacing:.05em}
  body:has(#memberView:not(.hidden)) .premium-menu .nav-card .nav-icon{width:30px;height:30px;flex-basis:30px;font-size:18px;border-radius:10px}
}


/* Menu 9 buttons + in-app web view */
body:has(#memberView:not(.hidden)) .premium-menu{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-card{
  grid-column:span 3;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-map,
body:has(#memberView:not(.hidden)) .premium-menu .nav-tel,
body:has(#memberView:not(.hidden)) .premium-menu .nav-line{
  grid-column:span 2;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  min-height:66px;
  font-size:14px;
}
body:has(#memberView:not(.hidden)) .premium-menu .nav-line .nav-icon{
  font-size:11px;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.03em;
}
.web-view-panel{
  height:calc(100vh - 86px - env(safe-area-inset-bottom));
  margin:-6px -14px 0;
  background:#f8fafc;
  border-top:1px solid rgba(154,164,176,.38);
  overflow:hidden;
}
.web-view-bar{
  height:50px;
  display:grid;
  grid-template-columns:82px 1fr 64px;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(230,235,242,.95));
  border-bottom:1px solid rgba(154,164,176,.38);
  box-shadow:0 4px 16px rgba(55,65,81,.08);
}
.web-back-btn,.web-external-btn{
  height:36px;
  padding:0 10px;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(220,226,234,.78));
  border:1px solid rgba(143,154,168,.42);
  color:#3f4854;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:13px;
  font-weight:600;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9);
}
.web-view-title{
  margin:0;
  text-align:center;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#3f4854;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:14px;
  letter-spacing:.06em;
}
.web-view-frame{
  width:100%;
  height:calc(100% - 50px);
  border:0;
  background:white;
}
body.webview-active .app-header,
body.webview-active .bottom-note,
body.webview-active #memberView > .member-card,
body.webview-active #memberView > .point-card,
body.webview-active #memberView > .premium-menu,
body.webview-active #memberView > .card:not(.member-card):not(.point-card){
  display:none!important;
}
body.webview-active main{
  max-width:none;
  padding:0 0 88px;
  margin:0;
}
body.webview-active #memberView{
  display:block!important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .app-header,
  body:has(#registerView) .app-header{padding:18px 12px 10px}
  body:has(#memberView) .app-header>div::before,
  body:has(#registerView) .app-header>div::before{font-size:36px;padding-right:9px}
  body:has(#memberView:not(.hidden)) .brand-block h1{font-size:18px;letter-spacing:.1em}
  body:has(#memberView:not(.hidden)) .brand-block .eyebrow{font-size:10px;letter-spacing:.22em}
  body:has(#memberView:not(.hidden)) .notify-pill{min-width:76px;height:42px;padding:10px 12px}
  body:has(#memberView:not(.hidden)) .premium-menu{gap:7px}
  body:has(#memberView:not(.hidden)) .premium-menu .nav-card{min-height:56px;font-size:13px;padding:10px 8px}
  body:has(#memberView:not(.hidden)) .premium-menu .nav-map,
  body:has(#memberView:not(.hidden)) .premium-menu .nav-tel,
  body:has(#memberView:not(.hidden)) .premium-menu .nav-line{min-height:58px;font-size:12px}
  .web-view-panel{margin:0;height:calc(100vh - 84px - env(safe-area-inset-bottom))}
}


/* Stability fixes: point overflow + foreground push notice */
body:has(#memberView:not(.hidden)) .point-card{
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:18px 12px;
}
body:has(#memberView:not(.hidden)) .point-card .eyebrow{
  flex:0 0 auto;
  margin-bottom:4px;
}
body:has(#memberView:not(.hidden)) .points{
  width:100%;
  max-width:100%;
  font-size:clamp(38px, 11vw, 62px);
  line-height:1;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-variant-numeric:tabular-nums;
  display:block;
}
body:has(#memberView:not(.hidden)) #pointValue{
  display:inline-block;
  max-width:78%;
  vertical-align:baseline;
  overflow:hidden;
  text-overflow:ellipsis;
}
.in-app-push-notice{
  position:fixed;
  left:14px;
  right:14px;
  top:calc(12px + env(safe-area-inset-top));
  z-index:1200;
  min-height:64px;
  border:1px solid rgba(143,154,168,.55);
  border-radius:20px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  color:#303844;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(226,232,240,.9));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 12px 30px rgba(31,41,55,.18);
  backdrop-filter:blur(16px);
  transform:translateY(calc(-120% - env(safe-area-inset-top)));
  opacity:0;
  pointer-events:none;
  transition:transform .24s ease, opacity .24s ease;
}
.in-app-push-notice.visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.in-app-push-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  color:#596472;
  font-family:"Times New Roman","Yu Mincho",serif;
  font-size:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(218,224,232,.86));
  border:1px solid rgba(143,154,168,.42);
}
.in-app-push-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.in-app-push-text strong{
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:15px;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.in-app-push-text small{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  color:#5f6873;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .point-card{min-height:104px}
  body:has(#memberView:not(.hidden)) .points{font-size:clamp(34px, 10vw, 52px)}
}

/* FINAL FIX: prevent point text clipping on iPhone/PWA */
body:has(#memberView:not(.hidden)) .point-card{
  min-height:128px !important;
  height:auto !important;
  padding:20px 12px 22px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
body:has(#memberView:not(.hidden)) .point-card .eyebrow{
  margin:0 0 8px !important;
  line-height:1.2 !important;
}
body:has(#memberView:not(.hidden)) .points{
  width:100% !important;
  max-width:100% !important;
  min-height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.12em !important;
  font-size:clamp(30px, 8.6vw, 42px) !important;
  line-height:1.25 !important;
  font-weight:500 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-variant-numeric:tabular-nums !important;
  -webkit-text-size-adjust:100%;
}
body:has(#memberView:not(.hidden)) #pointValue{
  display:inline !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.25 !important;
  vertical-align:baseline !important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .point-card{min-height:124px !important}
  body:has(#memberView:not(.hidden)) .points{font-size:clamp(28px, 8.4vw, 38px) !important;min-height:52px !important}
}

/* Admin form overflow fix */
input,textarea,select{
  box-sizing:border-box !important;
  max-width:100% !important;
}
input[type="date"]{
  width:100% !important;
  min-width:0 !important;
  -webkit-appearance:none;
  appearance:none;
}
.form-card,.admin-card,.visit-card,.card{
  max-width:100%;
}


/* HARD FINAL: point display and app resume stability */
body:has(#memberView:not(.hidden)) .point-card{
  min-height:132px !important;
  height:auto !important;
  padding:20px 14px 22px !important;
  overflow:visible !important;
}
body:has(#memberView:not(.hidden)) .point-card .eyebrow{
  margin:0 0 8px !important;
  line-height:1.2 !important;
}
body:has(#memberView:not(.hidden)) .points{
  width:100% !important;
  max-width:100% !important;
  min-height:54px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.18em !important;
  padding:0 6px !important;
  color:#2f3742 !important;
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:clamp(28px, 8vw, 40px) !important;
  line-height:1.1 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-variant-numeric:tabular-nums !important;
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}
body:has(#memberView:not(.hidden)) #pointValue{
  display:inline-block !important;
  flex:0 1 auto !important;
  max-width:calc(100% - 42px) !important;
  min-width:0 !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.1 !important;
  vertical-align:baseline !important;
}
body:has(#memberView:not(.hidden)) .point-unit{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:.72em !important;
  line-height:1.1 !important;
  margin-left:.04em !important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .points{
    font-size:clamp(26px, 7.6vw, 36px) !important;
  }
  body:has(#memberView:not(.hidden)) #pointValue{
    max-width:calc(100% - 36px) !important;
  }
}

/* HARD FINAL: prevent iPhone date input overflow in admin screen */
input,textarea,select{
  box-sizing:border-box !important;
  max-width:100% !important;
}
input[type="date"]{
  width:100% !important;
  min-width:0 !important;
  display:block !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.card,.admin-card,.visit-card,.form-card,label{
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* POINT is shown only on the top/member home view */
body.webview-active #memberView > .point-card,
#memberView > .point-card.webview-hidden-point{
  display:none!important;
}


/* Top banner */
body:has(#memberView:not(.hidden)) .top-banner{
  margin:8px 0 16px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(175,185,200,.72);
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(238,243,248,.48));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 12px 26px rgba(31,41,55,.10);
}
body:has(#memberView:not(.hidden)) .top-banner img{
  width:100%;
  display:block;
  aspect-ratio: 16 / 6;
  object-fit:cover;
}
body.webview-active .top-banner{
  display:none!important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)) .top-banner{
    margin:6px 0 14px;
    border-radius:20px;
  }
  body:has(#memberView:not(.hidden)) .top-banner img{
    aspect-ratio: 16 / 6.4;
  }
}


.point-note{
  margin:8px 0 0;
  color:#6b7280;
  font-size:13px;
  letter-spacing:.05em;
  text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}


/* In-app webview alignment fix */
body.webview-active{
  overflow:hidden;
}

body.webview-active main{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.webview-active #memberView{
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.webview-active #webViewPanel.web-view-panel{
  display:block!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:calc(82px + env(safe-area-inset-bottom))!important;
  width:100vw!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff!important;
  z-index:15!important;
}

body.webview-active #webViewPanel .web-view-bar{
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}

body.webview-active #webViewPanel .web-view-frame{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:calc(100% - 50px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

body.webview-active .premium-bottom-tab{
  z-index:30!important;
}

body.webview-active #footerBanner,
body.webview-active .top-banner{
  display:none!important;
}

@media(max-width:420px){
  body.webview-active main{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.webview-active #memberView{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.webview-active #webViewPanel.web-view-panel{
    left:0!important;
    right:0!important;
    width:100vw!important;
    margin:0!important;
    top:0!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
}




/* Footer caution banner under MAP/TEL/LINE - top page only */
#memberView:not(.hidden) > #footerBanner.footer-banner{
  display:block!important;
  width:calc(100% - 28px)!important;
  max-width:720px!important;
  margin:20px auto;
  padding:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(175,185,200,.72)!important;
  box-shadow:0 12px 26px rgba(31,41,55,.12)!important;
}

#memberView:not(.hidden) > #footerBanner.footer-banner img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:1768 / 414;
  object-fit:contain!important;
  border-radius:0!important;
}

body.webview-active #memberView > #footerBanner.footer-banner{
  display:none!important;
}

@media(max-width:420px){
  #memberView:not(.hidden) > #footerBanner.footer-banner{
    width:calc(100% - 28px)!important;
    margin:18px auto 12px!important;
    border-radius:12px!important;
  }
}


.member-stats-card h2{
  margin-bottom:12px;
}

.member-stats-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.member-stat-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  font-size:14px;
}

.member-stat-row span{
  color:#374151;
  font-weight:700;
}

.member-stat-row strong{
  color:#111827;
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
}

.member-stat-divider{
  width:100%;
  border:0;
  border-top:1px solid #e5e7eb;
  margin:6px 0;
}



/* STRICT FIX: hamburger overlay menu - JS controlled */
#menuBtn.hamburger-btn{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:18px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(226,232,240,.78))!important;
  border:1px solid rgba(160,171,185,.55)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 8px 20px rgba(31,41,55,.12)!important;
  color:#46515f!important;
  font-size:28px!important;
  line-height:1!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-weight:500!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  z-index:5!important;
}

#menuOverlay{
  display:none;
  position:fixed!important;
  top:0!important;
  left:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:99999!important;
  pointer-events:none!important;
}

#menuOverlay.is-open{
  display:block!important;
  pointer-events:auto!important;
}

#menuBackdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(31,41,55,.34)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

#menuPanel{
  position:fixed!important;
  top:calc(76px + env(safe-area-inset-top))!important;
  right:12px!important;
  width:min(330px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - 118px - env(safe-area-inset-bottom))!important;
  overflow:auto!important;
  border-radius:26px!important;
  padding:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(233,238,245,.94))!important;
  border:1px solid rgba(155,166,183,.58)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 22px 54px rgba(31,41,55,.24)!important;
  transform:translateY(-8px)!important;
  opacity:0!important;
  transition:transform .16s ease, opacity .16s ease!important;
}

#menuOverlay.is-open #menuPanel{
  transform:translateY(0)!important;
  opacity:1!important;
}

#menuPanel .menu-panel-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}

#menuPanel .menu-eyebrow{
  margin:0 0 3px!important;
  font-size:11px!important;
  letter-spacing:.24em!important;
  color:#6b7280!important;
  font-family:Georgia,"Times New Roman",serif!important;
}

#menuPanel h2{
  margin:0!important;
  font-size:26px!important;
  letter-spacing:.14em!important;
  color:#303844!important;
  font-family:Georgia,"Times New Roman",serif!important;
  line-height:1.1!important;
}

#menuCloseBtn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:14px!important;
  padding:0!important;
  font-size:24px!important;
  line-height:1!important;
  color:#4b5563!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(223,229,237,.76))!important;
  border:1px solid rgba(160,171,185,.52)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

#menuPanel .menu-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}

#menuPanel .menu-item{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  text-align:left!important;
  border-radius:16px!important;
  padding:11px 13px!important;
  color:#303844!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(229,235,243,.76))!important;
  border:1px solid rgba(160,171,185,.42)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 5px 13px rgba(51,65,85,.07)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-decoration:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

#menuPanel .menu-item span{
  width:32px!important;
  height:32px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 32px!important;
  color:#5f6974!important;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(218,224,232,.86))!important;
  border:1px solid rgba(143,154,168,.42)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
}

body.menu-open{
  overflow:hidden!important;
}

#memberView:not(.hidden) > #footerBanner.footer-banner{
  margin-bottom:12px!important;
}

@media(max-width:420px){
  #menuBtn.hamburger-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    font-size:26px!important;
    border-radius:17px!important;
  }
  #menuPanel{
    top:calc(68px + env(safe-area-inset-top))!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))!important;
    border-radius:24px!important;
  }
  #memberView:not(.hidden) > #footerBanner.footer-banner{
    margin-bottom:10px!important;
  }
}


.push-extra-box{
  margin:14px 0 12px;
  padding:14px;
  border-radius:16px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
}

.checkbox-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  margin:0 0 10px;
}

.checkbox-row input{
  width:auto!important;
  margin:0!important;
  transform:scale(1.15);
}


.notification-modal-image{
  display:block;
  width:100%;
  max-height:260px;
  object-fit:cover;
  border-radius:16px;
  margin:10px 0 14px;
  border:1px solid #e5e7eb;
}

.notification-detail-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:16px;
  padding:14px 16px;
  border-radius:16px;
  background:#111827;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}


.notification-thumb{
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:12px;
}

.notification-modal-image{
  width:100%;
  max-width:100%;
  max-height:320px;
  height:auto;
  object-fit:contain !important;
  border-radius:16px;
  display:block;
  margin:0 auto 16px auto;
}

.notification-detail-link{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:14px;
  border-radius:14px;
  text-decoration:none;
  margin-top:16px;
}


/* Notification thumbnail list fix */
.history-item-with-thumb{
  display:grid!important;
  grid-template-columns:96px 1fr!important;
  gap:12px!important;
  align-items:start!important;
}

.history-thumb-wrap{
  width:96px!important;
  height:96px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#eef2f7!important;
  flex:0 0 96px!important;
}

.history-thumb{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.history-item-content{
  min-width:0!important;
}

.notification-modal-image{
  width:100%!important;
  max-width:100%!important;
  max-height:320px!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  display:block!important;
  margin:0 auto 16px auto!important;
  background:#f3f4f6!important;
}

.notification-detail-link{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  padding:14px!important;
  border-radius:14px!important;
  text-decoration:none!important;
  margin-top:16px!important;
}

@media(max-width:420px){
  .history-item-with-thumb{
    grid-template-columns:82px 1fr!important;
    gap:10px!important;
  }
  .history-thumb-wrap{
    width:82px!important;
    height:82px!important;
    border-radius:14px!important;
  }
}


/* FINAL: notification list thumbnail and modal image */
.history-item-with-thumb{
  display:grid!important;
  grid-template-columns:96px 1fr!important;
  gap:12px!important;
  align-items:start!important;
  text-align:left!important;
}

.history-thumb-wrap{
  width:96px!important;
  height:96px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#eef2f7!important;
}

.history-thumb{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.history-item-content{
  min-width:0!important;
}

.notification-modal-image{
  width:100%!important;
  max-width:100%!important;
  max-height:320px!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  display:block!important;
  margin:0 auto 16px auto!important;
  background:#f3f4f6!important;
}

.notification-detail-link{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  padding:14px!important;
  border-radius:14px!important;
  text-decoration:none!important;
  margin-top:16px!important;
  background:#111827!important;
  color:white!important;
  font-weight:900!important;
}

@media(max-width:420px){
  .history-item-with-thumb{
    grid-template-columns:82px 1fr!important;
    gap:10px!important;
  }
  .history-thumb-wrap{
    width:82px!important;
    height:82px!important;
    border-radius:14px!important;
  }
}


/* Unread notification toast */
.unread-notification-toast{
  position:fixed;
  top:auto;
  bottom:calc(76px + env(safe-area-inset-bottom) + 12px);
  left:14px;
  right:14px;
  z-index:100000;
  display:grid;
  grid-template-columns:56px 1fr 44px;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(148,163,184,.42);
  box-shadow:0 18px 42px rgba(15,23,42,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer;
  animation:unreadToastIn .22s ease-out;
}

.unread-notification-toast.hidden{
  display:none!important;
}

.unread-toast-thumb-wrap{
  width:56px;
  height:56px;
  border-radius:16px;
  overflow:hidden;
  background:#eef2f7;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.unread-toast-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.unread-toast-fallback{
  font-weight:900;
  color:#334155;
  font-size:20px;
}

.unread-toast-content{
  min-width:0;
}

.unread-toast-label{
  margin:0 0 4px;
  font-size:12px;
  color:#64748b;
  font-weight:700;
}

.unread-toast-title{
  margin:0;
  font-size:16px;
  line-height:1.35;
  color:#0f172a;
  font-weight:900;
  overflow-wrap:anywhere;
}

.unread-toast-body{
  margin:4px 0 0;
  color:#4b3b40;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.unread-toast-close{
  width:44px;
  min-height:44px;
  padding:0;
  border:1px solid var(--color-border, #e8dde0);
  border-radius:999px;
  background:#fff;
  color:#4b3422;
  font-size:24px;
  line-height:1;
}

/* Home point card: keep the existing gradient and render one authoritative value. */
body:has(#memberView:not(.hidden)) .home-point-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body:has(#memberView:not(.hidden)) .home-point-card-content{
  position:relative;
  z-index:2;
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
}

body:has(#memberView:not(.hidden)) #homePointValue.home-point-card-value{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0;
  color:#fff!important;
  font-size:clamp(32px, 9vw, 52px)!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-shadow:0 2px 10px rgba(74,52,34,.3);
}

body:has(#memberView:not(.hidden)) .home-point-card-label{
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.16em;
  opacity:1!important;
}

.unread-toast-arrow{
  color:#64748b;
  font-size:28px;
  line-height:1;
}

@keyframes unreadToastIn{
  from{
    opacity:0;
    transform:translateY(-12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(max-width:420px){
  .unread-notification-toast{
    top:auto;
    bottom:calc(72px + env(safe-area-inset-bottom) + 10px);
    left:10px;
    right:10px;
    grid-template-columns:52px 1fr 44px;
    border-radius:20px;
  }
  .unread-toast-thumb-wrap{
    width:52px;
    height:52px;
  }
  .unread-toast-title{
    font-size:15px;
  }
}


/* Toast hide / unread badge final */
.unread-notification-toast{
  touch-action:pan-y;
  will-change:transform, opacity;
}

.unread-notification-toast.toast-dragging{
  transition:none!important;
}

.unread-notification-toast.toast-hiding{
  opacity:0!important;
  transform:translateY(-120%)!important;
  transition:opacity .16s ease, transform .16s ease!important;
}

.bottom-notification-link{
  position:relative!important;
}

.notification-unread-badge{
  position:absolute!important;
  top:4px!important;
  right:12px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:18px!important;
  font-weight:900!important;
  text-align:center!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92)!important;
}

.notification-unread-badge.hidden{
  display:none!important;
}


/* V2 home slider / member page / admin banners */
.top-banner-slider{
  width:min(94vw,720px);
  margin:12px auto 18px;
  overflow:hidden;
  border-radius:26px;
  background:#eef2f7;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}

.top-banner-track{
  display:flex;
  width:100%;
  transition:transform .32s ease;
}

.top-banner-slide{
  min-width:100%;
  display:block;
  aspect-ratio:16/9;
  background:#e5e7eb;
}

.top-banner-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.top-banner-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  padding:10px 0 12px;
  background:rgba(255,255,255,.78);
}

.top-banner-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  padding:0;
  background:#cbd5e1;
}

.top-banner-dot.active{
  width:22px;
  background:#111827;
}

.member-card-page{
  padding:0 0 110px;
}

.standalone-member-card{
  margin:14px auto 24px;
}

.member-card-point{
  margin:18px 0;
}

.banner-admin-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.banner-admin-item{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:12px;
  align-items:start;
  padding:12px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
}

.banner-admin-item img{
  width:96px;
  height:72px;
  object-fit:cover;
  border-radius:12px;
  background:#e5e7eb;
}

.banner-admin-body{
  min-width:0;
  display:grid;
  gap:5px;
}

.banner-admin-body small{
  color:#64748b;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:420px){
  .top-banner-slider{
    width:calc(100vw - 22px);
    border-radius:22px;
  }

  .banner-admin-item{
    grid-template-columns:82px 1fr;
  }

  .banner-admin-item img{
    width:82px;
    height:62px;
  }
}


/* Notification unread mark */
.history-item-unread{
  border-color:rgba(239,68,68,.42)!important;
  box-shadow:inset 4px 0 0 #ef4444, 0 8px 22px rgba(15,23,42,.08)!important;
}

.history-title-text{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.history-unread-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:18px;
  padding:0 7px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  line-height:18px;
  font-weight:900;
  letter-spacing:.05em;
  flex:0 0 auto;
}

/* Member card page font alignment */
.member-page-header{
  align-items:center!important;
}

.member-page-brand h1{
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif!important;
  letter-spacing:.13em!important;
  font-weight:700!important;
  line-height:1!important;
}

.member-page-subtitle{
  margin:5px 0 0;
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:11px;
  letter-spacing:.24em;
  color:#6b7280;
}

.standalone-member-card .eyebrow,
.standalone-member-card h2,
.standalone-member-card .rank-badge,
.standalone-member-card .member-number{
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif!important;
}

.standalone-member-card{
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(236,241,247,.92))!important;
  border:1px solid rgba(148,163,184,.45)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 18px 46px rgba(15,23,42,.13)!important;
}

.standalone-member-card h2{
  letter-spacing:.08em;
}

.member-card-point .points{
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif!important;
}


/* Vertical 3:4 top slideshow */
.top-banner-slider.vertical-banner-slider{
  width:min(86vw,390px)!important;
  margin:14px auto 20px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#eef2f7,#f8fafc)!important;
  border:1px solid rgba(148,163,184,.42)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.16)!important;
}

.vertical-banner-slider .top-banner-track{
  display:flex!important;
  width:100%!important;
  transition:transform .32s ease!important;
}

.vertical-banner-slider .top-banner-slide,
.vertical-banner-slider .top-banner-empty{
  min-width:100%!important;
  width:100%!important;
  aspect-ratio:3/4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#e5e7eb!important;
  color:#94a3b8!important;
  font-family:Georgia,"Times New Roman",serif!important;
  letter-spacing:.2em!important;
}

.vertical-banner-slider .top-banner-slide img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.vertical-banner-slider .top-banner-dots{
  display:flex!important;
  justify-content:center!important;
  gap:7px!important;
  padding:10px 0 12px!important;
  background:rgba(255,255,255,.82)!important;
}

.vertical-banner-slider .top-banner-dot{
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
  border:0!important;
  padding:0!important;
  background:#cbd5e1!important;
}

.vertical-banner-slider .top-banner-dot.active{
  width:22px!important;
  background:#111827!important;
}

.banner-admin-edit-item{
  grid-template-columns:110px 1fr!important;
}

.banner-admin-edit-item .banner-admin-body label{
  margin:0 0 8px!important;
}

.banner-admin-edit-item .banner-admin-body input[type="text"],
.banner-admin-edit-item .banner-admin-body input[type="url"],
.banner-admin-edit-item .banner-admin-body input[type="number"]{
  font-size:13px!important;
  padding:9px 10px!important;
}

@media(max-width:420px){
  .top-banner-slider.vertical-banner-slider{
    width:min(88vw,360px)!important;
    border-radius:24px!important;
  }

  .banner-admin-edit-item{
    grid-template-columns:1fr!important;
  }

  .banner-admin-edit-item img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:3/4!important;
  }
}


/* Slider read fix */
.vertical-banner-slider .top-banner-empty{
  min-height:360px!important;
  text-align:center!important;
  line-height:1.8!important;
  font-size:14px!important;
  color:#64748b!important;
  background:linear-gradient(145deg,#f8fafc,#eef2f7)!important;
}


/* WEB label / unread realtime final */
.notification-unread-badge{
  min-width:18px!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:18px!important;
  font-weight:900!important;
  text-align:center!important;
}

.history-unread-mark.hidden{
  display:none!important;
}

.history-item:not(.history-item-unread){
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
}


.notification-actions{
  display:flex;
  justify-content:flex-end;
  margin:0 0 12px;
}

.mark-all-read-btn{
  appearance:none;
  border:1px solid rgba(148,163,184,.55);
  background:rgba(255,255,255,.88);
  color:#111827;
  border-radius:999px;
  padding:9px 16px;
  font-weight:900;
  font-size:13px;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.notification-action-message{
  margin:0 0 12px;
  color:var(--color-success,#287a55);
  font-size:14px;
  font-weight:700;
}

.notification-action-message.is-error{
  color:var(--color-danger,#b4233c);
}


.notification-modal-image.hidden{
  display:none!important;
}


.history-thumb-wrap:empty{
  display:none!important;
}


/* Broken thumbnail layout fix */
.history-item-no-thumb{
  display:block!important;
}

.history-item-no-thumb .history-item-content{
  width:100%!important;
}

.history-thumb-wrap[style*="display: none"]{
  display:none!important;
}

.unread-toast-thumb.hidden{
  display:none!important;
}


.banner-delete-btn{
  background:#dc2626!important;
  color:#fff!important;
  border:1px solid #dc2626!important;
}


.banner-admin-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:10px!important;
}

.banner-delete-btn{
  background:#dc2626!important;
  color:#fff!important;
  border:1px solid #dc2626!important;
}

@media(max-width:420px){
  .banner-admin-actions{
    grid-template-columns:1fr!important;
  }
}


/* Media server card */
.media-server-card{
  border:1px solid rgba(17,24,39,.14)!important;
  background:linear-gradient(145deg,#ffffff,#f8fafc)!important;
}

.media-login-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0;
}

.media-login-info div{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
  display:grid;
  gap:4px;
}

.media-login-info span{
  font-size:11px;
  color:#64748b;
  font-weight:900;
  letter-spacing:.12em;
}

.media-login-info strong{
  font-size:18px;
  color:#111827;
}

.media-server-link{
  width:100%;
  text-align:center;
  text-decoration:none;
  display:flex!important;
  justify-content:center;
  align-items:center;
  margin-top:10px;
}

@media(max-width:420px){
  .media-login-info{
    grid-template-columns:1fr;
  }
}


/* Scheduled push / notification status */
.push-schedule-box{
  margin:16px 0;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f8fafc;
}

.scheduled-push-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.scheduled-push-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f8fafc;
}

.scheduled-push-item div{
  display:grid;
  gap:4px;
  min-width:0;
}

.scheduled-push-item small{
  color:#64748b;
}

.notification-status-row{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#64748b;
  font-weight:800;
}

.notification-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  font-weight:900;
}

.notification-status-badge.is-on{
  background:#dcfce7;
  color:#166534;
}

.notification-status-badge.is-off{
  background:#fee2e2;
  color:#991b1b;
}

@media(max-width:420px){
  .scheduled-push-item{
    grid-template-columns:1fr;
  }
}


/* rank_schedule_fix_css */
.push-schedule-box{
  margin:16px 0;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f8fafc;
}

.schedule-datetime-wrap{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e5e7eb;
}

.schedule-datetime-wrap.hidden{
  display:none!important;
}

.schedule-datetime-wrap input[type="datetime-local"]{
  width:100%;
  min-height:52px;
  font-size:16px;
}

.scheduled-push-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.scheduled-push-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f8fafc;
}

.scheduled-push-item div{
  display:grid;
  gap:4px;
  min-width:0;
}

.scheduled-push-item small{
  color:#64748b;
}

.notification-status-row{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#64748b;
  font-weight:800;
}

.notification-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  font-weight:900;
}

.notification-status-badge.is-on{
  background:#dcfce7;
  color:#166534;
}

.notification-status-badge.is-off{
  background:#fee2e2;
  color:#991b1b;
}

@media(max-width:420px){
  .scheduled-push-item{
    grid-template-columns:1fr;
  }
}


.force-hidden-detail-link{
  display:none!important;
}


/* login_register_checkbox_20260611 */
.register-mode-box{
  margin-top:18px;
  margin-bottom:20px;
  padding:14px 14px 12px;
  border:1px solid rgba(148, 163, 184, .35);
  border-radius:18px;
  background:rgba(248, 250, 252, .9);
}

.register-mode-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color:#111827;
  margin:0!important;
}

.register-mode-check input[type="checkbox"]{
  width:22px;
  height:22px;
  accent-color:#3b82f6;
  flex:0 0 auto;
}

.register-mode-note{
  margin:8px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.6;
}

.register-submit-btn{
  margin-top:8px;
}


/* third_top_only_theme_20260613 */
/* トップページのみ：配置変更なし・色味のみTHIRD化 */
body:has(#memberView:not(.hidden)):not(.webview-active){background:#0a0a0a!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .app-header,body:has(#registerView:not(.hidden)) .app-header{background:#000000!important;color:#aeb9c7!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .app-header h1,body:has(#registerView:not(.hidden)) .app-header h1{color:#aeb9c7!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .app-header .eyebrow,body:has(#registerView:not(.hidden)) .app-header .eyebrow{color:#e9eef5!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .app-header>div::before,body:has(#registerView:not(.hidden)) .app-header>div::before{content:"P"!important;color:#c9d1dc!important;border-right:1px solid rgba(214,194,159,.42)!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .primary,body:has(#registerView:not(.hidden)) .primary{background:linear-gradient(145deg,#e9eef5,#8e9aab)!important;color:#111111!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .nav-card{border-color:rgba(174,185,199,.25)!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-icon{color:#8e9aab!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .notification-unread-badge{background:#aeb9c7!important;color:#111111!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) #menuBtn.hamburger-btn{color:#aeb9c7!important;}

.third-luxury-header{
  position:sticky;
  top:0;
  z-index:50;
  width:100%;
  height:clamp(58px, 14.5vw, 86px);
  background:linear-gradient(135deg,#111827,#080b10);
  border-bottom:1px solid rgba(174,185,199,.28);
  overflow:hidden;
}

/* 画像内に文字とメニューがあるので、HTML側の文字と透明ボタンだけ制御 */
.third-header-title{
  display:none!important;
}

.third-menu-hitarea{
  position:absolute;
  right:0;
  top:0;
  width:22%;
  height:100%;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}

.third-menu-hitarea::before{
  content:none!important;
}
/* THIRD header text restore */
.third-header-title{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:10!important;
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  color:#e9eef5!important;
  font-family:Georgia,"Times New Roman","Yu Mincho",serif!important;
  text-shadow:
    0 0 8px rgba(233,238,245,.85),
    0 0 18px rgba(174,185,199,.55)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

.third-club{
  font-size:8px!important;
  letter-spacing:.28em!important;
  color:#e9eef5!important;
}

.third-name{
  font-size:17px!important;
  letter-spacing:.16em!important;
  color:#e9eef5!important;
}

.notification-modal-video{
  width:100%;
  max-height:60vh;
  border-radius:12px;
  margin-top:12px;
  margin-bottom:12px;
  background:#000;
  display:block;
}
.notification-modal-video.hidden{
  display:none!important;
}

/* ==========================================================
   THIRD v10 luxury home redesign + recommended cast system
   ========================================================== */
body:has(#memberView:not(.hidden)):not(.webview-active){
  --third-bg:#050506;
  --third-panel:#0d0d10;
  --third-panel2:#151116;
  --third-gold:#c9d1dc;
  --third-gold2:#f4f7fb;
  --third-rose:#aeb9c7;
  --third-rose2:#e9eef5;
  --third-line:rgba(206,216,228,.62);
  background:
    radial-gradient(circle at 18% 0%, rgba(170,182,198,.24), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(206,216,228,.16), transparent 28%),
    linear-gradient(180deg,#09090b 0%,#050506 44%,#08070a 100%)!important;
  color:#eef2f7!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) main{
  padding:10px 10px 112px!important;
  max-width:820px!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header{
  background:
    radial-gradient(circle at 82% 24%, rgba(170,182,198,.28), transparent 22%),
    linear-gradient(180deg,#0b1016 0%, #030303 100%)!important;
  border-bottom:1px solid rgba(206,216,228,.38)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.58)!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-name{
  font-size:clamp(24px,8vw,46px)!important;
  letter-spacing:.28em!important;
  color:#e9eef5!important;
  text-shadow:0 0 10px rgba(220,228,238,.75),0 0 24px rgba(206,216,228,.26)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-club{display:none!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title::after{
  content:"Love yourself · Be your best";
  position:absolute;
  left:50%;
  top:88%;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.08em;
  color:rgba(233,238,245,.86);
  white-space:nowrap;
  font-style:italic;
  text-shadow:0 0 8px rgba(206,216,228,.38);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea{
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:58px!important;
  height:58px!important;
  border:1px solid rgba(233,238,245,.72)!important;
  border-radius:999px!important;
  background:rgba(8,8,10,.82)!important;
  box-shadow:0 0 0 1px rgba(170,182,198,.2),0 0 24px rgba(170,182,198,.24)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after{
  content:"☰\A MENU";
  white-space:pre;
  display:grid;
  place-items:center;
  height:100%;
  color:#f4f7fb;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.04em;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .top-banner-slider{
  width:min(93vw,760px)!important;
  margin:10px auto 16px!important;
  border-radius:0 0 22px 22px!important;
  background:#050505!important;
  border:1px solid rgba(233,238,245,.34)!important;
  box-shadow:0 18px 34px rgba(0,0,0,.55),0 0 26px rgba(170,182,198,.12)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .top-banner-dot.active{background:#aeb9c7!important;}

body:has(#memberView:not(.hidden)):not(.webview-active) .point-card{
  position:relative!important;
  overflow:hidden!important;
  width:min(93vw,760px)!important;
  margin:0 auto 16px!important;
  min-height:174px!important;
  text-align:left!important;
  padding:24px 22px!important;
  border-radius:24px!important;
  color:#eef2f7!important;
  background:
    radial-gradient(circle at 80% 28%, rgba(220,228,238,.18), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.01)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 2px, transparent 2px 6px),
    #0b0b0d!important;
  border:1px solid rgba(206,216,228,.75)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 18px 36px rgba(0,0,0,.56),0 0 24px rgba(170,182,198,.12)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(206,216,228,.28);
  border-radius:18px;
  pointer-events:none;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card .eyebrow{
  color:#c9d1dc!important;
  font-size:18px!important;
  letter-spacing:.13em!important;
  font-family:Georgia,"Yu Mincho",serif!important;
  margin:0 0 12px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card-label{
  margin:0 0 2px!important;
  color:rgba(248,234,209,.82)!important;
  font-size:14px!important;
  letter-spacing:.12em!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card-main{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .points{
  color:#dfe6ee!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(54px,16vw,98px)!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-shadow:0 0 12px rgba(206,216,228,.34)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-unit{
  font-size:.34em!important;
  margin-left:7px!important;
  color:#f4f7fb!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button{
  flex:0 0 96px;
  width:96px;
  height:96px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-decoration:none;
  color:#eef2f7;
  border-radius:999px;
  border:1px solid rgba(214,222,232,.85);
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.14),transparent 28%),linear-gradient(135deg,#161217,#060606);
  box-shadow:0 0 24px rgba(170,182,198,.22), inset 0 0 0 1px rgba(255,255,255,.05);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button span{font-size:34px;line-height:1;color:#fff;}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button small{font-size:12px;color:#f4f7fb;}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-note,
body:has(#memberView:not(.hidden)):not(.webview-active) .notification-status-row{display:none!important;}

body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-section{
  width:min(93vw,760px);
  margin:0 auto 16px;
  padding:14px 12px 12px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),rgba(12,12,14,.92);
  border:1px solid rgba(214,222,232,.42);
  box-shadow:0 14px 32px rgba(0,0,0,.46),0 0 24px rgba(170,182,198,.12);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 2px 10px;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head h2{
  margin:0;
  color:#dfe6ee;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:clamp(17px,4.8vw,26px);
  letter-spacing:.05em;
  font-weight:700;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head a{
  color:#e9eef5;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  white-space:nowrap;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(126px, 1fr);
  gap:10px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding:2px 2px 4px;
  scrollbar-width:none;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-track::-webkit-scrollbar{display:none;}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-card{
  scroll-snap-align:start;
  min-width:126px;
  text-decoration:none;
  color:#fff;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),#0a0a0c;
  border:1px solid rgba(214,222,232,.48);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 8px 20px rgba(0,0,0,.34);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-photo-wrap{
  position:relative;
  width:calc(100% - 14px);
  margin:8px 7px 0;
  aspect-ratio:1/1.15;
  border-radius:15px;
  overflow:hidden;
  background:#111;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-photo-wrap::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:48%;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-badge{
  position:absolute;
  left:8px;
  bottom:8px;
  z-index:2;
  padding:4px 9px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#e9eef5,#5b6676);
  border:1px solid rgba(255,255,255,.28);
  font-size:11px;
  font-weight:800;
  box-shadow:0 0 12px rgba(220,228,238,.42);
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta{
  padding:9px 10px 10px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta strong{
  color:#f4f7fb;
  font-size:16px;
  letter-spacing:.04em;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta span{
  color:#dfe6ee;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu{
  width:min(93vw,760px)!important;
  margin:0 auto 14px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card{
  min-height:92px!important;
  padding:14px 12px!important;
  gap:10px!important;
  justify-content:center!important;
  flex-direction:column!important;
  text-align:center!important;
  border-radius:18px!important;
  color:#f4f7fb!important;
  background:radial-gradient(circle at 50% 0%,rgba(220,228,238,.14),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.01)),#0b0b0d!important;
  border:1px solid rgba(214,222,232,.48)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 10px 22px rgba(0,0,0,.42),0 0 16px rgba(170,182,198,.1)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-icon{
  width:auto!important;
  height:auto!important;
  border:0!important;
  background:transparent!important;
  color:#e9eef5!important;
  font-size:30px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 8px rgba(220,228,238,.55));
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  line-height:1.15;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-text b{
  font-size:17px;
  font-weight:800;
  letter-spacing:.04em;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-text small{
  color:#c9d1dc;
  font-size:11px;
  letter-spacing:.13em;
  font-family:Georgia,"Times New Roman",serif;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card:active,
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-card:active,
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button:active{
  transform:scale(.985)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-map,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-tel,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-line{grid-column:auto!important;}

body:has(#memberView:not(.hidden)):not(.webview-active) .notify-pill{
  width:min(93vw,760px)!important;
  min-height:74px!important;
  border-radius:18px!important;
  color:#f4f7fb!important;
  font-size:16px!important;
  letter-spacing:.06em!important;
  background:radial-gradient(circle at 88% 50%,rgba(220,228,238,.45),transparent 34%),linear-gradient(135deg,#0b0b0d,#171116)!important;
  border:1px solid rgba(214,222,232,.55)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.44),0 0 22px rgba(170,182,198,.18)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .notify-pill::before{
  content:"🎁  会員限定特典  ";
  color:#dfe6ee;
  font-family:Georgia,"Yu Mincho",serif;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .footer-banner{
  width:min(93vw,760px)!important;
  border-radius:20px!important;
  border:1px solid rgba(214,222,232,.45)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.46)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab{
  background:rgba(4,4,5,.92)!important;
  border-top:1px solid rgba(214,222,232,.28)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 -14px 28px rgba(0,0,0,.52)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .bottom-tab-item.active{
  background:linear-gradient(135deg,rgba(170,182,198,.78),rgba(170,182,198,.18))!important;
  color:#fff!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .bottom-tab-item span{color:#e9eef5!important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .bottom-tab-item.active span{color:#fff!important;}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .point-card{padding:21px 17px!important;min-height:158px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button{flex-basis:82px;width:82px;height:82px;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-track{grid-auto-columns:calc((100% - 30px) / 4);gap:10px;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-card{min-width:0;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta strong{font-size:14px;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta span{font-size:11px;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card{min-height:86px!important;padding:12px 8px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-icon{font-size:27px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card .nav-text b{font-size:16px;}
}

/* ==========================================================
   THIRD v10 Ultimate final menu layout / 4 columns + contact row
   2026-06-26
   ========================================================== */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu{
  width:min(93vw,760px)!important;
  margin:0 auto 16px!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:10px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card{
  position:relative!important;
  overflow:hidden!important;
  min-width:0!important;
  min-height:0!important;
  text-decoration:none!important;
  color:#f4f7fb!important;
  border-radius:13px!important;
  border:1px solid rgba(214,222,232,.58)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(220,228,238,.16),transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.012)),
    #09090b!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.045),
    inset 0 0 18px rgba(214,222,232,.055),
    0 10px 22px rgba(0,0,0,.44),
    0 0 14px rgba(170,182,198,.12)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card::before{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.055)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 42%)!important;
  pointer-events:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card::after{
  content:""!important;
  position:absolute!important;
  left:-40%!important;
  top:-60%!important;
  width:70%!important;
  height:160%!important;
  transform:rotate(28deg)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)!important;
  opacity:.55!important;
  pointer-events:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{
  grid-column:span 3!important;
  aspect-ratio:1 / .86!important;
  padding:10px 5px 9px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
  grid-column:span 4!important;
  min-height:62px!important;
  padding:10px 8px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  text-align:center!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  color:#e9eef5!important;
  font-size:31px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 8px rgba(220,228,238,.54))!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{
  width:31px!important;
  height:31px!important;
  flex-basis:31px!important;
  font-size:30px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:0!important;
  line-height:1.12!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{
  color:#f4f7fb!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif!important;
  font-size:clamp(13px,3.45vw,20px)!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text b{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(18px,5vw,26px)!important;
  letter-spacing:.16em!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{
  color:#c9d1dc!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(8px,2.15vw,12px)!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text small{
  font-size:10px!important;
  letter-spacing:.16em!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-ticket::before{content:"▱";font-size:35px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-ticket::after{content:"⋮";position:absolute;font-size:19px;color:#e9eef5;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-cast::before{content:"♙";font-size:36px;transform:rotate(180deg);}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-calendar::before{content:"▦";font-size:33px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-event::before{content:"♢";font-size:38px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-event::after{content:"♢";position:absolute;margin-left:15px;margin-top:7px;font-size:22px;color:#e9eef5;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-blog::before{content:"❧";font-size:37px;transform:rotate(-18deg);}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-news::before{content:"⌁";font-size:38px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-news::after{content:"NEW";position:absolute;right:-18px;top:-4px;padding:2px 5px;border-radius:999px;background:linear-gradient(135deg,#e9eef5,#5b6676);color:#fff;font-size:9px;font-weight:800;letter-spacing:.03em;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-globe::before{content:"◎";font-size:37px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-sns::before{content:"▢";font-size:35px;border-radius:10px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-sns::after{content:"●";position:absolute;font-size:9px;margin-left:12px;margin-top:-12px;color:#e9eef5;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-map::before{content:"●";font-size:31px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-map::after{content:"";position:absolute;width:15px;height:15px;border:4px solid #e9eef5;border-radius:50% 50% 50% 0;transform:rotate(-45deg);}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-tel::before{content:"☎";font-size:31px;}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .icon-line::before{content:"LINE";display:grid;place-items:center;width:37px;height:26px;border-radius:14px;background:#e9eef5;color:#0b1016;font-family:Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.02em;}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu{gap:8px!important;width:min(94vw,760px)!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{aspect-ratio:1 / .98!important;padding:8px 3px 7px!important;gap:6px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{min-height:58px!important;padding:9px 5px!important;gap:6px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:27px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{width:27px!important;height:27px!important;flex-basis:27px!important;font-size:26px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{font-size:12px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{font-size:7px!important;letter-spacing:.08em!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text b{font-size:clamp(16px,4.6vw,20px)!important;letter-spacing:.12em!important;}
}

@media(max-width:360px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu{gap:7px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{aspect-ratio:1 / 1.04!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{font-size:12px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{font-size:7px!important;}
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{position:relative!important;}

/* ==========================================================
   THIRD v10 Ultimate patch 20260626
   - Header: use image-design header like other pages
   - Menu cards: remove decorative icons, text-only layout
   ========================================================== */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header{
  height:clamp(60px, 14vw, 88px)!important;
  background:linear-gradient(135deg,#111827,#080b10)!important;
  border-bottom:1px solid rgba(206,216,228,.42)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.55)!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title{
  display:flex!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:3!important;
  align-items:baseline!important;
  gap:10px!important;
  color:#f4f7fb!important;
  font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif!important;
  text-shadow:0 0 8px rgba(233,238,245,.58),0 0 18px rgba(174,185,199,.28)!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-club{
  display:inline!important;
  font-size:clamp(8px,1.8vw,13px)!important;
  letter-spacing:.34em!important;
  color:#f4f7fb!important;
  font-weight:700!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-name{
  font-size:clamp(20px,4.8vw,36px)!important;
  letter-spacing:.20em!important;
  color:#f4f7fb!important;
  text-shadow:0 0 8px rgba(233,238,245,.64),0 0 18px rgba(174,185,199,.30)!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title::after{
  content:none!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea{
  right:0!important;
  top:0!important;
  transform:none!important;
  width:22%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::before{
  content:none!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{
  display:none!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{
  justify-content:center!important;
  align-items:center!important;
  gap:0!important;
  padding:12px 5px 10px!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
  justify-content:center!important;
  align-items:center!important;
  gap:0!important;
  padding:11px 5px!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text{
  transform:none!important;
  gap:3px!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{
  font-size:clamp(15px,4.3vw,21px)!important;
  letter-spacing:.08em!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{
  font-size:8px!important;
  letter-spacing:.11em!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text b{
  font-size:clamp(20px,6vw,30px)!important;
  letter-spacing:.14em!important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text small{
  font-size:clamp(9px,2.6vw,12px)!important;
}

/* ==========================================================
   THIRD v10 Ultimate Premium / 2026-06-26
   Premium black-gold theme, gold footer navigation, text-only menu
   ========================================================== */
:root{
  --third-bg:#050407;
  --third-panel:#0b090d;
  --third-panel-2:#151016;
  --third-gold:#dfe6ee;
  --third-gold-2:#c9d1dc;
  --third-gold-3:#8c682e;
  --third-pink:#aeb9c7;
  --third-pink-2:#e9eef5;
  --third-cream:#f4f7fb;
}

body:has(#memberView:not(.hidden)),
body:has(#registerView:not(.hidden)){
  background:
    radial-gradient(circle at 18% 0%, rgba(170,182,198,.24), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(214,222,232,.18), transparent 30%),
    linear-gradient(180deg,#070508 0%,#040305 54%,#08060a 100%)!important;
  color:var(--third-cream)!important;
  min-height:100dvh!important;
}
body:has(#memberView:not(.hidden))::before,
body:has(#registerView:not(.hidden))::before{
  background:
    linear-gradient(115deg, transparent 0 22%, rgba(255,255,255,.05) 34%, transparent 46%),
    radial-gradient(circle at 50% -10%, rgba(214,222,232,.12), transparent 34%)!important;
}
body:has(#memberView:not(.hidden)) main{
  padding-top:12px!important;
  padding-bottom:112px!important;
}

/* Header: photo header with premium gold overlay */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  height:clamp(66px,15vw,96px)!important;
  border-bottom:1px solid rgba(214,222,232,.56)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.62),0 0 22px rgba(170,182,198,.12)!important;
  overflow:hidden!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(110deg,transparent 0 30%,rgba(255,255,255,.12) 44%,transparent 58%)!important;
  opacity:.48!important;
  pointer-events:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:2px!important;
  background:linear-gradient(90deg,transparent,var(--third-gold),var(--third-pink),var(--third-gold),transparent)!important;
  opacity:.86!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title{
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  gap:9px!important;
  filter:drop-shadow(0 0 11px rgba(214,222,232,.32))!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-club{
  font-size:clamp(8px,1.9vw,13px)!important;
  letter-spacing:.36em!important;
  color:rgba(255,245,229,.92)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-name{
  font-size:clamp(22px,5vw,38px)!important;
  letter-spacing:.22em!important;
  color:var(--third-gold)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea{
  width:24%!important;
  right:0!important;
  top:0!important;
  height:100%!important;
  cursor:pointer!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:rgba(255,245,229,.9)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  text-shadow:0 0 10px rgba(214,222,232,.45)!important;
}

/* Slider */
body:has(#memberView:not(.hidden)):not(.webview-active) .top-banner-slider.vertical-banner-slider{
  width:min(92vw,430px)!important;
  margin:16px auto 18px!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#080609,#131016)!important;
  border:1px solid rgba(214,222,232,.58)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.58),0 0 26px rgba(170,182,198,.14),inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dots{
  background:linear-gradient(180deg,rgba(10,8,12,.70),rgba(5,4,7,.92))!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dot{
  background:rgba(214,222,232,.32)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dot.active{
  background:linear-gradient(90deg,var(--third-gold),var(--third-pink-2))!important;
}

/* Point card */
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card{
  width:min(92vw,760px)!important;
  min-height:172px!important;
  border-radius:26px!important;
  padding:24px 22px!important;
  background:
    radial-gradient(circle at 86% 20%, rgba(220,228,238,.22), transparent 30%),
    radial-gradient(circle at 18% 105%, rgba(214,222,232,.14), transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),
    repeating-linear-gradient(135deg,rgba(255,255,255,.023) 0 1px,transparent 1px 6px),
    #09070a!important;
  border:1px solid rgba(214,222,232,.76)!important;
  box-shadow:0 20px 46px rgba(0,0,0,.60),0 0 26px rgba(170,182,198,.16),inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card::before{
  inset:10px!important;
  border-color:rgba(214,222,232,.32)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card .eyebrow{
  color:var(--third-gold)!important;
  text-shadow:0 0 10px rgba(214,222,232,.26)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .points{
  color:var(--third-gold)!important;
  text-shadow:0 0 14px rgba(214,222,232,.32),0 0 28px rgba(170,182,198,.13)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button{
  border:1px solid rgba(214,222,232,.92)!important;
  background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.16),transparent 28%),linear-gradient(145deg,#23171d,#080609)!important;
  box-shadow:0 0 26px rgba(170,182,198,.24),0 8px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.06)!important;
}

/* Recommended cast */
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-section{
  width:min(92vw,760px)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015)),#09070a!important;
  border:1px solid rgba(214,222,232,.48)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.50),0 0 22px rgba(170,182,198,.14)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head h2{
  color:var(--third-gold)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-card{
  border-color:rgba(214,222,232,.58)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.018)),#070608!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-badge{
  background:linear-gradient(135deg,var(--third-pink-2),#8d1e4e)!important;
}

/* Menu: 4 columns, text only */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu{
  width:min(92vw,760px)!important;
  gap:9px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{
  display:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(214,222,232,.15),transparent 32%),
    radial-gradient(circle at 92% 92%,rgba(170,182,198,.13),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.014)),
    #09070a!important;
  border:1px solid rgba(214,222,232,.62)!important;
  color:var(--third-cream)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card::after{
  opacity:.62!important;
  transition:transform .42s ease!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card:active::after{
  transform:translateX(160%) rotate(28deg)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{
  aspect-ratio:1 / .82!important;
  padding:11px 4px 10px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
  min-height:64px!important;
  padding:10px 5px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{
  font-size:14px!important;
  color:var(--third-cream)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{
  color:var(--third-gold-2)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text b{
  color:var(--third-gold)!important;
}

/* Member limited benefit banner */
body:has(#memberView:not(.hidden)):not(.webview-active) .notify-pill{
  position:relative!important;
  overflow:hidden!important;
  width:min(92vw,760px)!important;
  min-height:76px!important;
  margin:0 auto!important;
  border-radius:22px!important;
  color:var(--third-cream)!important;
  background:
    radial-gradient(circle at 88% 50%,rgba(220,228,238,.48),transparent 34%),
    linear-gradient(135deg,#09070a,#21131b 54%,#0a070b)!important;
  border:1px solid rgba(214,222,232,.66)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.55),0 0 26px rgba(170,182,198,.18),inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .notify-pill::after{
  content:"›"!important;
  position:absolute!important;
  right:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:var(--third-gold)!important;
  font-size:28px!important;
  font-family:Georgia,"Times New Roman",serif!important;
}

/* Footer banner */
#memberView:not(.hidden) > #footerBanner.footer-banner{
  width:min(92vw,760px)!important;
  border-color:rgba(214,222,232,.50)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.48),0 0 18px rgba(170,182,198,.10)!important;
}

/* Bottom navigation: gold base */
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab{
  left:10px!important;
  right:10px!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-width:740px!important;
  margin:0 auto!important;
  border-radius:24px!important;
  padding:8px!important;
  background:
    linear-gradient(145deg,rgba(214,222,232,.92),rgba(141,99,38,.94) 48%,rgba(20,26,34,.96))!important;
  border:1px solid rgba(240,244,249,.72)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.42),0 12px 34px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.32)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item{
  min-height:58px!important;
  border-radius:18px!important;
  color:#1a1110!important;
  background:linear-gradient(180deg,rgba(244,247,251,.38),rgba(255,255,255,.08))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.22)!important;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item span{
  color:#0f141b!important;
  font-size:22px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.25)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item small{
  color:#0f141b!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item.active{
  background:linear-gradient(145deg,#fff3c7,#dfe6ee 46%,#c9d1dc)!important;
  color:#0b1016!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.36),0 0 18px rgba(214,222,232,.44),inset 0 1px 0 rgba(255,255,255,.62)!important;
  transform:translateY(-1px)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item.active span,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item.active small{
  color:#120b08!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .notification-unread-badge{
  top:6px!important;
  right:18px!important;
  background:linear-gradient(135deg,#ff3f7e,#5b6676)!important;
  box-shadow:0 0 0 2px rgba(214,222,232,.95),0 0 12px rgba(255,63,126,.55)!important;
}

/* Overlay menu premium */
#menuBackdrop{
  background:rgba(0,0,0,.58)!important;
}
#menuPanel{
  background:linear-gradient(145deg,rgba(18,13,18,.98),rgba(7,6,8,.97))!important;
  border:1px solid rgba(214,222,232,.55)!important;
  box-shadow:0 24px 62px rgba(0,0,0,.58),0 0 26px rgba(170,182,198,.16)!important;
}
#menuPanel .menu-eyebrow,
#menuPanel h2{
  color:var(--third-gold)!important;
}
#menuCloseBtn,
#menuPanel .menu-item{
  color:var(--third-cream)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015)),#0b090d!important;
  border:1px solid rgba(214,222,232,.40)!important;
}
#menuPanel .menu-item span{
  color:var(--third-gold)!important;
  background:rgba(214,222,232,.08)!important;
  border:1px solid rgba(214,222,232,.28)!important;
}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)) main{padding-left:0!important;padding-right:0!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .top-banner-slider.vertical-banner-slider{width:min(88vw,370px)!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .point-card{width:min(92vw,760px)!important;padding:21px 17px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button{width:78px!important;height:78px!important;flex-basis:78px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu{width:min(92vw,760px)!important;gap:8px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{aspect-ratio:1 / .95!important;padding:8px 3px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b{font-size:12px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small{font-size:7px!important;letter-spacing:.08em!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab{left:8px!important;right:8px!important;border-radius:22px!important;}
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item{min-height:54px!important;border-radius:16px!important;}
}

/* ==========================================================
   THIRD v10 Premium patch 20260626
   - QR-like member-card button
   - keep THIRD header / bottom tab during in-app cast webview
   ========================================================== */

body:has(#memberView:not(.hidden)) .point-qr-button span{
  font-size:0!important;
  position:relative!important;
  width:42px!important;
  height:42px!important;
  display:block!important;
  margin:0 auto 4px!important;
  border-radius:5px!important;
  background:
    /* finder marks */
    linear-gradient(#fff 0 0) 0 0/13px 13px no-repeat,
    linear-gradient(#09070a 0 0) 3px 3px/7px 7px no-repeat,
    linear-gradient(#fff 0 0) 29px 0/13px 13px no-repeat,
    linear-gradient(#09070a 0 0) 32px 3px/7px 7px no-repeat,
    linear-gradient(#fff 0 0) 0 29px/13px 13px no-repeat,
    linear-gradient(#09070a 0 0) 3px 32px/7px 7px no-repeat,
    /* QR random modules */
    linear-gradient(#fff 0 0) 17px 3px/5px 5px no-repeat,
    linear-gradient(#fff 0 0) 23px 8px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 17px 17px/5px 5px no-repeat,
    linear-gradient(#fff 0 0) 25px 18px/5px 5px no-repeat,
    linear-gradient(#fff 0 0) 34px 18px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 16px 27px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 22px 30px/5px 5px no-repeat,
    linear-gradient(#fff 0 0) 30px 27px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 36px 34px/5px 5px no-repeat,
    linear-gradient(#fff 0 0) 18px 38px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 27px 38px/5px 5px no-repeat!important;
  filter:drop-shadow(0 0 8px rgba(233,238,245,.24))!important;
}

body:has(#memberView:not(.hidden)) .point-qr-button span::before{
  content:""!important;
  position:absolute!important;
  inset:-5px!important;
  border:1px solid rgba(233,238,245,.24)!important;
  border-radius:8px!important;
  pointer-events:none!important;
}

body.webview-active{
  --third-bg:#050506;
  --third-panel:#0d0d10;
  --third-gold:#c9d1dc;
  --third-gold-2:#f4f7fb;
  --third-cream:#f4f7fb;
  --third-pink-2:#e9eef5;
  background:#050506!important;
}


body.webview-active #webViewPanel.web-view-panel{
  display:block!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:clamp(58px, 14.5vw, 86px)!important;
  bottom:calc(82px + env(safe-area-inset-bottom))!important;
  width:100vw!important;
  height:auto!important;
  margin:0!important;
  border-radius:0!important;
  border-top:1px solid rgba(206,216,228,.36)!important;
  background:#050506!important;
  z-index:20!important;
}

body.webview-active #webViewPanel .web-view-bar{
  height:48px!important;
  background:linear-gradient(145deg,rgba(18,13,18,.98),rgba(7,6,8,.97))!important;
  border-bottom:1px solid rgba(214,222,232,.36)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35)!important;
}
body.webview-active #webViewPanel .web-view-title{
  color:var(--third-gold-2)!important;
}
body.webview-active #webViewPanel .web-back-btn,
body.webview-active #webViewPanel .web-external-btn{
  color:var(--third-cream)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015)),#0b090d!important;
  border:1px solid rgba(214,222,232,.40)!important;
}
body.webview-active #webViewPanel .web-view-frame{
  height:calc(100% - 48px)!important;
  background:#fff!important;
}

body.webview-active .premium-bottom-tab{
  display:flex!important;
  position:fixed!important;
  left:10px!important;
  right:10px!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
  z-index:80!important;
  width:auto!important;
  max-width:740px!important;
  margin:0 auto!important;
  border-radius:24px!important;
  padding:8px!important;
  min-height:65px!important;
  background:linear-gradient(145deg,rgba(214,222,232,.92),rgba(141,99,38,.94) 48%,rgba(20,26,34,.96))!important;
  border:1px solid rgba(240,244,249,.72)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.42),0 12px 34px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.32)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
body.webview-active .premium-bottom-tab .bottom-tab-item{
  min-height:58px!important;
  border-radius:18px!important;
  color:#1a1110!important;
  background:linear-gradient(180deg,rgba(244,247,251,.38),rgba(255,255,255,.08))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.22)!important;
}
body.webview-active .premium-bottom-tab .bottom-tab-item span,
body.webview-active .premium-bottom-tab .bottom-tab-item small{
  color:#0f141b!important;
  font-weight:900!important;
}
body.webview-active .premium-bottom-tab .bottom-tab-item.active{
  background:linear-gradient(145deg,#fff3c7,#dfe6ee 46%,#c9d1dc)!important;
  color:#0b1016!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.36),0 0 18px rgba(214,222,232,.44),inset 0 1px 0 rgba(255,255,255,.62)!important;
}

@media(max-width:420px){
  body.webview-active .third-menu-hitarea{
    width:50px!important;
    height:50px!important;
    right:9px!important;
  }
  body.webview-active .premium-bottom-tab{
    left:8px!important;
    right:8px!important;
    border-radius:22px!important;
  }
  body.webview-active .premium-bottom-tab .bottom-tab-item{
    min-height:54px!important;
    border-radius:16px!important;
  }
}

/* ==========================================================
   THIRD v10 Premium layout fix 20260627
   - Smaller QR-like icon inside member-card button
   - Prevent header / page horizontal overflow on iPhone
   - Attach bottom navigation to the true bottom edge
   ========================================================== */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
body:has(#memberView:not(.hidden)),
body.webview-active{
  min-width:0!important;
}
body:has(#memberView:not(.hidden)) main,
body:has(#memberView:not(.hidden)) #memberView,
body:has(#memberView:not(.hidden)) .third-luxury-header,
body.webview-active .third-luxury-header{
  width:100%!important;
  max-width:100vw!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
body.webview-active .third-luxury-header{
  left:0!important;
  right:0!important;
  margin:0!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header::before,
body.webview-active .third-luxury-header::before{
  inset:0!important;
  max-width:100vw!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea,
body.webview-active .third-menu-hitarea{
  right:8px!important;
  width:62px!important;
  max-width:62px!important;
  height:62px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  border-radius:999px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after,
body.webview-active .third-menu-hitarea::after{
  right:50%!important;
  top:50%!important;
  transform:translate(50%,-50%)!important;
}

/* QR icon: keep it clearly QR-like, but smaller so it stays inside the circle */
body:has(#memberView:not(.hidden)) .point-qr-button{
  overflow:hidden!important;
}
body:has(#memberView:not(.hidden)) .point-qr-button span{
  width:31px!important;
  height:31px!important;
  margin:0 auto 3px!important;
  border-radius:4px!important;
  background:
    linear-gradient(#fff 0 0) 0 0/10px 10px no-repeat,
    linear-gradient(#09070a 0 0) 2px 2px/6px 6px no-repeat,
    linear-gradient(#fff 0 0) 21px 0/10px 10px no-repeat,
    linear-gradient(#09070a 0 0) 23px 2px/6px 6px no-repeat,
    linear-gradient(#fff 0 0) 0 21px/10px 10px no-repeat,
    linear-gradient(#09070a 0 0) 2px 23px/6px 6px no-repeat,
    linear-gradient(#fff 0 0) 13px 2px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 17px 7px/3px 3px no-repeat,
    linear-gradient(#fff 0 0) 13px 13px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 20px 13px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 26px 13px/3px 3px no-repeat,
    linear-gradient(#fff 0 0) 12px 20px/3px 3px no-repeat,
    linear-gradient(#fff 0 0) 17px 22px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 23px 20px/3px 3px no-repeat,
    linear-gradient(#fff 0 0) 27px 26px/4px 4px no-repeat,
    linear-gradient(#fff 0 0) 14px 28px/3px 3px no-repeat,
    linear-gradient(#fff 0 0) 21px 28px/4px 4px no-repeat!important;
}
body:has(#memberView:not(.hidden)) .point-qr-button span::before{
  inset:-3px!important;
  border-radius:6px!important;
}
body:has(#memberView:not(.hidden)) .point-qr-button small{
  margin-top:1px!important;
}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button{
    width:74px!important;
    height:74px!important;
    flex-basis:74px!important;
  }
  body:has(#memberView:not(.hidden)) .point-qr-button span{
    width:28px!important;
    height:28px!important;
    background:
      linear-gradient(#fff 0 0) 0 0/9px 9px no-repeat,
      linear-gradient(#09070a 0 0) 2px 2px/5px 5px no-repeat,
      linear-gradient(#fff 0 0) 19px 0/9px 9px no-repeat,
      linear-gradient(#09070a 0 0) 21px 2px/5px 5px no-repeat,
      linear-gradient(#fff 0 0) 0 19px/9px 9px no-repeat,
      linear-gradient(#09070a 0 0) 2px 21px/5px 5px no-repeat,
      linear-gradient(#fff 0 0) 12px 2px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 16px 7px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 12px 12px/4px 4px no-repeat,
      linear-gradient(#fff 0 0) 19px 12px/4px 4px no-repeat,
      linear-gradient(#fff 0 0) 24px 12px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 11px 18px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 16px 20px/4px 4px no-repeat,
      linear-gradient(#fff 0 0) 22px 18px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 24px 24px/4px 4px no-repeat,
      linear-gradient(#fff 0 0) 13px 25px/3px 3px no-repeat,
      linear-gradient(#fff 0 0) 19px 25px/4px 4px no-repeat!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
  body.webview-active .third-luxury-header{
    height:60px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea,
  body.webview-active .third-menu-hitarea{
    right:7px!important;
    width:54px!important;
    max-width:54px!important;
    height:54px!important;
  }
}

/* Bottom nav: no floating gap. Keep gold base, but pin to viewport bottom. */
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab,
body.webview-active .premium-bottom-tab{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:22px 22px 0 0!important;
  padding:8px 10px max(8px, env(safe-area-inset-bottom))!important;
  z-index:90!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) main{
  padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;
}
body.webview-active #webViewPanel.web-view-panel{
  bottom:calc(82px + env(safe-area-inset-bottom))!important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab,
  body.webview-active .premium-bottom-tab{
    left:0!important;
    right:0!important;
    bottom:0!important;
    border-radius:20px 20px 0 0!important;
    padding:7px 8px max(7px, env(safe-area-inset-bottom))!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) main{
    padding-bottom:calc(90px + env(safe-area-inset-bottom))!important;
  }
}

/* ==========================================================
   THIRD v10 Ultimate Premium - Font Awesome gold icon patch
   20260627
   - Font Awesome icons in QR / menu / footer
   - subtle gold icon treatment
   - keeps existing layout links and sizes
   ========================================================== */

body:has(#memberView:not(.hidden)) .fa-solid,
body:has(#memberView:not(.hidden)) .fa-brands,
#menuPanel .fa-solid,
#menuPanel .fa-brands{
  font-style:normal!important;
  line-height:1!important;
}

/* Member card QR button: use Font Awesome qrcode, smaller and centered */
body:has(#memberView:not(.hidden)) .point-qr-button span{
  width:34px!important;
  height:34px!important;
  margin:0 auto 5px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  background:none!important;
  border-radius:0!important;
  filter:drop-shadow(0 0 7px rgba(233,238,245,.24))!important;
}
body:has(#memberView:not(.hidden)) .point-qr-button span::before{
  content:none!important;
}
body:has(#memberView:not(.hidden)) .point-qr-button span i{
  display:block!important;
  font-size:31px!important;
  color:rgba(255,244,220,.94)!important;
  text-shadow:
    0 0 8px rgba(214,222,232,.28),
    0 0 16px rgba(220,228,238,.10)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-qr-button small{
  color:#f4f7fb!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

/* Top menu buttons: restore icons as faint premium gold Font Awesome */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  margin:0 auto 3px!important;
  color:rgba(214,222,232,.48)!important;
  opacity:.72!important;
  position:relative!important;
  background:none!important;
  border:0!important;
  filter:drop-shadow(0 0 9px rgba(214,222,232,.16))!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon::before,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon::after{
  content:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon i{
  display:block!important;
  font-size:24px!important;
  color:rgba(214,222,232,.52)!important;
  text-shadow:
    0 0 8px rgba(214,222,232,.18),
    0 1px 0 rgba(255,255,255,.08)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{
  width:26px!important;
  height:26px!important;
  flex-basis:26px!important;
  margin:0 8px 0 0!important;
  opacity:.78!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon i{
  font-size:23px!important;
  color:rgba(214,222,232,.60)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-main{
  gap:5px!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
  gap:8px!important;
}

/* Footer Font Awesome icons: gold base, active richer gold */
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item span{
  display:grid!important;
  place-items:center!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item span i{
  font-size:20px!important;
  color:rgba(38,24,12,.88)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.24),0 0 8px rgba(240,244,249,.18)!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item.active span i{
  color:#0b1016!important;
  text-shadow:0 1px 0 rgba(255,255,255,.34),0 0 12px rgba(214,222,232,.38)!important;
}

/* Overlay menu Font Awesome */
#menuPanel .menu-item span{
  display:grid!important;
  place-items:center!important;
}
#menuPanel .menu-item span i{
  font-size:16px!important;
  color:rgba(214,222,232,.88)!important;
  text-shadow:0 0 8px rgba(214,222,232,.22)!important;
}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon{
    width:24px!important;
    height:24px!important;
    flex-basis:24px!important;
    margin-bottom:2px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-icon i{
    font-size:20px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
    margin-right:5px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon i{
    font-size:19px!important;
  }
  body:has(#memberView:not(.hidden)) .point-qr-button span{
    width:31px!important;
    height:31px!important;
  }
  body:has(#memberView:not(.hidden)) .point-qr-button span i{
    font-size:28px!important;
  }
}

/* ==========================================================
   THIRD v10 Ultimate Premium FontAwesome contact buttons fix
   - MAP / TEL / LINE: icon centered, large text hidden, small label below
   ========================================================== */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
  min-height:72px!important;
  padding:11px 6px 9px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  text-align:center!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  margin:0 auto!important;
  display:grid!important;
  place-items:center!important;
  color:#d9b873!important;
  font-size:25px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 7px rgba(217,184,115,.34))!important;
  opacity:.92!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon i{
  display:block!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:1!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text{
  gap:0!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text b{
  display:none!important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text small{
  display:block!important;
  color:#c9d1dc!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.1!important;
}
/* cancel older decorative pseudo icons on contact buttons */
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon::before,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon::after{
  content:none!important;
  display:none!important;
}

@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact{
    min-height:66px!important;
    padding:10px 4px 8px!important;
    gap:4px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-icon{
    width:29px!important;
    height:29px!important;
    flex-basis:29px!important;
    font-size:23px!important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .menu-contact .nav-text small{
    font-size:8px!important;
    letter-spacing:.14em!important;
  }
}


/* MEDIA_DOWNLOAD_SUPPRESSION: casual save prevention only */
img,
video,
.notification-modal-image,
.notification-modal-video,
.top-banner-slide img,
.recommended-cast-photo img {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
  -webkit-user-drag: none !important;
}

/* SLOWLIFE neutral placeholder theme. Replace only these values when official assets arrive. */
:root {
  --slowlife-bg: #080b10;
  --slowlife-panel: #111827;
  --slowlife-accent: #c9d1dc;
  --slowlife-accent-strong: #f4f7fb;
  --slowlife-text: #f8f5ef;
}
body:has(#memberView:not(.hidden)):not(.webview-active) {
  background: radial-gradient(circle at 50% -10%, #263142 0, var(--slowlife-bg) 44%) fixed !important;
  color: var(--slowlife-text) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
body.webview-active .third-luxury-header {
  background: linear-gradient(135deg, #111827, #080b10) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-name,
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head h2 {
  color: var(--slowlife-accent-strong) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card {
  border-color: color-mix(in srgb, var(--slowlife-accent) 55%, transparent) !important;
  background: linear-gradient(145deg, #172131, var(--slowlife-panel)) !important;
}

/* OFFICIAL BRAND THEME 2026-07: final cascade layer */
:root {
  --color-bg: #fffdfc;
  --color-surface: #ffffff;
  --color-gold: #aeb9c7;
  --color-gold-strong: #e9eef5;
  --color-gold-soft: #1a222d;
  --color-pink: #8e9aab;
  --color-pink-strong: #e9eef5;
  --color-pink-soft: #19212b;
  --color-text: #342d30;
  --color-text-muted: #756a6e;
  --color-border: #e8dde0;
  --color-danger: #b4233d;
  --color-success: #28754a;
  --color-focus: #9a702b;
  --shadow-card: 0 14px 34px rgba(0,0,0, .09);
}

html { background: var(--color-bg); color-scheme: light; }
body,
body:has(#memberView),
body:has(#registerView),
body:has(#memberView:not(.hidden)):not(.webview-active) {
  min-width: 0;
  background: linear-gradient(150deg, var(--color-pink-soft) 0, var(--color-bg) 38%, var(--color-gold-soft) 140%) fixed !important;
  color: var(--color-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif !important;
}
body::before,
body:has(#memberView)::before,
body:has(#registerView)::before { display: none !important; }
main,
body:has(#memberView) main,
body:has(#registerView) main { width: 100%; max-width: 760px; padding: 20px 16px calc(94px + env(safe-area-inset-bottom)); }

.third-luxury-header,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
body.webview-active .third-luxury-header {
  min-height: 112px !important;
  padding: calc(12px + env(safe-area-inset-top)) 64px 12px !important;
  background: rgba(255, 253, 252, .97) !important;
  border-bottom: 1px solid var(--color-border) !important;
  box-shadow: 0 6px 22px rgba(0,0,0, .07) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.third-luxury-header::before,
.third-luxury-header::after { display: none !important; }
.third-header-title,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title {
  width: min(300px, 70vw) !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
.third-header-title::before,
.third-header-title::after { display: none !important; }
.brand-logo { display: block; width: 100%; height: auto; object-fit: contain; }
.third-menu-hitarea,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea,
body.webview-active .third-menu-hitarea {
  position: absolute !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  top: calc(50% + env(safe-area-inset-top) / 2) !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 50% !important;
  background: var(--color-surface) !important;
  box-shadow: 0 5px 16px rgba(0,0,0, .08) !important;
}
.third-menu-hitarea::before,
.third-menu-hitarea::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 11px !important;
  width: 20px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--color-gold-strong) !important;
  transform: none !important;
}
.third-menu-hitarea::before { top: 15px !important; box-shadow: 0 6px 0 var(--color-gold-strong) !important; }
.third-menu-hitarea::after { top: 27px !important; }

.app-header {
  padding: calc(16px + env(safe-area-inset-top)) 16px 16px !important;
  background: rgba(255, 253, 252, .97) !important;
  color: var(--color-text) !important;
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 6px 22px rgba(0,0,0, .07);
}
.app-header h1 { color: var(--color-text) !important; }
.eyebrow { color: var(--color-gold-strong) !important; }

.card,
body:has(#memberView) .card,
body:has(#registerView) .card,
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card,
body:has(#memberView:not(.hidden)):not(.webview-active) .member-benefit-card {
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  border: 1px solid rgba(190,200,212, .48) !important;
  border-radius: 22px !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none !important;
}
#registerView { max-width: 520px; margin: 18px auto; padding: 26px 22px; }
#registerView h2 { margin-top: 0; font-size: clamp(23px, 6vw, 30px); }
label { color: var(--color-text); font-weight: 700; line-height: 1.5; }
input,
textarea,
select {
  min-height: 48px;
  max-width: 100%;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  font-size: 16px !important;
  box-shadow: inset 0 1px 2px rgba(52, 45, 48, .03);
}
input:focus,
textarea:focus,
select:focus { border-color: var(--color-gold) !important; outline: 3px solid rgba(200,210,222, .34) !important; outline-offset: 1px; }
button,
a,
input,
textarea,
select { -webkit-tap-highlight-color: rgba(200,210,222, .22); }
button,
.small-link,
.back-button { min-height: 44px; }
.primary,
.notify-pill,
.back-button {
  background: var(--color-gold) !important;
  color: #241d15 !important;
  border: 1px solid var(--color-gold-strong) !important;
  box-shadow: 0 7px 18px rgba(138, 104, 45, .17) !important;
}
.primary:hover,
.notify-pill:hover,
.back-button:hover { background: #ffffff !important; }
.ghost,
.small-btn,
.small-link { background: var(--color-pink-soft) !important; color: var(--color-text) !important; border: 1px solid var(--color-border) !important; }
.danger { background: var(--color-danger) !important; color: #fff !important; }
.muted,
.history-item-date,
.history-item-meta,
.bottom-note { color: var(--color-text-muted) !important; }
.message { color: var(--color-danger) !important; line-height: 1.55; }
.message.is-success { color: var(--color-success) !important; }
.register-mode-box { background: var(--color-pink-soft) !important; border: 1px solid var(--color-border) !important; }
.register-mode-check input[type="checkbox"] { accent-color: var(--color-gold-strong); min-height: 22px; }

body:has(#memberView:not(.hidden)):not(.webview-active) .point-card {
  position: relative;
  overflow: hidden;
  border-color: var(--color-gold) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card::before {
  background: linear-gradient(90deg, var(--color-gold), var(--color-pink), var(--color-gold)) !important;
  opacity: 1 !important;
}
.points,
body:has(#memberView:not(.hidden)):not(.webview-active) .points { color: var(--color-text) !important; font-size: clamp(48px, 15vw, 72px) !important; }
.point-unit,
.point-card-label { color: var(--color-text-muted) !important; }
.rank-badge,
.notification-status-badge { background: var(--color-pink-soft) !important; color: var(--color-pink-strong) !important; border-color: var(--color-pink) !important; }
.qr-box { background: #fff !important; border-color: var(--color-gold-soft) !important; }

.nav-card,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card {
  min-width: 0;
  min-height: 72px;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: 0 7px 20px rgba(0,0,0, .07) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card .nav-icon,
.bottom-tab-item.active,
.recommended-cast-head a { color: var(--color-gold-strong) !important; }
.bottom-tab,
.premium-bottom-tab { background: rgba(255, 253, 252, .96) !important; border-top-color: var(--color-border) !important; }
.bottom-tab-item { color: var(--color-text-muted) !important; min-height: 52px; }
#menuPanel { background: var(--color-bg) !important; color: var(--color-text) !important; }
.menu-item { background: var(--color-surface) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; min-height: 48px; }

.history-item,
.log-item,
.detail-row,
.visit-input-block { background: var(--color-pink-soft) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
.modal-content { background: var(--color-surface) !important; color: var(--color-text) !important; border: 1px solid var(--color-gold); }
.modal-backdrop { background: rgba(52, 45, 48, .48) !important; }

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--color-focus) !important;
  outline-offset: 3px !important;
}
@media (max-width: 420px) {
  main,
  body:has(#memberView) main,
  body:has(#registerView) main { padding-left: 12px; padding-right: 12px; }
  #registerView { padding: 22px 17px; }
  .third-luxury-header { min-height: 98px !important; padding-left: 54px !important; padding-right: 54px !important; }
  .third-header-title { width: min(255px, 68vw) !important; }
  .row { flex-wrap: wrap; }
  .row > * { min-width: min(140px, 100%); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Member UI visibility and compact header adjustments */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.third-luxury-header,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
body.webview-active .third-luxury-header {
  min-height: 84px !important;
  height: auto !important;
  padding-top: calc(10px + env(safe-area-inset-top)) !important;
  padding-bottom: 10px !important;
}
.third-header-title,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title {
  width: min(142px, 45vw) !important;
  max-height: 60px !important;
}
.brand-logo {
  width: auto !important;
  max-width: 100% !important;
  height: 60px !important;
  max-height: 60px !important;
  margin: 0 auto !important;
}
.third-menu-hitarea,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea,
body.webview-active .third-menu-hitarea {
  top: calc(50% + env(safe-area-inset-top) / 2) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  transform: translateY(-50%) !important;
  border: 1px solid #aeb9c7 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0, .16) !important;
  cursor: pointer !important;
}
.third-menu-hitarea::before,
.third-menu-hitarea::after,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::before,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after {
  left: 11px !important;
  right: auto !important;
  width: 22px !important;
  height: 3px !important;
  background: #aeb9c7 !important;
  color: transparent !important;
  border-radius: 3px !important;
  text-shadow: none !important;
}
.third-menu-hitarea::before,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::before {
  top: 14px !important;
  box-shadow: 0 7px 0 #aeb9c7 !important;
}
.third-menu-hitarea::after,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after { top: 28px !important; }
.third-menu-hitarea:focus-visible { outline-color: #a66a7a !important; }

.third-menu-hitarea::before,
.third-menu-hitarea::after,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::before,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
.menu-toggle-lines {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.menu-toggle-lines > span {
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  flex: 0 0 3px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f4f7fb !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card .nav-icon {
  color: #c9d1dc !important;
  background: #19212b !important;
  border: 1px solid rgba(190,200,212, .72) !important;
  box-shadow: 0 3px 9px rgba(0,0,0, .16) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card .nav-icon i {
  color: #c9d1dc !important;
  opacity: 1 !important;
  filter: drop-shadow(0 1px 1px rgba(52, 45, 48, .18)) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small {
  opacity: 1 !important;
  filter: none !important;
  visibility: visible !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b {
  display: block !important;
  color: #f4f7fb !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small {
  display: block !important;
  color: #aeb9c7 !important;
  text-shadow: none !important;
}
.standalone-member-card .member-card-point {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 116px !important;
  margin: 18px 0 !important;
  background: #0f161f !important;
  border: 1px solid #aeb9c7 !important;
}
.standalone-member-card .standalone-point-value {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 54px !important;
  overflow: visible !important;
  color: #342d30 !important;
  font-size: clamp(38px, 12vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}
#menuPanel {
  background: linear-gradient(180deg, #fffdfc, #19212b) !important;
  border-left: 1px solid rgba(190,200,212, .58) !important;
}
#menuPanel .menu-item {
  background: #fff !important;
  color: #342d30 !important;
  border: 1px solid rgba(190,200,212, .48) !important;
  box-shadow: 0 4px 12px rgba(0,0,0, .08) !important;
}
#menuPanel .menu-item span,
#menuPanel .menu-item i { color: #c9d1dc !important; opacity: 1 !important; }
#menuPanel .menu-item:hover,
#menuPanel .menu-item:active { background: #19212b !important; border-color: #aeb9c7 !important; }
.notify-pill:disabled { opacity: .66; cursor: wait; }
.auth-loading-view {
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--color-text);
  font-weight: 700;
  text-align: center;
}
.menu-logout { margin-top: 8px !important; border-color: var(--color-danger) !important; }
.menu-logout span,
.menu-logout i { color: var(--color-danger) !important; }

@media (max-width: 420px) {
  .third-luxury-header,
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header {
    min-height: 80px !important;
    padding-left: 58px !important;
    padding-right: 58px !important;
  }
  .third-header-title,
  body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title { width: min(132px, 42vw) !important; }
  .brand-logo { height: auto !important; max-height: 56px !important; }
}

/* Compact home slider pagination. Keep after the global 44px button target rule. */
body:has(#memberView:not(.hidden)):not(.webview-active) .top-banner-slider.vertical-banner-slider {
  margin: 16px auto 16px !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-track {
  background: #080609 !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dots {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dot {
  flex: 0 0 8px !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .vertical-banner-slider .top-banner-dot.active {
  flex-basis: 24px !important;
  width: 24px !important;
  height: 8px !important;
  min-height: 8px !important;
}

.field-error {
  margin: -4px 0 10px;
  color: #a1263f;
  font-size: 0.9rem;
  font-weight: 700;
}

/* ==========================================================
   PLATINUM UI ALIGNMENT 2026-07-22
   Recommended cast layout + menu typography only.
   Store-specific colors/backgrounds remain unchanged.
   ========================================================== */
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-section{
  width:100% !important;
  margin:16px 0 16px !important;
  padding:16px 14px 18px !important;
  border-radius:22px !important;
  overflow:hidden !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 0 12px !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head h2{
  margin:0 !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  font-size:16px !important;
  line-height:1.3 !important;
  letter-spacing:.08em !important;
  font-weight:700 !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-head a{
  flex:0 0 auto !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-track{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:calc((100% - 30px) / 4) !important;
  gap:10px !important;
  overflow-x:auto !important;
  overscroll-behavior-x:contain !important;
  padding:2px 0 4px !important;
  scroll-snap-type:x mandatory !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-track::-webkit-scrollbar{display:none !important;}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-card{
  min-width:0 !important;
  display:block !important;
  padding:8px 7px 10px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  scroll-snap-align:start !important;
  text-decoration:none !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-photo-wrap{
  position:relative !important;
  width:100% !important;
  margin:0 !important;
  aspect-ratio:1/1.15 !important;
  border-radius:15px !important;
  overflow:hidden !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-photo-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:none !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-badge{
  left:6px !important;
  bottom:6px !important;
  padding:3px 6px !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  font-size:9px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  min-width:0 !important;
  padding:8px 2px 0 !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta strong{
  font-size:13px !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .recommended-cast-meta span{
  font-size:10px !important;
  line-height:1.2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card > span.nav-text{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  line-height:1 !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text b{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  font-size:14px !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text small,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text small{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif !important;
  font-size:8px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
}
@media(max-width:420px){
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text b{
    font-size:12px !important;
  }
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text small,
  body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text small{
    font-size:7px !important;
    letter-spacing:.09em !important;
  }
}

/* =========================================================
   MENU THREE-LINE LABEL FIX 2026-07-22
   Always show: icon / Japanese label / Roman label
========================================================= */
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-card,
body:has(#memberView:not(.hidden)) .premium-menu .nav-card{
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-icon,
body:has(#memberView:not(.hidden)) .premium-menu .nav-icon{
  display:flex !important;
  flex:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text,
body:has(#memberView:not(.hidden)) .premium-menu .nav-text{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  gap:2px !important;
  text-align:center !important;
  white-space:normal !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text b,
body:has(#memberView:not(.hidden)) .premium-menu .nav-text b,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .menu-contact .nav-text b,
body:has(#memberView:not(.hidden)) .premium-menu .menu-contact .nav-text b,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text b,
body:has(#memberView:not(.hidden)) .premium-menu .contact-card .nav-text b{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .nav-text small,
body:has(#memberView:not(.hidden)) .premium-menu .nav-text small,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .menu-contact .nav-text small,
body:has(#memberView:not(.hidden)) .premium-menu .menu-contact .nav-text small,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text small,
body:has(#memberView:not(.hidden)) .premium-menu .contact-card .nav-text small{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
}


/* =========================================================
   CONTACT MENU TWO-LINE FIX 2026-07-22
   MAP / CALL / LINE: icon + small English label only
========================================================= */
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .menu-contact .nav-text b,
body:has(#memberView:not(.hidden)) .premium-menu .menu-contact .nav-text b,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text b,
body:has(#memberView:not(.hidden)) .premium-menu .contact-card .nav-text b{
  display:none !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .menu-contact .nav-text,
body:has(#memberView:not(.hidden)) .premium-menu .menu-contact .nav-text,
body:has(#memberView:not(.hidden)):not(.webview-active) .premium-menu .contact-card .nav-text,
body:has(#memberView:not(.hidden)) .premium-menu .contact-card .nav-text{
  gap:0 !important;
}

/* ===== CLUB PLATINUM theme: black x silver (overrides everything above) ===== */
:root {
  --color-bg: #07090d;
  --color-surface: #111821;
  --color-gold: #c9d1dc;
  --color-gold-strong: #e9eef5;
  --color-gold-soft: #1a222d;
  --color-pink: #8e9aab;
  --color-pink-strong: #e9eef5;
  --color-pink-soft: #19212b;
  --color-text: #eef2f7;
  --color-text-muted: #9aa6b5;
  --color-border: rgba(216, 226, 238, .26);
  --color-danger: #ff6b81;
  --color-success: #7ee2a8;
  --color-focus: #e9eef5;
  --shadow-card: 0 16px 40px rgba(0, 0, 0, .55);
}
html { background: #07090d; color-scheme: dark; }
body,
body:has(#memberView),
body:has(#registerView),
body:has(#memberView:not(.hidden)):not(.webview-active),
.member-card-page {
  background:
    radial-gradient(circle at 50% -10%, rgba(233,238,245,.16), transparent 36%),
    linear-gradient(180deg, #07090d 0%, #0b1118 50%, #05070a 100%) fixed !important;
  color: var(--color-text) !important;
}
.third-luxury-header,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header,
body.webview-active .third-luxury-header,
.app-header {
  background: rgba(7, 9, 13, .96) !important;
  border-bottom: 1px solid rgba(216, 226, 238, .30) !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, .6) !important;
  color: var(--color-text) !important;
}
.app-header h1 { color: #e9eef5 !important; }
/* header title: never run under the menu button */
.third-header-title,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-header-title {
  width: auto !important;
  max-width: calc(100% - 8px) !important;
  max-height: none !important;
}
.brand-text {
  margin: 0 !important;
  white-space: nowrap;
  text-align: center;
  font-family: "Times New Roman", "Hiragino Mincho ProN", serif;
  font-weight: 600;
  font-size: clamp(15px, 4.8vw, 22px);
  letter-spacing: .16em;
  background: linear-gradient(180deg, #ffffff 0%, #c9d1dc 55%, #8e9aab 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.brand-text span { letter-spacing: .2em; }
.third-luxury-header,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-luxury-header {
  padding-left: 66px !important;
  padding-right: 66px !important;
}
.third-menu-hitarea,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-menu-hitarea,
body.webview-active .third-menu-hitarea {
  background: #111821 !important;
  border: 1px solid rgba(216, 226, 238, .5) !important;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .5) !important;
}
.menu-toggle-lines > span { background: #e9eef5 !important; }
.card,
body:has(#memberView) .card,
body:has(#registerView) .card,
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card,
body:has(#memberView:not(.hidden)):not(.webview-active) .member-benefit-card {
  background: linear-gradient(180deg, #121a24, #0c1219) !important;
  color: var(--color-text) !important;
  border: 1px solid rgba(216, 226, 238, .30) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .point-card::before {
  background: linear-gradient(90deg, #8e9aab, #ffffff, #8e9aab) !important;
}
label, h1, h2, h3 { color: var(--color-text) !important; }
input, textarea, select {
  background: #0b1118 !important;
  color: var(--color-text) !important;
  border-color: rgba(216, 226, 238, .30) !important;
}
input::placeholder, textarea::placeholder { color: #6f7b8b !important; }
input:focus, textarea:focus, select:focus { border-color: #e9eef5 !important; outline-color: rgba(233, 238, 245, .25) !important; }
.primary, .notify-pill, .back-button {
  background: linear-gradient(135deg, #f4f7fb 0%, #c9d1dc 50%, #9aa6b5 100%) !important;
  color: #0b0f15 !important;
  border: 1px solid #e9eef5 !important;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .45) !important;
}
.primary:hover, .notify-pill:hover, .back-button:hover { background: #ffffff !important; }
.ghost, .small-btn, .small-link {
  background: #19212b !important; color: var(--color-text) !important; border: 1px solid rgba(216, 226, 238, .3) !important;
}
.register-mode-box { background: #0f161f !important; border-color: rgba(216, 226, 238, .3) !important; }
.register-mode-check input[type="checkbox"] { accent-color: #c9d1dc; }
.rank-badge, .notification-status-badge { background: #19212b !important; color: #e9eef5 !important; border-color: rgba(216, 226, 238, .5) !important; }
.qr-box { background: #fff !important; border-color: rgba(216, 226, 238, .5) !important; }
.nav-card,
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card {
  background: #111821 !important; color: var(--color-text) !important; border-color: rgba(216, 226, 238, .28) !important;
  box-shadow: 0 7px 20px rgba(0, 0, 0, .45) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card .nav-icon {
  color: #e9eef5 !important; background: #19212b !important; border-color: rgba(216, 226, 238, .5) !important;
}
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-card .nav-icon i { color: #e9eef5 !important; }
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text b { color: #f4f7fb !important; text-shadow: none !important; }
body:has(#memberView:not(.hidden)):not(.webview-active) .third-ultimate-menu .nav-text small { color: #9aa6b5 !important; }
.bottom-tab, .premium-bottom-tab { background: rgba(7, 9, 13, .96) !important; border-top-color: rgba(216, 226, 238, .25) !important; }
.bottom-tab-item.active, .recommended-cast-head a { color: #ffffff !important; }
#menuPanel { background: linear-gradient(180deg, #0b1118, #07090d) !important; border-left: 1px solid rgba(216, 226, 238, .35) !important; color: var(--color-text) !important; }
#menuPanel .menu-item, .menu-item { background: #111821 !important; color: var(--color-text) !important; border-color: rgba(216, 226, 238, .28) !important; box-shadow: none !important; }
#menuPanel .menu-item span, #menuPanel .menu-item i { color: #e9eef5 !important; }
#menuPanel .menu-item:hover, #menuPanel .menu-item:active { background: #19212b !important; }
.history-item, .log-item, .detail-row, .visit-input-block {
  background: #0f161f !important; color: var(--color-text) !important; border-color: rgba(216, 226, 238, .22) !important;
}
.history-item-body { color: #c3ccd7 !important; }
.modal-content { background: #111821 !important; color: var(--color-text) !important; border-color: rgba(216, 226, 238, .4) !important; }
.modal-body-text { color: #d6dde6 !important; }
.modal-close { background: #19212b !important; color: #e9eef5 !important; }
.standalone-member-card .member-card-point { background: #0f161f !important; border-color: rgba(216, 226, 238, .45) !important; }
.standalone-member-card .standalone-point-value, .points,
body:has(#memberView:not(.hidden)):not(.webview-active) .points { color: #f4f7fb !important; }
.pull-refresh-indicator { background: #19212b !important; color: #e9eef5 !important; }
a { color: #dfe6ee; }
html body .premium-bottom-tab .bottom-tab-item:not(.active),
html body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item:not(.active) {
  background: linear-gradient(180deg, #18202a, #0e141b) !important;
  border-color: rgba(216, 226, 238, .22) !important;
}
html body .premium-bottom-tab .bottom-tab-item:not(.active) span,
html body .premium-bottom-tab .bottom-tab-item:not(.active) small { color: #c9d1dc !important; }
.brand-text { text-shadow: 0 0 10px rgba(233, 238, 245, .25) !important; }
html body .premium-bottom-tab .bottom-tab-item:not(.active) *,
html body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab .bottom-tab-item:not(.active) * { color: #c9d1dc !important; }
html body .premium-bottom-tab,
html body:has(#memberView:not(.hidden)):not(.webview-active) .premium-bottom-tab {
  background: linear-gradient(180deg, #2a323d, #0b1016) !important;
  border-color: rgba(216, 226, 238, .3) !important;
}
/* admin & misc light panels → dark silver */
html body .push-extra-box,
html body .push-schedule-box,
html body .member-stat-row,
html body .unread-notification-toast,
html body .top-banner-empty,
html body .web-view-panel {
  background: #0f161f !important;
  color: var(--color-text) !important;
  border: 1px solid rgba(216, 226, 238, .25) !important;
}
html body .push-extra-box *, html body .push-schedule-box *, html body .member-stat-row *,
html body .unread-notification-toast * { color: inherit; }
html body .push-extra-box .muted, html body .push-extra-box small, html body .member-stat-row .muted { color: #b7c1cd !important; }
html body .checkbox-row, html body .checkbox-row span, html body .push-schedule-box label { color: var(--color-text) !important; }
html body .eyebrow { color: #aeb9c7 !important; }
html body .danger { background: #c2334d !important; color: #fff !important; }
html body select { background: #0b1118 !important; color: var(--color-text) !important; }
html body input[type="checkbox"], html body input[type="radio"] { accent-color: #c9d1dc; }
html body .muted { color: #a9b4c2 !important; }
/* admin list items (slides / recommended casts / scheduled pushes) */
html body .banner-admin-item,
html body .scheduled-push-item,
html body .notification-status-row,
html body .log-item,
html body .history-item {
  background: #0f161f !important;
  border-color: rgba(216, 226, 238, .25) !important;
  color: var(--color-text) !important;
}
html body .banner-admin-item label, html body .banner-admin-item span, html body .banner-admin-item strong,
html body .scheduled-push-item strong, html body .scheduled-push-item span { color: var(--color-text) !important; }
html body .banner-admin-body small, html body .scheduled-push-item small { color: #a9b4c2 !important; }
html body .banner-admin-item img { background: #19212b !important; }
