/* 粒のシミュレーター */
.pt-wrap{max-width:860px}
.pt-tabs{display:flex;gap:8px;margin:14px 0 10px}
.pt-tab{flex:1;font:inherit;font-weight:700;font-size:16px;min-height:48px;padding:8px 10px;cursor:pointer;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink)}
.pt-tab[aria-selected="true"]{background:var(--ink);color:#fffdf6;box-shadow:3px 3px 0 var(--accent)}
.pt-card{background:var(--paper);border:2px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--accent);padding:12px;margin:12px 0}
.pt-card canvas{display:block;width:100%;height:auto;background:#fffdf6;border:2px solid var(--ink);border-radius:8px;touch-action:manipulation}
.pt-hud{margin-bottom:8px}.pt-hudrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.pt-hudrow[hidden]{display:none}
.pt-temp{display:flex;align-items:baseline;gap:4px;line-height:1.2}.pt-temp small{font-size:13px;color:var(--mute);margin-right:4px}
.pt-temp b{font:800 34px "Shippori Mincho",serif;min-width:3.2em;text-align:right;font-variant-numeric:tabular-nums}
.pt-state{font-weight:700;font-size:15px;border:2px solid var(--ink);border-radius:999px;padding:2px 14px;background:#fff}
.ph-s{background:#e3eefb}.ph-m{background:#eaf0d8}.ph-l{background:#dff3f6}.ph-b{background:#fbe9cf}.ph-g{background:#fdeceb}
.pt-spd{display:flex;align-items:center;gap:10px;margin:10px 0 2px;font-size:14px;color:var(--mute)}
.pt-bar{flex:1;height:14px;border:2px solid var(--ink);border-radius:8px;background:#fff;overflow:hidden}.pt-bar i{display:block;height:100%;width:0;background:var(--accent)}
.pt-lab{display:block;font-size:14px;color:var(--mute);margin:8px 0 4px}
.pt-chips{display:flex;gap:8px;flex-wrap:wrap}.pt-chips .chip{min-height:44px;font-weight:700;padding:6px 16px}
.pt-slwrap{position:relative;padding:6px 0 38px}
.pt-slwrap input[type=range]{width:100%;height:36px;margin:0;accent-color:var(--accent);cursor:pointer}
.pt-ticks{position:absolute;left:0;right:0;top:36px;height:0;pointer-events:none}
.pt-tk,.tk{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;font-size:12px;line-height:1.3;white-space:nowrap}
.tk i{width:2px;height:8px;background:var(--red);display:block}.tk b{font-weight:700;color:var(--red)}
#sl-mix .pt-slwrap{padding-bottom:6px}#sl-mix .pt-lohi{margin-top:0}
.pt-lohi{display:flex;justify-content:space-between;font-size:12px;color:var(--mute);margin-top:-30px;padding:0 4px}
#p-mix .pt-lohi{margin-top:0}
.pt-ctl{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}
.pt-btn{min-height:46px;padding:6px 16px;font-size:15px}
.pt-btn[aria-pressed="true"]{background:var(--accent);color:#fff}
.btn2{font:inherit;font-weight:700;border:2px solid var(--ink);background:#fffdf6;color:var(--ink);border-radius:999px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.btn2:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.pt-plateau{margin-top:8px;padding:8px 12px;border:2px solid #d8b84a;background:#fff6d8;border-radius:10px;font-weight:700;font-size:15px}
.pt-plateau[hidden]{display:none}
.pt-graph{margin:12px 0 0;padding:0}.pt-graph canvas{background:#fff}.pt-graph figcaption{font-size:13px;color:var(--mute);margin-top:6px;line-height:1.6}
.pt-hint{background:#eef7f4;border:2px solid var(--accent);border-radius:12px;padding:8px 16px;margin:12px 0}
.pt-hint p{margin:6px 0;font-size:16px;line-height:1.7}
.pt-note{font-size:14px;color:var(--mute);background:#fff;border:1px dashed var(--line);border-radius:10px;padding:8px 14px;margin:12px 0}
.pt-know{margin:26px 0}.pt-know h2{font-size:22px;margin:0 0 8px}
.pt-link{font-weight:700}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #1c3640;outline-offset:2px}
@media(max-width:520px){.pt-temp b{font-size:30px}.pt-btn{flex:1 1 44%;padding:6px 8px;font-size:14px}.pt-tab{font-size:15px}.tk{font-size:11px}.pt-card{padding:10px}}
@media(prefers-reduced-motion:reduce){.btn2:hover{transform:none}}
#cv{max-width:640px;margin:0 auto}
