/* フラッグ共通 ガチャ部品（工程4）: 3ボタン・演出・トースト・称号/アイテム画面 */
.fg-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(15,23,42,.08),0 4px 12px rgba(15,23,42,.05);padding:12px 12px 10px;margin-bottom:14px}
.fg-bar{display:flex;gap:8px;align-items:stretch}
.fg-tile{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px 8px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;color:#0f172a;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fg-ico{font-size:26px;line-height:1.1}
.fg-name{font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap}
.fg-tile small{font-size:11px;font-weight:700;color:#64748b;line-height:1.2}
.fg-primary{background:#2563eb;border-color:#2563eb;color:#fff}.fg-primary small{color:#fff;opacity:.92}.fg-primary:active{background:#1d4ed8}
.fg-tile:disabled{opacity:.45}
.fg-bar2{margin-top:8px}
.fg-sub{margin-top:8px;text-align:center;font-size:12px;color:#64748b}
@media (max-width:380px){.fg-name{font-size:12px}.fg-ico{font-size:23px}}
/* 左上の「←」（全画面共通・2026-10-16） */
.fg-back{width:40px;height:40px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.18);font-size:20px;line-height:40px;color:#0f172a;font-family:inherit;cursor:pointer;flex:none;padding:0;text-align:center}
.fg-back.wide{width:auto;padding:0 14px 0 10px;border-radius:999px;font-size:15px;font-weight:800}
.fg-back.fixed{position:fixed;top:10px;left:10px;z-index:60}
/* 演出 */
.fg-overlay{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.86);padding:20px}
.fg-box{background:#fff;border-radius:22px;padding:30px 22px;text-align:center;max-width:380px;width:100%;color:#0f172a}
.fg-capsule{font-size:80px;line-height:1;animation:fgshake .5s ease-in-out infinite}
@keyframes fgshake{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.12)}}
.fg-capsule.open{animation:fgpop .5s ease-out forwards}
@keyframes fgpop{0%{transform:scale(1)}60%{transform:scale(1.5)}100%{transform:scale(0);opacity:0}}
.fg-result{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.fg-rarity{font-size:13px;font-weight:900;letter-spacing:.1em;color:#fff;border-radius:999px;padding:3px 16px}
.fg-pname{font-size:26px;font-weight:900}
.fg-kind{font-size:12px;color:#64748b;font-weight:700}
.fg-dup{font-size:13px;font-weight:800;color:#b45309;background:#fef3c7;border-radius:999px;padding:3px 12px}
.fg-btn{display:flex;width:100%;align-items:center;justify-content:center;padding:16px;border:0;border-radius:12px;font-size:17px;font-weight:700;font-family:inherit;background:#2563eb;color:#fff;cursor:pointer;margin-top:10px}
.fg-btn.ghost{background:#fff;color:#0f172a;border:2px solid #e2e8f0}
.fg-btn:disabled{opacity:.45}
.fg-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:120;background:rgba(15,23,42,.92);color:#fff;font-weight:800;font-size:16px;padding:11px 22px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;white-space:nowrap}
.fg-toast.show{opacity:1;transform:translate(-50%,0)}
.fg-toast.ok{background:rgba(22,163,74,.95)}.fg-toast.ng{background:rgba(220,38,38,.95)}
.fg-toast.combo{background:linear-gradient(90deg,#f59e0b,#ef4444);font-size:18px}
/* 称号/アイテム画面 */
.fg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.fg-chip{border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800;color:#fff;border:0;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.fg-chip .n{background:rgba(255,255,255,.3);border-radius:999px;padding:0 6px;font-size:11px}
.fg-chip.no{background:#f1f5f9;color:#94a3b8;border:2px dashed;padding:2px 9px;cursor:default}
.fg-chip.cur{outline:3px solid #fde047;outline-offset:1px}
.fg-chip.pin{outline:2px solid #0f172a;outline-offset:1px}
.fg-group{border-top:5px solid #94a3b8}
.fg-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.fg-group-n{font-size:13px;font-weight:800;color:#64748b}
.fg-kindhead{font-size:12px;font-weight:800;color:#64748b;margin-top:8px}.fg-kindhead b{color:#0f172a}
/* 10連ガチャ */
.fg-btn10{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:11px 10px;border:2px solid #f59e0b;border-radius:12px;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer}
.fg-btn10 small{font-size:11px;font-weight:700}.fg-btn10:disabled{opacity:.45}
.fg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:6px;width:100%}
.fg-cell{border:2px solid #e2e8f0;border-radius:10px;padding:6px 4px;text-align:center;background:#fff}
.fg-cell.hi{background:#fffbeb;box-shadow:0 0 0 2px #fde68a inset}
.fg-rarity.sm{font-size:10px;padding:1px 9px}
.fg-cname{font-size:12px;font-weight:800;margin-top:2px;line-height:1.3}
.fg-cdup{font-size:10px;color:#b45309;font-weight:700}.fg-cnew{font-size:10px;color:#16a34a;font-weight:800}
.fg-box{max-height:92vh;overflow:auto}
/* ネームプレート（2026-10-16）: 名前の背景画像。.fg-plate に background-image を入れ、::before の半透明の帯で明度を上げ（暗い画像は .dark で下げ）文字を読みやすくする */
.fg-plate{position:relative;isolation:isolate;border-radius:10px;background-size:cover;background-position:right center;background-repeat:no-repeat;overflow:hidden;color:#0f172a}
.fg-plate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.55) 48%,rgba(255,255,255,0) 68%)}
.fg-plate.dark{color:#fff}.fg-plate.dark::before{background:linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.45) 48%,rgba(0,0,0,0) 68%)}
.fg-plate .fg-ptext{text-shadow:0 0 3px #fff,0 0 6px #fff,0 0 10px #fff}
.fg-plate.dark .fg-ptext{text-shadow:0 0 3px #000,0 0 6px #000,0 0 10px #000}
.fg-plate.solid::before{display:none}.fg-plate.solid .fg-ptext{text-shadow:none}.fg-pprev.solid,.fg-pprev.none{aspect-ratio:auto;height:54px}
.fg-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.fg-swatch{width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #e2e8f0;cursor:pointer;padding:0}.fg-swatch.cur{box-shadow:0 0 0 3px #fde047}.fg-swatch.sel{box-shadow:0 0 0 3px #0f172a}
.fg-colorrow{display:flex;gap:8px;align-items:center;margin-top:8px}.fg-colorrow input[type=color]{width:52px;height:40px;border:2px solid #e2e8f0;border-radius:10px;padding:2px;background:#fff}
.fg-pprev{display:flex;align-items:center;padding:0 14px;aspect-ratio:4/1;min-height:54px;font-size:18px;font-weight:900;width:100%}
.fg-pprev.none{background:#fff;border:2px solid #e2e8f0}.fg-pprev.none::before{display:none}
.fg-pmini{margin:3px 0 1px}
.fg-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}
.fg-pcard{aspect-ratio:4/1;min-height:40px;display:flex;align-items:center;padding:0 10px;font-size:13px;font-weight:900;border:0;font-family:inherit;cursor:pointer;text-align:left;gap:5px}
.fg-pcard .n{background:rgba(255,255,255,.55);color:#0f172a;border-radius:999px;padding:0 6px;font-size:11px}
.fg-pcard.no{background:#f1f5f9;color:#94a3b8;border:2px dashed;justify-content:center;cursor:default}
.fg-pcard.cur{outline:3px solid #fde047;outline-offset:1px}
/* 2回タップ（ダブルタップ）での画面拡大を全画面で無効にする（2026-10-16 先生指示）。手書きのキャンバスは touch-action:none のまま（線を引くときにスクロールさせない） */
html,body,body *:not(canvas){touch-action:manipulation}
