/* ══ 異世界 / PHANTOM THIEF ══════════════════════════════════ */

/* ── NOISE演出 ── */
.ow-noise{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:#02030a;cursor:pointer;overflow:hidden}
.ow-noise-bars{position:absolute;inset:-20%;opacity:.22;pointer-events:none;
  background:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 3px);
  animation:ow-scan 5s linear infinite}
@keyframes ow-scan{from{transform:translateY(0)}to{transform:translateY(24px)}}
.ow-noise:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 45%,#2f9dff22,transparent 60%);mix-blend-mode:screen}
.ow-noise-body{position:relative;width:min(560px,88vw);padding:26px 22px;text-align:center}
.ow-noise p{margin:0;min-height:96px;display:grid;align-content:center;gap:8px}
.ow-noise p.ow-sys{font:700 14px/1.9 ui-monospace,Consolas,monospace;letter-spacing:.24em;color:#5fc6ff;text-shadow:0 0 14px #2f9dff88}
.ow-noise p.ow-big{font:900 30px/1.3 Cinzel,serif;letter-spacing:.14em;color:#ff5f85;text-shadow:0 0 20px #c4004488}
.ow-noise p.ow-talk b{display:block;font-size:11px;letter-spacing:.16em;color:#f0a24b}
.ow-noise p.ow-talk span{display:block;font-size:16px;line-height:1.9;color:#dceaf8}
.ow-noise.flick p{animation:ow-flick .34s steps(3)}
@keyframes ow-flick{0%{opacity:.2;transform:translateX(-4px) skewX(6deg)}50%{opacity:1;transform:translateX(3px) skewX(-3deg)}100%{opacity:1;transform:none}}
.ow-noise-next{margin-top:14px;padding:4px 16px;background:transparent;color:#5fc6ff;border:1px solid #2f6ea8;border-radius:99px;font-size:12px;cursor:pointer;animation:ow-blink 1.2s ease-in-out infinite}
@keyframes ow-blink{50%{opacity:.25}}
body.ow-glitch #menu-screen{animation:ow-shake .5s steps(2) 3}
@keyframes ow-shake{0%{transform:none;filter:none}30%{transform:translateX(-3px);filter:hue-rotate(40deg) saturate(1.6)}60%{transform:translateX(4px);filter:hue-rotate(-30deg)}100%{transform:none;filter:none}}

/* ── レニーフォックス ── */
.hideout-fox{cursor:pointer}
.lenny-lead{margin:2px 0 12px;font-size:13px;color:#f0a24b}
.lenny-menu{display:grid;gap:8px}
.lenny-menu button{position:relative;display:grid;gap:2px;padding:12px 14px;text-align:left;background:#080f1c;color:#dceaf8;border:1px solid #24405f;border-radius:5px;cursor:pointer}
.lenny-menu button:hover{border-color:#2f9dff;background:#0c1830}
.lenny-menu button b{font-size:14px}
.lenny-menu button span{font-size:11px;color:#7d95ad}
.lenny-menu button mark{position:absolute;right:12px;top:12px;padding:1px 8px;border-radius:99px;background:#c40044;color:#fff;font-size:9px;letter-spacing:.12em}

/* ── PHANTOM THIEF チュートリアル ── */
.pt-progress{display:flex;gap:5px;margin:0 0 12px}
.pt-progress i{flex:1;height:3px;border-radius:2px;background:#182a40}
.pt-progress i.on{background:linear-gradient(90deg,#a86bff,#5fc6ff)}
.pt-talk{display:grid;gap:4px;margin-bottom:10px}
.pt-talk p{margin:0;font-size:13px;line-height:1.9;color:#c6d8ea}
.pt-big{margin:0 0 14px;padding:12px;text-align:center;font:700 17px/1.6 serif;color:#ffb4c6;background:#170a14;border:1px solid #6b2740;border-radius:5px}
.pt-note{display:grid;gap:6px;padding:11px 13px;background:#080f1c;border:1px solid #17293f;border-radius:5px}
.pt-note p{margin:0;font-size:11px;line-height:1.8;color:#9db6cf}
.pt-actions{display:grid;gap:5px;margin-bottom:10px}
.pt-actions div{display:flex;justify-content:space-between;gap:8px;padding:7px 11px;background:#080f1c;border:1px solid #17293f;border-radius:4px;font-size:12px}
.pt-actions span{color:#7d95ad}
.pt-actions b{color:#c9a4ff}
.pt-example{margin-bottom:10px;padding:11px 13px;background:#0b0716;border:1px solid #43128f;border-radius:5px}
.pt-example>b{display:block;margin-bottom:8px;font-size:12px;color:#c9a4ff}
.pt-ex-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:4px 8px;align-items:center;font-size:12px}
.pt-ex-grid span{color:#8fa7c4;text-align:right}
.pt-ex-grid em{color:#5d7a99;font-style:normal}
.pt-ex-grid b{color:#7fd6a5}
.pt-example small{display:block;margin-top:8px;font-size:10px;color:#6d859e}
.pt-cycle{display:grid;gap:6px;margin-bottom:12px;text-align:center}
.pt-cy-box{display:grid;gap:3px;padding:10px;background:#080f1c;border:1px solid #17293f;border-radius:5px}
.pt-cy-box.steal{border-color:#6b2740;background:#160a12}
.pt-cy-box.other{border-color:#43128f;background:#0d0718}
.pt-cy-box small{font-size:9px;letter-spacing:.16em;color:#5fc6ff}
.pt-cy-box b{font-size:12px;color:#dceaf8}
.pt-cy-box span{font-size:10px;color:#4d637b}
.pt-cy-arrow{font-size:10px;letter-spacing:.2em;color:#a86bff}
.pt-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.pt-nav button{padding:9px 18px;background:#122744;color:#cfe0f2;border:1px solid #2f6ea8;border-radius:4px;cursor:pointer;font-size:13px}
.pt-nav button.primary{background:#1c4b7d;border-color:#3f8fd0}

/* ── PHANTOM THIEF ACTION 選択 ── */
.pt-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;background:#02040ae6;padding:16px}
.pt-modal-box{width:min(420px,92vw);max-height:80vh;display:flex;flex-direction:column;background:#08111f;border:1px solid #43128f;border-radius:6px;overflow:hidden}
.pt-modal-box header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #1d3a5c}
.pt-modal-box header b{font-size:13px;letter-spacing:.14em;color:#c9a4ff}
.pt-modal-box header button{width:28px;height:28px;background:transparent;color:#8fa7c4;border:1px solid #24405f;border-radius:4px;cursor:pointer;font-size:16px;line-height:1}
.pt-modal-list{display:grid;gap:6px;padding:12px;overflow:auto}
.pt-modal-list button{display:grid;gap:2px;padding:10px 12px;text-align:left;background:#0b1526;color:#dceaf8;border:1px solid #17293f;border-radius:4px;cursor:pointer}
.pt-modal-list button.on{border-color:#a86bff;background:#170f2c}
.pt-modal-list b{font-size:13px}
.pt-modal-list small{font-size:10px;color:#7d95ad}
.pt-modal-empty{padding:24px 16px;text-align:center;font-size:12px;line-height:1.9;color:#7d95ad}

/* ── 異世界メニュー ── */
.ow-power{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;margin-bottom:10px;padding:12px 14px;background:linear-gradient(120deg,#0d0718,#080f1c);border:1px solid #43128f;border-radius:5px}
.ow-power span{font-size:11px;letter-spacing:.12em;color:#a68fd0}
.ow-power b{font-size:22px;color:#c9a4ff;font-variant-numeric:tabular-nums;text-align:right}
.ow-power i{grid-column:1/-1;display:flex;gap:5px;margin-top:6px}
.ow-power i em{flex:1;height:5px;border-radius:3px;background:#1a1230}
.ow-power i em.on{background:linear-gradient(90deg,#a86bff,#5fc6ff);box-shadow:0 0 10px #a86bff66}
.ow-today{display:grid;gap:3px;margin-bottom:10px;padding:12px 14px;background:#080f1c;border:1px solid #24405f;border-radius:5px}
.ow-today small{font-size:10px;letter-spacing:.14em;color:#5fc6ff}
.ow-today b{font-size:15px;color:#ffdc94}
.ow-today span{font-size:11px;line-height:1.8;color:#9db6cf}
.ow-info{display:grid;gap:4px;margin-bottom:10px}
.ow-info div{display:flex;justify-content:space-between;gap:8px;padding:7px 12px;background:#080f1c;border:1px solid #17293f;border-radius:4px;font-size:12px}
.ow-info span{color:#7d95ad}
.ow-info b{color:#cfe0f2}
.ow-warn{margin:0 0 10px;padding:10px 12px;font-size:11px;line-height:1.9;color:#f0a24b;background:#16100a;border:1px solid #5c3f16;border-radius:4px}
.ow-warn.ow-stop{color:#ff9d86;background:#170a0a;border-color:#6b2a2a}
.ow-enter{width:100%;padding:14px;background:linear-gradient(120deg,#43128f,#1c4b7d);color:#fff;border:1px solid #a86bff;border-radius:5px;font-size:15px;letter-spacing:.1em;cursor:pointer}
.ow-enter:hover{box-shadow:0 0 20px #a86bff55}

/* ── 異世界：周回中 ── */
.ow-step,.ow-chests,.ow-summary{display:grid;gap:10px;justify-items:center;text-align:center}
.ow-step small{font-size:10px;letter-spacing:.16em;color:#5fc6ff}
.ow-step>b{font:900 26px/1 Cinzel,serif;color:#c9a4ff}
.ow-step-bar{width:min(320px,80%);height:5px;border-radius:3px;background:#141a26;overflow:hidden}
.ow-step-bar em{display:block;height:100%;background:linear-gradient(90deg,#a86bff,#5fc6ff)}
.ow-got{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ow-got span{padding:4px 12px;background:#0d1c30;border:1px solid #2f6ea8;border-radius:99px;font-size:12px;color:#8fd6a8}
.ow-got.big span{font-size:14px;padding:7px 16px;border-color:#a86bff;color:#ffdc94}
.ow-none{margin:0;font-size:11px;color:#6d859e}
.ow-step-btns{display:flex;gap:8px;margin-top:4px}
.ow-step-btns button{padding:11px 22px;background:#122744;color:#cfe0f2;border:1px solid #2f6ea8;border-radius:4px;cursor:pointer;font-size:13px}
.ow-step-btns button.primary{background:#1c4b7d;border-color:#3f8fd0}
.ow-chest-lead{margin:0;font:700 18px/1.6 serif;color:#ffb4c6}
.ow-chest-row{display:flex;gap:12px;justify-content:center}
.ow-chest{display:grid;gap:6px;justify-items:center;padding:14px 16px;background:#0d0718;border:1px solid #43128f;border-radius:6px;cursor:pointer;transition:.25s}
.ow-chest:hover:not(:disabled){border-color:#a86bff;transform:translateY(-4px);box-shadow:0 6px 20px #a86bff44}
.ow-chest i{width:44px;height:34px;border-radius:4px;background:linear-gradient(#c9a4ff,#5b3a9c);box-shadow:inset 0 -6px 0 #2d1a52}
.ow-chest span{font-size:10px;letter-spacing:.14em;color:#a68fd0}
.ow-chest.gone{opacity:0;transform:scale(.7);pointer-events:none}
.ow-chest.opened i{background:linear-gradient(#ffdc94,#c8a04a);box-shadow:0 0 24px #ffdc9488}
.ow-sum-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:12px 16px;background:#080f1c;border:1px solid #17293f;border-radius:5px;font-size:12px;text-align:left}
.ow-sum-grid span{color:#7d95ad}
.ow-sum-grid b{color:#cfe0f2}

/* ── アルカナ使用トースト ── */
.arcana-toast{position:fixed;left:50%;bottom:80px;z-index:9600;translate:-50% 20px;opacity:0;display:grid;gap:2px;padding:12px 22px;text-align:center;background:#0d0718ee;border:1px solid #a86bff;border-radius:6px;box-shadow:0 8px 30px #00000088;transition:.35s}
.arcana-toast.show{translate:-50% 0;opacity:1}
.arcana-toast small{font-size:9px;letter-spacing:.2em;color:#a68fd0}
.arcana-toast b{font-size:15px;color:#ffdc94}
.arcana-toast span{font-size:12px;color:#dceaf8}

/* ── STEAL結果 ── */
.pt-steal-result{display:grid;gap:5px;margin-top:10px;padding:12px 14px;text-align:center;background:linear-gradient(140deg,#170a14,#0d0718);border:1px solid #a86bff;border-radius:6px}
.pt-steal-result small{font-size:9px;letter-spacing:.22em;color:#a68fd0}
.pt-steal-result strong{font-size:15px;color:#ffb4c6}
.pt-steal-result span{font-size:11px;color:#c6d8ea}
.pt-steal-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:2px}
.pt-steal-stats b{padding:3px 11px;background:#0b1526;border:1px solid #2f6ea8;border-radius:99px;font-size:12px;color:#7fd6a5}
.pt-steal-result em{font-size:12px;font-style:normal;color:#ffdc94}
