.hanzu-lucky-wrap{
  --hl-ink:#211b17;
  --hl-muted:#756b62;
  --hl-cream:#f8f3ea;
  --hl-paper:#fffdf9;
  --hl-line:#e9e0d5;
  --hl-coffee:#5b3b29;
  max-width:960px;
  margin:28px auto;
  padding:0 18px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:18px;
}
.hanzu-lucky-card,.hanzu-lucky-wallet{
  position:relative;
  overflow:hidden;
  background:var(--hl-paper);
  border:1px solid var(--hl-line);
  border-radius:28px;
  box-shadow:0 16px 45px rgba(40,28,18,.08);
}
.hanzu-lucky-card{
  padding:30px 28px 24px;
  text-align:center;
}
.hanzu-lucky-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:var(--hl-ink);
}
.hanzu-lucky-kicker{
  font-size:10px;
  letter-spacing:.24em;
  font-weight:800;
  color:var(--hl-muted);
}
.hanzu-lucky-card h1{
  margin:7px 0 7px;
  font-size:clamp(27px,4vw,38px);
  line-height:1.05;
  color:var(--hl-ink);
}
.hanzu-lucky-subtitle{
  margin:0 auto;
  max-width:470px;
  color:var(--hl-muted);
  font-size:14px;
  line-height:1.5;
}
.hanzu-lucky-wheel-wrap{
  width:min(350px,76vw);
  aspect-ratio:1;
  margin:22px auto 18px;
  position:relative;
}
.hanzu-lucky-wheel{
  width:100%;
  height:100%;
  border-radius:50%;
  border:7px solid var(--hl-ink);
  position:relative;
  overflow:hidden;
  background:
    conic-gradient(
      from -30deg,
      #eee5d8 0deg 60deg,
      #fffdf9 60deg 120deg,
      #eee5d8 120deg 180deg,
      #fffdf9 180deg 240deg,
      #eee5d8 240deg 300deg,
      #fffdf9 300deg 360deg
    );
  box-shadow:0 8px 0 rgba(33,27,23,.06),0 18px 32px rgba(33,27,23,.12);
  transition:transform 3.2s cubic-bezier(.12,.72,.12,1);
  will-change:transform;
}
.hanzu-lucky-segment{
  position:absolute;
  inset:0;
  transform:rotate(calc(var(--i) * 60deg));
  pointer-events:none;
}
.hanzu-lucky-segment:after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:50%;
  background:rgba(33,27,23,.12);
  transform:translateX(-50%);
}
.hanzu-lucky-segment span{
  position:absolute;
  left:50%;
  top:13%;
  width:92px;
  transform:translateX(-50%);
  color:var(--hl-ink);
  font-size:12px;
  line-height:1.1;
  font-weight:900;
  text-align:center;
  letter-spacing:.01em;
}
.hanzu-lucky-wheel-center{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:66px;
  height:66px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--hl-ink);
  border:5px solid var(--hl-paper);
  box-shadow:0 3px 12px rgba(33,27,23,.22);
  display:grid;
  place-items:center;
  font-size:25px;
}
.hanzu-lucky-pointer{
  position:absolute;
  z-index:5;
  left:50%;
  top:-4px;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  border-top:0;
  border-bottom:24px solid var(--hl-ink);
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));
}
.hanzu-lucky-spin-btn{
  min-width:150px;
  padding:13px 24px;
  border:0;
  border-radius:999px;
  background:var(--hl-ink);
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,opacity .18s ease;
}
.hanzu-lucky-spin-btn:hover:not(:disabled){transform:translateY(-2px)}
.hanzu-lucky-spin-btn:disabled{opacity:.45;cursor:not-allowed}
.hanzu-lucky-spin-btn.is-spinning{pointer-events:none}
.hanzu-spin-dot{
  display:inline-block;
  width:8px;height:8px;margin-right:7px;border-radius:50%;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  animation:hanzuLuckyDot .7s linear infinite;
}
@keyframes hanzuLuckyDot{to{transform:rotate(360deg)}}
.hanzu-lucky-spin-count{
  margin-top:10px;
  color:var(--hl-muted);
  font-size:12px;
}
.hanzu-lucky-result{
  margin:18px auto 0;
  padding:18px 18px 16px;
  max-width:430px;
  border:1px solid var(--hl-line);
  border-radius:20px;
  background:var(--hl-cream);
  animation:hanzuLuckyPop .35s ease-out;
}
@keyframes hanzuLuckyPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.hanzu-lucky-result-badge{
  font-size:10px;
  letter-spacing:.18em;
  font-weight:900;
  color:var(--hl-muted);
}
.hanzu-lucky-result-prize{
  margin:5px 0 4px;
  color:var(--hl-ink);
  font-size:25px;
  line-height:1.05;
  font-weight:950;
}
.hanzu-lucky-result-copy{
  color:var(--hl-muted);
  font-size:13px;
}
.hanzu-lucky-result-wallet{
  margin-top:9px;
  font-size:12px;
  font-weight:800;
}
.hanzu-lucky-wallet{
  padding:25px 23px;
}
.hanzu-lucky-wallet h2{
  margin:6px 0 18px;
  color:var(--hl-ink);
  font-size:25px;
}
.hanzu-reward-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-top:1px solid var(--hl-line);
}
.hanzu-reward-info{display:flex;align-items:center;gap:11px;min-width:0}
.hanzu-reward-icon{
  width:38px;height:38px;flex:0 0 38px;border-radius:12px;
  background:var(--hl-cream);display:grid;place-items:center;
  font-size:14px;font-weight:900;
}
.hanzu-reward-row strong{display:block;color:var(--hl-ink);font-size:14px}
.hanzu-reward-row small{display:block;margin-top:3px;color:var(--hl-muted);font-size:11px}
.hanzu-reward-row button{
  flex:0 0 auto;border:1px solid var(--hl-ink);background:transparent;color:var(--hl-ink);
  border-radius:999px;padding:8px 13px;font-size:10px;letter-spacing:.08em;font-weight:900;cursor:pointer;
}
.hanzu-reward-row button:hover{background:var(--hl-ink);color:#fff}
.hanzu-lucky-empty{color:var(--hl-muted);font-size:13px;line-height:1.5}
.hanzu-menu__reward-prompt{
  margin:14px 0;padding:14px 15px;border:1px solid var(--hl-line);border-radius:18px;background:var(--hl-cream);
}
.hanzu-menu__reward-head{display:flex;gap:10px;align-items:center}
.hanzu-menu__reward-gift{width:34px;height:34px;border-radius:11px;background:#fff;display:grid;place-items:center}
.hanzu-menu__reward-title{font-weight:900;color:var(--hl-ink)}
.hanzu-menu__reward-copy{margin-top:2px;font-size:12px;color:var(--hl-muted)}
.hanzu-menu__reward-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.hanzu-menu__reward-actions button{
  border:1px solid var(--hl-ink);background:#fff;color:var(--hl-ink);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;cursor:pointer;
}
.hanzu-menu__reward-actions button.is-muted{border-color:var(--hl-line);color:var(--hl-muted)}
@media(max-width:760px){
  .hanzu-lucky-wrap{grid-template-columns:1fr;max-width:560px}
  .hanzu-lucky-card{padding:25px 18px 22px}
  .hanzu-lucky-wallet{padding:22px 18px}
}
@media(max-width:420px){
  .hanzu-lucky-wheel-wrap{width:min(310px,78vw)}
  .hanzu-lucky-wheel{border-width:6px}
  .hanzu-lucky-segment span{top:12%;width:78px;font-size:10px}
  .hanzu-lucky-wheel-center{width:58px;height:58px;font-size:21px}
}

#hanzu-lucky-spin-root{display:block;width:100%;margin:0 0 18px}
#hanzu-lucky-spin-root[hidden]{display:none!important}
.hanzu-lucky-wrap--auto{max-width:100%;margin:0;padding:0;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}
.hanzu-lucky-auto-wallet-only{margin:0 0 18px;padding:16px;border:1px solid #e9e0d5;border-radius:18px;background:#fffdf9;box-shadow:0 8px 24px rgba(40,28,18,.06)}
.hanzu-lucky-wallet-inline{margin-top:10px}
@media(max-width:760px){.hanzu-lucky-wrap--auto{grid-template-columns:1fr}}


/* Mobile refinement: keep the wheel clear of the fixed Hanzu Kōhi order bar. */
.hanzu-lucky-auto-root{
  width:100%;
  box-sizing:border-box;
  clear:both;
}
.hanzu-lucky-wrap--auto{
  padding-bottom:36px;
}
@media(max-width:760px){
  .hanzu-lucky-wrap--auto{
    margin:14px auto 0;
    padding:0 10px 150px;
    gap:12px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-card{
    padding:21px 12px 18px;
    border-radius:20px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-card h1{
    font-size:23px;
    line-height:1.08;
    max-width:310px;
    margin-left:auto;
    margin-right:auto;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-subtitle{
    max-width:300px;
    font-size:12px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap{
    width:min(275px,76vw);
    margin:17px auto 14px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-segment span{
    top:9%;
    width:62px;
    font-size:9px;
    line-height:1.05;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-center{
    width:52px;
    height:52px;
    font-size:19px;
    border-width:4px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-pointer{
    border-left-width:10px;
    border-right-width:10px;
    border-bottom-width:21px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-spin-btn{
    min-width:170px;
    padding:12px 20px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wallet{
    padding:19px 14px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wallet h2{
    font-size:22px;
    margin-bottom:13px;
  }
}
@media(max-width:430px){
  .hanzu-lucky-wrap--auto{
    padding-left:8px;
    padding-right:8px;
    padding-bottom:165px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap{
    width:min(250px,72vw);
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-segment span{
    width:56px;
    font-size:8px;
  }
}


/* Final mobile polish */
.hanzu-lucky-spin-btn{
  background:#10233f !important;
  border-color:#10233f !important;
  color:#ffffff !important;
}
@media(max-width:760px){
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap{
    width:min(240px,68vw);
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel{
    border-width:6px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-center{
    width:50px;
    height:50px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-pointer{
    border-left-width:10px;
    border-right-width:10px;
    border-top-width:20px;
    border-bottom:0;
  }
}
@media(max-width:430px){
  .hanzu-lucky-wrap--auto{
    padding-bottom:155px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap{
    width:min(220px,64vw);
    margin-top:15px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-segment span{
    width:52px;
    font-size:8px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-center{
    width:48px;
    height:48px;
    font-size:18px;
  }
  .hanzu-lucky-wrap--auto .hanzu-lucky-pointer{
    border-left-width:9px;
    border-right-width:9px;
    border-top-width:19px;
  }
}


/* Final v0.3.0 UI polish — pointer + blue wallet */
.hanzu-lucky-wheel-wrap{
  overflow:visible !important;
}
.hanzu-lucky-pointer{
  top:-11px !important;
  width:0 !important;
  height:0 !important;
  border-left:14px solid transparent !important;
  border-right:14px solid transparent !important;
  border-top:30px solid #10233f !important;
  border-bottom:0 !important;
  z-index:20 !important;
  filter:drop-shadow(0 3px 3px rgba(16,35,63,.28)) !important;
}
.hanzu-lucky-wallet{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%) !important;
  border:1px solid #cbd7e5 !important;
  box-shadow:0 12px 32px rgba(16,35,63,.10) !important;
}
.hanzu-lucky-wallet h2{
  color:#10233f !important;
}
.hanzu-reward-row{
  border-top-color:#dbe3ec !important;
}
.hanzu-reward-icon{
  background:#10233f !important;
  color:#ffffff !important;
}
.hanzu-reward-row strong{
  color:#10233f !important;
}
.hanzu-reward-row button{
  background:#10233f !important;
  border-color:#10233f !important;
  color:#ffffff !important;
}
.hanzu-reward-row button:hover{
  background:#17365f !important;
  border-color:#17365f !important;
}
@media(max-width:760px){
  .hanzu-lucky-pointer{
    top:-9px !important;
    border-left-width:12px !important;
    border-right-width:12px !important;
    border-top-width:26px !important;
  }
}
@media(max-width:430px){
  .hanzu-lucky-pointer{
    top:-8px !important;
    border-left-width:10px !important;
    border-right-width:10px !important;
    border-top-width:23px !important;
  }
}

.hanzu-reward-row.is-selected{
  border-color:#10233f !important;
  background:#f4f8fc !important;
}
.hanzu-reward-row button:disabled{
  opacity:1 !important;
  background:#10233f !important;
  color:#fff !important;
  cursor:default !important;
}
.hanzu-reward-selected-note{
  display:block;
  margin-top:3px;
  color:#10233f;
  font-size:10px;
  font-weight:800;
}

.hanzu-reward-auto{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#10233f;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.hanzu-reward-auto-note{
  display:block !important;
  margin-top:3px;
  color:#10233f !important;
  font-size:10px !important;
  font-weight:700 !important;
}


/* Front-end Lucky Spin admin */
.hanzu-ls-front-admin{max-width:1050px;margin:30px auto;padding:0 18px;box-sizing:border-box;color:#10233f}
.hanzu-ls-front-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:20px}
.hanzu-ls-front-head h1{margin:6px 0 7px;font-size:clamp(26px,4vw,38px);line-height:1.05}
.hanzu-ls-front-head p{margin:0;max-width:700px;color:#756b62;font-size:14px;line-height:1.5}
.hanzu-ls-front-total{min-width:145px;padding:14px 16px;border:1px solid #cbd7e5;border-radius:17px;background:#f5f8fc;text-align:center}
.hanzu-ls-front-total span{display:block;font-size:9px;letter-spacing:.16em;font-weight:900;color:#756b62}
.hanzu-ls-front-total strong{display:block;margin-top:4px;font-size:25px}
.hanzu-ls-front-notice{margin:0 0 14px;padding:12px 14px;border-radius:13px;font-size:13px}
.hanzu-ls-front-notice.is-success{background:#eef6f0;color:#173b25}
.hanzu-ls-front-notice.is-error{background:#fff0ee;color:#7b241b}
.hanzu-ls-front-row{margin-bottom:12px;padding:17px;border:1px solid #d9e1ea;border-radius:19px;background:#fffdf9;box-shadow:0 7px 22px rgba(16,35,63,.05)}
.hanzu-ls-front-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.hanzu-ls-front-active{display:flex;align-items:center;gap:8px;color:#756b62;font-size:12px;font-weight:800}
.hanzu-ls-front-active input{display:none}
.hanzu-ls-front-active span{width:36px;height:20px;border-radius:999px;background:#d5cec4;position:relative;display:inline-block}
.hanzu-ls-front-active span:after{content:"";position:absolute;width:16px;height:16px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.18s}
.hanzu-ls-front-active input:checked+span{background:#10233f}.hanzu-ls-front-active input:checked+span:after{left:18px}
.hanzu-ls-front-remove{border:0;background:transparent;color:#8c8074;font-size:24px;line-height:1;cursor:pointer}
.hanzu-ls-front-grid{display:grid;grid-template-columns:1.3fr 1fr .75fr .75fr .7fr;gap:10px;align-items:end}
.hanzu-ls-front-grid label span,.hanzu-ls-front-percent span,.hanzu-ls-front-desc span{display:block;margin-bottom:6px;font-size:10px;letter-spacing:.04em;font-weight:800;color:#756b62}
.hanzu-ls-front-grid input,.hanzu-ls-front-grid select,.hanzu-ls-front-desc input{width:100%;min-height:43px;padding:9px 10px;border:1px solid #d5dde6;border-radius:10px;background:#fff;color:#10233f;box-sizing:border-box;font:inherit}
.hanzu-ls-front-percent{min-height:43px;padding:8px 10px;border-radius:10px;background:#edf3f9;box-sizing:border-box}
.hanzu-ls-front-percent strong{font-size:17px}
.hanzu-ls-front-desc{display:block;margin-top:10px}
.hanzu-ls-front-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.hanzu-ls-front-add,.hanzu-ls-front-save{border-radius:999px;padding:12px 19px;font-size:11px;letter-spacing:.08em;font-weight:900;cursor:pointer}
.hanzu-ls-front-add{border:1px solid #10233f;background:#fff;color:#10233f}
.hanzu-ls-front-save{border:1px solid #10233f;background:#10233f;color:#fff}
@media(max-width:760px){
  .hanzu-ls-front-head{display:block}.hanzu-ls-front-total{margin-top:15px}
  .hanzu-ls-front-grid{grid-template-columns:1fr 1fr}.hanzu-ls-front-percent{grid-column:1/-1}
}
@media(max-width:430px){
  .hanzu-ls-front-admin{padding:0 12px}.hanzu-ls-front-grid{grid-template-columns:1fr}.hanzu-ls-front-percent{grid-column:auto}
  .hanzu-ls-front-actions{flex-direction:column}.hanzu-ls-front-add,.hanzu-ls-front-save{width:100%}
}


/* v0.3.0 final admin + dynamic wheel polish */
.hanzu-ls-front-admin,
.hanzu-ls-admin{
  max-width:1050px !important;
  margin:30px auto !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  color:#10233f !important;
  font-family:inherit !important;
}
.hanzu-ls-front-admin .hanzu-ls-front-head,
.hanzu-ls-admin .hanzu-ls-admin-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:22px !important;
  margin-bottom:20px !important;
}
.hanzu-ls-front-admin h1,
.hanzu-ls-admin h1{
  margin:6px 0 7px !important;
  font-size:clamp(26px,4vw,38px) !important;
  line-height:1.05 !important;
  color:#10233f !important;
}
.hanzu-ls-front-admin p,
.hanzu-ls-admin p{
  margin:0 !important;
  color:#756b62 !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.hanzu-ls-front-row,
.hanzu-ls-admin-row{
  display:block !important;
  margin:0 0 12px !important;
  padding:17px !important;
  border:1px solid #d7e0ea !important;
  border-radius:18px !important;
  background:#fffdf9 !important;
  box-shadow:0 7px 22px rgba(16,35,63,.06) !important;
  box-sizing:border-box !important;
}
.hanzu-ls-front-grid,
.hanzu-ls-admin-grid{
  display:grid !important;
  grid-template-columns:1.3fr 1fr .75fr .75fr .7fr !important;
  gap:10px !important;
  align-items:end !important;
}
.hanzu-ls-front-grid label,
.hanzu-ls-admin-grid label{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
}
.hanzu-ls-front-grid label span,
.hanzu-ls-admin-grid label span,
.hanzu-ls-front-percent span,
.hanzu-ls-admin-percent span,
.hanzu-ls-front-desc span,
.hanzu-ls-admin-description span{
  display:block !important;
  margin:0 0 6px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#756b62 !important;
}
.hanzu-ls-front-grid input,
.hanzu-ls-front-grid select,
.hanzu-ls-admin-grid input,
.hanzu-ls-admin-grid select,
.hanzu-ls-front-desc input,
.hanzu-ls-admin-description input{
  display:block !important;
  width:100% !important;
  min-height:43px !important;
  margin:0 !important;
  padding:9px 10px !important;
  border:1px solid #cbd7e5 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#10233f !important;
  box-sizing:border-box !important;
  font:inherit !important;
  font-size:14px !important;
  line-height:1.2 !important;
}
.hanzu-ls-front-percent,
.hanzu-ls-admin-percent{
  min-height:43px !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  background:#edf3f9 !important;
  box-sizing:border-box !important;
}
.hanzu-ls-front-percent strong,
.hanzu-ls-admin-percent strong{
  display:block !important;
  font-size:17px !important;
  line-height:1.2 !important;
  color:#10233f !important;
}
.hanzu-ls-front-desc,
.hanzu-ls-admin-description{
  display:block !important;
  margin-top:10px !important;
}
.hanzu-ls-front-actions,
.hanzu-ls-admin-actions{
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-top:18px !important;
}
.hanzu-ls-front-add,
.hanzu-ls-front-save,
.hanzu-ls-admin-add,
.hanzu-ls-admin-save{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:43px !important;
  padding:11px 19px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
}
.hanzu-ls-front-add,
.hanzu-ls-admin-add{
  border:1px solid #10233f !important;
  background:#fff !important;
  color:#10233f !important;
}
.hanzu-ls-front-save,
.hanzu-ls-admin-save{
  border:1px solid #10233f !important;
  background:#10233f !important;
  color:#fff !important;
}
.hanzu-ls-front-remove,
.hanzu-ls-admin-remove{
  border:0 !important;
  background:transparent !important;
  color:#8c8074 !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.hanzu-ls-front-active,
.hanzu-ls-admin-toggle{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#756b62 !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.hanzu-ls-front-total,
.hanzu-ls-admin-total{
  min-width:145px !important;
  padding:14px 16px !important;
  border:1px solid #cbd7e5 !important;
  border-radius:17px !important;
  background:#f5f8fc !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.hanzu-ls-front-total span,
.hanzu-ls-admin-total span{
  display:block !important;
  font-size:9px !important;
  letter-spacing:.16em !important;
  font-weight:900 !important;
  color:#756b62 !important;
}
.hanzu-ls-front-total strong,
.hanzu-ls-admin-total strong{
  display:block !important;
  margin-top:4px !important;
  font-size:25px !important;
  color:#10233f !important;
}

/* Dynamic wheel: every active prize now gets its correct slice. */
.hanzu-lucky-wheel{
  --slice:calc(360deg / var(--segment-count, 1)) !important;
}
.hanzu-lucky-segment{
  transform:rotate(calc(var(--i) * var(--slice))) !important;
}
.hanzu-lucky-segment span{
  top:8% !important;
  width:clamp(58px,24%,105px) !important;
  font-size:clamp(8px,1.15vw,12px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  color:#10233f !important;
  text-align:center !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.hanzu-lucky-pointer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media(max-width:760px){
  .hanzu-ls-front-head,
  .hanzu-ls-admin-head{display:block !important}
  .hanzu-ls-front-total,
  .hanzu-ls-admin-total{margin-top:15px !important}
  .hanzu-ls-front-grid,
  .hanzu-ls-admin-grid{grid-template-columns:1fr 1fr !important}
  .hanzu-ls-front-percent,
  .hanzu-ls-admin-percent{grid-column:1/-1 !important}
}
@media(max-width:430px){
  .hanzu-ls-front-admin,
  .hanzu-ls-admin{padding:0 12px !important}
  .hanzu-ls-front-grid,
  .hanzu-ls-admin-grid{grid-template-columns:1fr !important}
  .hanzu-ls-front-percent,
  .hanzu-ls-admin-percent{grid-column:auto !important}
  .hanzu-ls-front-actions,
  .hanzu-ls-admin-actions{flex-direction:column !important}
  .hanzu-ls-front-add,
  .hanzu-ls-front-save,
  .hanzu-ls-admin-add,
  .hanzu-ls-admin-save{width:100% !important}
  .hanzu-lucky-segment span{width:52px !important;font-size:8px !important}
}


/* Final wheel cleanup: remove thin radial divider lines */
.hanzu-lucky-wheel .hanzu-lucky-segment::after{
  display:none !important;
}


/* Hanzu Kōhi wheel refresh — dynamic 6/7/8/9+ prize layouts */
.hanzu-lucky-wheel-wrap{
  width:min(350px,78vw) !important;
  aspect-ratio:1 !important;
  margin:24px auto 20px !important;
  position:relative !important;
  overflow:visible !important;
}
.hanzu-lucky-wheel{
  width:100% !important;
  height:100% !important;
  box-sizing:border-box !important;
  border:7px solid #10233f !important;
  border-radius:50% !important;
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
  background:
    repeating-conic-gradient(
      from calc(var(--slice) * -0.5),
      #f2eadc 0 var(--slice),
      #fffdf9 var(--slice) calc(var(--slice) * 2)
    ) !important;
  box-shadow:
    0 4px 0 rgba(16,35,63,.08),
    0 14px 28px rgba(16,35,63,.12) !important;
}
.hanzu-lucky-wheel::before{
  content:"" !important;
  position:absolute !important;
  inset:9px !important;
  border:1px solid rgba(16,35,63,.12) !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.hanzu-lucky-segment{
  position:absolute !important;
  inset:0 !important;
  transform:rotate(calc(var(--i) * var(--slice))) !important;
  pointer-events:none !important;
}
.hanzu-lucky-segment::after{
  display:none !important;
}
.hanzu-lucky-segment span{
  position:absolute !important;
  left:50% !important;
  top:11% !important;
  width:min(86px,25%) !important;
  margin:0 !important;
  padding:4px 5px !important;
  box-sizing:border-box !important;
  transform:translateX(-50%) rotate(calc(var(--i) * var(--slice) * -1)) !important;
  transform-origin:center !important;
  color:#10233f !important;
  background:rgba(255,253,249,.72) !important;
  border-radius:7px !important;
  font-family:inherit !important;
  font-size:clamp(8px,1.05vw,11px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  text-shadow:none !important;
}
.hanzu-lucky-wheel-center{
  width:62px !important;
  height:62px !important;
  background:#10233f !important;
  border:5px solid #fffdf9 !important;
  box-shadow:0 5px 14px rgba(16,35,63,.22) !important;
  z-index:8 !important;
}
.hanzu-lucky-wheel-center span{
  filter:grayscale(.05) !important;
  font-size:23px !important;
}
.hanzu-lucky-pointer{
  top:-13px !important;
  border-left:13px solid transparent !important;
  border-right:13px solid transparent !important;
  border-top:29px solid #10233f !important;
  border-bottom:0 !important;
  z-index:20 !important;
}
.hanzu-lucky-spin-btn{
  background:#10233f !important;
  border-color:#10233f !important;
  box-shadow:none !important;
}

/* More prizes = tighter, smaller labels automatically */
@media (min-width:761px){
  .hanzu-lucky-wheel[style*="--segment-count:8"] .hanzu-lucky-segment span,
  .hanzu-lucky-wheel[style*="--segment-count:9"] .hanzu-lucky-segment span,
  .hanzu-lucky-wheel[style*="--segment-count:10"] .hanzu-lucky-segment span,
  .hanzu-lucky-wheel[style*="--segment-count:11"] .hanzu-lucky-segment span,
  .hanzu-lucky-wheel[style*="--segment-count:12"] .hanzu-lucky-segment span{
    width:min(72px,22%) !important;
    top:10% !important;
    font-size:9px !important;
    padding:3px 4px !important;
  }
}
@media(max-width:760px){
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap,
  .hanzu-lucky-wheel-wrap{
    width:min(255px,70vw) !important;
    margin:17px auto 16px !important;
  }
  .hanzu-lucky-wheel{
    border-width:6px !important;
  }
  .hanzu-lucky-segment span{
    top:10% !important;
    width:min(62px,23%) !important;
    font-size:8px !important;
    padding:3px 3px !important;
  }
  .hanzu-lucky-wheel-center{
    width:51px !important;
    height:51px !important;
    border-width:4px !important;
  }
  .hanzu-lucky-pointer{
    top:-10px !important;
    border-left-width:11px !important;
    border-right-width:11px !important;
    border-top-width:24px !important;
  }
}
@media(max-width:430px){
  .hanzu-lucky-wrap--auto .hanzu-lucky-wheel-wrap,
  .hanzu-lucky-wheel-wrap{
    width:min(225px,64vw) !important;
  }
  .hanzu-lucky-segment span{
    width:min(54px,23%) !important;
    font-size:7.5px !important;
    padding:2px !important;
  }
  .hanzu-lucky-wheel-center{
    width:47px !important;
    height:47px !important;
  }
}


/* Reward expiry setting */
.hanzu-ls-front-settings{
  margin:0 0 16px;
  padding:16px 18px;
  border:1px solid #cbd7e5;
  border-radius:17px;
  background:#f5f8fc;
  color:#10233f;
}
.hanzu-ls-front-settings label{display:block;margin:0}
.hanzu-ls-front-settings span{
  display:block;
  margin-bottom:5px;
  font-size:9px;
  letter-spacing:.14em;
  font-weight:900;
  color:#756b62;
}
.hanzu-ls-front-settings strong{
  display:block;
  margin-bottom:9px;
  font-size:16px;
}
.hanzu-ls-front-expiry-control{
  display:flex;
  align-items:center;
  gap:9px;
}
.hanzu-ls-front-expiry-control input{
  width:90px !important;
  min-height:42px !important;
  padding:8px 10px !important;
  border:1px solid #cbd7e5 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#10233f !important;
  font:inherit !important;
  box-sizing:border-box !important;
}
.hanzu-ls-front-expiry-control em{
  font-style:normal;
  color:#756b62;
  font-size:13px;
}
.hanzu-ls-front-settings small{
  display:block;
  margin-top:7px;
  color:#756b62;
  font-size:11px;
}

.hanzu-lucky-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.hanzu-lucky-result-actions button{border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}.hanzu-lucky-use-now{background:#111;color:#fff}.hanzu-lucky-save-later{background:#f3efe8;color:#111}.hanzu-ls-wallet-credit-admin{margin:24px 0;padding:20px;border:1px solid #ddd;border-radius:14px;background:#fff}.hanzu-ls-wallet-credit-admin h2{margin:0 0 8px}.hanzu-ls-wallet-credit-admin form{margin-top:14px}.hanzu-ls-wallet-credit-admin .hanzu-ls-front-grid{margin-bottom:14px}
