/* 有料機能・個人情報の注意・日次上限。page.html の :root のトークンを使う（無い場合の既定値つき） */
:root{--pd-ink:var(--ink,#3b1f2b);--pd-mute:var(--mute,#8f6a7a);--pd-line:var(--line,rgba(150,50,90,.117));--pd-card:var(--card,rgba(255,255,255,.88));--pd-red:var(--red,#e8336f);--pd-org:var(--org,#f26aa0);--pd-amb:var(--amb,#c45fc9);--pd-fire:var(--fire,linear-gradient(135deg,#e8336f 0%,#f26aa0 55%,#c45fc9 100%));--pd-disp:var(--disp,'Dela Gothic One',sans-serif);--pd-body:var(--body,'Zen Kaku Gothic New',system-ui,sans-serif);--pd-mono:var(--mono,'JetBrains Mono',ui-monospace,monospace)}
#capSlot,#piiSlot,#paidSlot{font-family:var(--pd-body)}
.pd-hidden{position:absolute;left:-9999px}
.pd-mono{font-family:var(--pd-mono)}
/* ボタン */
.pd-btn{appearance:none;border:0;border-radius:10px;padding:12px 20px;font:700 15px/1.2 var(--pd-body);color:#ffffff;background:var(--pd-fire);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:0 6px 22px rgba(242,106,160,.28)}
.pd-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.pd-btn:active{transform:translateY(1px)}
.pd-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.4)}
.pd-btn-s{padding:7px 12px;font-size:13px;border-radius:8px;box-shadow:none}
.pd-btn-ghost{background:transparent;color:var(--pd-ink);border:1px solid var(--pd-line);box-shadow:none}
.pd-btn-ghost:hover{border-color:var(--pd-amb);color:var(--pd-amb)}
.pd-link{appearance:none;background:none;border:0;padding:4px 2px;color:var(--pd-amb);font:600 13px var(--pd-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
a.pd-link{display:inline-block}
.pd-btn:focus-visible,.pd-link:focus-visible,.pd-in:focus-visible,.pd-sel:focus-visible,.pd-x:focus-visible{outline:2px solid var(--pd-amb);outline-offset:2px}
.pd-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pd-actions{margin-top:14px}
.pd-badge{display:inline-block;font:700 11px/1 var(--pd-mono);letter-spacing:.14em;padding:5px 9px;border-radius:99px;color:#ffffff;background:linear-gradient(90deg,#9b4fc0,#e7a0dc);box-shadow:0 0 14px rgba(196,95,201,.35)}
/* 個人情報 */
#piiSlot{margin:10px 0}
.pd-pii-line{margin:0;font-size:12.5px;line-height:1.7;color:var(--pd-mute)}
.pd-pii-line a{color:var(--pd-amb)}
.pd-pii-card{margin:10px 0;padding:14px 16px;border:1px solid var(--pd-org);border-left:4px solid var(--pd-red);border-radius:10px;background:rgba(242,106,160,.08);animation:pdIn .35s ease both}
.pd-pii-card strong{display:block;font-size:15px;margin-bottom:4px}
.pd-pii-card p{margin:0 0 10px;font-size:13.5px;line-height:1.7;color:var(--pd-ink)}
.pd-pii-found{margin:8px 0;padding:10px 12px;border:1px solid var(--pd-red);border-radius:10px;background:rgba(232,51,111,.1);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--pd-ink)}
.pd-pii-ok{margin:8px 0;font-size:13px;color:#6fe3a0}
.pd-pii-sum{font:600 13px var(--pd-mono);color:var(--pd-amb)}
/* 上限 */
.pd-cap{margin:0 0 12px;padding:10px 14px;border-radius:10px;border:1px solid var(--pd-line);background:var(--pd-card);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-size:13.5px;color:var(--pd-ink)}
.pd-cap-near{border-color:rgba(196,95,201,.5)}
.pd-cap-stop{border-color:var(--pd-red);background:linear-gradient(90deg,rgba(232,51,111,.16),rgba(242,106,160,.08))}
.pd-cap-stop strong{font-weight:900;margin-right:auto}
.pd-cap-pass{border-color:rgba(196,95,201,.5)}
.pd-meter{display:inline-block;width:120px;height:8px;border-radius:99px;background:rgba(150,50,90,.13);overflow:hidden;vertical-align:middle}
.pd-meter i{display:block;height:100%;background:var(--pd-fire);border-radius:99px;transition:width .6s}
.pd-meter-l{display:block;width:100%;height:12px}
/* 購入カード */
.pd-card{margin:18px 0;padding:18px;border:1px solid var(--pd-line);border-radius:16px;background:var(--pd-card);display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center;position:relative;overflow:hidden;animation:pdIn .5s ease both}
.pd-card:before{content:"";position:absolute;inset:0;background:radial-gradient(500px 160px at 0% 0%,rgba(242,106,160,.16),transparent 70%);pointer-events:none}
.pd-card h3{margin:0 0 8px;font:var(--dw,400) 18px/1.45 var(--pd-disp);position:relative}
.pd-card-r{position:relative;min-width:0}
.pd-inc{margin:0 0 10px;padding:0;list-style:none;font-size:13.5px;line-height:1.7;color:var(--pd-ink)}
.pd-inc li{padding-left:1.4em;position:relative}.pd-inc li:before{content:"✓";position:absolute;left:0;color:var(--pd-amb);font-weight:900}
.pd-price{font-size:13px;color:var(--pd-mute)}
.pd-price b{font:400 26px/1.2 var(--num,var(--pd-disp));color:var(--pd-ink)}
.pd-price-row{margin-bottom:12px}
.pd-sel,.pd-in{background:rgba(150,50,90,.065);color:var(--pd-ink);border:1px solid var(--pd-line);border-radius:8px;padding:9px 10px;font:600 14px var(--pd-body);min-width:0}
.pd-sel option{color:#000}
.pd-in{flex:1 1 200px;font-family:var(--pd-mono);letter-spacing:.04em}
.pd-test{margin:10px 0;padding:8px 12px;border:1px dashed var(--pd-amb);border-radius:8px;color:var(--pd-amb);font:600 12.5px/1.6 var(--pd-mono)}
.pd-mini{aspect-ratio:3/4;width:100%;max-width:170px;margin:0 auto;border-radius:6px;background:#fbf6ea;color:#241c15;padding:10px 9px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 30px rgba(120,30,70,.175);transform:rotate(-2deg);outline:1px solid #9b4fc0;outline-offset:-5px;position:relative}
.pd-mini-h{font:700 6.5px/1.3 var(--pd-mono);letter-spacing:.14em;text-align:center;color:#c2185b}
.pd-mini-b{text-align:center}
.pd-mini-n b{font:400 36px/1 var(--pd-disp)}.pd-mini-n small{font-size:10px;color:#8f6a7a}
.pd-mini-t{font:700 11px/1.4 var(--pd-body);margin-top:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.pd-mini-s{position:absolute;right:10px;bottom:34px;width:46px;height:46px;border:3px double #c2185b;color:#c2185b;border-radius:50%;display:grid;place-items:center;font:400 26px var(--pd-disp);transform:rotate(-14deg);animation:pdStamp .6s .5s cubic-bezier(.3,1.7,.5,1) both}
.pd-mini-f{font:400 6px var(--pd-mono);color:#8f6a7a;text-align:center}
.pd-certs{margin:10px 0;font-size:13px;color:var(--pd-mute)}.pd-certs summary{cursor:pointer}
.pd-cert-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--pd-line)}
/* モーダル */
.pd-back{position:fixed;inset:0;z-index:9000;background:rgba(120,30,70,.252);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:5vh 16px;animation:pdFade .2s ease both}
.pd-modal{position:relative;width:100%;max-width:520px;background:#fffafc;color:var(--pd-ink);border:1px solid var(--pd-line);border-radius:16px;padding:24px 22px 20px;font-family:var(--pd-body);box-shadow:0 30px 80px rgba(120,30,70,.21),0 0 0 1px rgba(242,106,160,.18);animation:pdIn .3s ease both;font-size:14px;line-height:1.75}
.pd-wide{max-width:640px}
.pd-modal:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pd-fire);border-radius:16px 16px 0 0}
.pd-mt{margin:0 28px 12px 0;font:var(--dw,400) 21px/1.4 var(--pd-disp)}
.pd-x{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(150,50,90,.091);color:var(--pd-ink);font-size:22px;cursor:pointer}
.pd-lead{font-weight:700;color:var(--pd-amb);margin:0 0 6px}
.pd-modal h3{font-size:14px;margin:14px 0 6px;color:var(--pd-amb)}
.pd-why{margin:0;padding-left:1.2em;color:var(--pd-ink)}.pd-why li{margin:3px 0}
.pd-gauge{margin:14px 0}.pd-gl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--pd-mute);margin-bottom:6px}.pd-gl b{font-family:var(--pd-mono);color:var(--pd-ink)}
.pd-reset{margin-top:6px;font:12px var(--pd-mono);color:var(--pd-mute)}
.pd-passcard{margin:16px 0;padding:16px;border:1px solid rgba(196,95,201,.45);border-radius:12px;background:linear-gradient(135deg,rgba(196,95,201,.1),rgba(232,51,111,.06))}
.pd-pt{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.pd-prep{margin:0;color:var(--pd-mute);font-weight:700}
.pd-restore{margin-top:12px;font-size:13px}.pd-restore label{display:block;margin-bottom:6px;color:var(--pd-mute)}
.pd-msg{min-height:1.4em;margin-top:6px;font-size:13px;color:var(--pd-amb)}.pd-err{color:var(--pd-red)}
.pd-tomorrow{display:block;margin:12px auto 0}
.pd-dl{margin:0 0 10px;display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:13px}
.pd-dl dt{color:var(--pd-mute);font-weight:700}.pd-dl dd{margin:0;overflow-wrap:anywhere}
.pd-links{margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}.pd-links a{color:var(--pd-amb)}
.pd-agree{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--pd-line);border-radius:10px;cursor:pointer;font-weight:700}
.pd-agree input{width:20px;height:20px;margin-top:2px;accent-color:#f26aa0;flex:none}
/* 受け取り */
.pd-over{position:fixed;inset:0;z-index:9500;background:radial-gradient(700px 400px at 50% 30%,rgba(242,106,160,.25),rgba(255,240,245,.95));display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;animation:pdFade .3s ease both}
.pd-cele{position:relative;text-align:center;max-width:460px;width:100%;color:var(--pd-ink);font-family:var(--pd-body);background:#fffafc;border:1px solid var(--pd-line);border-radius:18px;padding:30px 24px 24px;box-shadow:0 30px 80px rgba(120,30,70,.2)}
.pd-cele h2{font:var(--dw,400) 24px/1.4 var(--pd-disp);margin:10px 0}
.pd-cele p{margin:6px 0;color:var(--pd-mute);font-size:14px}
.pd-cele .pd-row{justify-content:center}
.pd-stamp{width:120px;height:120px;margin:0 auto 6px;border:6px double var(--pd-red);color:var(--pd-red);border-radius:50%;display:grid;place-items:center;font:400 64px var(--pd-disp);transform:rotate(-12deg);animation:pdStamp .7s .1s cubic-bezier(.3,1.7,.5,1) both;text-shadow:0 0 18px rgba(232,51,111,.5)}
.pd-spark{position:absolute;left:50%;top:60px;width:6px;height:6px;border-radius:50%;background:var(--pd-amb);box-shadow:0 0 10px var(--pd-org);opacity:0;animation:pdSpark 1s .5s ease-out both}
.pd-code{font:700 24px/1.4 var(--pd-mono);letter-spacing:.06em;padding:14px 10px;margin:10px 0;border:2px dashed var(--pd-amb);border-radius:12px;color:var(--pd-amb);user-select:all;overflow-wrap:anywhere}
.pd-spin{width:48px;height:48px;margin:0 auto;border-radius:50%;border:4px solid rgba(150,50,90,.156);border-top-color:var(--pd-org);animation:pdSpin 1s linear infinite}
.pd-banner{position:sticky;top:0;z-index:8000;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 16px;background:var(--pd-fire);color:#ffffff;font:700 14px var(--pd-body)}
.pd-banner .pd-btn{background:#ffffff;color:var(--pd-amb)}
.pd-ribbon{margin:0 0 10px;text-align:center}
@keyframes pdIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pdFade{from{opacity:0}to{opacity:1}}
@keyframes pdStamp{from{transform:rotate(-12deg) scale(2.6);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:1}}
@keyframes pdSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(0)}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--d))}}
@keyframes pdSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){.pd-card{grid-template-columns:1fr;padding:16px 14px}.pd-mini{max-width:140px}.pd-modal{padding:22px 16px 16px}.pd-dl{grid-template-columns:1fr;gap:2px}.pd-dl dd{margin-bottom:8px}.pd-code{font-size:18px}.pd-meter{width:90px}.pd-btn{width:100%}.pd-row .pd-btn{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.pd-card,.pd-modal,.pd-pii-card,.pd-back,.pd-over,.pd-stamp,.pd-mini-s,.pd-spark,.pd-spin{animation:none!important}.pd-spark{display:none}.pd-meter i{transition:none}.pd-btn{transition:none}}
/* 停止画面（1層目: 止まった + すぐ買える。理由は折りたたみ） */
.pd-stopm{max-width:460px;padding-top:30px}
.pd-stop-hero{text-align:center;margin:0 0 6px}
.pd-stop-stamp{display:inline-block;padding:6px 18px;border:4px double var(--pd-red);border-radius:10px;color:var(--pd-red);font:400 30px/1 var(--pd-disp);letter-spacing:.14em;transform:rotate(-6deg);animation:pdStamp .6s .05s cubic-bezier(.3,1.7,.5,1) both}
.pd-stop-hard .pd-stop-stamp{border-color:var(--pd-mute);color:var(--pd-mute)}
.pd-stop-h{margin:16px 0 0;font:var(--dw,400) clamp(21px,5.6vw,26px)/1.35 var(--pd-disp);color:var(--pd-ink)}
.pd-stop-sub{margin:10px 0 18px;text-align:center;font-size:15px;font-weight:700;color:var(--pd-ink)}
.pd-buy{display:flex;width:100%;justify-content:center;padding:18px 16px;font-size:18px;border-radius:14px;color:#fff;background:var(--pd-fire);box-shadow:0 14px 34px -12px rgba(232,51,111,.75);animation:pdPulse 2.4s ease-in-out infinite}
.pd-buy:hover{filter:brightness(1.05)}
.pd-buy[disabled]{animation:none;opacity:.75;cursor:progress}
@keyframes pdPulse{0%,100%{box-shadow:0 14px 34px -12px rgba(232,51,111,.75)}50%{box-shadow:0 14px 44px -6px rgba(232,51,111,.95)}}
.pd-buy-sub{margin:8px 0 0;text-align:center;font-size:12.5px;color:var(--pd-mute)}
.pd-legal{margin:10px 0 0;font-size:11.5px;line-height:1.6;color:var(--pd-mute)}
.pd-legal summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px}
.pd-legal summary::-webkit-details-marker{display:none}
.pd-legal-more{text-decoration:underline}
.pd-legal[open] .pd-legal-more{display:none}
.pd-legal p{margin:8px 0 4px;padding:10px 12px;border-radius:10px;background:rgba(150,50,90,.05);text-align:left}
.pd-legal .pd-links{display:flex;justify-content:center;gap:12px}
.pd-stop-reset{margin:14px 0 0;text-align:center;font-size:12.5px;color:var(--pd-mute)}
.pd-more{margin:14px 0 0;border-top:1px dashed var(--pd-line);padding-top:10px}
.pd-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--pd-mute);list-style:none;text-align:center}
.pd-more summary::-webkit-details-marker{display:none}
.pd-more summary::after{content:" ▾"}.pd-more[open] summary::after{content:" ▴"}
.pd-more[open] summary{margin-bottom:10px}
.pd-mute{font-size:12.5px;color:var(--pd-mute)}
.pd-card .pd-legal{margin-top:10px}
@media (prefers-reduced-motion:reduce){.pd-buy,.pd-stop-stamp{animation:none}}
