/* =====================================================================
   Point Pocket / poiverse - リデザイン共通バンドル
   Tone: Orange -> Gold / お得・気軽・少しプレミアム
   Scope: リデザイン済みページ（/poiverse, /mypage, /campaigns, /daily ...）で
          のみ読み込む。.poiverse-page 配下のみが対象で、他ページには影響しない。
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Sans+JP:wght@400;500;700&display=swap');

.poiverse-page,
.poiverse-root {
  --pv-orange:      #F5821F;
  --pv-orange-600:  #E26F0C;
  --pv-orange-700:  #C75F08;
  --pv-gold:        #E9AC42;
  --pv-gold-600:    #D5972C;
  --pv-grad:        linear-gradient(102deg, #F5821F 0%, #F39A24 48%, #ECBB55 100%);
  --pv-grad-soft:   linear-gradient(102deg, #FFF1DF 0%, #FFE8CB 100%);
  --pv-bg:          #FBF6EF;
  --pv-surface:     #FFFFFF;
  --pv-cream:       #FFF6EA;
  --pv-cream-2:     #FFF0DC;
  --pv-ink:         #2B2E39;
  --pv-text:        #353841;
  --pv-text-soft:   #7B7468;
  --pv-text-mute:   #A49A8B;
  --pv-line:        #EFE6D8;
  --pv-line-strong: #E6D8C4;
  --pv-r-sm: 10px;
  --pv-r:    16px;
  --pv-r-lg: 22px;
  --pv-r-pill: 999px;
  --pv-shadow-sm: 0 1px 2px rgba(74,52,20,.06), 0 2px 6px rgba(74,52,20,.05);
  --pv-shadow:    0 6px 18px rgba(120,79,20,.08), 0 2px 6px rgba(120,79,20,.05);
  --pv-shadow-lg: 0 18px 44px rgba(120,79,20,.14);
  --pv-glow:      0 8px 22px rgba(232,140,32,.32);
  --pv-maxw: 1080px;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: var(--pv-text);
  background: var(--pv-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.poiverse-page *, .poiverse-page *::before, .poiverse-page *::after { box-sizing: border-box; }
.poiverse-page img { max-width: 100%; display: block; }
.poiverse-page a { color: inherit; text-decoration: none; }
.poiverse-num { font-feature-settings: "tnum" 1; letter-spacing: .01em; }
.poiverse-container { width: 100%; max-width: var(--pv-maxw); margin-inline: auto; padding-inline: 20px; }

/* リデザインページを全幅表示にする（背景/ヘッダー/フッターは画面いっぱい、
   内側コンテンツは --pv-maxw=1080px で中央寄せ）。
   ブロックテーマの「コンテンツ幅」変数そのものを上書きする正攻法（テーマ純正の仕組みを利用）。
   これによりテーマの中央寄せを壊さずに幅制約だけを解除できる。 */
body.poiverse-front {
  --wp--style--global--content-size: 100% !important;
  --wp--style--global--wide-size: 100% !important;
  --wp--style--root--padding-left: 0px !important;
  --wp--style--root--padding-right: 0px !important;
}
/* 変数を見ない（直接 max-width 指定の）テーマ向けの保険 */
body.poiverse-front .wp-site-blocks > main,
body.poiverse-front .wp-site-blocks main .wp-block-group,
body.poiverse-front .wp-site-blocks .entry-content,
body.poiverse-front .wp-site-blocks .wp-block-post-content,
body.poiverse-front .wp-site-blocks .is-layout-constrained,
body.poiverse-front .wp-site-blocks .is-layout-flow,
body.poiverse-front .poiverse-page { max-width: none !important; }
body.poiverse-front .poiverse-page { width: 100%; }

/* テーマが post-content 周りに付ける上下余白を除去（フッターの浮き／ヘッダー上の隙間対策）。
   これらはインライン style（var(--wp--preset--spacing--60)）なので !important で打ち消す。 */
body.poiverse-front .wp-site-blocks > main {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.poiverse-front .wp-site-blocks > main > .wp-block-group {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== Header / Nav ===== */
.poiverse-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.86); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid var(--pv-line); }
.poiverse-header__inner { max-width: var(--pv-maxw); margin-inline: auto; padding: 12px 20px; display: flex; align-items: center; gap: 18px; flex-wrap: nowrap; }
.poiverse-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; font-size: 20px; letter-spacing: .01em; color: var(--pv-ink); white-space: nowrap; }
.poiverse-brand__mark { width: 30px; height: 30px; border-radius: 9px; background: var(--pv-grad); color: #fff; display: grid; place-items: center; font-size: 17px; font-weight: 900; box-shadow: var(--pv-glow); }
.poiverse-nav { display: flex; align-items: center; gap: 4px 6px; flex-wrap: nowrap; margin-left: auto; }
.poiverse-nav a { position: relative; padding: 8px 12px; border-radius: var(--pv-r-pill); font-size: 14px; font-weight: 500; color: var(--pv-text); white-space: nowrap; transition: background-color .15s, color .15s; }
.poiverse-nav a:hover { background: var(--pv-cream); color: var(--pv-orange-700); }
.poiverse-nav a.is-active { color: var(--pv-orange-700); }
.poiverse-nav a.is-active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; border-radius: 2px; background: var(--pv-grad); }
.poiverse-nav .poiverse-logout, .poiverse-btn--logout { background: var(--pv-grad); color: #fff !important; font-weight: 700; padding: 9px 16px; border-radius: var(--pv-r-pill); box-shadow: var(--pv-glow); }
.poiverse-nav .poiverse-logout:hover { filter: brightness(1.03); }
/* ハンバーガートグルはデスクトップでは非表示（≤720px でのみ表示） */
.poiverse-navtoggle { display: none; }

/* ===== Main layout ===== */
.poiverse-main { max-width: var(--pv-maxw); margin-inline: auto; padding: 26px 20px 64px; display: flex; flex-direction: column; gap: 30px; }
.poiverse-section__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 16px; }
.poiverse-section__title { font-size: 22px; font-weight: 900; letter-spacing: .01em; color: var(--pv-ink); position: relative; padding-left: 16px; }
.poiverse-section__title::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 6px; height: 1.05em; border-radius: 3px; background: var(--pv-grad); }
.poiverse-section__more { margin-left: auto; }

/* ===== Carousel ===== */
.poiverse-carousel { position: relative; border-radius: var(--pv-r-lg); overflow: hidden; background: var(--pv-surface); box-shadow: var(--pv-shadow); border: 1px solid var(--pv-line); }
.poiverse-carousel__track { display: flex; scroll-snap-type: x mandatory; overflow-x: auto; scrollbar-width: none; }
.poiverse-carousel__track::-webkit-scrollbar { display: none; }
.poiverse-slide { position: relative; flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 1040 / 360; display: block; overflow: hidden; }
.poiverse-slide > img { width: 100%; height: 100%; object-fit: cover; }
.poiverse-slide--promo { display: grid; place-items: center; text-align: center; color: #fff; background: radial-gradient(120% 140% at 0% 0%, #FFB24D 0%, #F5821F 42%, #C75F08 100%); }
.poiverse-slide--gold { background: radial-gradient(120% 150% at 100% 0%, #F7D58C 0%, #E9AC42 40%, #B97E18 100%); }
.poiverse-slide__inner { padding: 6%; }
.poiverse-slide--promo .poiverse-slide__eyebrow, .poiverse-slide--promo .poiverse-slide__title, .poiverse-slide--promo .poiverse-slide__sub { color: #fff; }
.poiverse-slide__eyebrow { display: inline-block; font-size: clamp(11px,1.4vw,14px); font-weight: 700; letter-spacing: .14em; padding: 5px 12px; border-radius: var(--pv-r-pill); background: rgba(255,255,255,.22); margin-bottom: 14px; }
.poiverse-slide__title { font-size: clamp(26px,5.2vw,52px); font-weight: 900; line-height: 1.1; letter-spacing: .02em; text-shadow: 0 2px 18px rgba(120,60,0,.28); }
.poiverse-slide__sub { margin-top: 12px; font-size: clamp(12px,1.8vw,17px); font-weight: 500; opacity: .96; }
.poiverse-carousel__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: none; cursor: pointer; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--pv-orange-700); box-shadow: var(--pv-shadow-sm); display: grid; place-items: center; font-size: 18px; z-index: 3; transition: background-color .15s, transform .15s; }
.poiverse-carousel__btn:hover { background: #fff; }
.poiverse-carousel__btn--prev { left: 14px; }
.poiverse-carousel__btn--next { right: 14px; }
.poiverse-carousel__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 8px; z-index: 3; }
.poiverse-carousel__dots button { width: 9px; height: 9px; padding: 0; border: none; cursor: pointer; border-radius: 50%; background: rgba(255,255,255,.55); transition: width .2s, background-color .2s; }
.poiverse-carousel__dots button.is-active { width: 26px; border-radius: 5px; background: #fff; }

/* ===== Welcome ===== */
.poiverse-welcome { position: relative; border-radius: var(--pv-r-lg); padding: 22px 24px 24px; background: linear-gradient(180deg, #FFFFFF 0%, #FFFCF7 100%); border: 1px solid var(--pv-line); box-shadow: var(--pv-shadow); overflow: hidden; }
.poiverse-welcome::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--pv-grad); }
.poiverse-welcome__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.poiverse-welcome__greet { font-size: 17px; font-weight: 700; color: var(--pv-ink); }
.poiverse-welcome__greet b { color: var(--pv-orange-700); }
.poiverse-welcome__link { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--pv-orange-700); display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--pv-r-pill); transition: background-color .15s; }
.poiverse-welcome__link:hover { background: var(--pv-cream); }
.poiverse-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.poiverse-stat { position: relative; border-radius: var(--pv-r); padding: 16px 18px; background: var(--pv-cream); border: 1px solid var(--pv-line-strong); }
.poiverse-stat--primary { background: var(--pv-grad); border-color: transparent; box-shadow: var(--pv-glow); }
.poiverse-stat--primary .poiverse-stat__label { color: rgba(255,255,255,.92); }
.poiverse-stat--primary .poiverse-stat__value { color: #fff; }
.poiverse-stat--primary .poiverse-stat__unit { color: rgba(255,255,255,.9); }
.poiverse-stat__label { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--pv-text-soft); letter-spacing: .02em; margin-bottom: 6px; }
.poiverse-stat__value { font-size: 30px; font-weight: 900; line-height: 1; color: var(--pv-orange-700); }
.poiverse-stat__unit { font-size: 14px; font-weight: 700; color: var(--pv-text-soft); margin-left: 3px; }
.poiverse-stat__icon { width: 18px; height: 18px; flex: none; opacity: .9; }
.poiverse-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.poiverse-chip { font-size: 13px; font-weight: 700; padding: 9px 16px; border-radius: var(--pv-r-pill); background: #fff; border: 1px solid var(--pv-line-strong); color: var(--pv-text); transition: border-color .15s, color .15s, transform .12s, box-shadow .15s; }
.poiverse-chip:hover { color: var(--pv-orange-700); border-color: var(--pv-gold); box-shadow: var(--pv-shadow-sm); transform: translateY(-1px); }

/* ===== Lottery cards (top) ===== */
.poiverse-lottery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.poiverse-lottery-card { position: relative; display: flex; flex-direction: column; border-radius: var(--pv-r-lg); background: var(--pv-surface); border: 1px solid var(--pv-line); box-shadow: var(--pv-shadow); overflow: hidden; transition: transform .14s, box-shadow .14s; }
.poiverse-lottery-card:hover { transform: translateY(-3px); box-shadow: var(--pv-shadow-lg); }
.poiverse-lottery-card__media { aspect-ratio: 16 / 9; background: repeating-linear-gradient(135deg, #FFF1DF 0 14px, #FFE8CB 14px 28px); position: relative; display: grid; place-items: center; }
.poiverse-lottery-card__media .poiverse-ph-note { font: 600 12px/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; color: var(--pv-text-mute); letter-spacing: .04em; }
.poiverse-lottery-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.poiverse-lottery-card__title { font-size: 19px; font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; }
.poiverse-tag { align-self: flex-start; margin-top: 8px; font-size: 12px; font-weight: 700; padding: 4px 11px; border-radius: var(--pv-r-pill); color: var(--pv-orange-700); background: var(--pv-cream-2); border: 1px solid var(--pv-line-strong); }
.poiverse-lottery-card__desc { margin-top: 12px; font-size: 14px; color: var(--pv-text-soft); font-weight: 500; }
.poiverse-lottery-card__meta { margin-top: 10px; font-size: 12.5px; color: var(--pv-text-mute); font-weight: 500; }
.poiverse-countdown { margin-top: 12px; display: inline-flex; align-items: baseline; gap: 8px; font-size: 14px; font-weight: 700; color: var(--pv-text); white-space: nowrap; }
.poiverse-countdown__time { font-size: 20px; font-weight: 900; color: var(--pv-orange-700); white-space: nowrap; }
.poiverse-countdown--urgent .poiverse-countdown__time { color: #D6422B; }
.poiverse-lottery-card__foot { margin-top: 16px; }
.poiverse-note { margin-top: 10px; font-size: 12.5px; color: var(--pv-text-mute); }

/* ===== Buttons ===== */
.poiverse-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; font-family: inherit; font-size: 15px; font-weight: 700; padding: 12px 22px; border-radius: var(--pv-r-pill); border: 1px solid transparent; cursor: pointer; transition: filter .15s, background-color .15s, color .15s, box-shadow .15s, transform .12s; }
.poiverse-btn--primary { background: var(--pv-grad); color: #fff; box-shadow: var(--pv-glow); }
.poiverse-btn--primary:hover { filter: brightness(1.04); transform: translateY(-1px); }
.poiverse-btn--ghost { background: #fff; color: var(--pv-orange-700); border-color: var(--pv-gold); }
.poiverse-btn--ghost:hover { background: var(--pv-cream); }
.poiverse-btn--block { width: 100%; }
.poiverse-btn:disabled, .poiverse-btn.is-applied { background: #F0E7D9; color: var(--pv-text-mute); box-shadow: none; cursor: default; border-color: transparent; }
.poiverse-btn.is-applied { transform: none; }
.poiverse-lottery__more { margin-top: 22px; display: flex; justify-content: center; }

/* ===== Steps ===== */
/* 旧 poiverse.css の .poiverse-steps{display:grid} を打ち消す（リデザインでは見出し＋格子の外枠）。 */
.poiverse-steps { text-align: center; display: block; }
.poiverse-steps__title { font-size: 22px; font-weight: 900; color: var(--pv-ink); margin-bottom: 24px; }
.poiverse-steps__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: pv-step; }
.poiverse-step { position: relative; text-align: center; padding: 34px 22px 26px; border-radius: var(--pv-r-lg); background: var(--pv-surface); border: 1px solid var(--pv-line); box-shadow: var(--pv-shadow); }
.poiverse-step__num { width: 46px; height: 46px; margin: 0 auto 14px; border-radius: 50%; background: var(--pv-grad); color: #fff; font-size: 20px; font-weight: 900; display: grid; place-items: center; box-shadow: var(--pv-glow); }
.poiverse-step__title { font-size: 17px; font-weight: 900; color: var(--pv-ink); margin-bottom: 8px; }
.poiverse-step__desc { font-size: 13.5px; line-height: 1.7; color: var(--pv-text-soft); font-weight: 500; text-wrap: pretty; }
.poiverse-step:not(:last-child)::after { content: ""; position: absolute; top: 56px; right: -9px; width: 18px; height: 2px; background: var(--pv-line-strong); z-index: 1; }

/* ===== Footer ===== */
.poiverse-footer { background: var(--pv-ink); color: #C9CCD6; margin-top: 0; padding: 0; }
.poiverse-footer__inner { max-width: var(--pv-maxw); margin-inline: auto; padding: 34px 20px 30px; }
.poiverse-footer__brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 900; font-size: 16px; color: #fff; margin-bottom: 16px; }
.poiverse-footer__brand .poiverse-brand__mark { width: 24px; height: 24px; font-size: 14px; border-radius: 7px; }
.poiverse-footer__links { display: flex; flex-wrap: wrap; gap: 12px 26px; font-size: 13.5px; padding: 0; margin: 0; list-style: none; }
.poiverse-footer__links a { color: #C9CCD6; transition: color .15s; }
.poiverse-footer__links a:hover { color: #fff; }
.poiverse-footer__copy { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; color: #8A8F9E; }

/* ===== Top responsive ===== */
@media (max-width: 920px) {
  .poiverse-steps__grid { grid-template-columns: 1fr; gap: 14px; }
  .poiverse-step:not(:last-child)::after { display: none; }
}
@media (max-width: 720px) {
  .poiverse-header__inner { padding: 10px 16px; gap: 10px; }
  .poiverse-brand { font-size: 18px; }
  .poiverse-nav { width: 100%; margin-left: 0; gap: 4px; }
  .poiverse-nav a { padding: 7px 10px; font-size: 13px; }
  .poiverse-main { padding: 18px 16px 48px; gap: 22px; }
  .poiverse-container { padding-inline: 16px; }
  .poiverse-section__title { font-size: 19px; }
  .poiverse-welcome { padding: 18px 16px 20px; }
  .poiverse-welcome__head { flex-wrap: wrap; gap: 8px; }
  .poiverse-welcome__link { margin-left: auto; }
  .poiverse-stats { grid-template-columns: 1fr; gap: 12px; }
  .poiverse-stat { display: flex; align-items: center; justify-content: space-between; }
  .poiverse-stat__label { margin-bottom: 0; }
  .poiverse-stat__value { font-size: 26px; }
  .poiverse-lottery__grid { grid-template-columns: 1fr; }
  .poiverse-steps__title { font-size: 19px; }
  .poiverse-carousel__btn { width: 34px; height: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .poiverse-page * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ===== MY PAGE ===== */
.poiverse-pagetitle { max-width: var(--pv-maxw); margin: 26px auto 4px; padding-inline: 20px; font-size: 30px; font-weight: 900; letter-spacing: .02em; color: var(--pv-ink); display: flex; align-items: center; gap: 12px; }
.poiverse-pagetitle::before { content: ""; width: 8px; height: 1.05em; border-radius: 4px; background: var(--pv-grad); }
/* 旧 poiverse.css の .poiverse-card{max-width:560px;margin:1.5rem auto} を打ち消し、
   全カードを .poiverse-main の幅いっぱい（最大1080px）に統一する。 */
.poiverse-card { background: var(--pv-surface); border: 1px solid var(--pv-line); border-radius: var(--pv-r-lg); box-shadow: var(--pv-shadow); padding: 24px 26px; max-width: none; margin-inline: 0; width: 100%; }
.poiverse-card__title { font-size: 18px; font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; padding-left: 14px; position: relative; margin-bottom: 18px; }
.poiverse-card__title::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 5px; height: 1em; border-radius: 3px; background: var(--pv-grad); }
.poiverse-card__lead { font-size: 13px; line-height: 1.7; color: var(--pv-text-soft); font-weight: 500; margin: -8px 0 18px; text-wrap: pretty; }
.poiverse-account__rows { display: flex; flex-direction: column; }
.poiverse-account-row { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--pv-line); }
.poiverse-account-row:first-child { padding-top: 0; }
.poiverse-account-row__label { font-size: 14px; font-weight: 700; color: var(--pv-text); }
.poiverse-account-row__value { font-size: 15px; color: var(--pv-text); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.poiverse-account-row__help { display: block; font-size: 12px; line-height: 1.6; color: var(--pv-text-mute); font-weight: 500; margin-top: 6px; width: 100%; }
.poiverse-field { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.poiverse-input { font-family: inherit; font-size: 15px; padding: 10px 14px; border-radius: var(--pv-r-sm); border: 1px solid var(--pv-line-strong); background: #FFFDFA; color: var(--pv-text); min-width: 240px; flex: 1 1 240px; transition: border-color .15s, box-shadow .15s; }
.poiverse-input:focus { outline: none; border-color: var(--pv-gold); box-shadow: 0 0 0 3px rgba(233,172,66,.22); }
.poiverse-btn--sm { padding: 9px 16px; font-size: 13.5px; }
.poiverse-btn--save { background: var(--pv-grad); color: #fff; box-shadow: var(--pv-glow); }
.poiverse-btn--save:hover { filter: brightness(1.04); }
.poiverse-balance { font-size: 22px; font-weight: 900; color: var(--pv-orange-700); letter-spacing: .01em; }
.poiverse-balance small { font-size: 13px; font-weight: 700; color: var(--pv-text-soft); }
.poiverse-rank { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; padding: 5px 13px; border-radius: var(--pv-r-pill); background: var(--pv-cream-2); color: var(--pv-orange-700); border: 1px solid var(--pv-line-strong); }
.poiverse-rank--gold { background: var(--pv-grad); color: #fff; border-color: transparent; box-shadow: var(--pv-glow); }
.poiverse-state-ok { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #2F8F5B; }
.poiverse-state-ok::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #34B36B; box-shadow: 0 0 0 3px rgba(52,179,107,.18); }
.poiverse-linkrow { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--pv-line); }
.poiverse-textlink { font-size: 14px; font-weight: 700; color: var(--pv-orange-700); display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.poiverse-textlink:hover { color: var(--pv-orange-600); text-decoration: underline; text-underline-offset: 3px; }
.poiverse-textlink--mini { font-size: 13px; }
.poiverse-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.poiverse-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 560px; }
.poiverse-table thead th { text-align: left; font-size: 12.5px; font-weight: 700; color: var(--pv-text-soft); padding: 0 16px 12px; border-bottom: 2px solid var(--pv-line-strong); white-space: nowrap; }
.poiverse-table tbody td { padding: 14px 16px; border-bottom: 1px solid var(--pv-line); color: var(--pv-text); vertical-align: middle; }
.poiverse-table tbody tr:last-child td { border-bottom: none; }
.poiverse-table tbody tr:hover { background: #FFFCF6; }
.poiverse-table .poiverse-id { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-weight: 600; letter-spacing: .01em; color: var(--pv-ink); white-space: nowrap; }
.poiverse-table .poiverse-date { color: var(--pv-text-soft); white-space: nowrap; }
.poiverse-status { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: var(--pv-r-pill); white-space: nowrap; }
.poiverse-status--win { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #F8E6AE 0%, #ECC972 24%, #CFA03A 50%, #EBCB78 74%, #FAEAB4 100%); color: #7C560F; border: 1px solid #D9B45E; box-shadow: inset 0 1px 0 rgba(255,255,255,.65), inset 0 -1px 0 rgba(120,80,10,.28), 0 1px 2px rgba(150,110,20,.18); text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.poiverse-status--win::after { content: ""; position: absolute; top: -60%; left: -40%; width: 36%; height: 220%; background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%); transform: rotate(18deg) translateX(-120%); animation: poiverse-sheen 5s ease-in-out infinite; pointer-events: none; z-index: 1; }
.poiverse-status--win > * { position: relative; z-index: 2; }
@keyframes poiverse-sheen { 0% { transform: rotate(18deg) translateX(-180%); } 18% { transform: rotate(18deg) translateX(320%); } 100% { transform: rotate(18deg) translateX(320%); } }
.poiverse-status--lose { background: #F0EEEA; color: var(--pv-text-mute); }
.poiverse-status--applied { background: var(--pv-cream-2); color: var(--pv-orange-700); }
.poiverse-status--issued { background: #EAF3FF; color: #2E6FB5; }
.poiverse-status--sold { background: #F0EEEA; color: var(--pv-text-mute); }
.poiverse-status--listed { background: #FFF1DF; color: var(--pv-orange-700); }
.poiverse-status--done { background: #ECF6EF; color: #2F8F5B; }
.poiverse-price { font-weight: 700; }
.poiverse-price small { display: block; font-size: 11px; font-weight: 600; color: var(--pv-text-mute); }
.poiverse-dash { color: var(--pv-text-mute); }
.poiverse-deflist { border: 1px solid var(--pv-line); border-radius: var(--pv-r); overflow: hidden; background: var(--pv-cream); }
.poiverse-deflist__row { display: grid; grid-template-columns: 140px 1fr; border-bottom: 1px solid var(--pv-line); }
.poiverse-deflist__row:last-child { border-bottom: none; }
.poiverse-deflist__dt { font-size: 13.5px; font-weight: 700; color: var(--pv-text); padding: 14px 18px; background: rgba(255,255,255,.5); border-right: 1px solid var(--pv-line); }
.poiverse-deflist__dd { font-size: 14px; color: var(--pv-text); padding: 14px 18px; }
.poiverse-deflist__dd.is-empty { color: var(--pv-text-mute); }
.poiverse-card__foot { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 16px; }
.poiverse-card__foot .poiverse-note { margin-top: 0; }
.poiverse-setting__desc { font-size: 14.5px; line-height: 1.8; color: var(--pv-text); font-weight: 500; margin-bottom: 16px; text-wrap: pretty; }
.poiverse-setting__state { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 14px; font-weight: 700; color: var(--pv-text); padding: 8px 14px; border-radius: var(--pv-r-sm); background: var(--pv-cream); border: 1px solid var(--pv-line-strong); margin-bottom: 16px; }
.poiverse-setting__state b { color: var(--pv-orange-700); }
.poiverse-setting__state--on b { color: #2F8F5B; }
.poiverse-setting__note { font-size: 12px; line-height: 1.7; color: var(--pv-text-mute); font-weight: 500; margin: 14px 0 0; text-wrap: pretty; }
.poiverse-card--danger { border-color: #EFD9C9; }
.poiverse-danger-link { font-size: 15px; font-weight: 800; color: #C2503A; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.poiverse-danger-link:hover { color: #A23B27; text-decoration: underline; text-underline-offset: 3px; }
/* my-page form helpers (focus mode) */
.poiverse-page .poiverse-reauth { border: 1px solid var(--pv-line-strong); background: var(--pv-cream); border-radius: var(--pv-r); padding: 16px 18px; max-width: 460px; }
.poiverse-page .poiverse-info-box { border: 1px solid var(--pv-line); border-radius: var(--pv-r); padding: 4px 18px; background: var(--pv-cream); margin-bottom: 16px; }
.poiverse-page .poiverse-form label { display: block; font-size: 13.5px; font-weight: 700; color: var(--pv-text); margin: 12px 0 4px; }
.poiverse-page .poiverse-form input[type=text], .poiverse-page .poiverse-form input[type=password], .poiverse-page .poiverse-form input[type=number], .poiverse-page .poiverse-form input[type=tel], .poiverse-page .poiverse-form input[type=email], .poiverse-page .poiverse-form input[type=url], .poiverse-page .poiverse-form select, .poiverse-page .poiverse-form textarea { display: block; font-family: inherit; font-size: 15px; padding: 10px 14px; border-radius: var(--pv-r-sm); border: 1px solid var(--pv-line-strong); background: #FFFDFA; color: var(--pv-text); width: 100%; box-sizing: border-box; }
.poiverse-page .poiverse-form h3 { font-size: 15px; font-weight: 900; color: var(--pv-ink); margin: 22px 0 6px; }
/* 編集フォームの節・フィールド・完了リンク（旧 poiverse.css から移植） */
.poiverse-page .poiverse-form__field { margin-bottom: 14px; }
.poiverse-page .poiverse-form__section + .poiverse-form__section { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--pv-line); }
.poiverse-page .poiverse-form__submit { margin-top: 18px; }
.poiverse-page .poiverse-form__done { margin-top: 22px; }
.poiverse-page .poiverse-backlink { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: var(--pv-orange-700); transition: gap .15s; }
.poiverse-page .poiverse-backlink:hover { gap: 12px; }
.poiverse-bank-fields, .poiverse-sakura-fields { display: none; }
/* 同意チェック行（規約同意・外部アカウント委託同意）。旧 poiverse.css から移植・リデザイン調整。 */
.poiverse-page .poiverse-consent-item { border-bottom: 1px dashed var(--pv-line); padding: 10px 0; font-size: 14px; line-height: 1.7; color: var(--pv-text); }
.poiverse-page .poiverse-consent-item label { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.poiverse-page .poiverse-consent-item input[type=checkbox] { flex: none; margin-top: 3px; accent-color: var(--pv-orange-600); }
.poiverse-page .poiverse-consent-item small { color: var(--pv-text-soft); }
/* 業者ポータルのログイン状態バー（旧 poiverse.css から移植）。 */
.poiverse-page .poiverse-portal-bar { display: flex; justify-content: flex-end; gap: 16px; align-items: center; font-size: 13px; color: var(--pv-text-soft); margin: 0 0 10px; }
@media (max-width: 720px) {
  .poiverse-pagetitle { font-size: 24px; margin-top: 18px; padding-inline: 16px; }
  .poiverse-card { padding: 18px 16px; }
  .poiverse-account-row { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; }
  .poiverse-account-row__label { font-size: 13px; color: var(--pv-text-soft); }
  .poiverse-deflist__row { grid-template-columns: 110px 1fr; }
  .poiverse-deflist__dt { padding: 12px 14px; }
  .poiverse-deflist__dd { padding: 12px 14px; }
  .poiverse-input { min-width: 0; }
}

/* ===== CAMPAIGNS LIST (/campaigns) ===== */
.poiverse-campaigns { display: flex; flex-direction: column; gap: 18px; }
.poiverse-campaign { position: relative; border-radius: var(--pv-r-lg); background: var(--pv-surface); border: 1px solid var(--pv-line); box-shadow: var(--pv-shadow); padding: 22px 26px 22px 30px; overflow: hidden; transition: transform .14s, box-shadow .14s; }
.poiverse-campaign:hover { transform: translateY(-2px); box-shadow: var(--pv-shadow-lg); }
.poiverse-campaign::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--pv-grad); }
.poiverse-campaign.is-closed { background: #FAF7F1; box-shadow: none; border-color: var(--pv-line); }
.poiverse-campaign.is-closed:hover { transform: none; box-shadow: none; }
.poiverse-campaign.is-closed::before { background: #E3DBCD; }
.poiverse-campaign.is-closed .poiverse-campaign__title { color: var(--pv-text-soft); }
.poiverse-campaign.is-closed .poiverse-tag { background: #EFEAE1; color: var(--pv-text-mute); border-color: transparent; }
.poiverse-campaign__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.poiverse-campaign__title { font-size: 20px; font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; }
.poiverse-campaign__head .poiverse-tag { margin-top: 0; align-self: center; }
.poiverse-campaign__desc { margin-top: 12px; font-size: 15px; font-weight: 700; color: var(--pv-text); }
.poiverse-campaign__meta { margin-top: 10px; font-size: 13px; color: var(--pv-text-soft); font-weight: 500; }
.poiverse-campaign__foot { margin-top: 16px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.poiverse-campaign__foot .poiverse-countdown { margin-top: 0; }
.poiverse-campaign__foot .poiverse-btn { margin-left: auto; }
.poiverse-campaign .poiverse-note { margin-top: 10px; }
.poiverse-closed-notice { margin-top: 14px; padding: 12px 16px; border-radius: var(--pv-r-sm); background: #F2EEE7; border: 1px solid var(--pv-line-strong); color: var(--pv-text-soft); font-size: 13.5px; font-weight: 500; }
.poiverse-campaign.is-closed .poiverse-campaign__foot { margin-top: 14px; }
.poiverse-btn--ended { background: #EFE7DA; color: var(--pv-text-mute); box-shadow: none; cursor: default; }
.poiverse-btn--ended:hover { filter: none; transform: none; }
.poiverse-card__title .poiverse-count { font-size: 13px; font-weight: 700; color: var(--pv-text-mute); margin-left: 8px; }
@media (max-width: 720px) {
  .poiverse-campaign { padding: 18px 18px 18px 22px; }
  .poiverse-campaign__title { font-size: 18px; }
  .poiverse-campaign__foot .poiverse-btn { margin-left: 0; width: 100%; }
}

/* ===== DAILY EARN (/daily) ===== */
.poiverse-card__text { font-size: 15px; line-height: 1.9; color: var(--pv-text); font-weight: 500; text-wrap: pretty; }
.poiverse-card__text .poiverse-hl, .poiverse-hl { color: var(--pv-orange-700); font-weight: 900; }
.poiverse-empty { font-size: 14px; color: var(--pv-text-mute); font-weight: 500; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: var(--pv-r-sm); background: var(--pv-cream); border: 1px dashed var(--pv-line-strong); }
.poiverse-fineprint { font-size: 12px; color: var(--pv-text-mute); line-height: 1.7; font-weight: 500; margin-top: 14px; text-wrap: pretty; }
.poiverse-notice { padding: 12px 16px; border-radius: var(--pv-r-sm); background: #F4F1EB; border: 1px solid var(--pv-line); color: var(--pv-text-soft); font-size: 12.5px; line-height: 1.7; font-weight: 500; text-wrap: pretty; }
.poiverse-notice + .poiverse-notice { margin-top: 10px; }
.poiverse-card--accent { background: linear-gradient(180deg, #FFFCF6 0%, var(--pv-cream) 100%); border-color: var(--pv-line-strong); }
.poiverse-claim { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.poiverse-reward { display: inline-flex; align-items: baseline; gap: 4px; font-weight: 900; color: #fff; background: var(--pv-grad); box-shadow: var(--pv-glow); padding: 8px 16px; border-radius: var(--pv-r-pill); font-size: 18px; white-space: nowrap; }
.poiverse-reward small { font-size: 11px; font-weight: 700; opacity: .9; }
.poiverse-btn--lg { padding: 14px 26px; font-size: 16px; }
.poiverse-ext { font-size: .85em; transform: translateY(-1px); }
.poiverse-offers { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-top: 18px; }
.poiverse-offer { display: flex; flex-direction: column; border: 1px solid var(--pv-line); border-radius: var(--pv-r); padding: 18px 20px 20px; background: var(--pv-surface); box-shadow: var(--pv-shadow-sm); transition: transform .14s, box-shadow .14s; }
.poiverse-offer:hover { transform: translateY(-2px); box-shadow: var(--pv-shadow); }
.poiverse-offer__head { display: flex; gap: 10px; align-items: flex-start; }
.poiverse-pr-badge { flex: none; font-size: 10px; font-weight: 800; letter-spacing: .08em; color: #fff; background: #8A8F99; padding: 3px 7px; border-radius: 5px; margin-top: 3px; }
.poiverse-offer__title { font-size: 16px; font-weight: 900; color: var(--pv-ink); line-height: 1.4; }
.poiverse-offer__desc { margin-top: 12px; flex: 1; font-size: 13.5px; color: var(--pv-text-soft); font-weight: 500; line-height: 1.7; }
.poiverse-offer__cta { margin-top: 16px; }
.poiverse-offer__cta .poiverse-btn { width: 100%; }
.poiverse-offer__meta { margin-top: 10px; font-size: 12px; color: var(--pv-text-mute); font-weight: 700; }
@media (max-width: 720px) {
  .poiverse-offers { grid-template-columns: 1fr; }
  .poiverse-claim .poiverse-btn { width: 100%; }
}

/* daily: 強調残高ボックス */
.poiverse-balance-line { display: inline-flex; align-items: baseline; gap: 12px; margin-top: 14px; padding: 12px 18px; border-radius: var(--pv-r); background: var(--pv-cream); border: 1px solid var(--pv-line-strong); }
.poiverse-balance-line__label { font-size: 13px; font-weight: 700; color: var(--pv-text-soft); letter-spacing: .02em; }
.poiverse-balance-line__value { font-size: 28px; font-weight: 900; line-height: 1; color: var(--pv-orange-700); }
.poiverse-balance-line__value small { font-size: 14px; font-weight: 700; color: var(--pv-text-soft); margin-left: 2px; }

/* ===== REFERRAL (/referral) ===== */
.poiverse-bonus { margin: 18px 0; background: linear-gradient(180deg, #FFF7EC 0%, #FFEFD8 100%); border: 1px solid var(--pv-line-strong); border-radius: var(--pv-r); padding: 20px 22px; }
.poiverse-bonus__rate { font-size: 16px; font-weight: 700; color: var(--pv-ink); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.poiverse-bonus__rate b { font-size: 22px; color: var(--pv-orange-700); font-weight: 900; }
.poiverse-bonus__rate small { font-size: 12px; color: var(--pv-text-mute); font-weight: 600; }
.poiverse-progress { height: 12px; border-radius: var(--pv-r-pill); background: #EFE3D2; overflow: hidden; margin: 14px 0; box-shadow: inset 0 1px 2px rgba(120,80,20,.12); }
.poiverse-progress__fill { height: 100%; border-radius: var(--pv-r-pill); background: var(--pv-grad); box-shadow: var(--pv-glow); transition: width .6s ease; }
.poiverse-bonus__msg { font-size: 16px; font-weight: 700; color: var(--pv-text); text-wrap: pretty; }
.poiverse-bonus__msg b { color: var(--pv-orange-700); }
.poiverse-bonus__note { margin-top: 12px; font-size: 12px; color: var(--pv-text-mute); line-height: 1.7; font-weight: 500; text-wrap: pretty; }
.poiverse-invite { margin-top: 20px; }
.poiverse-invite__line { font-size: 15px; font-weight: 700; color: var(--pv-text); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.poiverse-code { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-weight: 800; font-size: 17px; color: var(--pv-orange-700); letter-spacing: .05em; }
.poiverse-invite__label { display: block; font-size: 15px; font-weight: 700; color: var(--pv-text); margin: 16px 0 8px; }
.poiverse-copyfield { display: flex; gap: 10px; flex-wrap: wrap; }
.poiverse-copyfield .poiverse-input { flex: 1 1 280px; font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 14px; background: #FBF7F0; color: var(--pv-text-soft); }
.poiverse-copyfield .poiverse-btn { flex: none; }
.poiverse-copyfield .poiverse-btn.is-copied { background: #2F8F5B; box-shadow: none; }
.poiverse-refcount { font-size: 16px; font-weight: 800; color: var(--pv-ink); margin: 16px 0 4px; }
.poiverse-refcount b { color: var(--pv-orange-700); }
.poiverse-status--pending { background: #FBEFD6; color: #9A6A12; border: 1px solid #EAD09A; }
@media (max-width: 720px) {
  .poiverse-copyfield .poiverse-input { flex: 1 1 100%; }
  .poiverse-copyfield .poiverse-btn { width: 100%; }
}

/* ===== MEMBER RANK (/member-rank) ===== */
.poiverse-rankcard { text-align: center; }
.poiverse-rankcard__eyebrow { font-size: 13px; font-weight: 700; color: var(--pv-text-mute); letter-spacing: .06em; }
.poiverse-rankcard__name { font-size: 32px; font-weight: 900; color: var(--pv-ink); margin: 6px 0 10px; letter-spacing: .02em; }
.poiverse-rankcard__name--gold { background: var(--pv-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.poiverse-rankbadge { display: inline-flex; align-items: center; gap: 12px; margin: 12px 0 12px; padding: 13px 30px 13px 22px; border-radius: var(--pv-r-pill); font-size: 27px; font-weight: 900; letter-spacing: .05em; position: relative; overflow: hidden; isolation: isolate; }
.poiverse-rankbadge__glyph { flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -2px 3px rgba(0,0,0,.12); }
/* 星はインラインSVG。重心（5回対称の中心＝外接円の中心）を viewBox 中心(50,50)に一致させて数式生成しているため、
   バッジ円と同心円になり中央に来る（translateY等の微調整は不要）。色はランク別の color を currentColor で継承。 */
.poiverse-rankbadge__star { width: 60%; height: 60%; display: block; fill: currentColor; }
.poiverse-rankbadge__label { position: relative; }
/* 光沢: 左下→右上（右斜め上）へ抜ける幅広シーン。明るめ＆広めにしてバッジ全体が光るように。 */
.poiverse-rankbadge::after { content: ""; position: absolute; inset: -60%; background: linear-gradient(45deg, rgba(255,255,255,0) 28%, rgba(255,255,255,.35) 42%, rgba(255,255,255,.7) 50%, rgba(255,255,255,.35) 58%, rgba(255,255,255,0) 72%); transform: translate(-100%, 100%); animation: poiverse-rank-sheen 4.8s ease-in-out infinite; pointer-events: none; z-index: 3; }
@keyframes poiverse-rank-sheen { 0% { transform: translate(-100%, 100%); } 42% { transform: translate(100%, -100%); } 100% { transform: translate(100%, -100%); } }
.poiverse-rankbadge--normal { color: #565E70; background: linear-gradient(135deg, #F8F9FB 0%, #D3D8E0 18%, #C5CAD3 30%, #EDEFF3 50%, #C5CAD3 70%, #D3D8E0 82%, #F8F9FB 100%); border: 1px solid #C9CED7; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(90,98,114,.25), 0 4px 14px rgba(90,98,114,.18); text-shadow: 0 1px 0 rgba(255,255,255,.55); }
.poiverse-rankbadge--normal .poiverse-rankbadge__glyph { background: linear-gradient(135deg, #ECEEF2, #B9BFC9); color: #6B7384; }
.poiverse-rankbadge--gold { color: #7A540D; background: linear-gradient(135deg, #FBEDC2 0%, #E0B255 18%, #CB9A2F 30%, #F3D98C 50%, #CB9A2F 70%, #E0B255 82%, #FBEDC2 100%); border: 1px solid #DDB85E; box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 -2px 3px rgba(120,80,10,.3), 0 6px 22px rgba(214,160,40,.45); text-shadow: 0 1px 0 rgba(255,255,255,.4); }
.poiverse-rankbadge--gold .poiverse-rankbadge__glyph { background: linear-gradient(135deg, #FCEBB0, #D9A638); color: #8A5E10; box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -2px 3px rgba(120,80,10,.28); }
.poiverse-rankcard--gold .poiverse-rankbadge--gold { filter: drop-shadow(0 0 18px rgba(233,172,66,.4)); }
.poiverse-ranktarget { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--pv-line-strong); display: flex; flex-direction: column; align-items: center; gap: 6px; }
.poiverse-ranktarget__cap { font-size: 12px; font-weight: 700; color: var(--pv-text-mute); letter-spacing: .08em; }
.poiverse-ranktarget .poiverse-rankbadge { margin: 0; font-size: 22px; padding: 10px 24px 10px 16px; }
.poiverse-ranktarget .poiverse-rankbadge__glyph { width: 28px; height: 28px; font-size: 14px; }
.poiverse-rankcard__sub { font-size: 13.5px; color: var(--pv-text-soft); font-weight: 500; margin-bottom: 18px; }
.poiverse-rankcard .poiverse-checklist { text-align: left; max-width: 660px; margin-inline: auto; }
.poiverse-checklist { display: flex; flex-direction: column; gap: 10px; }
.poiverse-check { display: flex; align-items: flex-start; gap: 11px; padding: 13px 16px; border-radius: var(--pv-r-sm); font-size: 14.5px; font-weight: 600; line-height: 1.6; text-wrap: pretty; }
.poiverse-check__icon { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #fff; margin-top: 1px; }
.poiverse-check--met { background: #ECF6EF; color: #2C7A4E; }
.poiverse-check--met .poiverse-check__icon { background: #34B36B; }
.poiverse-check--unmet { background: #FBEDEA; color: #C2503A; }
.poiverse-check--unmet .poiverse-check__icon { background: #E0654B; }
.poiverse-subhead { font-size: 17px; font-weight: 900; color: var(--pv-ink); margin: 24px 0 12px; padding-left: 12px; position: relative; }
.poiverse-subhead::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 1em; border-radius: 2px; background: var(--pv-grad); }
.poiverse-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.poiverse-list li { position: relative; padding-left: 24px; font-size: 14.5px; line-height: 1.8; color: var(--pv-text); font-weight: 500; text-wrap: pretty; }
.poiverse-list li b { font-weight: 800; color: var(--pv-ink); }
.poiverse-list li::before { content: ""; position: absolute; left: 5px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--pv-grad); }
.poiverse-list--num { counter-reset: pv-li; }
.poiverse-list--num li { padding-left: 38px; }
.poiverse-list--num li::before { counter-increment: pv-li; content: counter(pv-li); width: 24px; height: 24px; border-radius: 50%; background: var(--pv-grad); color: #fff; font-size: 12.5px; font-weight: 800; display: grid; place-items: center; top: .1em; left: 0; box-shadow: var(--pv-glow); }
.poiverse-benefits { margin-top: 4px; padding: 16px 18px; border-radius: var(--pv-r); background: linear-gradient(180deg, #FFFCF6 0%, var(--pv-cream) 100%); border: 1px solid var(--pv-line-strong); }
@media (max-width: 720px) {
  .poiverse-rankcard__name { font-size: 27px; }
}

/* ===== NOTICES (/news) ===== */
.poiverse-notif-list { display: flex; flex-direction: column; }
.poiverse-notif { position: relative; padding: 18px 4px 18px 22px; border-bottom: 1px solid var(--pv-line); }
.poiverse-notif:last-child { border-bottom: none; }
.poiverse-notif:first-child { padding-top: 4px; }
.poiverse-notif::before { content: ""; position: absolute; left: 2px; top: 24px; width: 9px; height: 9px; border-radius: 50%; background: var(--pv-grad); }
.poiverse-notif:first-child::before { top: 10px; }
.poiverse-notif--win::before { background: linear-gradient(135deg, #F3D58C, #D6A12A); }
.poiverse-notif--lose::before { background: #C7CCD5; }
.poiverse-notif--info::before { background: #6FA8DC; }
.poiverse-notif__head { display: flex; align-items: baseline; gap: 4px 18px; flex-wrap: wrap; margin-bottom: 6px; }
.poiverse-notif__time { font-size: 12.5px; color: var(--pv-text-mute); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poiverse-notif__title { font-size: 15.5px; font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; }
.poiverse-notif__title .poiverse-tone-win { color: #B27D14; }
.poiverse-notif__title .poiverse-tone-lose { color: var(--pv-text-soft); }
.poiverse-notif__body { font-size: 14px; line-height: 1.8; color: var(--pv-text-soft); font-weight: 500; text-wrap: pretty; }
.poiverse-notif__body code, .poiverse-mono { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: .92em; color: var(--pv-text); font-weight: 600; }
.poiverse-notif__body p { margin: 0 0 .5em; }
.poiverse-notif__body p:last-child { margin-bottom: 0; }
.poiverse-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 18px; padding-top: 4px; }
.poiverse-pagination__status { font-size: 13px; font-weight: 700; color: var(--pv-text-mute); font-variant-numeric: tabular-nums; white-space: nowrap; }
.poiverse-pagination a { font-size: 14px; font-weight: 700; color: var(--pv-orange-700); display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; border-radius: var(--pv-r-pill); transition: background-color .15s; }
.poiverse-pagination a:hover { background: var(--pv-cream); }
.poiverse-pagination a[aria-disabled="true"] { color: var(--pv-text-mute); pointer-events: none; opacity: .55; }

/* ===== POINT HISTORY (/point-history) ===== */
.poiverse-delta { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poiverse-delta--plus { color: #2F8F5B; }
.poiverse-delta--minus { color: #C2503A; }
.poiverse-total { font-size: 15px; font-weight: 700; color: var(--pv-text); margin: 16px 0 4px; }
.poiverse-total b { font-size: 19px; color: var(--pv-orange-700); font-weight: 900; }
.poiverse-formlabel { display: block; font-size: 15px; font-weight: 700; color: var(--pv-text); margin: 16px 0 8px; }
.poiverse-textarea { font-family: inherit; font-size: 15px; line-height: 1.7; width: 100%; min-height: 110px; resize: vertical; padding: 12px 14px; border-radius: var(--pv-r-sm); border: 1px solid var(--pv-line-strong); background: #FFFDFA; color: var(--pv-text); transition: border-color .15s, box-shadow .15s; }
.poiverse-textarea:focus, .poiverse-form .poiverse-input:focus { outline: none; border-color: var(--pv-gold); box-shadow: 0 0 0 3px rgba(233,172,66,.22); }
.poiverse-form .poiverse-input { width: 100%; min-width: 0; }
.poiverse-form__submit { margin-top: 18px; }

/* ===== AUTH / LOGIN (/login) ===== */
.poiverse-auth { position: relative; display: flex; align-items: flex-start; justify-content: center; padding: 8px 0 24px; }
.poiverse-auth::before { content: ""; position: absolute; left: 50%; top: 40px; transform: translateX(-50%); width: 560px; max-width: 90%; height: 320px; background: radial-gradient(60% 60% at 50% 0%, rgba(245,130,31,.16), rgba(245,130,31,0) 70%); pointer-events: none; z-index: 0; }
.poiverse-authcard { position: relative; z-index: 1; width: 100%; max-width: 460px; padding: 32px 34px 30px; border-top: none; }
.poiverse-authcard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; border-radius: var(--pv-r-lg) var(--pv-r-lg) 0 0; background: var(--pv-grad); }
.poiverse-auth__brand { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; margin-bottom: 26px; }
.poiverse-auth__brand .poiverse-brand__mark { width: 52px; height: 52px; border-radius: 15px; font-size: 28px; }
.poiverse-auth__brand-name { font-size: 20px; font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; white-space: nowrap; }
.poiverse-auth__tagline { font-size: 13px; color: var(--pv-text-soft); font-weight: 600; margin-top: -4px; }
.poiverse-authcard .poiverse-form__field { margin-bottom: 16px; }
.poiverse-authcard .poiverse-formlabel { margin-top: 0; }
.poiverse-checkbox { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14.5px; font-weight: 600; color: var(--pv-text); margin: 4px 0 4px; }
.poiverse-checkbox input { width: 18px; height: 18px; accent-color: var(--pv-orange-600); cursor: pointer; }
.poiverse-authcard .poiverse-btn--primary { width: 100%; margin-top: 8px; padding: 14px; font-size: 16px; }
.poiverse-auth__links { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--pv-line); display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; }
.poiverse-auth__register { font-size: 13.5px; color: var(--pv-text-soft); font-weight: 600; }
.poiverse-auth__register a { color: var(--pv-orange-700); font-weight: 700; }
.poiverse-auth__register a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 720px) { .poiverse-authcard { padding: 26px 18px 24px; } }
.poiverse-header--minimal .poiverse-header__inner { flex-wrap: nowrap; }
@media (max-width: 720px) { .poiverse-header--minimal .poiverse-nav { width: auto; margin-left: auto; } }

/* ===== LANDING PAGE (/lp) ===== */
.poiverse-btn--onaccent { background: #fff; color: var(--pv-orange-700); box-shadow: 0 6px 18px rgba(120,60,0,.18); }
.poiverse-btn--onaccent:hover { background: #FFF6EA; transform: translateY(-1px); }
.poiverse-btn--outline-light { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.75); }
.poiverse-btn--outline-light:hover { background: rgba(255,255,255,.22); }
.poiverse-page a.poiverse-btn--primary,
.poiverse-page a.poiverse-btn--outline-light { color: #fff; }
.poiverse-page a.poiverse-btn--onaccent,
.poiverse-page a.poiverse-btn--ghost { color: var(--pv-orange-700); }
.poiverse-hero { position: relative; overflow: hidden; border-radius: var(--pv-r-lg); padding: 58px 32px 52px; text-align: center; color: #fff; background: radial-gradient(120% 150% at 50% 0%, #FFB552 0%, #F5821F 46%, #DE7910 100%); box-shadow: var(--pv-shadow-lg); }
.poiverse-hero__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; padding: 6px 15px; border-radius: var(--pv-r-pill); background: rgba(255,255,255,.22); margin-bottom: 18px; }
.poiverse-hero__title { font-size: clamp(34px, 6.4vw, 54px); font-weight: 900; letter-spacing: .02em; line-height: 1.05; text-shadow: 0 2px 18px rgba(120,60,0,.22); }
.poiverse-hero__tagline { font-size: clamp(15px, 2.6vw, 20px); font-weight: 800; margin-top: 12px; }
.poiverse-hero__sub { font-size: 14px; line-height: 1.85; margin-top: 16px; opacity: .96; max-width: 540px; margin-inline: auto; text-wrap: pretty; }
.poiverse-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
.poiverse-center { text-align: center; }
.poiverse-h2 { font-size: clamp(22px, 3.4vw, 27px); font-weight: 900; color: var(--pv-ink); letter-spacing: .01em; }
.poiverse-lead { font-size: clamp(15px, 2.1vw, 18px); line-height: 1.9; color: var(--pv-text); font-weight: 600; max-width: 760px; margin: 12px auto 26px; text-wrap: pretty; }
.poiverse-lead b { color: var(--pv-orange-700); }
.poiverse-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.poiverse-feature { padding: 26px 22px; text-align: center; border-radius: var(--pv-r-lg); background: var(--pv-surface); border: 1px solid var(--pv-line); box-shadow: var(--pv-shadow); transition: transform .14s, box-shadow .14s; }
.poiverse-feature:hover { transform: translateY(-3px); box-shadow: var(--pv-shadow-lg); }
.poiverse-feature__icon { width: 58px; height: 58px; margin: 0 auto 14px; border-radius: 17px; background: var(--pv-cream); display: grid; place-items: center; font-size: 27px; line-height: 1; border: 1px solid var(--pv-line-strong); color: var(--pv-orange-600); }
.poiverse-feature__icon svg { width: 28px; height: 28px; display: block; }
.poiverse-feature__title { font-size: 16px; font-weight: 900; color: var(--pv-orange-700); margin-bottom: 8px; }
.poiverse-feature__desc { font-size: 13.5px; line-height: 1.7; color: var(--pv-text-soft); font-weight: 500; text-wrap: pretty; }
.poiverse-faq { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin-inline: auto; }
.poiverse-faq__item { border: 1px solid var(--pv-line); border-radius: var(--pv-r); background: var(--pv-surface); box-shadow: var(--pv-shadow-sm); overflow: hidden; }
.poiverse-faq__q { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 15.5px; font-weight: 800; color: var(--pv-ink); }
.poiverse-faq__q::-webkit-details-marker { display: none; }
.poiverse-faq__plus { flex: none; font-size: 22px; font-weight: 400; color: var(--pv-orange-700); line-height: 1; transition: transform .2s ease; }
.poiverse-faq__item[open] .poiverse-faq__plus { transform: rotate(45deg); }
.poiverse-faq__a { padding: 0 20px 18px; font-size: 14px; line-height: 1.85; color: var(--pv-text-soft); font-weight: 500; text-wrap: pretty; }
.poiverse-cta-band { text-align: center; border-radius: var(--pv-r-lg); padding: 42px 28px; background: linear-gradient(180deg, #FFF7EC 0%, var(--pv-cream) 100%); border: 1px solid var(--pv-line-strong); }
.poiverse-cta-band__title { font-size: clamp(20px, 3vw, 25px); font-weight: 900; color: var(--pv-ink); margin-bottom: 22px; }
.poiverse-cta-band__sub { font-size: 13.5px; line-height: 1.8; color: var(--pv-text-soft); font-weight: 500; max-width: 640px; margin: 22px auto 0; }
.poiverse-cta-band__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 900px) { .poiverse-features { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .poiverse-features { grid-template-columns: 1fr; }
  .poiverse-hero { padding: 44px 20px 40px; }
  .poiverse-hero__cta .poiverse-btn { width: 100%; }
  .poiverse-cta-band__cta .poiverse-btn { width: 100%; }
}

/* ===== REGISTER (/register) ===== */
.poiverse-authcard--wide { max-width: 560px; }
.poiverse-authcard .poiverse-subhead { margin-top: 22px; }
.poiverse-input--code { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: .08em; }
.poiverse-terms { max-height: 190px; overflow-y: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--pv-line-strong); border-radius: var(--pv-r-sm); padding: 16px 18px; background: #FFFDFA; font-size: 13px; line-height: 1.85; color: var(--pv-text-soft); font-weight: 500; }
.poiverse-terms p { margin: 0 0 12px; text-wrap: pretty; }
.poiverse-terms p:last-child { margin: 0; }
.poiverse-consents { margin-top: 6px; }
.poiverse-consent { display: flex; align-items: flex-start; gap: 11px; padding: 15px 2px; border-bottom: 1px dashed var(--pv-line-strong); font-size: 14px; line-height: 1.7; font-weight: 600; color: var(--pv-text); cursor: pointer; text-wrap: pretty; }
.poiverse-consent:last-of-type { border-bottom: none; }
.poiverse-consent input { width: 18px; height: 18px; flex: none; margin-top: 2px; accent-color: var(--pv-orange-600); cursor: pointer; }
.poiverse-authcard .poiverse-form__submit .poiverse-btn { width: 100%; padding: 14px; font-size: 16px; }
.poiverse-field-hint { font-size: 12px; color: var(--pv-text-mute); font-weight: 500; margin-top: 6px; line-height: 1.6; }
.poiverse-field-error { font-size: 12.5px; color: #C2503A; font-weight: 600; margin-top: 6px; display: none; }
.poiverse-field-error.is-visible { display: block; }
.poiverse-input.is-invalid { border-color: #E0654B; box-shadow: 0 0 0 3px rgba(224,101,75,.18); }
.poiverse-input.is-valid { border-color: #34B36B; }

/* =====================================================================
   旧 poiverse.css からの移植（リデザインページでは旧CSSを読み込まないため）
   ※ リデザインページで旧CSSにしか無かったルールをこちらへ集約。
   ===================================================================== */

/* テーマの初期ヘッダー/フッター（テンプレートパート）を隠す。リデザインは専用ヘッダー/
   フッターを描画するため、これが無いとテーマ標準のヘッダー/フッターが二重表示になる。 */
.wp-site-blocks > header,
header.wp-block-template-part,
.wp-site-blocks > footer,
footer.wp-block-template-part { display: none !important; }

/* テーマのページタイトル（重複表示）を隠す。リデザインは自前のヘッダー/ページタイトルを描画する。 */
.poiverse-front .wp-block-post-title,
.poiverse-front .entry-title,
.poiverse-front .page-title,
.poiverse-front h1.wp-block-post-title { display: none !important; }

/* フォームのフラッシュメッセージ */
.poiverse-msg { padding: 12px 16px; border-radius: var(--pv-r-sm); font-size: 14px; font-weight: 600; margin-bottom: 16px; }
.poiverse-ok { background: #ECF6EF; border: 1px solid #B7E0C4; color: #1E6B3A; }
.poiverse-error { background: #FBEDEA; border: 1px solid #F3C0C0; color: #A12626; }

/* 記事クイズ */
.poiverse-quiz-q { font-weight: 700; font-size: 16px; margin: 14px 0; color: var(--pv-ink); }
.poiverse-quiz-timer { font-weight: 800; color: #D6422B; }
.poiverse-quiz-timer #poiverse-quiz-remain { font-size: 22px; }
.poiverse-quiz-choice { display: block; background: var(--pv-cream); border: 1px solid var(--pv-line-strong); border-radius: var(--pv-r-sm); padding: 12px 16px; margin: 8px 0; cursor: pointer; font-weight: 600; transition: background-color .15s, border-color .15s; }
.poiverse-quiz-choice:hover { background: var(--pv-cream-2); border-color: var(--pv-gold); }

/* =====================================================================
   モバイル総点検：防御的補強
   ===================================================================== */
/* 長い文字列（会員コード/NFT ID/招待URL等）の横はみ出しを防ぐ */
.poiverse-code, .poiverse-mono, .poiverse-id, .poiverse-notif__body code { overflow-wrap: anywhere; word-break: break-word; }
/* 入力・テキストエリアがコンテナ幅を超えない */
.poiverse-input, .poiverse-textarea { max-width: 100%; }
/* 画像・テーブルが親を超えない（保険） */
.poiverse-page img, .poiverse-page table { max-width: 100%; }

@media (max-width: 1024px) {
  /* ハンバーガーメニュー：ナビが1行に収まらず2列折返しになる前に発火させる（項目数が多いため幅を広めに）。
     トグル(三本線)を表示し、ナビはドロップダウン化（JS不要のチェックボックス方式）。 */
  .poiverse-header__inner { flex-wrap: wrap; } /* フルワイドのナビを次の行（ブランド下）へ落とす */
  .poiverse-navtoggle {
    display: inline-flex; flex-direction: column; justify-content: center; align-items: center;
    gap: 5px; width: 44px; height: 40px; margin-left: auto; cursor: pointer;
    border-radius: 10px; flex: 0 0 auto;
  }
  .poiverse-navtoggle span { display: block; width: 24px; height: 2px; background: var(--pv-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
  .poiverse-navtoggle:hover { background: var(--pv-cream); }
  /* ナビは既定で閉じる → チェックで開く（ドロップダウン）。ミニマルヘッダー(LP/ログイン/登録)は対象外 */
  .poiverse-header:not(.poiverse-header--minimal) .poiverse-nav {
    display: none; width: 100%; margin-left: 0; padding-top: 8px;
    flex-direction: column; align-items: stretch; gap: 2px;
  }
  .poiverse-navtoggle-cb:checked ~ .poiverse-nav { display: flex; }
  /* 三本線 → ×（開いている間） */
  .poiverse-navtoggle-cb:checked ~ .poiverse-navtoggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .poiverse-navtoggle-cb:checked ~ .poiverse-navtoggle span:nth-child(2) { opacity: 0; }
  .poiverse-navtoggle-cb:checked ~ .poiverse-navtoggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  /* ドロップダウン内のリンクは1行ずつ・タップしやすく */
  .poiverse-header:not(.poiverse-header--minimal) .poiverse-nav a { padding: 11px 12px; border-radius: 8px; font-size: 15px; }
  .poiverse-header:not(.poiverse-header--minimal) .poiverse-nav a.is-active { background: var(--pv-cream); color: var(--pv-orange-700); }
  .poiverse-header:not(.poiverse-header--minimal) .poiverse-nav a.is-active::after { display: none; }
  .poiverse-header:not(.poiverse-header--minimal) .poiverse-nav .poiverse-logout { margin-top: 6px; text-align: center; }
}

@media (max-width: 720px) {
  /* 残高行・受け取り行が極小幅で折り返せるように */
  .poiverse-balance-line { flex-wrap: wrap; }
  .poiverse-claim { gap: 12px; }
  /* コピー欄・各種フォーム行が縦積みに */
  .poiverse-copyfield { flex-direction: column; }
}

@media (max-width: 420px) {
  .poiverse-pagetitle { font-size: 22px; }
  .poiverse-rankcard__name { font-size: 24px; }
  .poiverse-rankbadge { font-size: 21px; padding: 11px 20px 11px 14px; }
  .poiverse-card { padding: 16px 14px; }
  .poiverse-main { padding: 14px 12px 40px; }
}

/* 認証カード（登録/ログイン）の入力欄は常にカード幅いっぱい・均一にする。
   base の .poiverse-input{flex:1 1 240px;min-width:240px} や旧 input[type] 指定の影響を確実に打ち消す。 */
.poiverse-authcard .poiverse-input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  flex: none;
}

/* =====================================================================
   LEGAL（会員規約 / プライバシー / 特商法 / FAQ）— リデザイン統一
   ===================================================================== */
/* プローズ（規約本文）整形 */
.poiverse-legal { line-height: 1.9; color: var(--pv-text); font-size: 15px; }
.poiverse-legal > :first-child { margin-top: 0; }
.poiverse-legal h2 { font-size: 20px; font-weight: 900; color: var(--pv-ink); margin: 28px 0 12px; }
.poiverse-legal h3 { font-size: 17px; font-weight: 800; color: var(--pv-ink); margin: 24px 0 10px; padding-left: 12px; position: relative; }
.poiverse-legal h3::before { content: ""; position: absolute; left: 0; top: .2em; width: 4px; height: 1.05em; border-radius: 2px; background: var(--pv-grad); }
.poiverse-legal h4 { font-size: 15px; font-weight: 800; color: var(--pv-ink); margin: 18px 0 8px; }
.poiverse-legal p { margin: 0 0 14px; text-wrap: pretty; }
.poiverse-legal ul, .poiverse-legal ol { margin: 0 0 14px; padding-left: 1.5em; }
.poiverse-legal li { margin: 6px 0; }
.poiverse-legal a { color: var(--pv-orange-700); text-decoration: underline; text-underline-offset: 2px; }
.poiverse-legal .description { font-size: 13px; color: var(--pv-text-mute); }
.poiverse-legal .poiverse-note { font-size: 14px; color: var(--pv-text); background: var(--pv-cream); border: 1px solid var(--pv-line-strong); padding: 14px 16px; border-radius: var(--pv-r-sm); margin: 0 0 16px; line-height: 1.8; }
/* 特商法などの表 */
.poiverse-legal table, .poiverse-legal .poiverse-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 16px; }
.poiverse-legal th, .poiverse-legal td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--pv-line); vertical-align: top; }
.poiverse-legal th { width: 12rem; color: var(--pv-text-soft); font-weight: 700; background: var(--pv-cream); }

/* FAQ（ショートコード出力：ハイフン式クラスを redesign トーンへ移植） */
.poiverse-faq-search { width: 100%; max-width: 100%; padding: 11px 14px; border: 1px solid var(--pv-line-strong); border-radius: var(--pv-r-sm); font-size: 15px; background: #FFFDFA; margin: 4px 0 14px; }
.poiverse-faq-search:focus { outline: none; border-color: var(--pv-gold); box-shadow: 0 0 0 3px rgba(233,172,66,.22); }
.poiverse-faq-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.poiverse-faq-cat { cursor: pointer; border: 1px solid var(--pv-line-strong); background: #fff; color: var(--pv-orange-700); border-radius: var(--pv-r-pill); padding: 7px 16px; font-size: 13px; font-weight: 700; transition: background-color .15s, color .15s; }
.poiverse-faq-cat.is-active { background: var(--pv-grad); color: #fff; border-color: transparent; box-shadow: var(--pv-glow); }
.poiverse-faq-cat-title { margin: 22px 0 10px; font-size: 16px; font-weight: 900; color: var(--pv-ink); padding-left: 12px; position: relative; }
.poiverse-faq-cat-title::before { content: ""; position: absolute; left: 0; top: .15em; width: 4px; height: 1.05em; border-radius: 2px; background: var(--pv-grad); }
.poiverse-faq-item { border: 1px solid var(--pv-line); border-radius: var(--pv-r); margin: 8px 0; background: var(--pv-surface); box-shadow: var(--pv-shadow-sm); overflow: hidden; }
.poiverse-faq-item > summary { cursor: pointer; list-style: none; padding: 14px 44px 14px 16px; font-weight: 800; color: var(--pv-ink); position: relative; }
.poiverse-faq-item > summary::-webkit-details-marker { display: none; }
.poiverse-faq-item > summary::before { content: "Q"; display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; background: var(--pv-grad); color: #fff; border-radius: 50%; font-size: .8rem; font-weight: 800; margin-right: .6rem; vertical-align: middle; }
.poiverse-faq-item > summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--pv-orange-700); font-weight: 700; font-size: 20px; }
.poiverse-faq-item[open] > summary::after { content: "−"; }
.poiverse-faq-item[open] > summary { border-bottom: 1px solid var(--pv-line); }
.poiverse-faq-a { padding: 14px 16px; color: var(--pv-text-soft); line-height: 1.8; font-size: 14px; }
.poiverse-faq-a p { margin: 0 0 10px; }
.poiverse-faq-a p:last-child { margin: 0; }
.poiverse-faq-empty { padding: 16px; color: #C2503A; font-weight: 600; }
