/* MBTIたまごっち 第2段（2026-09-28）: スタンプカード・おねがい・称号・ハロウィン・お墓参り・コンプリート図鑑（js/pet-plus.js）
   接頭辞 ptp-。既存の pt__ の部品（pt__mini・pt__big・pt__citem・pt__rar-*）はそのまま借りる */

/* 入口の並び（おでかけ・ガチャ・コレクションの下） */
.ptp-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0 0}
.ptp-b{white-space:nowrap;gap:5px;padding:6px 11px;font-size:11.5px}
.ptp-b b{font-weight:900;color:#8b6cc1}
.ptp-b em{font-style:normal;font-size:9.5px;border-radius:999px;padding:1px 6px;margin-left:2px}
.ptp-b .ptp-dot{background:#e2497f;color:#fff}
.ptp-b .ptp-ok{background:#e9f7ec;color:#2e6b3a}
.ptp-b--stamp{border-color:#ffd3e4;box-shadow:0 3px 0 #ffd3e4}
.ptp-b--ms{border-color:#c9e8cf;box-shadow:0 3px 0 #c9e8cf}
.ptp-b--hw{border-color:#f6b25b;background:linear-gradient(135deg,#3b2150,#6b3a5c);color:#ffd9a0;box-shadow:0 3px 0 #b77a2e}
.ptp-ic{width:20px;height:20px;object-fit:contain;image-rendering:pixelated;flex:0 0 20px;font-style:normal;font-size:15px;line-height:20px;text-align:center;display:inline-block}
.ptp-lead{font-size:13px;line-height:1.8;color:#3f3552;margin:8px 0}
.ptp-toast{top:auto;bottom:40px;transform:translate(-50%,12px)}.ptp-toast.is-on{transform:translate(-50%,0)}
.ptp-toast__img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.ptp-quiet{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#f4f1f8;color:#5b4a7a;font-size:12.5px;line-height:1.8}

/* スタンプカード */
.ptp-card{position:relative;width:100%;aspect-ratio:720/300;max-width:460px;margin:0 auto}
.ptp-card.is-css{background:#fff6e8;border:3px dashed #ffc3da;border-radius:16px}
.ptp-card__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.ptp-slot{position:absolute;top:55%;width:10.5%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.ptp-slot.is-gold{width:13.5%}
.ptp-slot em{position:absolute;bottom:-26%;left:50%;transform:translateX(-50%);font-style:normal;font-size:9px;font-weight:900;color:#b58aa6}
.ptp-slot__paw{width:78%;height:78%;object-fit:contain;image-rendering:pixelated;animation:ptp-stamp .35s ease-out both;font-size:22px;line-height:1;display:grid;place-items:center}
.ptp-slot__gift{width:62%;height:62%;object-fit:contain;image-rendering:pixelated;opacity:.45;font-size:16px;line-height:1;display:grid;place-items:center}
.ptp-card.is-css .ptp-slot{border:2px solid #ffc3da;border-radius:50%;background:#fff}
@keyframes ptp-stamp{0%{transform:scale(1.6) rotate(-12deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.ptp-plan{list-style:none;margin:12px 0 4px;padding:0;display:grid;gap:6px}
.ptp-plan li{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:12px;background:#fff8fb;border:1.5px solid #ffe1ec;font-size:12px}
.ptp-plan li span{font-weight:900;color:#e2497f;flex:0 0 auto}
.ptp-plan li b{font-weight:800;color:#3a2a55}
.ptp-plan .ptp-ic{width:26px;height:26px;flex-basis:26px}

/* おねがい */
.ptp-ms{display:grid;gap:8px}
.ptp-ms__r{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:14px;border:2px solid #e9def7;background:#fff}
.ptp-ms__r.is-done{border-color:#9ad0a0;background:#f3fbf2}
.ptp-ms__i{width:40px;height:40px;flex:0 0 40px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:26px;line-height:40px;text-align:center}
.ptp-ms__t{flex:1;min-width:0;display:flex;flex-direction:column}
.ptp-ms__t b{font-size:12.5px;line-height:1.5;color:#3a2a55}
.ptp-ms__t small{font-size:10.5px;font-weight:900;color:#8b6cc1}
.ptp-ms__ok{width:30px;height:30px;flex:0 0 30px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:20px}
.ptp-ms__r .pt__mini{flex:0 0 auto;padding:5px 10px;font-size:11px}

/* 称号 */
.ptp-bdg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ptp-bdg__i{position:relative;padding:10px 8px;border-radius:14px;border:2px solid #f6cf49;background:#fffdf3;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}
.ptp-bdg__i.is-locked{border:2px dashed #e0d7ec;background:#faf8fd}
.ptp-bdg__i.is-locked .ptp-bdg__img{filter:grayscale(1) opacity(.35)}
.ptp-bdg__i.is-sel{border-color:#e2497f;box-shadow:0 0 0 3px #ffe1ec}
.ptp-bdg__img{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:36px;line-height:56px}
.ptp-bdg__i b{font-size:12px;color:#3a2a55}
.ptp-bdg__i small{font-size:10px;color:#8b7f9d;font-weight:900}
.ptp-bdg__i p{margin:2px 0 0;font-size:10.5px;line-height:1.5;color:#6e5f86}
.ptp-bsel{margin-top:6px;padding:5px 10px;border-radius:999px;border:2px solid #c9b8ea;background:#fff;font-family:inherit;font-size:10.5px;font-weight:900;color:#8b6cc1;cursor:pointer}
.ptp-bsel.is-on{background:#e2497f;border-color:#e2497f;color:#fff}

/* ハロウィン */
.ptp-hwban{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;margin:0 0 12px;padding:9px 12px;border-radius:16px;border:2px solid #f6b25b;background:linear-gradient(135deg,#2b1d3a,#5b2f55);color:#fff;font-family:inherit;text-align:left;cursor:pointer}
.ptp-hwban__img{width:44px;height:44px;flex:0 0 44px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:30px;line-height:44px;text-align:center}
.ptp-hwban span{flex:1;min-width:0;display:flex;flex-direction:column}
.ptp-hwban b{font-size:13px;color:#ffd9a0}
.ptp-hwban small{font-size:10.5px;color:#e8d6ff}
.ptp-hwban i{font-style:normal;font-size:11.5px;font-weight:900;color:#ffd9a0;white-space:nowrap}
.ptp-hw{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#2b1d3a,#5b2f55);color:#fff;margin:0 0 10px}
.ptp-hw__cap{width:64px;height:64px;flex:0 0 64px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:44px;line-height:64px;text-align:center}
.ptp-hw p{margin:0;font-size:12px;line-height:1.7}
.ptp-hw b{display:block;color:#ffd9a0;font-size:13px}
.ptp-hwgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}

/* コンプリート図鑑 */
.ptp-dexh{padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#fff8dc,#fff);border:2px solid #f6cf49;margin:0 0 10px}
.ptp-dexh__pct{display:flex;align-items:center;gap:12px}
.ptp-dexh__pct>b{font-size:34px;line-height:1;color:#3a2a55;font-weight:900}
.ptp-dexh__pct>b small{font-size:14px;margin-left:2px}
.ptp-dexh__pct>span{flex:1;font-size:11.5px;line-height:1.6;color:#6e5f86;font-weight:800}
.ptp-dexh__pct .pt__mini{padding:6px 10px;font-size:11px}
.ptp-bar{position:relative;height:10px;border-radius:999px;background:#f1eaf9;overflow:hidden;margin:8px 0 6px}
.ptp-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#9b7fe0,#e2497f)}
.ptp-bar i.is-met{background:#e3d8f5}
.ptp-chips{display:flex;flex-wrap:wrap;gap:4px 6px;margin:0}
.ptp-chip{font-size:10.5px;color:#6e5f86;background:#fff;border:1.5px solid #eee4f8;border-radius:999px;padding:2px 8px}
.ptp-chip i{font-style:normal;margin-right:4px}
.ptp-chip b{color:#3a2a55}
.ptp-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 8px;margin:0 0 4px}
.ptp-tab{flex:0 0 auto;padding:6px 11px;border-radius:999px;border:2px solid #e9def7;background:#fff;font-family:inherit;font-size:11.5px;font-weight:900;color:#3a2a55;cursor:pointer}
.ptp-tab.is-on{background:#3a2a55;color:#fff;border-color:#3a2a55}
.ptp-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.ptp-sort{font-family:inherit;font-size:16px;padding:4px 8px;width:auto;border-radius:10px;border:2px solid #e9def7;background:#fff;color:#3a2a55;max-width:100%}
.ptp-filt{display:flex;gap:4px}
.ptp-filt button{padding:5px 9px;border-radius:999px;border:1.5px solid #e9def7;background:#fff;font-family:inherit;font-size:11px;font-weight:900;color:#6e5f86;cursor:pointer}
.ptp-filt button.is-on{background:#8b6cc1;border-color:#8b6cc1;color:#fff}
.ptp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
@media (min-width:420px){.ptp-grid{grid-template-columns:repeat(5,1fr)}}
.ptp-dexi{position:relative;min-width:0;padding:6px 3px 5px;border-radius:12px;border:2px solid #f6cf49;background:#fffdf3;font-family:inherit;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px}
.ptp-dexi.is-met{border-color:#d8cdea;background:#faf8fd}
.ptp-dexi.is-none{border:2px dashed #e6def1;background:#fcfbfe}
.ptp-dexi em{font-style:normal;font-size:8.5px;font-weight:900;color:#a595bd;letter-spacing:.02em}
.ptp-dexi b{display:block;width:100%;font-size:9.5px;line-height:1.35;color:#3a2a55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptp-dexi.is-none b{color:#b9aecb}
.ptp-dexi small{position:absolute;right:3px;top:3px;font-size:9px;font-weight:900;border-radius:6px;padding:0 4px}
.ptp-rk{background:#3a2a55;color:#fff}.ptp-rk--S{background:#e2497f}.ptp-rk--A{background:#e2a300}
.ptp-met{background:#eee6f8;color:#8b6cc1}
.ptp-dexi small.ptp-met{top:auto;bottom:21px;right:auto;left:50%;transform:translateX(-50%);white-space:nowrap}   /* 2026-09-29 No. の上に重なっていた */
.ptp-art{display:block;width:52px;height:52px;background-repeat:no-repeat;image-rendering:pixelated;font-style:normal;font-size:30px;line-height:52px;text-align:center}
.ptp-art.is-emoji{background:none}
.ptp-dexi.is-met .ptp-art{filter:grayscale(1) opacity(.7)}
.ptp-dexi.is-none .ptp-art{filter:brightness(0) opacity(.16)}
.ptp-g64wrap{overflow-x:auto}
.ptp-g64{width:100%;border-collapse:separate;border-spacing:3px;font-size:11px}
.ptp-g64 th{font-weight:900;color:#6e5f86;white-space:nowrap;text-align:left;font-size:10.5px}
.ptp-g64 thead th{text-align:center}
.ptp-g64c{width:100%;min-width:40px;height:30px;border-radius:8px;border:1.5px dashed #e6def1;background:#fcfbfe;font-family:inherit;font-size:12px;font-weight:900;color:#b9aecb;cursor:pointer}
.ptp-g64c.is-own{border:2px solid #f6cf49;background:#fff6cf;color:#3a2a55}
.ptp-g64c.is-met{border:1.5px solid #d8cdea;background:#f3eefa;color:#8b6cc1}
.ptp-rec{display:grid;gap:8px}
.ptp-rec__r{display:flex;gap:10px;padding:8px 10px;border-radius:14px;border:2px solid #eee4f8;background:#fff}
.ptp-rec__r>div{flex:1;min-width:0}
.ptp-rec__r b{font-size:12.5px;color:#3a2a55;display:block}
.ptp-rec__r span{font-size:10.5px;color:#8b7f9d;line-height:1.6;display:block}
.ptp-rec__r p{margin:3px 0 4px;font-size:11px;line-height:1.6;color:#5b4a7a}
.ptp-rec__r .pt__mini{padding:4px 10px;font-size:10.5px;min-height:30px}
.ptp-art--s{width:48px;height:48px;flex:0 0 48px;line-height:48px;font-size:28px}
.ptp-dd__art{display:grid;place-items:center;margin:0 auto 6px;width:156px;height:156px;border-radius:24px;background:radial-gradient(circle at 50% 60%,#fff 0,#fff5d6 60%,#ffe9a8 100%);border:3px solid #f6cf49}
.ptp-dd__art.is-met{background:#f4f1f8;border-color:#d8cdea}
.ptp-dd__art.is-met .ptp-art{filter:grayscale(1) opacity(.75)}
.ptp-dd__art.is-none{background:#f7f5fa;border:3px dashed #e0d7ec}
.ptp-dd__art.is-none .ptp-art{filter:brightness(0) opacity(.18)}
.ptp-art--xl{width:132px;height:132px;font-size:72px;line-height:132px}
.ptp-dd__no{margin:0;text-align:center;font-size:11px;font-weight:900;color:#a595bd;letter-spacing:.06em}
.ptp-dd__name{margin:2px 0 0;text-align:center;font-size:19px;color:#3a2a55}
.ptp-dd__sub{margin:2px 0 8px;text-align:center;font-size:12px;color:#8b6cc1;font-weight:800}
.ptp-facts{list-style:none;margin:6px 0 10px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ptp-facts li{padding:7px 6px;border-radius:12px;background:#faf6ff;border:1.5px solid #eee4f8;text-align:center;display:flex;flex-direction:column;gap:2px}
.ptp-facts span{font-size:9.5px;color:#8b7f9d;font-weight:900}
.ptp-facts b{font-size:12px;color:#3a2a55}
.ptp-dd__one{padding:10px 12px;border-radius:14px;background:#fffdf3;border:1.5px solid #f7e9b0;margin:0 0 10px}
.ptp-dd__one p{margin:0;font-size:13px;line-height:1.85;color:#3f3552}
.ptp-dd__say{margin-top:6px!important;font-weight:900;color:#e2497f!important}
.ptp-dd__hint{margin:0 0 10px;font-size:12.5px;line-height:1.85;color:#3f3552}
.ptp-dd__hint.is-mask{color:#8b7f9d;letter-spacing:.02em}
.ptp-dd__acc{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:2px solid #e9def7;background:#fff;margin:0 0 10px}
.ptp-dd__accimg{width:44px;height:44px;flex:0 0 44px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:28px;line-height:44px;text-align:center}
.ptp-dd__acc span{flex:1;min-width:0;display:flex;flex-direction:column}
.ptp-dd__acc b{font-size:12.5px}.ptp-dd__acc small{font-size:10.5px;color:#8b7f9d}
.ptp-grave{padding:12px;border-radius:16px;background:#f4f1f8;border:1.5px solid #e3dcef;margin:0 0 10px;text-align:center}
.ptp-grave__img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;font-style:normal;font-size:48px;line-height:96px;display:block;margin:0 auto}
.ptp-grave p{margin:4px 0 8px;font-size:12px;line-height:1.8;color:#5b4a7a}
.ptp-grave__r{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px dashed #ddd3ea;font-size:11px;color:#6e5f86;text-align:left}
.ptp-grave__r .pt__mini{padding:4px 10px;font-size:10.5px;min-height:30px}
body.pt-night .ptp-dexh{background:linear-gradient(135deg,#fff8dc,#fff)}
/* コレクションのタブ（称号を足して5つ）が 360px で1文字ずつ折れていた */
.pt__ctabs{flex-wrap:wrap}.pt__ctab{white-space:nowrap}
.ptp-pray:disabled,.ptp-claim:disabled,.ptp-bsel:disabled{opacity:.45;cursor:default}
@media (prefers-reduced-motion:reduce){.ptp-slot__paw{animation:none}}
