:root{--purple:#7c3aed;--indigo:#4f46e5;--bg1:#1e1b4b;--bg2:#4c1d95;--card:rgba(255,255,255,.08);--text:#ede9fe}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;background:linear-gradient(160deg,var(--bg1),var(--bg2));color:var(--text);min-height:100vh;line-height:1.9}
a{color:#c4b5fd}
.site-header nav{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;max-width:860px;margin:0 auto}
.logo{font-weight:bold;font-size:1.1rem;text-decoration:none;color:var(--text)}
.home-link{font-size:.85rem}
main{max-width:860px;margin:0 auto;padding:16px 20px 48px}
.breadcrumb{font-size:.8rem;opacity:.8;margin-bottom:16px}
h1{font-size:1.5rem;margin-bottom:16px;line-height:1.5}
.summary-box{background:var(--card);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:18px;margin-bottom:20px;font-weight:bold}
.detail{background:var(--card);border-radius:14px;padding:20px;margin-bottom:24px}
.cat-badge{display:inline-block;background:rgba(255,255,255,.15);border-radius:999px;padding:2px 12px;font-size:.75rem;margin-left:8px;vertical-align:middle}
.cta{background:var(--card);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:20px;text-align:center;margin-bottom:28px}
.cta-lead{margin-bottom:12px}
.btn{display:block;border-radius:999px;padding:12px;margin:10px auto;max-width:420px;text-decoration:none;font-weight:bold}
.btn-primary{background:linear-gradient(135deg,var(--purple),var(--indigo));color:#fff}
.btn-store{background:rgba(255,255,255,.12);color:var(--text);border:1px solid rgba(255,255,255,.3)}
h2{font-size:1.1rem;margin:24px 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.chips a{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:.85rem;text-decoration:none}
.kw-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.kw-list a{text-decoration:none;font-size:.9rem}
.cat-section{margin-bottom:28px}
.intro{margin-bottom:24px}
.search-box{background:var(--card);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:20px;margin-bottom:24px}
.search-box input{width:100%;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:var(--text);font-size:1rem;margin-bottom:4px}
.search-box input::placeholder{color:rgba(237,233,254,.5)}
.oracle{display:block;margin:0 auto 12px;width:170px;height:170px;border-radius:50%;border:3px solid rgba(255,255,255,.35);box-shadow:0 6px 30px rgba(124,58,237,.45);animation:float 3s ease-in-out infinite;object-fit:cover}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.oracle-pop{animation:pop .5s ease}
@keyframes pop{0%{transform:scale(.7);opacity:.3}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.result-head{text-align:center;font-weight:bold;font-size:1.1rem;margin:18px 0 4px;animation:fadein .6s ease}
.result-count{text-align:center;font-size:.85rem;opacity:.85;margin-bottom:6px;animation:fadein .6s ease}
.result-card{display:block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:14px;margin-top:10px;text-decoration:none;color:var(--text);animation:fadein .6s ease}
.result-icon{margin-right:6px}
.result-more{display:block;text-align:right;font-size:.8rem;color:#c4b5fd;margin-top:4px}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.no-hit{margin-top:12px;opacity:.85;animation:fadein .6s ease}
